.main-content--wide{place-items:stretch stretch;width:min(100% - 2rem,88rem)}.app-nav{flex-wrap:wrap;flex:1;align-items:center;gap:1.25rem;display:flex}.app-nav a{color:#fff;font-weight:650;text-decoration:none}.app-nav a[aria-current=page]{text-underline-offset:.35em;text-decoration:underline}.user-actions{align-items:center;gap:.85rem;display:flex}.primary-button,.secondary-button,.danger-button,.text-button{cursor:pointer;border-radius:.5rem;min-height:2.4rem;padding:.45rem .9rem;font-weight:700}.primary-button{color:#fff;background:#172033;border:1px solid #172033}.secondary-button{color:#172033;background:#fff;border:1px solid #c5cedb}.danger-button{color:#fff;background:#9f1c13;border:1px solid #9f1c13}.text-button{color:#254d7c;text-underline-offset:.15em;background:0 0;border:0;padding:.2rem .35rem;text-decoration:underline}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled,.text-button:disabled{cursor:not-allowed;opacity:.62}.status-badge--ok{color:#145c3a;background:#d9f3e4}.status-badge--muted{color:#4d5a6d;background:#e6ebf2}.admin-page h1{max-width:22ch}.admin-tabs{gap:.5rem;margin:0 0 1.5rem;display:flex}.admin-tab{color:#34445c;cursor:pointer;background:#fff;border:1px solid #dbe2eb;border-radius:.5rem;min-height:2.5rem;padding:.45rem .9rem;font-weight:700}.admin-tab--active{color:#172033;background:#f4b400;border-color:#f4b400}.admin-panel{gap:1.25rem;display:grid}.admin-toolbar{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.admin-search,.admin-form label{gap:.4rem;font-weight:700;display:grid}.admin-form textarea{resize:vertical;border:1px solid #cfd7e3;border-radius:.5rem;min-height:5.5rem;padding:.55rem .75rem}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.9rem;display:grid}.field-error{color:#9f1c13;font-weight:600}.admin-check{align-items:center;gap:.5rem;font-weight:600;display:flex}.admin-count{color:#536176;margin:0}.admin-table-wrap{background:#fff;border:1px solid #dbe2eb;border-radius:.85rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e7edf4;padding:.85rem 1rem}.admin-table th{color:#536176;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem}.admin-row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-form,.admin-dialog{gap:.9rem;display:grid}.admin-form{background:#fff;border:1px solid #dbe2eb;border-radius:.85rem;padding:1.25rem}.admin-form h2,.admin-dialog h2{margin:0;font-size:1.15rem}.admin-form fieldset,.admin-dialog fieldset{border:0;gap:.45rem;margin:0;padding:.75rem 0 0;display:grid}.admin-pagination{align-items:center;gap:.75rem;display:flex}.admin-table th.numeric,.admin-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-table .quote-item-group td{color:#1f2a37;background:#f3f6fa;font-weight:600}.admin-table .revision-diff-changed td{background:#fff4d6}.admin-option-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.admin-dialog-backdrop{z-index:20;background:#17203373;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.admin-dialog{background:#fff;border-radius:.9rem;width:min(100%,32rem);max-height:90vh;padding:1.35rem;overflow:auto}.admin-dialog-actions{flex-wrap:wrap;gap:.75rem;display:flex}.admin-permission-list{max-height:18rem;overflow:auto}.admin-permission-list code{color:#536176;font-size:.82rem;display:block}.week-grid{gap:.65rem;display:grid}.week-grid__head,.week-grid__person,.week-grid__cell{text-align:left;background:#fff;border:1px solid #d5dce6;min-height:2.4rem;padding:.45rem .5rem}.week-grid__head{background:#f3f6fa;font-weight:700}.week-grid__row{grid-template-columns:10rem repeat(7,minmax(4.5rem,1fr));gap:.35rem;display:grid}.week-grid>.week-grid__head:first-child{display:none}.week-grid__empty{grid-column:1/-1;padding:.75rem}.week-grid__cell{cursor:pointer}@media (width<=48rem){.week-grid__row{grid-template-columns:1fr}}.auth-page{--auth-ink:#172033;--auth-muted:#5c687c;--auth-border:#cfd7e3;--auth-accent:#f4b400;--auth-focus:#1f6feb;min-height:100vh;color:var(--auth-ink);background:radial-gradient(circle at 15% 15%,#f4b40024,#0000 30rem),#f3f6fa;place-items:center;padding:clamp(1rem,5vw,4rem);display:grid}.auth-card{background:#fff;border:1px solid #dbe2eb;border-radius:1rem;width:min(100%,29rem);padding:clamp(1.5rem,5vw,2.75rem);box-shadow:0 1.5rem 4rem #1720331f}.auth-brand{width:2.75rem;height:2.75rem;color:var(--auth-ink);background:var(--auth-accent);border-radius:.7rem;place-items:center;margin-bottom:1.25rem;font-size:1.25rem;font-weight:800;display:grid}.auth-eyebrow{color:var(--auth-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .45rem;font-size:.76rem;font-weight:800}.auth-card h1{letter-spacing:-.025em;max-width:19ch;margin:0;font-size:clamp(1.8rem,7vw,2.45rem);line-height:1.12}[data-route-heading]:focus{outline-offset:4px;border-radius:.2rem;outline:3px solid #1f6feb59}.auth-description,.auth-help{color:var(--auth-muted);margin:.75rem 0 1.5rem;line-height:1.6}.auth-form{gap:1.15rem;display:grid}.auth-field{gap:.45rem;display:grid}.auth-field label{font-size:.92rem;font-weight:700}.auth-field input{width:100%;min-height:2.9rem;color:var(--auth-ink);border:1px solid var(--auth-border);background:#fff;border-radius:.55rem;padding:.7rem .8rem;transition:border-color .12s,box-shadow .12s}.auth-field input:hover{border-color:#8e9aab}.auth-field input:focus-visible,.auth-primary-button:focus-visible,.auth-text-button:focus-visible{outline-offset:2px;outline:3px solid #1f6feb4d}.auth-field input:focus{border-color:var(--auth-focus);box-shadow:0 0 0 1px var(--auth-focus)}.auth-field input[aria-invalid=true]{border-color:#b42318}.auth-field-hint{color:var(--auth-muted);font-size:.82rem;line-height:1.4}.auth-field-error{color:#9f1c13;font-size:.84rem;font-weight:650;line-height:1.4}.auth-feedback{border:1px solid;border-radius:.6rem;margin:1.2rem 0;padding:.85rem .95rem;line-height:1.5}.auth-feedback--error{color:#7a1810;background:#fff1f0;border-color:#efb8b3}.auth-feedback--success{color:#145c3a;background:#edf9f2;border-color:#a9dec0}.auth-feedback--info{color:#234a78;background:#edf5ff;border-color:#b7d3f3}.auth-primary-button,.auth-text-button{cursor:pointer;border-radius:.55rem;min-height:2.75rem}.auth-primary-button{color:#fff;background:var(--auth-ink);border:1px solid var(--auth-ink);margin-top:.25rem;padding:.7rem 1rem;font-weight:750}.auth-primary-button:hover:not(:disabled){background:#29364d}.auth-primary-button:disabled,.auth-text-button:disabled{cursor:not-allowed;opacity:.62}.auth-text-button{color:#254d7c;text-underline-offset:.2em;background:0 0;border:0;width:100%;margin-top:.8rem;padding:.65rem;font-weight:700;text-decoration:underline}@media (width<=32rem){.auth-page{background:#fff;place-items:stretch stretch;padding:0}.auth-card{min-height:100vh;box-shadow:none;border:0;border-radius:0}}@media (prefers-reduced-motion:reduce){.auth-field input{transition:none}}.cost-page{gap:1rem;display:grid}.cost-tabs{flex-wrap:wrap}.cost-kpis{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;display:grid}.cost-kpi{background:#fff;border:1px solid #dbe2eb;border-radius:.85rem;gap:.45rem;padding:1.15rem;display:grid}.cost-kpi span{color:#536176;font-size:.85rem;font-weight:700}.cost-kpi strong{color:#172033;font-variant-numeric:tabular-nums;font-size:1.4rem}.cost-allocation-grid,.cost-setup-grid,.cost-two-column{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.cost-span{grid-column:1/-1}.admin-table caption{text-align:left;padding:.85rem 1rem;font-size:1rem;font-weight:800}.cost-page select,.cost-page input{border:1px solid #cfd7e3;border-radius:.5rem;min-height:2.5rem;padding:.5rem .7rem}.management-page{gap:1.25rem;display:grid}.management-period,.management-note{color:#536176;margin:0}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;display:grid}.kpi-grid--compact{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.kpi-card{color:#172033;text-align:left;background:#fff;border:1px solid #dbe2eb;border-radius:.85rem;gap:.45rem;min-height:9rem;padding:1.2rem;display:grid;box-shadow:0 8px 24px #33415514}button.kpi-card{cursor:pointer}.kpi-card--warning{border-color:#d67700}.kpi-card--static{min-height:7rem}.kpi-card span{color:#536176;font-weight:700}.kpi-card strong{font-size:clamp(1.6rem,4vw,2.3rem)}.kpi-card small{color:#57657a;align-self:end}.management-definitions{background:#f7f9fc;border:1px solid #dbe2eb;border-radius:.75rem;padding:1rem}.management-definitions summary{cursor:pointer;font-weight:750}.management-definitions dl{gap:.75rem;margin-bottom:0;display:grid}.management-definitions dt{font-weight:750}.management-definitions dd{color:#536176;margin:.2rem 0 0}:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f6fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}.skip-link{z-index:10;color:#fff;background:#172033;border-radius:.5rem;padding:.65rem .9rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{outline-offset:2px;outline:3px solid #f4b400;transform:translateY(0)}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.topbar{color:#fff;background:#172033;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.9rem clamp(1rem,4vw,3rem);display:flex;box-shadow:0 2px 12px #1720332e}.brand{letter-spacing:.01em;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:700;display:inline-flex}.brand-mark{color:#172033;background:#f4b400;border-radius:.55rem;place-items:center;width:2.2rem;height:2.2rem;display:grid}.status-badge{color:#172033;white-space:nowrap;background:#f9d96a;border-radius:999px;padding:.4rem .7rem;font-size:.82rem;font-weight:700}.main-content{place-items:center;width:min(100% - 2rem,72rem);margin:0 auto;padding:clamp(2rem,8vw,6rem) 0;display:grid}.welcome-card{background:#fff;border:1px solid #dbe2eb;border-radius:1rem;width:min(100%,48rem);padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 18px 50px #3341551f}.eyebrow{color:#57657a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .65rem;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.035em;max-width:18ch;margin-bottom:1rem;font-size:clamp(2rem,6vw,3.4rem);line-height:1.05}.lead{color:#536176;max-width:58ch;margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.progress-panel{background:#f7f9fc;border:1px solid #e1e7ef;border-radius:.75rem;padding:1.25rem}.progress-panel h2{margin-bottom:1rem;font-size:1rem}.progress-panel ul{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.progress-panel li{align-items:flex-start;gap:.7rem;line-height:1.45;display:flex}.progress-panel li span{color:#fff;background:#217a50;border-radius:50%;flex:none;place-items:center;width:1.45rem;height:1.45rem;font-size:.8rem;font-weight:800;display:grid}.next-step{color:#34445c;margin:1.25rem 0 0;font-size:.92rem;font-weight:650}.footer{color:#6b778b;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);font-size:.82rem;display:flex}@media (width<=36rem){.topbar,.footer{flex-direction:column;align-items:flex-start}.status-badge{margin-left:2.95rem}}
