@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@500;600&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color-scheme:light;--paper:#faf8f3;--surface:#fffdf8;--surface-muted:#f1eee5;--ink:#1b1a16;--ink-muted:#55524b;--ink-subtle:#85817a;--border:#e4dfd3;--border-strong:#d0cabb;--petrol:#087e8b;--petrol-bright:#00bba7;--petrol-soft:#e2f0f1;--orange:#c65327;--orange-bright:#f07a45;--orange-soft:#fff0e8;--olive:#708c19;--olive-soft:#edf2dd;--error:#b42318;--shadow-raised:0 1px 2px #1b1a1614;--shadow-overlay:0 18px 48px #1b1a1629;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-heading:"Space Grotesk", "Inter", ui-sans-serif, system-ui, sans-serif;--font-data:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-width:320px}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}button,textarea,input{color:inherit;font:inherit}button,a,textarea,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #087e8b52}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--petrol);font-family:var(--font-data);letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:600}.login-page{background:radial-gradient(circle at 50% 25%, var(--surface) 0, var(--paper) 48%);place-content:center;gap:26px;min-height:100vh;padding:40px 20px;display:grid}.login-brand{color:var(--ink);justify-content:center;align-items:baseline;gap:10px;text-decoration:none;display:flex}.login-brand strong{font-family:var(--font-heading);font-size:22px}.login-brand span{color:var(--ink-muted);font-size:13px}.mp-login-card{border:1px solid var(--border);background:var(--surface);width:min(440px,100vw - 40px);box-shadow:var(--shadow-overlay);border-radius:12px;padding:38px}.mp-login-mark{background:var(--petrol-soft);width:40px;height:40px;color:var(--petrol);border-radius:8px;place-items:center;margin-bottom:24px;display:grid}.mp-login-card h1{margin-top:7px;font-size:34px}.mp-login-intro{color:var(--ink-muted);margin:8px 0 28px}.mp-login-card form{gap:9px;display:grid}.mp-login-card label{font-size:13px;font-weight:600}.mp-login-card input,.mp-table-toolbar input{border:1px solid var(--border-strong);background:#fff;border-radius:6px;width:100%;min-height:46px;padding:0 13px}.mp-password-label{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.mp-password-label button{color:var(--petrol);background:0 0;border:0;font-size:12px}.mp-password-field{position:relative}.mp-password-field input{padding-right:44px}.mp-password-field button{width:44px;height:46px;color:var(--ink-muted);background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;right:0}.mp-login-submit{justify-content:center;margin-top:12px}.form-error{border-left:3px solid var(--error);color:var(--error);background:#fff0ee;margin-bottom:16px;padding:10px 12px;font-size:13px}.mp-login-help,.login-security,.table-note{color:var(--ink-subtle);text-align:center;font-size:12px}.mp-login-help{margin-top:24px}.mp-invoice-table{margin-top:32px}.mp-table-scroll{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow-x:auto}.mp-invoice-table table,.mp-admin-table table{border-collapse:collapse;width:100%}.mp-invoice-table th,.mp-invoice-table td,.mp-admin-table th,.mp-admin-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:16px}.mp-invoice-table th,.mp-admin-table th{color:var(--ink-muted);letter-spacing:.03em;font-size:12px;font-weight:600}.mp-invoice-table tbody tr:last-child td,.mp-admin-table tbody tr:last-child td{border-bottom:0}.money{font-family:var(--font-data);font-weight:600}.invoice-status,.client-status{border-radius:99px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.invoice-status.paid,.client-status.active{background:var(--olive-soft);color:#526812}.invoice-status.due,.client-status.invited{background:var(--orange-soft);color:var(--orange)}.client-status.paused{background:var(--surface-muted);color:var(--ink-muted)}.table-action{color:var(--petrol);align-items:center;gap:6px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.table-action.unavailable{color:var(--ink-subtle)}.table-note{text-align:left;margin-top:13px}.supporting-copy,.admin-intro{color:var(--ink-muted);margin-top:8px}.admin-page{min-height:100vh}.admin-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;min-height:68px;padding:0 32px;display:flex}.admin-header .login-brand{justify-content:flex-start}.admin-content{width:min(1180px,100% - 40px);margin:0 auto;padding:64px 0}.admin-content h1{margin-top:6px;font-size:44px}.admin-title-row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.admin-title-row .primary-button,.surface-error .secondary-button{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.admin-title-actions{gap:8px;display:flex}.admin-title-actions .secondary-button{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.admin-tabs{border-bottom:1px solid var(--border);gap:18px;margin-top:26px;display:flex}.admin-tabs button{min-height:42px;color:var(--ink-muted);font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px}.admin-tabs button.active{border-bottom-color:var(--petrol);color:var(--petrol);font-weight:600}.audit-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:24px;overflow-x:auto}.audit-table{border-collapse:collapse;width:100%}.audit-table th,.audit-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:14px 16px}.audit-table th{color:var(--ink-muted);font-size:12px}.mp-admin-table{margin-top:34px}.mp-table-toolbar,.mp-table-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.mp-table-toolbar{margin-bottom:12px}.mp-table-toolbar label{width:min(380px,100%)}.mp-table-footer{color:var(--ink-subtle);padding:12px 2px;font-size:12px}.sort-button{background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.check-cell{width:48px}.check-cell input{accent-color:var(--petrol)}.table-menu{position:relative}.table-menu .secondary-button{align-items:center;gap:7px;display:inline-flex}.table-menu-panel{z-index:20;border:1px solid var(--border);background:var(--surface);width:190px;box-shadow:var(--shadow-overlay);border-radius:7px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.table-menu-panel button{text-align:left;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:9px;display:flex}.table-menu-panel button:hover{background:var(--surface-muted)}.auth-state,.account-page{text-align:center;place-content:center;gap:14px;min-height:100vh;padding:30px;display:grid}.auth-state a{color:var(--petrol)}.loading-spinner{border:2px solid var(--border);border-top-color:var(--petrol);border-radius:50%;width:24px;height:24px;margin:0 auto;animation:.7s linear infinite spin}.account-panel{border:1px solid var(--border);background:var(--surface);width:min(500px,100vw - 40px);box-shadow:var(--shadow-raised);text-align:left;border-radius:10px;padding:38px}.account-panel h1{margin-top:30px;font-size:34px}.account-panel>p{color:var(--ink-muted);margin:8px 0 24px}.account-panel form{gap:10px;display:grid}.account-panel form>label:not(.acknowledgement){margin-top:6px;font-size:13px;font-weight:600}.account-panel input:not([type=checkbox]){border:1px solid var(--border-strong);background:#fff;border-radius:6px;min-height:46px;padding:0 13px}.account-panel .primary-button{justify-content:center;margin-top:12px}.acknowledgement{color:var(--ink-muted);grid-template-columns:20px 1fr;gap:10px;margin:14px 0;font-size:12px;display:grid}.acknowledgement input{accent-color:var(--petrol);margin-top:3px}.mfa-qr{border:1px solid var(--border);text-align:center;border-radius:8px;margin:8px 0 14px;padding:18px}.mfa-qr img{width:190px;height:190px}.mfa-qr p{color:var(--ink-muted);margin-top:8px;font-size:12px}.surface-loading{min-height:220px;color:var(--ink-muted);align-items:center;gap:12px;display:flex}.surface-loading .loading-spinner{margin:0}.surface-error,.live-empty{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:32px;padding:34px}.surface-error p,.live-empty p{color:var(--ink-muted);margin-top:6px}.live-empty{color:var(--ink-muted);justify-items:start;gap:8px;display:grid}.live-empty svg{color:var(--petrol);margin-bottom:8px}.live-empty strong{color:var(--ink)}.progress-surface{margin-top:32px}.progress-summary{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;align-items:baseline;gap:6px 18px;padding-bottom:28px;display:grid}.progress-summary>strong{font-family:var(--font-data);font-size:38px}.progress-summary>span{color:var(--ink-muted)}.progress-summary .progress-track{grid-column:1/-1}.phase-ledger{margin:28px 0 42px;padding:0;list-style:none}.phase-ledger li{border-bottom:1px solid var(--border);grid-template-columns:36px 1fr auto;align-items:center;min-height:58px;display:grid}.phase-ledger li>span{border:1px solid var(--border-strong);width:25px;height:25px;color:var(--ink-subtle);font-family:var(--font-data);border-radius:50%;place-items:center;font-size:11px;display:grid}.phase-ledger li.complete>span{border-color:var(--olive);background:var(--olive-soft);color:var(--olive)}.phase-ledger small{color:var(--ink-subtle)}.milestone-list{border-top:1px solid var(--border);margin-top:12px}.milestone-list>div{border-bottom:1px solid var(--border);grid-template-columns:12px 1fr auto;align-items:center;gap:10px;padding:16px 0;display:grid}.milestone-list time{color:var(--ink-muted);font-size:13px}.attention-dot{background:var(--orange);border-radius:50%;width:7px;height:7px}.next-action{border-left:3px solid var(--petrol);background:var(--petrol-soft);gap:4px;margin-top:26px;padding:18px;display:grid}.next-action span{color:var(--petrol);text-transform:uppercase;font-size:11px;font-weight:600}.media-ledger,.document-ledger,.credentials-ledger{border-top:1px solid var(--border);margin-top:30px}.media-ledger article,.document-ledger article,.credentials-ledger article{border-bottom:1px solid var(--border);grid-template-columns:44px 1fr auto;align-items:center;gap:14px;min-height:78px;display:grid}.credentials-ledger article{grid-template-columns:44px minmax(140px,1fr) 44px minmax(260px,auto)}.file-icon,.credential-icon{background:var(--surface-muted);width:36px;height:36px;color:var(--petrol);border-radius:6px;place-items:center;display:grid}.media-ledger article>div,.document-ledger article>div,.credentials-ledger article>div{gap:3px;display:grid}.media-ledger small,.document-ledger small,.credentials-ledger small{color:var(--ink-subtle)}.credentials-ledger a{width:44px;height:44px;color:var(--petrol);place-items:center;display:grid}.credential-secret{grid-auto-flow:column;justify-content:end;align-items:center;gap:7px!important;display:flex!important}.credential-secret code{min-width:118px;color:var(--ink-muted);font-family:var(--font-data);overflow-wrap:anywhere;font-size:12px}.credential-secret .secondary-button{align-items:center;gap:6px;display:inline-flex}.credential-message{color:var(--petrol);margin-top:12px;font-size:12px}.dialog-backdrop{z-index:80;background:#1b1a166b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.admin-dialog{background:var(--surface);width:min(560px,100%);max-height:calc(100vh - 40px);box-shadow:var(--shadow-overlay);border-radius:10px;padding:30px;overflow-y:auto}.admin-dialog header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.admin-dialog header h2{font-size:26px}.admin-dialog header p,.dialog-note{color:var(--ink-muted);margin-top:5px;font-size:12px}.admin-dialog form{gap:9px;display:grid}.admin-dialog label{margin-top:7px;font-size:13px;font-weight:600}.admin-dialog input,.admin-dialog select{border:1px solid var(--border-strong);width:100%;min-height:44px;font:inherit;background:#fff;border-radius:6px;padding:0 12px}.generated-password{grid-template-columns:1fr auto;gap:8px;display:grid}.admin-dialog form>.primary-button{justify-content:center;margin-top:12px}.storage-warning{border:1px solid var(--orange);background:var(--orange-soft);border-radius:7px;margin-top:26px;padding:18px}.storage-warning p{color:var(--ink-muted);margin-top:5px;font-size:13px}.upload-toolbar{align-items:center;gap:12px;margin-top:24px;display:flex}.upload-toolbar label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.upload-toolbar input[type=file]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.file-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.table-action.danger{color:var(--orange)}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=600px){.mp-login-card{padding:28px 22px}.admin-header{padding:0 20px}.admin-content{padding-top:42px}.admin-title-row{flex-direction:column;align-items:stretch}.admin-title-row .primary-button{justify-content:center}.admin-title-actions{display:grid}.mp-table-toolbar{flex-direction:column;align-items:stretch}.milestone-list>div{grid-template-columns:12px 1fr}.milestone-list time{grid-column:2}.media-ledger article,.document-ledger article{grid-template-columns:42px 1fr;padding:14px 0}.media-ledger .table-action,.document-ledger .table-action{grid-column:2;justify-self:start}.credentials-ledger article{grid-template-columns:42px 1fr 42px;padding:14px 0}.credential-secret{flex-wrap:wrap;grid-column:2/-1;justify-content:start}.admin-dialog{padding:24px 18px}.generated-password{grid-template-columns:1fr}}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-family:var(--font-heading);text-wrap:balance}p{text-wrap:pretty}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:6px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.portal-app{min-height:100vh}.topbar{z-index:20;border-bottom:1px solid var(--border);background:#faf8f3f5;justify-content:space-between;align-items:center;height:66px;padding:0 32px;display:flex;position:sticky;top:0}.brand{min-height:44px;font-family:var(--font-heading);letter-spacing:-.02em;background:0 0;border:0;align-items:baseline;padding:0;font-size:16px;display:flex}.brand strong{font-weight:700}.brand span{color:var(--ink-subtle);margin-left:3px;font-weight:500}.topbar-actions,.notification-wrap,.account-wrap{align-items:center;display:flex;position:relative}.topbar-actions{gap:14px}.icon-button,.avatar{background:0 0;border:0;place-items:center;min-width:44px;height:44px;display:inline-grid}.avatar{background:var(--ink);width:40px;min-width:40px;height:40px;color:var(--surface);border-radius:50%;font-size:13px;font-weight:600}.notification-dot{border:2px solid var(--paper);background:var(--orange);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:6px}.notification-panel{border:1px solid var(--border);background:var(--surface);width:min(360px,100vw - 32px);box-shadow:var(--shadow-overlay);border-radius:12px;padding:8px;position:absolute;top:50px;right:0}.notification-heading{justify-content:space-between;align-items:center;padding:10px 10px 12px;display:flex}.notification-heading span{color:var(--orange);font-size:12px;font-weight:600}.notification-read-all{background:var(--petrol-soft);width:100%;color:var(--petrol);text-align:left;border:0;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700}.notification-item{border-top:1px solid var(--border);text-align:left;gap:2px;width:100%;padding:12px 10px;display:grid}.account-panel{z-index:30;border:1px solid var(--border);background:var(--surface);width:220px;box-shadow:var(--shadow-overlay);text-align:left;border-radius:12px;gap:6px;padding:14px;display:grid;position:absolute;top:50px;right:0}.settings-page{background:var(--paper);min-height:100vh}.settings-card{border:1px solid var(--border);background:var(--surface);width:min(100% - 32px,720px);box-shadow:var(--shadow-raised);border-radius:16px;margin:48px auto;padding:32px}.settings-card h1{margin:22px 0 8px;font-size:32px}.settings-card>p{color:var(--ink-muted);line-height:1.6}.preference-list{gap:12px;margin-top:28px;display:grid}.preference-row{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:20px;padding:16px;display:flex}.preference-row span{gap:4px;display:grid}.preference-row small{color:var(--ink-muted)}.preference-row input{width:20px;height:20px;accent-color:var(--petrol)}.form-status{color:var(--petrol);margin-top:18px;font-weight:600}.membership-pill{border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;margin:2px 4px 2px 0;padding:4px 7px;font-size:12px;display:inline-flex}.membership-pill button{color:var(--orange);background:0 0;border:0;padding:0;font-size:11px;font-weight:700}.account-panel strong{font-size:14px}.account-panel small{color:var(--ink-subtle);font-size:12px}.account-panel a,.account-panel button{border:0;border-top:1px solid var(--border);width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;padding:9px 0;text-decoration:none;display:block}.account-panel a:first-of-type{margin-top:6px}.account-panel a:hover,.account-panel button:hover{color:var(--petrol)}.locale-switcher{gap:6px;margin:6px 0;display:flex}.locale-switcher button{border:1px solid var(--border);width:auto;font-family:var(--font-data);border-radius:4px;padding:4px 7px;font-size:11px}.locale-switcher button.active{border-color:var(--petrol);background:var(--petrol-soft);color:var(--petrol)}.review-history{gap:8px;margin-top:20px;display:grid}.review-history button{border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:6px;justify-content:space-between;gap:14px;padding:12px;display:flex}.review-history button.active{border-color:var(--petrol);background:var(--petrol-soft)}.review-history small{color:var(--ink-muted)}.trash-section{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.trash-section>p{color:var(--ink-muted);margin:6px 0 14px}.notification-item small{color:var(--ink-subtle)}.dashboard{width:min(100%,1264px);margin:0 auto;padding:36px 32px 64px}.date-line{color:var(--ink-subtle);margin-bottom:8px;font-size:14px}.dashboard h1{letter-spacing:-.03em;max-width:900px;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:600;line-height:1.08}.intro{max-width:680px;color:var(--ink-muted);margin-top:14px;font-size:17px}.metric-ledger{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:34px;padding:20px 0;display:grid}.metric-ledger>div{border-left:1px solid var(--border);gap:2px;padding-left:24px;display:grid}.metric-ledger>div:first-child{border-left:0;padding-left:0}.metric-ledger dd{font-family:var(--font-heading);letter-spacing:-.03em;font-size:30px;font-weight:600;line-height:1.2}.metric-ledger dt{color:var(--ink-muted);font-size:14px}.metric-ledger .attention-metric dd{color:var(--orange)}.projects-section{margin-top:38px}.section-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.section-heading h2,.activity-section h2,.details-section h2{letter-spacing:-.02em;font-size:22px;font-weight:600}.text-button,.back-button{min-height:44px;color:var(--ink-muted);background:0 0;border:0;font-size:14px;font-weight:600}.text-button:hover,.back-button:hover{color:var(--petrol)}.text-button:disabled,.avatar:disabled{cursor:not-allowed;opacity:.62}.project-row{border:1px solid var(--border-strong);background:var(--surface);text-align:left;border-radius:12px;grid-template-columns:48px minmax(280px,1fr) 192px 44px;align-items:center;width:100%;margin-top:20px;padding:28px;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid}.project-row:hover{border-color:var(--petrol);box-shadow:var(--shadow-raised);transform:translateY(-1px)}.project-mark{background:var(--ink);color:#fff;width:40px;height:40px;font-family:var(--font-heading);border-radius:10px;place-items:center;font-size:12px;font-weight:600;display:grid}.project-primary{gap:3px;padding-left:16px;display:grid}.project-title-line{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-title-line>strong{font-family:var(--font-heading);letter-spacing:-.015em;font-size:19px}.status{border-radius:6px;align-items:center;gap:6px;width:fit-content;min-height:26px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.status-attention{background:var(--orange-soft);color:var(--orange)}.project-subtitle{color:var(--ink-muted);font-size:14px}.project-progress{gap:8px;display:grid}.project-progress>span:first-child{justify-content:space-between;align-items:center;display:flex}.project-progress small,.project-meta small{color:var(--ink-subtle);text-transform:uppercase;font-size:11px;font-weight:600}.project-progress b{font-family:var(--font-data);font-size:12px}.progress-track{background:var(--border);border-radius:3px;height:8px;display:block;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--petrol);height:100%;display:block}.row-chevron{background:var(--surface-muted);border-radius:8px;place-items:center;width:44px;height:44px;margin-left:16px;display:grid}.project-meta{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-top:26px;padding-top:22px;display:grid}.project-meta>span{gap:4px;display:grid}.project-meta strong{font-size:14px}.project-page{width:min(100%,1440px);margin:0 auto;padding:28px 32px 72px}.project-header{border-bottom:1px solid var(--border);grid-template-columns:180px 1fr 180px;align-items:end;padding-bottom:28px;display:grid}.back-button{justify-self:start;align-items:center;gap:8px;padding:0;display:inline-flex}.project-header>div{text-align:center}.project-header p{color:var(--ink-subtle);font-size:13px}.project-header h1{letter-spacing:-.025em;margin-top:2px;font-size:clamp(1.75rem,3vw,2.4rem)}.mobile-project-menu{display:none}.project-shell{grid-template-columns:220px minmax(0,1fr);min-height:700px;display:grid}.project-sidebar{border-right:1px solid var(--border);padding:30px 24px 0 0}.project-sidebar>p{color:var(--ink-subtle);text-transform:uppercase;margin:0 0 12px 14px;font-size:12px;font-weight:600}.project-sidebar nav{gap:4px;display:grid}.project-sidebar button{min-height:44px;color:var(--ink-muted);text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;padding:0 12px;font-size:14px;font-weight:500;display:grid}.project-sidebar button:hover{background:var(--surface-muted);color:var(--ink)}.project-sidebar button:disabled,.mobile-menu-sheet>button:disabled,.mobile-bottom-nav button:disabled{cursor:not-allowed;opacity:.48}.project-sidebar button:disabled:hover{color:var(--ink-muted);background:0 0}.project-sidebar button.active{background:var(--petrol-soft);color:var(--petrol);font-weight:600}.project-sidebar button>span{background:var(--orange);color:#fff;border-radius:50%;place-items:center;min-width:22px;height:22px;font-size:11px;display:grid}.project-content{min-width:0;padding:36px 0 0 36px}.overview-hero{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:48px;padding-bottom:36px;display:flex}.context-label{color:var(--ink-subtle);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:600}.overview-hero h2{letter-spacing:-.035em;font-size:clamp(2.3rem,5vw,4rem);font-weight:600;line-height:1}.overview-hero p:last-child{max-width:630px;color:var(--ink-muted);margin-top:14px}.progress-number{text-align:right;flex:none;gap:4px;display:grid}.progress-number span{color:var(--petrol);font-family:var(--font-heading);letter-spacing:-.04em;font-size:54px;font-weight:600;line-height:1}.progress-number small{color:var(--ink-subtle)}.phase-section{border-bottom:1px solid var(--border);padding:34px 0 38px}.mono{color:var(--ink-subtle);font-family:var(--font-data);font-size:12px}.phase-rail{grid-template-columns:repeat(5,1fr);margin:28px 0 0;padding:0;list-style:none;display:grid}.phase-rail li{gap:4px;padding-right:12px;display:grid;position:relative}.phase-rail li:before{z-index:0;background:var(--border);content:"";height:2px;position:absolute;top:10px;left:0;right:0}.phase-rail li.complete:before{background:var(--olive)}.phase-rail li.current:before{background:linear-gradient(to right, var(--petrol) 54%, var(--border) 54%)}.phase-marker{z-index:1;border:2px solid var(--border-strong);background:var(--paper);border-radius:50%;place-items:center;width:22px;height:22px;margin-bottom:5px;display:grid}.complete .phase-marker{border-color:var(--olive);background:var(--olive);color:#fff}.current .phase-marker{border:5px solid var(--petrol);background:var(--surface)}.phase-rail strong{font-size:13px}.phase-rail small{color:var(--ink-subtle);font-family:var(--font-data);font-size:11px}.next-action{background:var(--ink);color:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:40px;margin:36px 0;padding:28px;display:flex}.next-action .context-label{color:#d6d1c6}.next-action h2{letter-spacing:-.02em;font-size:25px}.next-action p:last-child{color:#d6d1c6;max-width:620px;margin-top:8px;font-size:14px}.primary-button,.secondary-button,.download-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;transition:background .16s,transform .12s;display:inline-flex}.primary-button{border:1px solid var(--petrol);background:var(--petrol);color:#fff}.primary-button:hover{background:#066a75;border-color:#066a75}.primary-button:active,.secondary-button:active,.download-button:active{transform:scale(.97)}.next-action .primary-button{border-color:var(--petrol-bright);background:var(--petrol-bright);color:var(--ink);flex:none}.overview-columns{grid-template-columns:1.55fr .75fr;gap:48px;padding-top:8px;display:grid}.activity-list{margin:20px 0 0;padding:0;list-style:none}.activity-list li{grid-template-columns:14px 1fr;gap:14px;padding:0 0 24px;display:grid}.activity-marker{border:2px solid var(--paper);width:10px;height:10px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%;margin-top:7px}.activity-marker.attention{background:var(--orange)}.activity-marker.progress{background:var(--petrol)}.activity-marker.complete{background:var(--olive)}.activity-list strong{font-size:14px}.activity-list p{color:var(--ink-muted);margin-top:2px;font-size:14px}.activity-list small{margin-top:5px;display:block}.details-section dl{margin-top:20px}.details-section dl>div{border-bottom:1px solid var(--border);padding:13px 0}.details-section dt{color:var(--ink-subtle);font-size:12px}.details-section dd{margin-top:3px;font-size:14px;font-weight:600}.review-layout{grid-template-columns:minmax(0,1fr) 330px;gap:34px;display:grid}.review-heading{align-items:end}.review-heading h2{font-size:32px}.review-intro{max-width:700px;color:var(--ink-muted);margin-top:10px}.review-preview{border:1px solid var(--border-strong);background:#f2eee5;border-radius:12px;margin-top:26px;overflow:hidden}.preview-browser{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:6px;height:34px;padding:0 14px;display:flex}.preview-browser span{background:var(--border-strong);border-radius:50%;width:7px;height:7px}.preview-canvas{background:#efe8d8;grid-template-columns:1.2fr 1fr;min-height:390px;padding:48px;display:grid}.preview-copy{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.preview-copy>span{font-size:12px;font-weight:600}.preview-copy strong{max-width:410px;font-family:var(--font-heading);letter-spacing:-.04em;margin-top:42px;font-size:clamp(2.1rem,4vw,4rem);line-height:.98}.preview-copy i{background:var(--orange-bright);border-radius:2px;width:96px;height:8px;margin-top:32px}.preview-art{min-height:280px;position:relative}.preview-art span{border-radius:48% 52% 45% 55%;display:block;position:absolute}.preview-art span:first-child{background:var(--petrol);inset:18% 4% 4% 18%;transform:rotate(-8deg)}.preview-art span:nth-child(2){background:var(--orange-bright);inset:0 38% 40% 0;transform:rotate(16deg)}.preview-art span:nth-child(3){background:var(--olive);inset:52% 48% 0 0;transform:rotate(-18deg)}.download-button{color:var(--ink-muted);background:0 0;border:0;margin-top:14px}.download-button:hover{color:var(--petrol)}.decision-panel{background:var(--surface);box-shadow:var(--shadow-raised);border-radius:12px;align-self:start;padding:24px;position:sticky;top:96px}.decision-panel h2{font-size:22px}.decision-panel>p{color:var(--ink-muted);margin-top:8px;font-size:14px}.decision-panel label{margin-top:24px;font-size:13px;font-weight:600;display:block}.decision-panel textarea{resize:vertical;border:1px solid var(--border-strong);background:var(--surface);border-radius:6px;width:100%;min-height:130px;margin-top:8px;padding:12px;line-height:1.5}.decision-panel textarea::placeholder{color:var(--ink-subtle)}.decision-panel textarea[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error)!important;margin-top:7px!important;font-size:12px!important}.full-button{width:100%;margin-top:12px}.secondary-button{border:1px solid var(--border-strong);background:var(--surface-muted)}.secondary-button:hover{background:#e8e4da}.review-success{max-width:720px;padding-top:96px}.success-icon{background:var(--olive);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:24px;display:grid}.review-success h2{letter-spacing:-.03em;font-size:40px}.review-success>p:not(.context-label){max-width:600px;color:var(--ink-muted);margin-top:12px}.review-success dl{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;padding-top:24px;display:grid}.review-success dt{color:var(--ink-subtle);font-size:12px}.review-success dd{font-family:var(--font-data);margin-top:4px;font-size:13px}.supporting-view{max-width:760px}.supporting-icon{background:var(--petrol-soft);width:56px;height:56px;color:var(--petrol);border-radius:12px;place-items:center;display:grid}.supporting-view h2{margin-top:20px;font-size:36px}.supporting-view>p{max-width:640px;color:var(--ink-muted);margin-top:8px}.empty-state{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:38px;padding:28px 0}.empty-state p{color:var(--ink-muted);margin-top:6px}.mobile-menu-backdrop,.mobile-bottom-nav{display:none}.page-enter{animation:.42s cubic-bezier(.16,1,.3,1) both page-enter}@keyframes page-enter{0%{opacity:.01;clip-path:inset(0 0 16%);transform:translateY(10px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}@media (width<=900px){.topbar{padding:0 20px}.dashboard,.project-page{padding-left:20px;padding-right:20px}.project-row{grid-template-columns:48px minmax(0,1fr) 44px}.project-progress{grid-column:2/3;margin:18px 0 0 16px}.row-chevron{grid-area:1/3}.project-header{grid-template-columns:auto 1fr;align-items:center;gap:12px}.project-header>div{text-align:left;grid-area:2/1/auto/-1}.mobile-project-menu{border:1px solid var(--border);background:var(--surface);border-radius:6px;justify-self:end;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.project-shell{display:block}.project-sidebar{display:none}.project-content{padding-left:0}.review-layout{grid-template-columns:1fr}.decision-panel{position:static}}@media (width<=680px){.topbar{height:60px;padding:0 16px}.dashboard{padding:28px 16px 96px}.dashboard h1{font-size:38px}.intro{font-size:16px}.metric-ledger{margin-top:28px}.metric-ledger>div{padding-left:12px}.metric-ledger dd{font-size:24px}.metric-ledger dt{font-size:12px}.projects-section{margin-top:30px}.project-row{grid-template-columns:42px minmax(0,1fr) 36px;padding:18px 16px}.project-mark{width:38px;height:38px}.project-primary{padding-left:12px}.project-title-line{gap:5px;display:grid}.project-title-line>strong{font-size:17px}.project-subtitle{font-size:13px}.project-progress{margin-left:12px}.row-chevron{width:36px;height:40px;margin-left:0}.project-meta{grid-template-columns:1fr;gap:16px;margin-top:20px;padding-top:18px}.project-page{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.back-button{white-space:nowrap;gap:0;width:44px;font-size:0;overflow:hidden}.back-button svg{flex:none}.project-header{padding-bottom:20px}.project-header h1{font-size:27px}.project-content{padding-top:28px}.overview-hero{gap:24px;padding-bottom:28px;display:grid}.overview-hero h2{font-size:44px}.progress-number{text-align:left;grid-template-columns:auto 1fr;align-items:baseline}.progress-number span{font-size:40px}.phase-rail{grid-template-columns:1fr;gap:0}.phase-rail li{grid-template-columns:28px 1fr auto;align-items:center;min-height:58px}.phase-rail li:before{width:2px;height:auto;top:0;bottom:0;left:10px}.phase-rail li.current:before{background:linear-gradient(to bottom, var(--petrol) 54%, var(--border) 54%)}.phase-marker{grid-column:1;margin:0}.phase-rail strong{grid-column:2}.phase-rail small{grid-column:3}.next-action{gap:22px;padding:22px;display:grid}.next-action .primary-button{width:100%}.overview-columns{grid-template-columns:1fr;gap:32px}.review-heading{align-items:start}.review-heading h2{font-size:28px}.preview-canvas{grid-template-columns:1fr;min-height:430px;padding:28px}.preview-copy strong{margin-top:28px;font-size:38px}.preview-art{min-height:180px}.decision-panel{padding:20px}.review-success{padding-top:56px}.review-success dl{grid-template-columns:1fr}.mobile-bottom-nav{z-index:30;padding:7px 8px max(7px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#fffdf8fa;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1b1a160f}.mobile-bottom-nav button{min-height:50px;color:var(--ink-subtle);background:0 0;border:0;border-radius:6px;place-items:center;gap:2px;padding:4px;font-size:10px;font-weight:500;display:grid}.mobile-bottom-nav button.active{color:var(--petrol)}.mobile-menu-backdrop{z-index:50;background:#1b1a165c;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-menu-sheet{width:100%;max-height:82vh;padding:20px 16px max(24px, env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-overlay);border-radius:18px 18px 0 0;animation:.26s cubic-bezier(.16,1,.3,1) sheet-enter;overflow:auto}.mobile-menu-heading{font-family:var(--font-heading);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:20px;display:flex}.mobile-menu-sheet>button{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:24px 1fr 24px;align-items:center;gap:12px;width:100%;min-height:52px;padding:0 10px;font-size:14px;display:grid}.mobile-menu-sheet>button.active{color:var(--petrol);font-weight:600}}@keyframes sheet-enter{0%{transform:translateY(24px)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
