:root{color-scheme:light;--ref-canvas-100: #f3f1ec;--ref-canvas-200: #e8e5dd;--ref-slate-25: #fbfbfa;--ref-slate-50: #f4f5f4;--ref-slate-100: #e6e7e3;--ref-slate-200: #d4d5d0;--ref-slate-300: #b6b7b1;--ref-slate-500: #666661;--ref-slate-700: #3a3b37;--ref-slate-900: #181a17;--ref-teal-50: #e5f1ef;--ref-teal-300: #4ea69b;--ref-teal-500: #147c72;--ref-teal-600: #0f6960;--ref-teal-700: #0b524b;--ref-finance-50: #fdf3df;--ref-finance-500: #b27a18;--ref-finance-700: #7a5210;--ref-risk-50: #fbe6e2;--ref-risk-500: #b94747;--ref-risk-700: #862626;--ref-warning-50: #fbecd5;--ref-warning-500: #a35f16;--ref-warning-700: #6f3f0a;--ref-success-50: #dff0e6;--ref-success-500: #2b7a4a;--ref-success-700: #1c5232;--ref-info-50: #e2eaf6;--ref-info-500: #3566a8;--ref-info-700: #244d83;--canvas: var(--ref-canvas-100);--surface: var(--ref-slate-25);--surface-elevated: #ffffff;--surface-sunken: var(--ref-slate-50);--border-subtle: var(--ref-slate-100);--border: var(--ref-slate-200);--border-strong: var(--ref-slate-300);--text-muted: var(--ref-slate-500);--text: var(--ref-slate-700);--text-strong: var(--ref-slate-900);--brand: var(--ref-teal-500);--brand-hover: var(--ref-teal-600);--brand-quiet: var(--ref-teal-50);--brand-fg-on-fill: #ffffff;--brand-gradient: linear-gradient(135deg, var(--brand), var(--brand-strong, var(--brand)));--tone-finance-bg: var(--ref-finance-50);--tone-finance-fg: var(--ref-finance-700);--tone-finance-border: rgba(178, 122, 24, .28);--tone-risk-bg: var(--ref-risk-50);--tone-risk-fg: var(--ref-risk-700);--tone-risk-border: rgba(185, 71, 71, .32);--tone-warning-bg: var(--ref-warning-50);--tone-warning-fg: var(--ref-warning-700);--tone-warning-border: rgba(163, 95, 22, .3);--tone-success-bg: var(--ref-success-50);--tone-success-fg: var(--ref-success-700);--tone-success-border: rgba(43, 122, 74, .28);--tone-info-bg: var(--ref-info-50);--tone-info-fg: var(--ref-info-700);--tone-info-border: rgba(53, 102, 168, .26);--tone-neutral-bg: var(--ref-slate-50);--tone-neutral-fg: var(--ref-slate-700);--tone-neutral-border: var(--ref-slate-200);--type-page-size: 1.625rem;--type-page-line: 1.2;--type-page-weight: 700;--type-page-track: -.01em;--type-section-size: 1.25rem;--type-section-line: 1.25;--type-section-weight: 700;--type-section-track: -.005em;--type-card-size: 1rem;--type-card-line: 1.4;--type-card-weight: 600;--type-card-track: 0;--type-metric-size: 1.75rem;--type-metric-line: 1.1;--type-metric-weight: 700;--type-metric-track: -.015em;--type-body-size: .9375rem;--type-body-line: 1.5;--type-body-weight: 400;--type-body-track: 0;--type-label-size: .75rem;--type-label-line: 1.2;--type-label-weight: 600;--type-label-track: .06em;--type-meta-size: .75rem;--type-meta-line: 1.4;--type-meta-weight: 400;--type-meta-track: 0;--elevation-flat: inset 0 0 0 1px var(--border-subtle);--elevation-raised: 0 1px 0 rgba(24, 26, 23, .04), 0 8px 24px -16px rgba(24, 26, 23, .18);--elevation-modal: 0 12px 40px -8px rgba(24, 26, 23, .24), 0 2px 6px rgba(24, 26, 23, .08);--elevation-sticky: 0 4px 12px -8px rgba(24, 26, 23, .14);--elevation-focus: 0 0 0 2px var(--surface), 0 0 0 4px var(--brand);--focus-ring-color: color-mix(in srgb, var(--brand) 24%, transparent);--focus-ring: 3px solid var(--focus-ring-color);--focus-ring-offset: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--gutter-row: var(--space-3);--gutter-card: var(--space-5);--gutter-page: var(--space-6);--rail-width: 264px;--commandbar-height: 72px;--commandbar-height-compact: 56px;--mobile-tabbar-height: 56px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--motion-fast: .12s;--motion-base: .2s;--easing-standard: cubic-bezier(.2, 0, 0, 1);--bg: var(--canvas);--bg-soft: var(--ref-canvas-200);--surface-2: var(--surface-sunken);--surface-3: var(--brand-quiet);--muted: var(--text-muted);--accent: var(--brand);--accent-2: var(--ref-finance-500);--info: var(--ref-info-500);--warning: var(--ref-warning-500);--danger: var(--ref-risk-500);--radius: var(--radius-md);--shadow: var(--elevation-raised)}@media (prefers-reduced-motion: reduce){:root{--motion-fast: 0ms;--motion-base: 0ms}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button{border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,a.button:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}h1,h2,h3,p{margin:0}h1{font-size:1.25rem}h2{font-size:1.75rem;line-height:1.18}h3{font-size:1rem}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;margin-bottom:4px}.lede,.muted{color:var(--muted)}.stack{display:grid;gap:14px}.stack-sm{gap:10px}.state-row,.task-row{justify-content:space-between;gap:12px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-foot{margin-top:16px}@keyframes button-spin{to{transform:rotate(360deg)}}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@keyframes enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.header-actions,.inline-actions,.task-head,.summary-foot,.state-row,.panel-header,.dialog-header,.dialog-footer{display:flex;align-items:center}.avatar-frame{width:44px;height:44px;border-radius:var(--radius);display:inline-grid;place-items:center;overflow:hidden;background:var(--accent);color:#fff;font-weight:800}.avatar-frame img{width:100%;height:100%;object-fit:cover}.header-actions,.inline-actions,.summary-foot{gap:10px;flex-wrap:wrap}.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-header{justify-content:space-between;gap:12px;padding:18px 18px 0}.panel-actions{display:flex;align-items:center;gap:8px}.panel-body,.card{padding:18px}.panel-flat{box-shadow:var(--elevation-flat);border-color:var(--border-subtle)}.panel-command{border-color:var(--border-subtle);box-shadow:var(--elevation-sticky)}.panel-command .panel-header{padding:var(--space-5) var(--space-5) var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--surface)}.panel-command .panel-header h3{font-size:var(--type-section-size);font-weight:var(--type-section-weight);letter-spacing:var(--type-section-track)}.panel-metric{background:var(--surface-sunken);border-color:var(--border-subtle);box-shadow:var(--elevation-flat)}.panel-metric .panel-body{display:grid;gap:var(--space-3)}.panel-toolbar{box-shadow:var(--elevation-flat);border-color:var(--border-subtle);background:var(--surface)}.panel-toolbar-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.value-display{min-height:112px;display:grid;align-content:start;gap:8px;padding:14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.value-display strong{font-size:1.05rem}.value-display small{color:var(--muted)}.metric-tile{display:grid;align-content:start;gap:var(--space-2);margin:0;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border-subtle);box-shadow:var(--elevation-flat);position:relative;overflow:hidden}.metric-tile:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--tone-neutral-border)}.metric-tile-default:before{background:var(--brand-quiet)}.metric-tile-finance:before{background:var(--tone-finance-border)}.metric-tile-risk:before{background:var(--tone-risk-border)}.metric-tile-warning:before{background:var(--tone-warning-border)}.metric-tile-success:before{background:var(--tone-success-border)}.metric-tile-info:before{background:var(--tone-info-border)}.metric-tile-pair{display:contents;margin:0}.metric-tile-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted);margin:0}.metric-tile-value{display:flex;align-items:baseline;gap:var(--space-3);margin:0}.metric-tile-number{font-size:var(--type-metric-size);line-height:var(--type-metric-line);font-weight:var(--type-metric-weight);letter-spacing:var(--type-metric-track);color:var(--text-strong);font-variant-numeric:tabular-nums}.metric-tile-trend{display:inline-flex;align-items:center;gap:2px;font-size:var(--type-meta-size);font-weight:600;padding:2px 6px;border-radius:var(--radius-pill)}.metric-tile-trend-icon{width:.9em;height:.9em}.metric-tile-trend-up{color:var(--tone-success-fg);background:var(--tone-success-bg)}.metric-tile-trend-down{color:var(--tone-risk-fg);background:var(--tone-risk-bg)}.metric-tile-trend-flat{color:var(--text-muted);background:var(--tone-neutral-bg)}.metric-tile-helper{margin:0;font-size:var(--type-meta-size);color:var(--text-muted)}.metric-tile-threshold{margin:0;display:inline-flex;align-self:flex-start;font-size:var(--type-meta-size);font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);border:1px solid transparent}.metric-tile-threshold-finance{color:var(--tone-finance-fg);background:var(--tone-finance-bg);border-color:var(--tone-finance-border)}.metric-tile-threshold-risk{color:var(--tone-risk-fg);background:var(--tone-risk-bg);border-color:var(--tone-risk-border)}.metric-tile-threshold-warning{color:var(--tone-warning-fg);background:var(--tone-warning-bg);border-color:var(--tone-warning-border)}.metric-tile-threshold-success{color:var(--tone-success-fg);background:var(--tone-success-bg);border-color:var(--tone-success-border)}.metric-tile-threshold-info{color:var(--tone-info-fg);background:var(--tone-info-bg);border-color:var(--tone-info-border)}.task-row{display:flex;align-items:flex-start;padding:14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.task-head{justify-content:flex-start;gap:10px;margin-bottom:6px}.task-title{margin-bottom:4px}.task-lane{color:var(--accent);font-size:.85rem;white-space:nowrap}.badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:22px;padding:0 10px;border-radius:var(--radius-pill);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:0;border:1px solid transparent;white-space:nowrap}.status-pill-icon{width:.875em;height:.875em;flex:0 0 auto}.status-pill-label{display:inline-flex;align-items:center}.badge-neutral,.status-neutral{background:var(--tone-neutral-bg);color:var(--tone-neutral-fg);border-color:var(--tone-neutral-border)}.badge-info,.status-info{background:var(--tone-info-bg);color:var(--tone-info-fg);border-color:var(--tone-info-border)}.badge-success,.status-success{background:var(--tone-success-bg);color:var(--tone-success-fg);border-color:var(--tone-success-border)}.badge-warning,.status-warning{background:var(--tone-warning-bg);color:var(--tone-warning-fg);border-color:var(--tone-warning-border)}.status-risk,.status-danger{background:var(--tone-risk-bg);color:var(--tone-risk-fg);border-color:var(--tone-risk-border)}.status-finance{background:var(--tone-finance-bg);color:var(--tone-finance-fg);border-color:var(--tone-finance-border)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;color:var(--text-strong);font-weight:600;cursor:pointer;transition:background var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard),color var(--motion-fast) var(--easing-standard),box-shadow var(--motion-fast) var(--easing-standard)}.button:focus-visible{outline:none;box-shadow:var(--elevation-focus)}.button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55}.button.is-loading{cursor:progress}.button-label{display:inline-flex;align-items:center;white-space:nowrap}.button-icon{width:1em;height:1em;flex:0 0 auto}.button-icon-spin{animation:button-spin .9s linear infinite}.button-sm{min-height:28px;padding:0 10px;font-size:.8125rem}.button-md{min-height:36px;padding:0 14px;font-size:.9375rem}.button-lg{min-height:44px;padding:0 18px;font-size:1rem}.button-icon-only.button-sm{width:28px;padding:0}.button-icon-only.button-md{width:36px;padding:0}.button-icon-only.button-lg{width:44px;padding:0}.button-primary{background:var(--brand);color:var(--brand-fg-on-fill)}.button-primary:hover:not(:disabled){background:var(--brand-hover)}.button-secondary{background:var(--surface);border-color:var(--border);color:var(--text-strong)}.button-secondary:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--border-strong)}.button-quiet{background:transparent;color:var(--text-strong)}.button-quiet:hover:not(:disabled){background:var(--brand-quiet);color:var(--brand-hover)}.button-destructive{background:var(--tone-risk-fg);color:var(--brand-fg-on-fill)}.button-destructive:hover:not(:disabled){background:#6a1c1c}.empty-state,.error-state,.skeleton-block{min-height:220px;display:grid;align-content:center;gap:12px;padding:22px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.error-state{border-color:#b9474752}.error-state p{color:var(--danger)}.skeleton-line{height:14px;border-radius:999px;background:linear-gradient(90deg,#e4e1d8,#f4f1e8 46%,#e4e1d8);background-size:180% 100%;animation:shimmer 1.2s ease-in-out infinite}.skeleton-line.is-short{width:58%}.tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.icon-button{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer}.progress-wrap{display:grid;gap:8px}.progress-meta{color:var(--muted);font-size:.9rem}.progress-meta strong{color:var(--text)}.progress-track{height:10px;border-radius:999px;overflow:hidden;background:#e4e1d8}.progress-fill{display:block;height:100%;border-radius:inherit;background:var(--brand)}.progress-fill-finance{background:var(--ref-finance-500)}.progress-fill-risk{background:var(--ref-risk-500)}.progress-fill-success{background:var(--ref-success-500)}.progress-fill-warning{background:var(--ref-warning-500)}.progress-fill-info{background:var(--ref-info-500)}.button-full{width:100%}.button:disabled,.demo-user-row:disabled{cursor:not-allowed;opacity:.62;transform:none}.field{display:grid;gap:7px;color:var(--text);font-weight:700}.field-label{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-strong)}.field-optional{font-weight:400;font-size:var(--type-meta-size);letter-spacing:0;text-transform:none;color:var(--text-muted)}.field-input-wrap{position:relative;display:block}.field-input-wrap.has-adornment .field-leading-icon,.field-input-wrap.has-adornment .field-prefix{position:absolute;inset-block:0;display:inline-flex;align-items:center;inset-inline-start:12px;color:var(--text-muted);pointer-events:none}.field-leading-icon{width:1rem;height:1rem}.field-prefix{font-size:var(--type-body-size);font-weight:400}.field-input-wrap.has-adornment .field-leading-icon+.field-prefix{inset-inline-start:calc(12px + 1.25rem)}.field-control{width:100%;min-height:42px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);color:var(--text);padding:0 12px;font-weight:400}.field-control-padded{padding-inline-start:calc(12px + 1.5rem)}textarea.field-control{min-height:112px;padding-block:10px;resize:vertical}.field-helper{font-size:var(--type-meta-size);font-weight:400;color:var(--text-muted)}.field-tone-success .field-control{border-color:var(--tone-success-border)}.field-tone-success .field-helper{color:var(--tone-success-fg)}.field-tone-warning .field-control{border-color:var(--tone-warning-border)}.field-tone-warning .field-helper{color:var(--tone-warning-fg)}.field-tone-error .field-control{border-color:var(--tone-risk-border)}.field-tone-error .field-helper{color:var(--tone-risk-fg)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#20211f6b}.dialog,.drawer{width:min(520px,100%);max-height:calc(100vh - 48px);overflow:auto;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.drawer{width:min(420px,100%);justify-self:end;min-height:calc(100vh - 48px)}.dialog-header,.dialog-footer{justify-content:space-between;gap:12px;padding:16px;border-bottom:1px solid var(--border)}.dialog-footer{border-top:1px solid var(--border);border-bottom:0}.dialog-body{padding:16px}.form-modal{width:min(560px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:var(--surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--elevation-modal)}.form-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);background:var(--surface)}.form-modal-headline{display:flex;align-items:center;gap:var(--space-3);min-width:0}.form-modal-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--brand-quiet);color:var(--brand-hover);flex:0 0 auto}.form-modal-icon{width:18px;height:18px}.form-modal-headline-text{display:grid;gap:2px;min-width:0}.form-modal-eyebrow{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted)}.form-modal-title{margin:0;font-size:var(--type-section-size);line-height:var(--type-section-line);font-weight:var(--type-section-weight);color:var(--text-strong)}.form-modal-close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer}.form-modal-close:hover{background:var(--surface-sunken);color:var(--text-strong)}.form-modal-close-icon{width:18px;height:18px}.form-modal-body{padding:var(--space-5);overflow-y:auto;display:grid;gap:var(--space-4)}.form-modal-success{margin:0;padding:var(--space-2) var(--space-5);font-size:var(--type-meta-size);color:var(--tone-success-fg);background:var(--tone-success-bg);border-top:1px solid var(--tone-success-border)}.form-modal-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface)}@media (max-width: 767px){.form-modal-overlay{padding:0;align-items:stretch}.form-modal{width:100%;max-height:100vh;border-radius:0;border:0}.form-modal-footer{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}}.form-section{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-subtle)}.form-section-header{display:flex;align-items:center;gap:var(--space-3)}.form-section-icon{width:1rem;height:1rem;color:var(--brand);flex:0 0 auto}.form-section-text{flex:1 1 auto;display:grid;gap:2px;min-width:0}.form-section-title{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong)}.form-section-description{margin:0;font-size:var(--type-meta-size);color:var(--text-muted)}.form-section-toggle{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer}.form-section-toggle:hover{background:var(--surface-sunken)}.form-section-toggle-icon{width:16px;height:16px;transition:transform var(--motion-fast) var(--easing-standard)}.form-section-toggle-icon.is-open{transform:rotate(180deg)}.form-section-body{display:grid;gap:var(--space-3)}.form-action-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.form-action-row-primary-group{display:flex;align-items:center;gap:var(--space-2)}.form-action-row-slot{display:inline-flex}@media (max-width: 767px){.form-action-row,.form-action-row-primary-group{flex-direction:column-reverse;align-items:stretch}.form-action-row-slot,.form-action-row-slot>*{width:100%}}.field-error{margin-top:-8px;color:var(--danger);font-size:.9rem}.tab{display:inline-flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 12px;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.tab-icon{width:1rem;height:1rem;flex:0 0 auto}.tab.is-active{background:var(--surface);color:var(--text);box-shadow:0 4px 14px #20211f14}.mobile-tab-bar{display:none}@media (max-width: 767px){.mobile-tab-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;align-items:stretch;position:fixed;inset-inline:0;bottom:0;height:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-top:1px solid var(--border-subtle);box-shadow:var(--elevation-sticky);z-index:6}}.mobile-tab-bar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;min-height:var(--mobile-tabbar-height)}.mobile-tab-bar-icon{width:1.25rem;height:1.25rem}.mobile-tab-bar-label{font-size:var(--type-meta-size);line-height:1}.mobile-tab-bar-item.is-active,.mobile-tab-bar-item.is-active .mobile-tab-bar-icon{color:var(--brand)}.sticky-action-bar{display:none}@media (max-width: 767px){.sticky-action-bar{display:flex;gap:var(--space-2);position:fixed;inset-inline:0;bottom:calc(var(--mobile-tabbar-height) + env(safe-area-inset-bottom,0px));padding:var(--space-2) var(--space-3);background:var(--surface-elevated);border-top:1px solid var(--border-subtle);box-shadow:var(--elevation-sticky);z-index:7}.sticky-action-bar>*{flex:1 1 0}.workspace-main:has(.sticky-action-bar){padding-bottom:calc(var(--mobile-tabbar-height) + 56px + env(safe-area-inset-bottom,0px))}}.quick-action-strip{display:flex;gap:var(--space-2);flex-wrap:wrap}.quick-action-item{flex:1 1 auto;min-width:64px;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-2);border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text);cursor:pointer;text-decoration:none}.quick-action-item:hover:not([aria-disabled=true]){background:var(--brand-quiet);color:var(--brand-hover)}.quick-action-item[aria-disabled=true],.quick-action-item:disabled{opacity:.45;cursor:not-allowed}.quick-action-icon-wrap{display:inline-flex;align-items:center;justify-content:center}.quick-action-icon{width:1.125rem;height:1.125rem}.quick-action-label{font-size:var(--type-meta-size);font-weight:600}.command-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--commandbar-height);padding:var(--space-3) var(--gutter-page);background:var(--surface);border-bottom:1px solid var(--border-subtle)}.command-bar.is-sticky{position:sticky;top:0;z-index:5;box-shadow:var(--elevation-sticky)}.command-bar-compact{min-height:var(--commandbar-height-compact);padding:var(--space-2) var(--space-4)}.command-bar-leading{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1 1 auto}.command-bar-text{display:grid;gap:2px;min-width:0}.command-bar-eyebrow{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted);margin:0}.command-bar-title-row{display:flex;align-items:center;gap:var(--space-3);min-width:0}.command-bar-title{margin:0;font-size:var(--type-section-size);line-height:var(--type-section-line);font-weight:var(--type-section-weight);letter-spacing:var(--type-section-track);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-bar-status{display:inline-flex;align-items:center;flex:0 0 auto}.command-bar-meta{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--type-meta-size);color:var(--text-muted)}.command-bar-meta span+span:before{content:"•";margin-inline-end:var(--space-3);color:var(--border-strong)}.command-bar-actions{display:flex;align-items:center;gap:var(--space-2);flex:0 0 auto}.command-bar-action{display:inline-flex}.command-bar-back{flex:0 0 auto}.command-bar-overflow{position:relative;display:none}.command-bar-overflow-menu{position:absolute;inset-block-start:calc(100% + var(--space-1));inset-inline-end:0;margin:0;padding:var(--space-2);list-style:none;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--elevation-modal);min-width:180px;display:grid;gap:var(--space-1);z-index:10}.command-bar-overflow-item{display:block}@media (max-width: 767px){.command-bar-secondary-inline{display:none}.command-bar-overflow{display:inline-flex}.command-bar-eyebrow{display:none}.command-bar-meta{flex-wrap:wrap;gap:var(--space-2);font-size:var(--type-meta-size);max-width:100%}.command-bar-meta span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-bar-meta span:nth-child(n+4){display:none}.command-bar-meta span+span:before{margin-inline-end:var(--space-2)}}.popover{z-index:25;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--elevation-pop);padding:var(--space-3);min-width:280px;max-width:min(420px,calc(100vw - var(--space-4) * 2));max-height:min(520px,calc(100vh - var(--space-4) * 2));overflow:auto}@media (max-width: 767px){.popover{inset-inline-start:var(--space-3)!important;inset-inline-end:var(--space-3);max-width:none;width:calc(100vw - var(--space-3) * 2)}}.toast-viewport{position:fixed;bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));inset-inline-start:50%;transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:var(--space-2);z-index:30;pointer-events:none}.toast-viewport>*{pointer-events:auto}.toast{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-strong);font:inherit;text-align:start;padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);box-shadow:var(--elevation-pop);cursor:pointer;max-width:min(420px,calc(100vw - var(--space-4) * 2));animation:toast-in .18s ease-out}.toast-info{border-inline-start:3px solid var(--accent-info, currentColor)}.toast-success{border-inline-start:3px solid var(--accent-success, currentColor)}.toast-warning{border-inline-start:3px solid var(--accent-warning, currentColor)}.toast-error{border-inline-start:3px solid var(--accent-risk, currentColor)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 767px){.toast-viewport{inset-inline-start:var(--space-3);inset-inline-end:var(--space-3);transform:none;align-items:stretch;bottom:calc(var(--mobile-tabbar-height) + var(--space-3) + env(safe-area-inset-bottom,0px))}.toast{max-width:none;width:100%}}.file-type-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);flex:0 0 auto;border:1px solid transparent}.file-type-icon-glyph{width:18px;height:18px}.file-type-icon-tone-neutral{background:var(--surface-sunken);color:var(--text-muted);border-color:var(--border-subtle)}.file-type-icon-tone-risk{background:var(--tone-risk-bg);color:var(--tone-risk-fg);border-color:var(--tone-risk-border)}.file-type-icon-tone-warning{background:var(--tone-warning-bg);color:var(--tone-warning-fg);border-color:var(--tone-warning-border)}.file-type-icon-tone-info{background:var(--tone-info-bg);color:var(--tone-info-fg);border-color:var(--tone-info-border)}.file-type-icon-tone-success{background:var(--tone-success-bg);color:var(--tone-success-fg);border-color:var(--tone-success-border)}.status-matrix{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:0}.status-matrix-tile{display:inline-flex;align-items:baseline;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border-subtle);color:var(--text);cursor:pointer;transition:background var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard)}.status-matrix-tile:hover:not(:disabled){background:var(--surface-sunken)}.status-matrix-tile.is-active{background:var(--brand-quiet);border-color:var(--brand);color:var(--brand-hover)}.status-matrix-tile-count{font-size:var(--type-section-size);font-weight:var(--type-metric-weight);letter-spacing:var(--type-section-track);font-variant-numeric:tabular-nums}.status-matrix-tile-label{font-size:var(--type-meta-size);color:var(--text-muted)}.status-matrix-tile.is-active .status-matrix-tile-label{color:var(--brand-hover)}.status-matrix-tile-tone-risk:not(.is-active){border-color:var(--tone-risk-border)}.status-matrix-tile-tone-risk:not(.is-active) .status-matrix-tile-count{color:var(--tone-risk-fg)}.status-matrix-tile-tone-warning:not(.is-active){border-color:var(--tone-warning-border)}.status-matrix-tile-tone-warning:not(.is-active) .status-matrix-tile-count{color:var(--tone-warning-fg)}.status-matrix-tile-tone-success:not(.is-active){border-color:var(--tone-success-border)}.status-matrix-tile-tone-success:not(.is-active) .status-matrix-tile-count{color:var(--tone-success-fg)}.status-matrix-tile-tone-info:not(.is-active){border-color:var(--tone-info-border)}.status-matrix-tile-tone-info:not(.is-active) .status-matrix-tile-count{color:var(--tone-info-fg)}.status-matrix-tile-tone-finance:not(.is-active){border-color:var(--tone-finance-border)}.status-matrix-tile-tone-finance:not(.is-active) .status-matrix-tile-count{color:var(--tone-finance-fg)}.risk-banner{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--tone-neutral-border);background:var(--tone-neutral-bg);color:var(--tone-neutral-fg)}.risk-banner-icon{flex:0 0 auto;width:1.25rem;height:1.25rem;margin-block-start:2px}.risk-banner-body{flex:1 1 auto;display:grid;gap:2px;min-width:0}.risk-banner-eyebrow{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;opacity:.8}.risk-banner-title{margin:0;font-size:var(--type-card-size);line-height:var(--type-card-line);font-weight:var(--type-card-weight);color:inherit}.risk-banner-description{margin:0;font-size:var(--type-body-size);color:inherit;opacity:.85}.risk-banner-meta{margin:2px 0 0;display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--type-meta-size);opacity:.75}.risk-banner-action{flex:0 0 auto}.risk-banner-critical{background:var(--tone-risk-bg);border-color:var(--tone-risk-border);color:var(--tone-risk-fg)}.risk-banner-warning{background:var(--tone-warning-bg);border-color:var(--tone-warning-border);color:var(--tone-warning-fg)}.risk-banner-info{background:var(--tone-info-bg);border-color:var(--tone-info-border);color:var(--tone-info-fg)}.boot-screen{min-height:100vh;display:grid;place-items:center;padding:28px}.workspace-shell{min-height:100vh;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr)}@media (max-width: 767px){.workspace-shell{grid-template-columns:minmax(0,1fr)}}.workspace-rail{border-inline-end:1px solid var(--border-subtle);background:var(--canvas);display:grid;grid-template-rows:auto auto 1fr auto;gap:var(--space-5);padding:var(--space-5) var(--space-4);position:sticky;top:0;height:100vh}@media (max-width: 767px){.workspace-rail{display:none}}.rail-brand{display:flex;align-items:center;gap:var(--space-3);padding-block-end:var(--space-3);border-block-end:1px solid var(--border-subtle)}.rail-brand-text{display:grid;gap:2px;min-width:0}.rail-brand-eyebrow{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted);margin:0}.rail-brand-name{font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-nav{display:grid;gap:var(--space-1);align-content:start}.rail-item{display:flex;align-items:center;gap:var(--space-3);min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:transparent;color:var(--text);border:1px solid transparent;cursor:pointer;text-align:start;width:100%}.rail-item:hover,.rail-item.is-active{background:var(--brand-quiet);color:var(--text-strong)}.rail-item-icon{width:1.125rem;height:1.125rem;flex:0 0 auto;color:var(--text-muted)}.rail-item.is-active .rail-item-icon{color:var(--brand)}.rail-item-label{flex:1 1 auto;font-size:var(--type-body-size);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-item-tag{flex:0 0 auto}.rail-item-project{cursor:default;position:sticky;top:0}.rail-account{display:grid;gap:var(--space-2);justify-items:start;padding-block-start:var(--space-3);border-block-start:1px solid var(--border-subtle)}.rail-account-identity{display:flex;align-items:center;gap:var(--space-2);min-width:0}.rail-account-icon{width:1.25rem;height:1.25rem;color:var(--text-muted);flex:0 0 auto}.rail-account-text{display:grid;gap:2px;min-width:0}.rail-account-name{margin:0;font-size:var(--type-body-size);font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-account-role{margin:0;font-size:var(--type-meta-size);color:var(--text-muted)}.rail-account-actions{display:flex;gap:var(--space-2)}.workspace-main{padding:var(--gutter-page);display:grid;gap:var(--space-5);align-content:start;min-width:0}@media (max-width: 767px){.workspace-main{padding:var(--space-3) var(--space-4) calc(var(--mobile-tabbar-height) + var(--space-4))}}.section-header{display:grid;gap:4px;max-width:780px}.section-header-compact{gap:2px}.section-header-compact h2{font-size:var(--type-card-size);font-weight:var(--type-card-weight);letter-spacing:var(--type-card-track)}.section-header-compact .eyebrow{margin-bottom:0}.section-header-hero{gap:var(--space-2);max-width:none}.section-header-hero h2{font-size:var(--type-page-size);line-height:var(--type-page-line);font-weight:var(--type-page-weight);letter-spacing:var(--type-page-track);color:var(--text-strong)}.section-header-hero .lede{font-size:var(--type-body-size);color:var(--text-muted)}.project-layout,.access-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:22px;align-items:start}.access-panel{display:grid;gap:20px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}@media (max-width: 767px){.project-shell>.tabs{display:none}}.view-transition{animation:enter .18s ease-out both}.gate-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,520px) minmax(280px,380px);gap:24px;align-content:center;justify-content:center;padding:28px}.gate-main{display:grid;gap:22px;padding:28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.plan-card.is-selected{background:var(--surface-3);border-color:#147c726b;box-shadow:inset 0 0 0 1px #147c723d}.tab-surface{min-height:260px}.tab-surface-fallback,.profile-fallback{padding:var(--gutter-card);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat)}@media (max-width: 1060px){.workspace-shell,.dashboard-grid,.project-layout,.access-layout,.auth-page,.gate-page,.project-list,.contractor-list,.document-list,.contact-list{grid-template-columns:1fr}}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);background:var(--canvas)}@media (max-width: 767px){.login-page{grid-template-columns:minmax(0,1fr)}}.login-hero{position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:stretch}@media (max-width: 767px){.login-hero{min-height:220px}}.login-hero-image,.login-hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.login-hero-gradient{background:linear-gradient(135deg,var(--canvas) 0%,var(--ref-slate-200) 55%,var(--brand-quiet) 100%)}.login-hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;stroke:var(--text-strong);stroke-width:1;opacity:.05}.login-hero-overlay{position:relative;display:grid;align-content:end;gap:var(--space-5);padding:var(--gutter-page);width:100%;background:linear-gradient(180deg,transparent 40%,rgba(24,26,23,.55) 100%);color:#fff}@media (max-width: 767px){.login-hero-overlay{padding:var(--space-4);background:linear-gradient(180deg,transparent 0%,rgba(24,26,23,.5) 100%)}}.login-hero-brand{display:inline-flex;align-items:center;gap:var(--space-2)}.login-hero-mark{width:1.4rem;height:1.4rem}.login-hero-wordmark{font-size:1.125rem;font-weight:700;letter-spacing:.02em}.login-hero-promise h1{font-size:clamp(1.5rem,2.5vw + .5rem,2.25rem);line-height:1.2;margin:0;max-width:18em}.login-hero-promise p{margin:var(--space-2) 0 0;font-size:var(--type-body-size);opacity:.85;max-width:26em}.login-hero-credit{margin:0;font-size:var(--type-meta-size);opacity:.65}.login-card{display:grid;gap:var(--space-5);padding:var(--gutter-page);align-content:center;max-width:460px;margin-inline:auto;width:100%}@media (max-width: 767px){.login-card{padding:var(--space-5) var(--space-4) calc(var(--space-8) + env(safe-area-inset-bottom,0px))}}.login-card-head{display:grid;gap:var(--space-1)}.login-card-head h2{font-size:var(--type-section-size);font-weight:var(--type-section-weight);color:var(--text-strong)}.login-form{display:grid;gap:var(--space-3)}.login-submit{margin-top:var(--space-2)}.login-error{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--tone-risk-bg);color:var(--tone-risk-fg);border:1px solid var(--tone-risk-border)}.login-error p{margin:0;font-size:var(--type-body-size)}.login-dev{border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}.login-dev-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);cursor:pointer;list-style:none;font-size:var(--type-body-size);color:var(--text-muted)}.login-dev-summary::-webkit-details-marker{display:none}.login-dev-caret{width:1rem;height:1rem;transition:transform var(--motion-fast) var(--easing-standard)}.login-dev[open] .login-dev-caret{transform:rotate(180deg)}.login-dev-body{display:grid;gap:var(--space-2);margin-top:var(--space-3)}.login-dev-note{margin:0;font-size:var(--type-meta-size)}.demo-user-row,.plan-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:var(--radius);background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;text-align:start}.demo-user-row span,.plan-card span{display:grid;gap:2px}.demo-user-row small,.plan-card small{color:var(--muted)}.payment-form,.home-layout,.project-shell{display:grid;gap:18px}.modal-note{margin-top:12px}.form-error-grid{display:grid;gap:6px}.home-toolbar,.project-card-head,.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:14px}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media (max-width: 767px){.project-list{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}}.supervisor-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}@media (max-width: 1023px){.supervisor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 479px){.supervisor-kpis{grid-template-columns:minmax(0,1fr)}}.project-card.project-card-risk{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat);display:grid;grid-template-rows:auto 1fr;overflow:hidden;padding:0}.project-card-cover{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:linear-gradient(135deg,var(--canvas) 0%,var(--ref-slate-200) 60%,var(--brand-quiet) 100%)}.project-card-cover-image{width:100%;height:100%;object-fit:cover;display:block}.project-card-cover-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(135deg,var(--canvas) 0%,var(--ref-slate-200) 60%,var(--brand-quiet) 100%),repeating-linear-gradient(90deg,rgba(24,26,23,.04) 0 1px,transparent 1px 18px);background-blend-mode:multiply}.project-card-cover-status{position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3)}.project-card-body{display:grid;gap:var(--space-3);padding:var(--space-4)}.project-card-heading{display:grid;gap:var(--space-1)}.project-card-name{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong)}.project-card-meta-row{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--type-meta-size);color:var(--text-muted)}.project-card-meta-row span{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0;overflow:hidden;text-overflow:ellipsis}.project-card-meta-icon{width:.95em;height:.95em;flex:0 0 auto}.project-card-budget{display:grid;gap:var(--space-1)}.project-card-budget-meta{margin:0;font-size:var(--type-meta-size);color:var(--text)}.project-card-next{margin:0;font-size:var(--type-meta-size);color:var(--text-muted)}.project-card-cta{display:flex;justify-content:flex-start;margin-block-start:var(--space-1)}.project-card-skeleton .project-card-body{gap:var(--space-2)}.project-card-meta{flex-wrap:wrap;color:var(--muted);font-size:.92rem;display:flex;gap:10px}.data-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat)}.data-toolbar-search{flex:1 1 240px;display:flex;align-items:center;gap:var(--space-2);min-width:0;padding:0 var(--space-3);height:36px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated)}.data-toolbar-search-icon{width:1rem;height:1rem;color:var(--text-muted);flex:0 0 auto}.data-toolbar-search-input{flex:1 1 auto;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;outline:none}.data-toolbar-search-input::placeholder{color:var(--text-muted)}.data-toolbar-filters{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.data-toolbar-filter-icon{width:1rem;height:1rem;color:var(--text-muted)}.data-toolbar-chip{display:inline-flex;align-items:center;height:28px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text);font-size:var(--type-meta-size);cursor:pointer}.data-toolbar-chip.is-active{background:var(--brand-quiet);color:var(--brand-hover);border-color:var(--brand)}.data-toolbar-sort-select{height:36px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-elevated);color:var(--text);font:inherit}.data-toolbar-actions{display:flex;align-items:center;gap:var(--space-2);margin-inline-start:auto}@media (max-width: 639px){.data-toolbar{flex-direction:column;align-items:stretch}.data-toolbar-search,.data-toolbar-sort-select{width:100%}.data-toolbar-actions{margin-inline-start:0}}@media (max-width: 720px){.home-toolbar{align-items:stretch;flex-direction:column}.header-actions{width:100%}.summary-grid,.form-grid,.plan-grid,.compact-grid{grid-template-columns:1fr}.task-row{flex-direction:column}.milestone-row,.contractor-head,.document-head,.contact-head,.contact-actions,.contact-preview,.logo-preview-row,.logo-actions,.search-form,.search-result-head,.search-alert-row{align-items:flex-start;flex-direction:column}}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:22px;align-items:start}.project-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}@media (max-width: 1023px){.project-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 479px){.project-overview-kpis{grid-template-columns:minmax(0,1fr)}}.actions-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-2)}.actions-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle)}.actions-row-title{font-size:var(--type-body-size);color:var(--text);flex:1 1 auto;min-width:0}.actions-empty{margin:0;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--tone-success-fg);font-size:var(--type-body-size)}.actions-empty-icon{width:1.1em;height:1.1em}.critical-alert{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius);border:1px solid rgba(185,71,71,.24);background:#b9474714}.documents-tab{display:grid;gap:var(--space-4)}.document-list{display:grid;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}@media (min-width: 768px){.document-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}}.document-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:80px;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat)}.document-card-body{display:grid;gap:var(--space-1);min-width:0}.document-card-headline{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.document-card-name{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis}.document-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--type-meta-size);color:var(--text-muted)}.document-card-meta span{display:inline-flex;align-items:center;gap:4px}.document-card-chip-icon{width:.9em;height:.9em}.document-card-chip-analyzed{color:var(--tone-info-fg);background:var(--tone-info-bg);border-radius:var(--radius-pill);padding:2px var(--space-2)}.document-card-chip-meta{color:var(--text-muted);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:2px var(--space-2)}.document-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}@media (max-width: 479px){.document-detail-metrics{grid-template-columns:minmax(0,1fr)}}.document-detail-analysis{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-sunken)}.document-detail-analysis-eyebrow{display:inline-flex;align-items:center;gap:var(--space-1);margin:0}.document-detail-analysis-icon{width:1em;height:1em}.document-detail-analysis-text{margin:0;font-size:var(--type-body-size);color:var(--text)}.document-meta-row,.contact-meta-row,.search-result-meta{flex-wrap:wrap;color:var(--muted);font-size:.9rem}.analysis-box,.search-result-body,.share-payload{display:grid;gap:10px;padding:14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.payments-tab{display:grid;gap:var(--space-4)}.payments-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}@media (max-width: 1023px){.payments-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 479px){.payments-summary{grid-template-columns:minmax(0,1fr)}}.payments-view-desktop{display:none}.payments-view-mobile{display:grid;gap:var(--space-3)}@media (min-width: 768px){.payments-view-desktop{display:block}.payments-view-mobile{display:none}}.payments-ledger-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat)}.payments-ledger{width:100%;border-collapse:collapse;font-size:var(--type-body-size)}.payments-ledger thead th{text-align:start;padding:var(--space-3) var(--space-4);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.payments-ledger tbody td,.payments-ledger tbody th{text-align:start;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.payments-ledger tbody tr:last-child td,.payments-ledger tbody tr:last-child th{border-bottom:0}.payments-ledger-row:hover{background:var(--surface-sunken)}.payments-ledger-num{font-variant-numeric:tabular-nums}.payments-ledger-name{display:block;font-weight:600;color:var(--text-strong)}.payments-ledger-reason{display:block;font-size:var(--type-meta-size);color:var(--tone-risk-fg);margin-top:2px}.payments-ledger-action{text-align:end}.contractor-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat)}.contractor-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.contractor-card-heading{display:grid;gap:2px;min-width:0}.contractor-card-name{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong)}.contractor-card-role,.contractor-card-budget{margin:0;font-size:var(--type-meta-size)}.contractor-card-next{margin:0;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--type-meta-size)}.contractor-card-next-icon{width:1em;height:1em;flex:0 0 auto}.contractor-card-cta{display:flex;justify-content:flex-start}.payments-tab,.documents-tab,.search-tab,.contacts-tab,.profile-surface,.profile-form,.logo-manager,.subscription-summary,.contact-card,.share-contact-sheet,.contractor-card,.contractor-detail-title,.document-card,.document-detail-title,.search-result{display:grid;gap:18px}.contractor-list,.document-list,.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contractor-card,.document-card,.contact-card,.search-result{align-content:start}.contractor-head,.contractor-detail-title,.contractor-contact-row,.milestone-row,.milestone-actions,.document-head,.document-detail-title,.document-meta-row,.contact-head,.contact-meta-row,.contact-actions,.contact-preview,.search-form,.search-result-head,.search-alert-row{display:flex;align-items:center;gap:12px}.contractor-head,.milestone-row,.document-head,.contact-head,.search-result-head,.search-alert-row{justify-content:space-between}.contractor-emoji,.document-emoji,.contact-emoji{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius);background:var(--surface-3);color:var(--accent);font-weight:800}.contractor-contact-row{flex-wrap:wrap;color:var(--muted);font-size:.9rem}.milestone-list{display:grid;gap:12px}.milestone-row{padding:14px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.milestone-actions{flex-wrap:wrap;justify-content:flex-end}.contact-role-groups{display:grid;gap:var(--space-5)}.contact-role-group{display:grid;gap:var(--space-3)}.contact-role-group-header{display:flex;align-items:baseline;gap:var(--space-2)}.contact-role-group-title{margin:0;font-size:var(--type-section-size);font-weight:var(--type-section-weight);color:var(--text-strong)}.contact-role-group-count{font-size:var(--type-meta-size);font-weight:600;color:var(--text-muted);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:2px 8px}.contact-card{display:grid;gap:var(--space-3);padding:var(--space-4);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-flat)}.contact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.contact-card-heading{display:grid;gap:2px;min-width:0}.contact-card-name{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong)}.contact-card-role{margin:0;font-size:var(--type-meta-size)}.contact-card-meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--type-meta-size);color:var(--text-muted)}.share-contact-preview{display:grid;gap:var(--space-3)}.share-contact-identity{display:grid;gap:2px}.share-contact-name{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong)}.share-payload{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle);font-family:inherit;font-size:var(--type-body-size);color:var(--text);white-space:pre-wrap}.contact-actions{flex-wrap:wrap}.share-payload{white-space:pre-wrap;font:inherit;color:var(--text)}.search-tab{display:grid;gap:var(--space-4)}.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end}@media (max-width: 479px){.search-form{grid-template-columns:minmax(0,1fr)}}.search-suggestions{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface);box-shadow:var(--elevation-flat)}.search-suggestions-label{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted)}.search-suggestions-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.search-suggestion-chip{display:inline-flex;align-items:center;min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text);cursor:pointer;font-size:var(--type-meta-size)}.search-suggestion-chip:hover{background:var(--brand-quiet);color:var(--brand-hover)}.search-helper{margin:0;font-size:var(--type-meta-size)}.search-results-group{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface);box-shadow:var(--elevation-flat)}.search-results-group-header{display:flex;align-items:center;gap:var(--space-2)}.search-results-group-icon{width:1rem;height:1rem;color:var(--brand);flex:0 0 auto}.search-results-group-title{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong);flex:1 1 auto}.search-results-group-count{font-size:var(--type-meta-size);color:var(--text-muted);background:var(--surface-sunken);border-radius:var(--radius-pill);padding:2px 8px}.search-results-group-rows{display:grid;gap:var(--space-2)}.search-form{align-items:end}.search-form .field{flex:1 1 320px}.search-alert-list{display:grid;gap:10px}.search-alert-row{padding:12px;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border)}.profile-form{display:grid;gap:var(--space-3)}.logo-manager{display:grid;gap:var(--space-4)}.logo-manager-status{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.logo-preview{display:grid;gap:var(--space-2)}.logo-preview-eyebrow{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted)}.logo-preview-rail-frame{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--canvas);border:1px dashed var(--border-subtle)}.logo-preview-rail-text{display:grid;gap:2px;min-width:0}.logo-preview-rail-brand{margin:0;font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted)}.logo-preview-rail-name{margin:0;font-size:var(--type-card-size);font-weight:var(--type-card-weight);color:var(--text-strong)}.logo-actions{display:grid;gap:var(--space-3)}.logo-dropzone{display:grid;place-items:center;gap:var(--space-2);padding:var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--border);background:var(--surface);cursor:pointer;text-align:center;position:relative;transition:background var(--motion-fast) var(--easing-standard),border-color var(--motion-fast) var(--easing-standard)}.logo-dropzone:hover{background:var(--surface-sunken)}.logo-dropzone.is-drag-over{background:var(--brand-quiet);border-color:var(--brand);border-style:solid}.logo-dropzone-icon{width:1.5rem;height:1.5rem;color:var(--text-muted)}.logo-dropzone-label{margin:0;font-weight:600;color:var(--text-strong)}.logo-dropzone-hint{margin:0;font-size:var(--type-meta-size)}.logo-dropzone-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-surface .panel{box-shadow:none}.logo-preview-row,.logo-actions{display:flex;align-items:center;gap:14px}.logo-preview-row{justify-content:space-between;flex-wrap:wrap}.logo-actions{align-items:end;flex-wrap:wrap}.logo-actions .field{flex:1 1 260px}.phase-toggle-strip{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--gutter-page);background:var(--surface-elevated);border-block-end:1px solid var(--border-subtle)}.phase-toggle-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.phase-toggle-eyebrow{font-size:var(--type-eyebrow-size, 12px);letter-spacing:var(--type-eyebrow-track, .08em);text-transform:uppercase;color:var(--text-muted);margin:0}.phase-toggle-readonly{font-size:var(--type-meta-size)}.phase-toggle-row{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.phase-toggle-empty{font-size:var(--type-meta-size)}.phase-toggle-chip{display:inline-flex;align-items:center;gap:var(--space-1)}.phase-toggle-confirm{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--type-meta-size);padding-inline:var(--space-1)}.phase-toggle-add{display:inline-flex}.phase-toggle-selector,.phase-toggle-floor-form{display:flex;flex-direction:column;gap:var(--space-3);min-width:240px}.phase-toggle-group-label{font-size:var(--type-eyebrow-size, 12px);letter-spacing:var(--type-eyebrow-track, .08em);text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-1)}.phase-toggle-group-rows{display:flex;flex-direction:column;gap:var(--space-1)}.phase-toggle-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;border-radius:var(--radius-chip, 8px);padding:var(--space-1) var(--space-2);text-align:start;font:inherit;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.phase-toggle-option:hover,.phase-toggle-option:focus-visible{background:var(--surface-hover, rgba(0, 0, 0, .04));border-color:var(--border-subtle);outline:none}.phase-toggle-option:disabled{opacity:.5;cursor:progress}.briefing-banner{border-inline-start:3px solid var(--accent-warning);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.briefing-banner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.briefing-banner-head-text{display:flex;flex-direction:column;gap:2px}.briefing-banner-eyebrow{font-size:var(--type-eyebrow-size, 12px);letter-spacing:var(--type-eyebrow-track, .08em);text-transform:uppercase;color:var(--text-muted);margin:0}.briefing-banner-title{font-size:var(--type-card-size, 18px);font-weight:var(--type-card-weight, 600);margin:0}.briefing-banner-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-block-end:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-muted, var(--surface));color:var(--text-strong);font-size:.9rem}.briefing-banner-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.briefing-note{border:1px solid var(--border-subtle);border-radius:var(--radius-card);overflow:hidden}.briefing-note.is-open{border-color:var(--accent-warning)}.briefing-note-head{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);background:transparent;border:none;padding:var(--space-2) var(--space-3);text-align:start;font:inherit;color:inherit;cursor:pointer}.briefing-note-head:focus-visible{outline:2px solid var(--accent-info);outline-offset:-2px}.briefing-note-source{display:inline-flex;gap:var(--space-1);align-items:center}.briefing-note-preview{font-size:var(--type-body-size, 14px);color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.briefing-note-meta{display:inline-flex;align-items:center;gap:var(--space-2)}.briefing-note-time{font-size:var(--type-meta-size)}.briefing-note-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--surface-hover, rgba(0, 0, 0, .06));color:var(--text-strong);font-size:11px;font-weight:600}.briefing-note-chevron{transition:transform .18s ease}.briefing-note-chevron.is-flipped{transform:rotate(180deg)}.briefing-note-body{padding:0 var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);border-block-start:1px solid var(--border-subtle)}.briefing-note-text{margin:var(--space-2) 0 0;line-height:1.6}.briefing-note-targets,.briefing-note-mentions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--type-meta-size)}.briefing-note-target{display:inline-flex;gap:var(--space-1);align-items:center}.briefing-note-icon{width:16px;height:16px;color:var(--text-muted)}.briefing-note-photos{display:flex;flex-wrap:wrap;gap:var(--space-2)}.briefing-note-photo-placeholder{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed var(--border-subtle);border-radius:var(--radius-card);font-size:var(--type-meta-size);color:var(--text-muted)}.briefing-note-actions{display:flex;gap:var(--space-2)}.phase-note-select-label{display:flex;flex-direction:column;gap:var(--space-1)}.phase-note-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-input, 8px);font:inherit;color:inherit}.phase-note-select:focus-visible{outline:2px solid var(--accent-info)}.phase-note-suggested,.phase-note-group{display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-2)}.phase-note-group-label{font-size:var(--type-eyebrow-size, 12px);letter-spacing:var(--type-eyebrow-track, .08em);text-transform:uppercase;color:var(--text-muted);margin:0}.phase-note-suggested{background:var(--surface-hover, rgba(0, 0, 0, .03));padding:var(--space-2) var(--space-3);border-radius:var(--radius-card)}.phase-note-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.phase-note-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-chip, 999px);background:var(--surface);color:inherit;font:inherit;font-size:var(--type-meta-size);cursor:pointer}.phase-note-chip:hover,.phase-note-chip:focus-visible{background:var(--surface-hover, rgba(0, 0, 0, .04));outline:none}.phase-note-chip.is-selected{background:var(--accent-info-soft);border-color:var(--accent-info);color:var(--accent-info-strong)}.phase-note-future-hint{font-size:var(--type-meta-size);margin:0}.field-helper-error{color:var(--accent-risk)}@media (max-width: 767px){.phase-toggle-strip{padding:var(--space-2) var(--space-3)}.phase-toggle-row{overflow-x:auto;flex-wrap:nowrap;padding-block-end:2px}.phase-toggle-chip,.phase-toggle-add{flex:0 0 auto}.briefing-banner{padding:var(--space-3)}.briefing-note-head{grid-template-columns:1fr auto;grid-template-rows:auto auto}.briefing-note-source{grid-column:1 / -1}.briefing-note-meta{grid-column:2}}.client-timeline{display:flex;flex-direction:column;gap:var(--space-4);padding-block:var(--space-5)}.client-timeline-head{padding-inline:var(--gutter-page)}.client-timeline-eyebrow{font-size:14px;font-weight:500;color:var(--muted);letter-spacing:.05em;margin:0;text-transform:uppercase}.client-timeline-fresh{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}.client-timeline-awaiting-stack{display:flex;flex-direction:column;gap:var(--space-2);padding-inline:var(--gutter-page);position:sticky;top:var(--space-4);z-index:4}.client-timeline-awaiting-overflow{margin:0;padding-inline:var(--space-3);font-size:13px}.timeline-awaiting{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:start;padding:var(--space-4);background:var(--surface-elevated);border-radius:20px;box-shadow:var(--elevation-modal)}.timeline-awaiting-glyph{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:700;color:#fff;background:var(--brand-gradient);flex-shrink:0}.timeline-awaiting-body{display:flex;flex-direction:column;gap:var(--space-1)}.timeline-awaiting-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--muted)}.timeline-awaiting-text{margin:0;font-size:18px;font-weight:600;color:var(--text-strong);line-height:1.6}.client-timeline-list{list-style:none;margin:0;padding:0;padding-inline:var(--gutter-page);display:flex;flex-direction:column;gap:var(--space-4)}.timeline-phase{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);align-items:start;padding-block:var(--space-2);border-block-end:1px solid var(--border-subtle)}.timeline-phase:last-of-type{border-block-end:none}.timeline-phase-glyph{width:14px;height:14px;border-radius:50%;display:block;margin-block-start:6px;flex-shrink:0;background-color:var(--ref-slate-200, var(--muted))}.timeline-phase-glyph.is-completed{background:var(--brand-gradient)}.timeline-phase-glyph.is-currently{background:var(--brand-gradient);box-shadow:0 0 0 4px #141e1c0f;animation:timeline-currently-pulse 1.4s ease-in-out infinite}.timeline-phase-glyph.is-upcoming{background:transparent;border:2px solid var(--ref-slate-200, var(--muted))}@keyframes timeline-currently-pulse{0%,to{opacity:.6}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.timeline-phase-glyph.is-currently{animation:none;opacity:1}}.timeline-phase-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.timeline-phase-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.timeline-phase-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.timeline-phase-edit{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:var(--space-1);border-radius:6px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.timeline-phase-edit:hover,.timeline-phase-edit:focus-visible{color:var(--text);background:var(--ref-slate-25, transparent)}.timeline-phase-narrative{margin:0;font-size:18px;font-weight:600;color:var(--text);line-height:1.6;letter-spacing:-.005em}.timeline-phase.is-currently .timeline-phase-narrative{font-size:22px;font-weight:700;color:var(--text-strong)}.timeline-phase.is-upcoming .timeline-phase-narrative{font-size:16px;font-weight:500;color:var(--muted);opacity:.85}.timeline-phase-explanation{margin:0;font-size:15px;font-weight:400;color:var(--text);line-height:1.6}.timeline-phase-date{margin:0;font-size:14px;font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:var(--space-2)}.timeline-phase.is-upcoming .timeline-phase-date{font-weight:400;color:var(--muted);font-size:13px}.timeline-phase-date-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.timeline-thumb64{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;width:64px;height:64px;border-radius:8px;overflow:clip;cursor:pointer;display:inline-block;flex-shrink:0;background:var(--ref-slate-50, var(--surface));transition:transform .16s ease-out,box-shadow .16s ease-out}.timeline-thumb64:hover,.timeline-thumb64:focus-visible{transform:scale(1.04);box-shadow:0 6px 16px -8px #141e1c59}.timeline-thumb64 img{width:100%;height:100%;object-fit:cover;display:block}.timeline-phase.is-currently{padding-block:var(--space-2);padding-inline-start:var(--space-3);background:var(--surface);position:sticky;top:var(--space-4);z-index:3;border-block-end:1px solid var(--border-subtle);border-inline-start:3px solid;border-image:var(--brand-gradient) 1}.timeline-phase.is-currently:after{content:"";position:absolute;inset-inline:0;block-size:12px;inset-block-start:100%;background:linear-gradient(to bottom,rgba(20,30,28,.04),transparent);pointer-events:none}.timeline-phase-photo-stub{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin-block-start:var(--space-2);padding:var(--space-2) var(--space-3);border:1px dashed var(--border-subtle);border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;cursor:not-allowed;min-height:44px;width:100%;max-width:280px;text-align:center}.timeline-phase-footer{margin-block-start:var(--space-2)}.timeline-milestone{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);list-style:none;padding-block:var(--space-6);border-block-end:1px solid var(--border-subtle)}.timeline-milestone:last-of-type{border-block-end:none}.timeline-milestone-rule{display:block;width:3px;margin-block-start:4px;block-size:100%;align-self:stretch;background:var(--brand-gradient);border-radius:2px}.timeline-milestone-content{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.timeline-milestone-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--brand);text-transform:uppercase;letter-spacing:.08em}.timeline-milestone-date{margin:0;font-size:14px;font-weight:600;color:var(--text)}.timeline-milestone-narrative{margin:0;font-size:22px;font-weight:700;color:var(--text-strong);line-height:1.4;letter-spacing:-.01em}.timeline-milestone-explanation{margin:0;font-size:16px;font-weight:400;color:var(--text);line-height:1.6}.timeline-milestone-thumb-btn{margin-block-start:var(--space-2);align-self:flex-start}.timeline-milestone-share{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;margin-block-start:var(--space-2);padding:var(--space-2) var(--space-3);background:transparent;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text);font-size:14px;font-weight:500;text-decoration:none;min-height:44px}.timeline-milestone-share:hover,.timeline-milestone-share:focus-visible{background:var(--ref-slate-25, var(--surface));border-color:var(--text)}.timeline-milestone-share-icon{width:16px;height:16px}@media (max-width: 767px){.timeline-milestone-narrative{font-size:20px}}.timeline-note{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);padding:var(--space-3);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-card, 12px);border-inline-start:3px solid var(--ref-slate-200, var(--muted))}.timeline-note-glyph{font-size:18px;color:var(--muted);margin-block-start:4px;text-align:center}.timeline-note-content{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.timeline-note-head{display:flex;align-items:center;gap:var(--space-2)}.timeline-note-avatar{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ref-slate-50, var(--surface));color:var(--text-strong);font-size:11px;font-weight:600;flex-shrink:0}.timeline-note-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--muted)}.timeline-note-body{margin:0;font-size:16px;font-weight:400;color:var(--text);line-height:1.6;white-space:pre-wrap;word-break:break-word}.timeline-note-photos{display:flex;gap:var(--space-2);margin-block-start:var(--space-2);list-style:none;padding:0;flex-wrap:wrap}.timeline-note-photo-li{display:block}.timeline-payment{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);padding:var(--space-2) var(--space-3);list-style:none}.timeline-payment-glyph{font-size:18px;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:center;margin-block-start:2px}.timeline-payment.is-past-due .timeline-payment-glyph{background:var(--accent-warning);-webkit-background-clip:text;background-clip:text;color:transparent}.timeline-payment-headline{margin:0;font-size:15px;font-weight:600;color:var(--text);line-height:1.5}.timeline-payment.is-past-due .timeline-payment-headline{color:var(--accent-warning)}.timeline-payment-meta{margin:0;font-size:13px}.timeline-comment-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:var(--space-2) 0;width:100%;display:flex;align-items:center;gap:var(--space-2);justify-content:center;color:var(--muted);font-size:13px;cursor:pointer;min-height:44px}.timeline-comment-trigger:hover,.timeline-comment-trigger:focus-visible{color:var(--text)}.timeline-comment-trigger-rule{flex:1;border-block-end:1px dashed var(--border-subtle)}.timeline-comment-form{display:flex;flex-direction:column;gap:var(--space-2);padding-block-start:var(--space-2)}.timeline-comment-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.timeline-comment-cancel,.timeline-comment-send{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-subtle);background:transparent;border-radius:8px;padding:var(--space-2) var(--space-3);font-size:14px;font-weight:500;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text)}.timeline-comment-send{background:var(--brand);color:#fff;border-color:var(--brand)}.timeline-comment-send[disabled],.timeline-comment-cancel[disabled]{opacity:.5;cursor:not-allowed}.timeline-comment-send-icon{width:14px;height:14px}.client-timeline-payment-tail{list-style:none;margin-block-start:var(--space-5);padding-block-start:var(--space-3);border-block-start:1px solid var(--border-subtle)}.client-timeline-payment-tail-eyebrow{margin:0 0 var(--space-2);font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.client-timeline-payment-tail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.client-timeline-empty{padding:var(--space-5) var(--gutter-page)}.client-timeline-empty-card{background:linear-gradient(135deg,var(--ref-slate-25, var(--surface)),var(--ref-slate-50, var(--surface)));border-radius:20px;padding:var(--space-6);text-align:center;display:flex;flex-direction:column;gap:var(--space-2)}.client-timeline-empty-title{margin:0;font-size:24px;font-weight:500;color:var(--text-strong);line-height:1.5}.client-timeline-empty-sub{margin:0;font-size:15px;color:var(--muted);line-height:1.6}.client-timeline-skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) var(--gutter-page)}.client-timeline-skeleton-eyebrow,.client-timeline-skeleton-row,.client-timeline-skeleton-photo{background:var(--ref-slate-50, var(--surface));border-radius:8px}.client-timeline-skeleton-eyebrow{width:160px;height:14px}.client-timeline-skeleton-row{height:56px}.client-timeline-skeleton-photo{aspect-ratio:16 / 9;max-width:320px}.client-timeline-list>li[data-visible=false]{opacity:0;transform:translateY(8px)}.client-timeline-list>li[data-visible=true]{opacity:1;transform:translateY(0);transition:opacity .2s ease-out,transform .2s ease-out}.client-timeline-list>li.timeline-phase.is-currently{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.client-timeline-list>li[data-visible=false],.client-timeline-list>li[data-visible=true]{opacity:1;transform:none;transition:none}}.timeline-note.is-fresh{animation:timeline-fresh-glow .6s ease-out both}@keyframes timeline-fresh-glow{0%{box-shadow:0 0 0 1px var(--brand),0 0 0 6px #141e1c0a;transform:translateY(4px);opacity:0}to{box-shadow:none;transform:translateY(0);opacity:1}}@media (prefers-reduced-motion: reduce){.timeline-note.is-fresh{animation:none}}.client-timeline-payment-tail-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);list-style:none}.timeline-payment-tie{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border-subtle);border-radius:999px;padding:var(--space-2) var(--space-3);font-size:13px;font-weight:500;color:var(--text);cursor:pointer;min-height:44px;flex-shrink:0}.timeline-payment-tie:hover,.timeline-payment-tie:focus-visible{background:var(--ref-slate-25, var(--surface));border-color:var(--text)}.timeline-milestone-edit{margin-block-start:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:8px;background:transparent;border:1px solid var(--border-subtle);cursor:pointer;color:var(--muted);font-size:13px;font-weight:500;min-height:44px}.timeline-milestone-edit:hover,.timeline-milestone-edit:focus-visible{background:var(--ref-slate-25, var(--surface));color:var(--text);border-color:var(--text)}@media (max-width: 767px){.client-timeline-list,.client-timeline-head,.client-timeline-awaiting-stack{padding-inline:var(--space-3)}.timeline-phase.is-currently{position:sticky;top:calc(var(--mobile-commandbar-height, 0px) + var(--space-2))}.timeline-milestone-narrative{font-size:22px}.timeline-phase.is-currently .timeline-phase-narrative{font-size:20px}.timeline-milestone-body{padding:var(--space-4)}}.client-summary{display:flex;flex-direction:column;gap:var(--space-5);padding-block:var(--space-4)}.client-summary-hero{position:relative;margin:0 var(--gutter-page);border-radius:20px;overflow:clip;background:linear-gradient(135deg,var(--ref-slate-25, var(--surface)),var(--ref-slate-50, var(--surface)));box-shadow:var(--elevation-raised),0 24px 60px -28px #141e1c38;min-height:360px}.client-summary-hero img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover}.client-summary-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#141e1c00 40%,#141e1c8c);pointer-events:none}.client-summary-hero-panel{position:absolute;inset-block-end:var(--space-5);inset-inline-start:var(--space-5);max-width:60%;margin:0;padding:var(--space-4);border-radius:16px;background:#ffffffc7;-webkit-backdrop-filter:blur(20px) saturate(120%);backdrop-filter:blur(20px) saturate(120%);display:flex;flex-direction:column;gap:var(--space-1);z-index:1}@supports not (backdrop-filter: blur(0)){.client-summary-hero-panel{background:var(--surface-elevated)}}.client-summary-hero-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--brand);text-transform:uppercase;letter-spacing:.08em}.client-summary-hero-narrative{margin:0;font-size:32px;font-weight:700;color:var(--text-strong);line-height:1.4;letter-spacing:-.01em}.client-summary-hero-explanation{margin:0;font-size:16px;font-weight:400;color:var(--text);line-height:1.6}.client-summary-hero-date{margin:0;font-size:14px;font-weight:500;color:var(--muted)}.client-summary-hero.is-empty{position:static;margin:0 var(--gutter-page);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);align-items:center;text-align:center;min-height:280px;justify-content:center}.client-summary-hero.is-empty:after{display:none}.client-summary-hero.is-empty .client-summary-hero-narrative{font-size:24px;font-weight:500}.client-summary-awaiting{display:flex;flex-direction:column;gap:var(--space-2);padding-inline:var(--gutter-page)}.client-summary-sections{display:flex;flex-direction:column;gap:var(--space-4);padding-inline:var(--gutter-page)}.client-summary-section{display:flex;flex-direction:column;gap:var(--space-1);padding-block:var(--space-3);border-block-start:1px solid var(--border-subtle)}.client-summary-section:first-child{border-block-start:none;padding-block-start:0}.client-summary-section-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.client-summary-section-body{margin:0;font-size:16px;font-weight:500;color:var(--text);line-height:1.6}.client-summary-section-prefix{color:var(--muted);font-weight:400}.client-summary-section-main{font-size:20px;font-weight:700;color:var(--text-strong)}.client-summary-section-meta{margin:0;font-size:13px;font-weight:400;color:var(--text)}.client-summary-section-quote{margin:0;font-size:16px;font-style:italic;color:var(--text);line-height:1.6}.client-summary-progress{width:100%;height:6px;margin-block-start:var(--space-2);background:var(--ref-slate-100, var(--border-subtle));border-radius:3px;overflow:clip}.client-summary-progress-bar{height:100%;background:var(--brand-gradient);transition:width .4s ease-out}.client-summary-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:var(--space-2) 0;margin-block-start:var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--brand);font-size:14px;font-weight:600;cursor:pointer;align-self:flex-start;min-height:44px}.client-summary-cta:hover,.client-summary-cta:focus-visible{color:var(--brand-strong, var(--brand))}.client-summary-cta-icon{width:14px;height:14px}.client-summary{animation:client-summary-enter .2s ease-out both}@keyframes client-summary-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.client-summary{animation:none}}.client-payments-placeholder{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--gutter-page)}.client-payments-placeholder-hero{background:linear-gradient(135deg,var(--ref-slate-25, var(--surface)),var(--ref-slate-50, var(--surface)));border-radius:20px;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);text-align:center;align-items:center}.client-payments-placeholder-eyebrow{margin:0;font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.client-payments-placeholder-title{margin:0;font-size:26px;font-weight:500;color:var(--text-strong);line-height:1.4;letter-spacing:-.005em}.client-payments-placeholder-sub{margin:0;font-size:15px;color:var(--muted);line-height:1.6;max-width:520px}@media (max-width: 767px){.client-summary-hero{margin:0 var(--space-3);border-radius:14px;min-height:220px}.client-summary-hero-panel{position:static;max-width:none;margin-block-start:-56px;margin-inline:var(--space-3);padding:var(--space-3)}.client-summary-hero-narrative{font-size:22px}.client-summary-hero.is-empty{min-height:200px}.client-summary-sections,.client-summary-awaiting,.client-payments-placeholder{padding-inline:var(--space-3)}}.client-payments{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--gutter-page);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;animation:client-payments-enter .2s ease-out both}.client-payments *,.client-payments *:before,.client-payments *:after{font-variant-numeric:inherit;font-feature-settings:inherit}@keyframes client-payments-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.client-payments{animation:none}}.client-payments-section-eyebrow{margin:0 0 var(--space-3);font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.payments-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-5);background:var(--surface-elevated);border-radius:20px;box-shadow:var(--elevation-raised),0 24px 60px -28px #141e1c2e}.payments-summary-stat{margin:0;display:flex;flex-direction:column;gap:2px;position:relative;padding-block-end:var(--space-3)}.payments-summary-stat+.payments-summary-stat{border-inline-start:1px solid var(--border-subtle);padding-inline-start:var(--space-4)}.payments-summary-label{margin:0;font-size:13px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.payments-summary-amount{margin:0;font-size:28px;font-weight:700;color:var(--text-strong);line-height:1.15}.payments-summary-meta{margin:0;font-size:14px;font-weight:500;color:var(--muted)}.payments-summary-bar{position:absolute;inset-block-end:0;inset-inline-start:0;inset-inline-end:0;height:2px;border-radius:2px;background:var(--ref-slate-100, var(--border-subtle));overflow:clip}.payments-summary-bar:after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:var(--bar-fill, 0%);background:var(--brand-gradient);transition:width .4s ease-out}.payments-summary-bar.is-muted:after{background:linear-gradient(135deg,var(--ref-slate-200, var(--muted)),var(--ref-slate-300, var(--muted)))}@media (max-width: 767px){.payments-summary-strip{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4)}.payments-summary-stat+.payments-summary-stat{border-inline-start:none;padding-inline-start:0;border-block-start:1px solid var(--border-subtle);padding-block-start:var(--space-3)}.payments-summary-amount{font-size:24px}}.client-payments-chart-row{display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-5);align-items:center;padding:var(--space-4);background:var(--surface-elevated);border-radius:20px;box-shadow:var(--elevation-raised),0 24px 60px -28px #141e1c2e}@media (max-width: 767px){.client-payments-chart-row{grid-template-columns:1fr;gap:var(--space-4);justify-items:center;padding:var(--space-3)}}.payments-donut{position:relative;width:240px;height:240px;justify-self:center;filter:drop-shadow(0 8px 32px rgba(20,30,28,.1))}@media (max-width: 767px){.payments-donut{width:180px;height:180px}}.payments-donut-svg{display:block;width:100%;height:100%}.payments-donut-wedge{transition:transform .2s ease-out,filter .2s ease-out;transform-box:fill-box;animation:donut-wedge-in .4s ease-out both}@keyframes donut-wedge-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.payments-donut-wedge.is-active path{filter:brightness(1.06)}@media (prefers-reduced-motion: reduce){.payments-donut-wedge{animation:none;transition:none}}.payments-donut-controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.payments-donut-hit{position:absolute;width:16px;height:16px;margin-inline-start:-8px;margin-block-start:-8px;background:transparent;border:0;padding:0;cursor:pointer;border-radius:50%;pointer-events:auto}.payments-donut-hit:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.payments-donut-center{pointer-events:none}.payments-donut-center-amount{font-size:24px;font-weight:700;fill:var(--text-strong)}.payments-donut-center-label{font-size:13px;font-weight:500;fill:var(--muted)}.payments-donut-center-pct{font-size:12px;font-weight:600;fill:var(--brand-strong, var(--brand))}@media (max-width: 767px){.payments-donut-center-amount{font-size:18px}.payments-donut-center-label{font-size:11px}}.contractor-breakdown{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;width:100%}.contractor-breakdown>li+li .contractor-breakdown-row{border-block-start:1px solid var(--border-subtle)}.contractor-breakdown-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;display:grid;grid-template-columns:12px 1fr auto;grid-template-areas:"swatch identity money" ".      bar      bar" ".      meta     meta";column-gap:var(--space-3);row-gap:6px;align-items:start;width:100%;padding:var(--space-3) var(--space-3);cursor:pointer;position:relative;text-align:start;font:inherit;color:var(--text);transition:background .16s ease-out}.contractor-breakdown-swatch{grid-area:swatch}.contractor-breakdown-identity{grid-area:identity}.contractor-breakdown-money{grid-area:money}.contractor-breakdown-bar-wrap{grid-area:bar}.contractor-breakdown-meta{grid-area:meta}.contractor-breakdown-row:hover,.contractor-breakdown-row:focus-visible{background:#147c720a}.contractor-breakdown-row.is-active{background:#147c720f;box-shadow:inset 3px 0 0 0 var(--brand-strong, var(--brand))}@supports (background: color-mix(in oklch,white 5%,white)){.contractor-breakdown-row:hover,.contractor-breakdown-row:focus-visible{background:color-mix(in oklch,var(--brand) 4%,var(--surface))}.contractor-breakdown-row.is-active{background:color-mix(in oklch,var(--brand) 6%,var(--surface))}}.contractor-breakdown-swatch{width:12px;height:12px;border-radius:3px;display:inline-block;align-self:start;margin-block-start:4px}.contractor-breakdown-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.contractor-breakdown-name{margin:0;font-size:16px;font-weight:600;color:var(--text-strong);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contractor-breakdown-role{margin:0;font-size:13px;font-weight:500;color:var(--muted)}.contractor-breakdown-money{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:end}.contractor-breakdown-paid{margin:0;font-size:15px;font-weight:600;color:var(--text-strong)}.contractor-breakdown-remaining{margin:0;font-size:13px;font-weight:500;color:var(--muted)}.contractor-breakdown-bar-wrap{width:100%}.contractor-breakdown-bar{width:100%;height:6px;border-radius:3px;background:var(--ref-slate-100, var(--border-subtle));overflow:clip;position:relative}.contractor-breakdown-bar-fill{display:block;height:100%;border-radius:3px;transition:width .4s ease-out}.contractor-breakdown-meta{font-size:12px;font-weight:500;color:var(--muted);display:flex;flex-wrap:wrap;align-items:baseline;gap:0;min-width:0}.contractor-breakdown-meta-pct{color:var(--text);font-weight:600}.contractor-breakdown-meta-next{font-weight:500}.contractor-breakdown-meta-link{margin-inline-start:auto;color:var(--brand);font-weight:600;font-size:12px;cursor:pointer;transition:color .16s ease-out;white-space:nowrap}.contractor-breakdown-meta-link:hover{color:var(--brand-strong, var(--brand));text-decoration:underline}.contractor-breakdown-row:hover .contractor-breakdown-meta-link{color:var(--brand-strong, var(--brand))}@media (max-width: 767px){.contractor-breakdown-row{padding:var(--space-3) var(--space-2);row-gap:var(--space-2)}.contractor-breakdown-name{font-size:15px}.contractor-breakdown-meta{font-size:11px}}.payments-summary-stat.is-clickable{cursor:pointer;border-radius:12px;transition:background .16s ease-out;margin-inline-start:calc(-1 * var(--space-2));padding-inline-start:var(--space-2);padding-block-start:var(--space-2)}.payments-summary-stat.is-clickable:hover,.payments-summary-stat.is-clickable:focus-visible{background:#147c720a;outline:none}@supports (background: color-mix(in oklch,white 5%,white)){.payments-summary-stat.is-clickable:hover,.payments-summary-stat.is-clickable:focus-visible{background:color-mix(in oklch,var(--brand) 4%,var(--surface))}}.payments-upcoming-story-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;padding:0;margin-inline-start:var(--space-2);font:inherit;color:var(--brand);font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:2px}.payments-upcoming-story-link:hover,.payments-upcoming-story-link:focus-visible{color:var(--brand-strong, var(--brand));text-decoration:underline}.payments-upcoming-story-link svg{width:12px;height:12px}.payments-upcoming-row.is-jump-target{animation:payments-upcoming-jump 1.2s ease-out}@keyframes payments-upcoming-jump{0%{background:#147c7226}to{background:transparent}}@media (prefers-reduced-motion: reduce){.payments-upcoming-row.is-jump-target{animation:none}}.client-payments-upcoming-block{padding:var(--space-4) var(--space-5);background:var(--surface-elevated);border-radius:20px;box-shadow:var(--elevation-raised),0 24px 60px -28px #141e1c2e}.payments-upcoming{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.payments-upcoming-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-3);align-items:center;padding-block:var(--space-3);border-block-start:1px solid var(--border-subtle);transition:background .16s ease-out}.payments-upcoming-row:first-child{border-block-start:none}.payments-upcoming-row:hover{background:#147c720a}@supports (background: color-mix(in oklch,white 5%,white)){.payments-upcoming-row:hover{background:color-mix(in oklch,var(--brand) 4%,var(--surface))}}.payments-upcoming-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.payments-upcoming-late-eyebrow{margin:0;font-size:12px;font-weight:600;color:var(--accent-warning);text-transform:uppercase;letter-spacing:.06em}.payments-upcoming-stage{margin:0;font-size:15px;font-weight:600;color:var(--text-strong);line-height:1.3}.payments-upcoming-contractor{font-weight:500;color:var(--muted)}.payments-upcoming-date{margin:0;font-size:13px;font-weight:500;color:var(--muted)}.payments-upcoming-narrative{margin:0;font-size:12px;font-weight:500;color:var(--muted)}.payments-upcoming-amount{margin:0;font-size:24px;font-weight:700;color:var(--text-strong);line-height:1.2;white-space:nowrap}.payments-upcoming-row.is-late .payments-upcoming-amount{color:var(--accent-warning)}.client-payments-empty{text-align:center;padding:var(--space-6) var(--gutter-page);gap:var(--space-2)}.client-payments-empty-title{margin:0;font-size:28px;font-weight:500;color:var(--text-strong);line-height:1.3}.client-payments-empty-sub{margin:var(--space-2) 0 0;font-size:16px;font-weight:400;color:var(--muted);line-height:1.6}@media (max-width: 767px){.client-payments,.client-payments-upcoming-block{padding-inline:var(--space-3)}.payments-upcoming-amount{font-size:20px}}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:28;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#141e1ceb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:lightbox-backdrop-in .15s ease-out both}@supports not (backdrop-filter: blur(0)){.lightbox-overlay{background:#141e1cf5}}.lightbox-dialog{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);max-width:100%;max-height:100%;animation:lightbox-image-in .2s ease-out both}.lightbox-image{display:block;max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px;box-shadow:0 32px 80px -24px #0009;background:#141e1c66}.lightbox-close{position:absolute;inset-block-start:calc(-1 * var(--space-3));inset-inline-end:calc(-1 * var(--space-3));-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;border-radius:50%;background:#141e1cb3;border:1px solid rgba(255,255,255,.18);color:var(--neutral-100, #ffffff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:1;transition:background .16s ease-out}.lightbox-close:hover,.lightbox-close:focus-visible{background:#141e1ceb}.lightbox-close-icon{width:20px;height:20px}.lightbox-nav{position:absolute;inset-block-start:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;border-radius:50%;background:#141e1c8c;border:1px solid rgba(255,255,255,.12);color:var(--neutral-100, #ffffff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .16s ease-out}.lightbox-nav:hover,.lightbox-nav:focus-visible{background:#141e1cd9}.lightbox-nav-prev{inset-inline-start:-52px}.lightbox-nav-next{inset-inline-end:-52px}.lightbox-meta{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.lightbox-caption{margin:0;font-size:14px;font-weight:500;color:var(--neutral-100, #ffffff);line-height:1.5;max-width:70ch}.lightbox-share{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid rgba(255,255,255,.32);border-radius:999px;color:var(--neutral-100, #ffffff);font-size:14px;font-weight:500;text-decoration:none;min-height:44px}.lightbox-share:hover,.lightbox-share:focus-visible{background:#ffffff14;border-color:#ffffff8c}.lightbox-share-icon{width:16px;height:16px}@keyframes lightbox-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes lightbox-image-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.lightbox-overlay,.lightbox-dialog{animation:none}}@media (max-width: 767px){.lightbox-nav{display:none}.lightbox-close{inset-block-start:var(--space-2);inset-inline-end:var(--space-2)}.lightbox-image{max-width:100vw;max-height:78vh;border-radius:8px}}.dev-primitives{max-width:960px;margin:0 auto;padding:var(--space-6);display:grid;gap:var(--space-5);background:var(--canvas);min-height:100vh}.dev-primitives-head{display:grid;gap:var(--space-1);margin-bottom:var(--space-3)}.dev-primitives-head h1{font-size:var(--type-page-size);font-weight:var(--type-page-weight);color:var(--text-strong)}.dev-row{display:grid;gap:var(--space-2);padding-block:var(--space-2);border-bottom:1px dashed var(--border-subtle)}.dev-row:last-child{border-bottom:0}.dev-row-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-muted);margin:0}.dev-row-content{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}
