:root{--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", Menlo, Consolas, monospace;--font-serif:Georgia, "Times New Roman", serif;--font-logo:"EB Garamond", Georgia, serif;--type-logo-size:22px;--type-display-size:24px;--type-display-weight:600;--type-display-lh:1.2;--type-title-size:20px;--type-title-weight:600;--type-title-lh:1.2;--type-heading-size:15px;--type-heading-weight:500;--type-heading-lh:1.3;--type-body-size:13px;--type-body-weight:400;--type-body-lh:1.5;--type-small-size:12px;--type-small-weight:400;--type-small-lh:1.4;--type-micro-size:9px;--type-micro-weight:400;--type-micro-lh:1.3;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--slate-100:#f0f3f1;--slate-200:#dde1de;--slate-400:#7a8e82;--slate-500:#4a5e52;--slate-600:#3d5147;--slate-700:#2e3e36;--slate-800:#243228;--slate-900:#1a2620;--gray-50:#f8f8f7;--gray-100:#f0f0ee;--gray-200:#e2e2e0;--gray-300:#ccccca;--gray-400:#bbb;--gray-500:#999;--gray-600:#666;--gray-800:#333;--gray-900:#1a1a18;--green-50:#f0fdf4;--green-200:#bbf7d0;--green-500:#15803d;--green-700:#14532d;--orange-50:#fff3eb;--orange-500:#d35400;--orange-600:#b34700;--orange-700:#8c3800;--teal-50:#ecfeff;--teal-200:#67e8f9;--teal-500:#0e7490;--amber-50:#fffbeb;--amber-200:#fcd34d;--amber-500:#d97706;--amber-700:#92400e;--red-50:#fef2f2;--red-200:#fca5a5;--red-500:#dc2626;--red-700:#991b1b;--blue-50:#eff6ff;--blue-200:#93c5fd;--blue-500:#2563eb;--blue-700:#1d4ed8;--control-accent:#4878a8;--control-accent-muted:#a8c0d8;--shimmer-purple:#c4b5fd;--shimmer-sky:#93c5fd;--shimmer-mint:#86efac;--shimmer-gold:#fcd34d;--shimmer-rose:#fca5a5;--shimmer-glow:#93c5fd80;--white:#fff;--text-primary:var(--gray-900);--text-heading:var(--gray-800);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-placeholder:var(--gray-400);--text-link:var(--green-500);--text-error:var(--red-500);--surface-page:var(--white);--surface-card:var(--gray-50);--surface-hover:var(--gray-100);--surface-chrome:var(--slate-100);--surface-sidebar:var(--slate-700);--surface-rail:var(--slate-900);--surface-pm:#f6f3ef;--surface-working:color-mix(in srgb, var(--control-accent) 5%, var(--surface-page));--border-default:var(--gray-200);--border-light:var(--gray-100);--border-chrome:var(--slate-200);--state-success:var(--teal-500);--state-warning:var(--amber-500);--state-danger:var(--red-500);--state-info:var(--blue-500);--interactive-primary:var(--green-500);--interactive-primary-hover:var(--green-700);--interactive-primary-light:var(--green-50);--cta-primary:var(--orange-500);--cta-primary-hover:var(--orange-600);--cta-primary-active:var(--orange-700);--shadow-focus:0 0 0 2px #4878a826;--shadow-popover:0 2px 8px #00000014;--shadow-overlay:0 4px 12px #0000001f;--shadow-dropdown:0 4px 12px #0000001a;--shadow-avatar:0 4px 16px #0000001a;--shadow-document:0 1px 2px #0000000d, 0 3px 8px #00000008;--shadow-history:0 8px 24px #0000001f;--shadow-toggle:0 1px 2px #00000026;--text-increase:var(--red-500);--text-decrease:var(--teal-500);--space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-24:24px;--space-32:32px;--space-48:48px;--space-64:64px;--space-inline-xs:var(--space-2);--space-inline-sm:var(--space-4);--space-inline-md:var(--space-8);--space-stack-xs:var(--space-4);--space-stack-sm:var(--space-8);--space-stack-md:var(--space-12);--space-stack-lg:var(--space-16);--radius-none:0;--radius-sm:4px;--radius-md:6px;--radius-lg:12px;--radius-full:9999px;--border-width-default:1px;--border-width-active:2px;--col-grip:24px;--col-ctrl:24px;--col-bar:3px;--col-bar-gap:10px;--col-expand:24px;--section-gap-tight:0px;--section-gap-medium:12px;--section-gap-generous:24px;--rail-w:56px;--sidebar-w:228px;--top-rail-h:40px;--doc-max-w:816px;--page-w-portrait:816px;--page-h-portrait:1056px;--page-w-landscape:1056px;--page-h-landscape:816px;--page-padding:96px;--page-padding-top:72px;--page-padding-bottom:72px;--page-gap:24px;--page-content-w-portrait:624px;--page-content-h-portrait:912px;--page-content-w-landscape:864px;--page-content-h-landscape:672px;--frame:#1e2d26;--frame-text:#8aaa98;--frame-text-muted:#5e7d6c;--frame-hover:#2a3e33;--frame-active-bg:#15803d2e;--frame-active-text:#86efac;--sidebar-bg:#2e3e36;--sidebar-hover:#3a4e44;--sidebar-active:#15803d26;--sidebar-text:#9cb3a6;--sidebar-text-muted:#6b8577;--sidebar-text-active:#86efac;--sidebar-border:#3a4e44;--doc-surface:#e9e7e2;--doc-bg:#fff;--toolbar-h:48px;--toolbar-bg:#ffffffd1;--toolbar-border:#0000000f;--toolbar-shadow:0 .5px 0 #0000000d, 0 1px 4px #0000000f;--toolbar-sep-strong:#00000024;--duration-instant:.1s;--duration-fast:.15s;--duration-normal:.25s;--duration-slow:.4s;--duration-glacial:.8s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease:cubic-bezier(.25, .1, .25, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--hover-delay:.3s;--shimmer-cycle:16s;--input-compact:64px;--input-narrow:120px;--input-medium:200px;--input-wide:320px;--input-full:100%;--segmented-track-bg:var(--gray-200);--segmented-seg-fg:var(--text-secondary);--segmented-seg-weight:500;--segmented-seg-hover-bg:var(--gray-300);--segmented-seg-active-bg:var(--white);--segmented-seg-active-fg:var(--text-primary);--segmented-seg-active-weight:600;--segmented-seg-active-shadow:0 1px 2px #00000014, 0 1px 3px #0000000f;--col-hours:72px;--col-cost:88px;--col-rate:72px;--col-qty:56px;--col-status:96px;--col-action:40px;--disc-hw:#c26840;--disc-hw-bg:#ecdcd5;--disc-me:#5a9a82;--disc-me-bg:#d5ece3;--disc-sw:#7b68ae;--disc-sw-bg:#dbd5ec;--disc-ds:#b85889;--disc-ds-bg:#ecd5e1;--disc-mg:#b8943a;--disc-mg-bg:#f0e8d2;--text-link-translucent:#15803d99;--text-on-primary:var(--white);--text-on-primary-border:#ffffff80;--border:var(--border-default);--bg:var(--gray-50);--surface:var(--white);--text:var(--text-primary);--danger:var(--state-danger);--success:var(--state-success);--warning:var(--state-warning);--shadow:var(--shadow-popover);--surface-hover-warm:var(--gray-50);--surface-active-warm:var(--gray-100);--surface-active-warm-deep:var(--gray-200);--surface-active-cool:var(--green-50);--color-background-primary:var(--white);--color-background-secondary:var(--gray-50);--color-background-tertiary:var(--gray-100);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-tertiary);--color-border-secondary:var(--gray-300);--color-border-tertiary:var(--border-default);--radius:var(--radius-md);--radius-xl:10px;--radius-card:var(--radius-lg);--radius-bar:2px;--radius-pill:var(--radius-full);--radius-circle:50%;--pill-padding:var(--space-4) var(--space-8);--pill-size:var(--type-small-size);--pill-weight:var(--weight-medium);--duration-shift:var(--duration-normal);--focus-ring:var(--shadow-focus);--watermark-size:72px;--watermark-color:var(--gray-300);--watermark-opacity:.35;--watermark-rotation:-32deg;--watermark-letter-spacing:8px;--action-draft-border:var(--green-200);--action-draft-hover:var(--interactive-primary-light);--overlay-bg-default:var(--white);--overlay-shadow:var(--shadow-overlay);--banner-bg:var(--amber-50);--range-bar-dot:var(--interactive-primary);--range-out-color:var(--amber-500);--chevron-hover:var(--gray-600);--status-bg-neutral:var(--gray-100);--status-fg-neutral:var(--gray-600);--status-fg-muted:var(--gray-400);--status-bg-info:var(--blue-50);--status-fg-info:var(--blue-500);--status-bg-success:var(--teal-50);--status-fg-success:var(--teal-500);--status-bg-warning:var(--amber-50);--status-fg-warning:var(--amber-500);--status-fg-warning-deep:var(--amber-700);--status-bg-danger:var(--red-50);--status-fg-danger:var(--red-500);--status-bg-info-soft:#e8f0fe;--status-fg-info-soft:var(--blue-700);--status-bg-pink:#fce7f3;--status-fg-pink:#9d174d;--status-bg-success-soft:var(--green-50);--status-fg-success-soft:var(--green-700);--status-bg-info-deep:var(--blue-700);--tag-basis-rag-fg:var(--green-700);--tag-basis-library-fg:var(--blue-700);--tag-basis-user-fg:var(--gray-600);--tag-basis-flagged-bg:var(--red-50);--tag-basis-flagged-fg:var(--red-700);--alert-warn-bg:var(--amber-50);--alert-warn-border:var(--amber-200);--alert-warn-fg:var(--amber-700);--alert-info-bg:var(--blue-50);--alert-info-border:var(--blue-200);--alert-info-fg:var(--blue-700);--alert-error-bg:var(--red-50);--alert-error-border:var(--red-200);--alert-error-fg:var(--red-700);--alert-success-bg:var(--green-50);--alert-success-border:var(--green-200);--alert-success-fg:var(--green-700);--repo-decomp-bg:var(--gray-50);--repo-decomp-border:var(--gray-300);--repo-decomp-fg:var(--gray-600);--repo-decomp-fg-muted:var(--gray-400);--repo-decomp-fg-deep:var(--gray-300);--repo-decomp-row-divider:var(--gray-200);--repo-row-hover:var(--gray-50);--repo-row-new:var(--amber-50);--repo-wp-badge-bg:var(--blue-50);--repo-wp-badge-fg:var(--blue-700);--repo-wp-badge-bg-hover:var(--blue-200);--repo-wp-shadow-hover:0 1px 2px #1d4ed826;--repo-needs-review-bg:var(--amber-50);--repo-needs-review-fg:var(--amber-500);--repo-table-fg:var(--gray-900);--repo-spinner-color:var(--blue-500);--repo-confidence-dot:var(--amber-500);--repo-link-hover:var(--blue-500);--repo-list-divider:var(--gray-100);--outcome-won-bg:var(--teal-50);--outcome-won-fg:var(--teal-500);--outcome-lost-bg:var(--red-50);--outcome-lost-fg:var(--red-500);--outcome-gray-bg:var(--gray-100);--outcome-gray-fg:var(--gray-600);--badge-echoslate-bg:var(--blue-50);--badge-echoslate-fg:var(--blue-500);--badge-uploaded-bg:var(--gray-100);--badge-uploaded-fg:var(--gray-600);--badge-work-product-bg:var(--blue-50);--badge-work-product-fg:var(--blue-700);--badge-report-bg:var(--amber-50);--badge-report-fg:#e65100;--badge-milestone-bg:var(--green-50);--badge-milestone-fg:var(--green-500);--milestone-alert-bg:var(--amber-50);--milestone-alert-border:var(--amber-200);--milestone-alert-fg:var(--amber-700);--summary-total-bg:#1a1a2e;--summary-total-label:#a5b4fc;--gantt-bar-fg:var(--white);--gantt-resize-handle-bg:#ffffff47;--gantt-drag-shadow:0 3px 10px #00000038, 0 0 0 1.5px var(--text-primary);--danger-bg-hover:var(--red-50);--danger-bg-hover-subtle:#fca5a51a;--ghost-hover-bg:#15803d08;--shadow-row-selected:0 0 0 2px #2563eb1f}.treatment-label{text-transform:uppercase;letter-spacing:.5px}.treatment-strong{font-weight:600}.treatment-tabular{font-variant-numeric:tabular-nums}[data-density=dense]{--space-inline-xs:var(--space-2);--space-inline-sm:var(--space-2);--space-inline-md:var(--space-4);--space-stack-xs:var(--space-2);--space-stack-sm:var(--space-4);--space-stack-md:var(--space-8);--space-stack-lg:var(--space-12)}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration-normal:0s;--duration-slow:0s;--duration-glacial:0s;--duration-shift:0s;--hover-delay:0s;--shimmer-cycle:0s}}:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000002e padding-box padding-box;border:3px solid #0000;border-radius:6px;min-height:64px}::-webkit-scrollbar-thumb:hover{background:#00000052 padding-box padding-box}::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:start{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:end{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical:decrement{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical:increment{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:horizontal:decrement{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:horizontal:increment{width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-corner{background:0 0}.skip-link{z-index:9999;width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{left:var(--space-2);top:var(--space-2);width:auto;height:auto;padding:var(--space-2) var(--space-4);background:var(--surface-page);border:2px solid var(--control-accent);border-radius:var(--radius-sm);font-size:var(--type-body-size);color:var(--text);text-decoration:none;position:fixed}body{font-family:var(--font-primary);background:var(--color-background-primary);color:var(--text);font-size:var(--type-body-size);line-height:1.5}input,select,textarea,button{font:inherit}input,select,textarea{padding:var(--space-8) var(--space-12);border:1px solid var(--border);border-radius:var(--radius);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--control-accent);box-shadow:var(--shadow-focus);outline:none}table{border-collapse:collapse;width:100%;font-size:var(--type-body-size)}th,td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}th{font-weight:var(--weight-semibold);color:var(--text-secondary);font-size:var(--type-small-size);text-transform:uppercase;letter-spacing:.5px}button{cursor:pointer}.dismiss-btn{cursor:pointer;width:20px;height:20px;color:var(--text-tertiary);font-size:var(--type-body-size);border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease), background var(--duration-instant) var(--ease);background:0 0;border:none;padding:0;line-height:1}.dismiss-btn:hover{opacity:1;color:var(--state-danger);background:var(--red-50)}.dismiss-btn:active{background:color-mix(in srgb, var(--state-danger) 20%, transparent)}.dismiss-btn--icon{color:var(--text-tertiary);justify-content:center;align-items:center;display:inline-flex}.dismiss-btn--icon:hover{color:var(--text-secondary);background:0 0}.btn{padding:var(--space-8) var(--space-16);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);transition:background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease)}.btn:hover{background:var(--bg);transition-duration:30ms}.btn:active{transform:scale(.97)}.btn-primary{background:var(--cta-primary);color:var(--text-on-primary);border-color:var(--cta-primary)}.btn-primary:hover{background:var(--cta-primary-hover);transition-duration:30ms}.btn-primary:active{background:var(--cta-primary-active)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--space-4) var(--space-12);font-size:var(--type-body-size);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease)}.btn-sm:hover{background:var(--bg);transition-duration:30ms}.btn-sm:active{transform:scale(.97)}.btn-sm.btn-primary{background:var(--cta-primary);color:var(--text-on-primary);border-color:var(--cta-primary)}.btn-sm.btn-primary:hover{background:var(--cta-primary-hover)}.btn-sm.btn-primary:active{background:var(--cta-primary-active)}.btn-xs{padding:var(--space-2) var(--space-8);font-size:var(--type-small-size);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);transition:background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);background:0 0}.btn-xs:hover{background:var(--bg);transition-duration:30ms}.btn-xs:active{transform:scale(.97)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--alert-error-bg);transition-duration:30ms}.btn-danger-ghost{padding:var(--space-4) var(--space-12);font-size:var(--type-body-size);border:1px solid var(--danger);border-radius:var(--radius);color:var(--danger);transition:background var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);background:0 0}.btn-danger-ghost:hover{background:var(--alert-error-bg);transition-duration:30ms}.btn-danger-ghost:active{transform:scale(.97)}.link-btn{color:var(--text-link);font-size:var(--type-body-size);margin-top:var(--space-12);background:0 0;border:none}.link-btn:hover{text-decoration:underline}.error-msg{color:var(--danger);font-size:var(--type-body-size);padding:6px 0}.loading{color:var(--text-secondary);padding:20px}.empty-state{color:var(--text-secondary);padding:var(--space-16);font-style:italic}.empty-state--compact{padding:var(--space-4) 0;font-size:var(--type-small-size)}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);text-align:center;width:min(360px,90vw);padding:40px}.login-card h1{font-size:var(--type-display-size);margin-bottom:var(--space-4)}.login-subtitle{color:var(--text-secondary);margin-bottom:var(--space-24)}.login-card form{gap:var(--space-12);flex-direction:column;display:flex}.login-card button[type=submit]{background:var(--cta-primary);color:var(--text-on-primary);border-radius:var(--radius);font-weight:var(--weight-semibold);border:none;padding:10px}.login-card button[type=submit]:hover{background:var(--cta-primary-hover)}.password-input-wrap{display:flex;position:relative}.password-input-wrap input{flex:1;padding-right:36px}.password-toggle-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text)}.app-shell{grid-template-columns:var(--rail-w) 1fr;grid-template-rows:var(--top-rail-h) 1fr;height:100vh;display:grid;overflow:hidden}.app-shell.has-sidebar{grid-template-columns:var(--rail-w) var(--sidebar-w) 1fr}.top-rail{align-items:center;gap:var(--space-8);padding:0 var(--space-16) 0 0;background:var(--frame);height:var(--top-rail-h);flex-shrink:0;grid-area:1/1/auto/-1;display:flex}.top-rail-logo{width:var(--rail-w);text-align:center;font-family:var(--font-logo);font-size:var(--type-logo-size);color:var(--frame-active-text);-webkit-user-select:none;user-select:none;flex-shrink:0;font-weight:500;line-height:1}.top-rail-identity{align-items:baseline;gap:var(--space-4);flex-direction:row;flex-shrink:1;min-width:0;display:flex}.top-rail-client-name{font-size:var(--type-small-size);font-weight:var(--weight-regular);color:var(--frame-text);white-space:nowrap;flex-shrink:0;line-height:1.1}.top-rail-identity-sep{color:var(--frame-text-muted);font-size:var(--type-small-size);flex-shrink:0;line-height:1.1}.top-rail-project-name{font-size:var(--type-small-size);font-weight:var(--weight-regular);color:var(--frame-active-text);white-space:nowrap;text-overflow:ellipsis;min-width:0;line-height:1.1;overflow:hidden}.top-rail-version{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--control-accent);font-size:var(--type-small-size);color:#fffffff2;white-space:nowrap;cursor:pointer;border:none;flex-shrink:0;padding:2px 8px;font-family:inherit;font-weight:400;line-height:1.1;display:inline-flex}.top-rail-version:hover{opacity:.85}.top-rail-version:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.top-rail-spacer{flex:1}.top-rail-stats{align-items:center;gap:var(--space-8);flex-shrink:0;display:flex}.top-rail-stat{align-items:baseline;gap:var(--space-4);flex-direction:row;flex-shrink:0;padding:2px 0;display:flex}.top-rail-stat-val{font-size:var(--type-small-size);font-weight:var(--weight-regular);font-variant-numeric:tabular-nums;color:#ffffffd9;white-space:nowrap;line-height:1.1}.top-rail-stat-label{font-family:var(--font-primary);font-size:var(--type-small-size);font-weight:var(--weight-regular);color:#ffffff73;text-transform:lowercase;line-height:1.1}.top-rail-stat-sep{color:var(--frame-text-muted);font-size:var(--type-small-size);flex-shrink:0;line-height:1.1}.top-rail-settings{border-radius:var(--radius-full);width:26px;height:26px;color:var(--frame-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:14px;display:flex}.top-rail-settings:hover{background:var(--frame-hover);color:var(--frame-text)}.side-rail-avatar-wrap{margin-top:auto;position:relative}.side-rail-avatar{background:var(--frame-hover);width:26px;height:26px;color:var(--frame-text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:500;display:flex}.side-rail-avatar:hover{background:var(--frame-active-bg);color:var(--frame-active-text)}.side-rail-avatar-menu{bottom:calc(100% + var(--space-4));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow-avatar);z-index:300;position:absolute;left:0;overflow:hidden}.side-rail-avatar-email{padding:var(--space-8) var(--space-16) var(--space-8);color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:11px}.side-rail-menu-item{width:100%;padding:var(--space-8) var(--space-16);text-align:left;font-size:var(--type-body-size);color:var(--text);cursor:pointer;background:0 0;border:none;display:block}.side-rail-menu-item:hover{background:var(--bg)}.side-rail{padding:var(--space-8) 0;align-items:center;gap:var(--space-2);background:var(--frame);flex-direction:column;grid-area:2/1;display:flex;overflow:hidden}.side-rail-item{justify-content:center;align-items:center;gap:var(--space-4);width:44px;padding:var(--space-4) 0;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-direction:column;display:flex}.side-rail-item:hover{background:var(--frame-hover)}.side-rail-item.is-active{background:var(--frame-active-bg)}.side-rail-icon{font-size:var(--type-heading-size);color:var(--frame-text-muted);line-height:1}.side-rail-label{font-size:var(--type-micro-size);color:var(--frame-text-muted);letter-spacing:.02em;font-weight:500}.side-rail-item.is-active .side-rail-icon,.side-rail-item.is-active .side-rail-label{color:var(--frame-active-text)}.app-sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;grid-area:2/2;display:flex;overflow:hidden auto}.ps-new-above-tabs{padding:var(--space-8);flex-shrink:0}.ps-new-btn-full{width:100%;height:28px}.sidebar-tabs{border-bottom:1px solid var(--sidebar-border);flex-shrink:0;display:flex}.sidebar-tab{padding:var(--space-8) 0;font-size:var(--type-small-size);color:var(--slate-400);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;font-weight:500}.sidebar-tab:hover{color:var(--sidebar-text)}.sidebar-tab:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.sidebar-tab.is-active{color:var(--frame-active-text);border-bottom-color:var(--frame-active-text);background:0 0;border-radius:0}.doc-outline{padding:var(--space-8) 0;flex-direction:column;flex:1;display:flex;overflow-y:auto}.doc-outline-item{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-12);font-size:var(--type-small-size);color:var(--sidebar-text);cursor:pointer;border-radius:var(--radius-sm);text-align:left;width:100%;transition:background var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease);background:0 0;border:none;display:flex}.doc-outline-item:hover{background:var(--sidebar-hover);color:var(--sidebar-text-active)}.doc-outline-item.is-active{background:var(--sidebar-active);color:var(--sidebar-text-active);font-weight:500}.doc-outline-item.is-excluded{color:var(--text-tertiary);opacity:.5}.doc-outline-item.is-excluded:hover{opacity:.85}.doc-outline-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.doc-outline-badge{min-width:14px;height:14px;padding:0 var(--space-4);border-radius:var(--radius-full);font-size:var(--type-micro-size);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;line-height:1;display:inline-flex}.doc-outline-badge-warn{background:var(--amber-50);color:var(--amber-700)}.doc-outline-badge-danger{background:var(--red-50);color:var(--red-500)}.doc-area{background:var(--doc-surface);padding:var(--space-24);grid-area:2/2;overflow-y:auto}.has-sidebar .doc-area{grid-column:3}.doc-area:has(.interactive-document){flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.ps-wrap{flex-direction:column;flex:1;display:flex;overflow:hidden}.ps-filter-row{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-8);flex-shrink:0;display:flex}.ps-filter-input{height:24px;padding:0 var(--space-8);background:var(--sidebar-hover);border:1px solid var(--slate-500);border-radius:var(--radius-sm);font-size:var(--type-micro-size);color:var(--sidebar-text);outline:none;flex:1}.ps-filter-input::placeholder{color:#fff6}.ps-filter-input:focus{box-shadow:0 0 0 1px var(--sidebar-text-active)}.ps-filter-input::-webkit-search-cancel-button{display:none}.ps-new-btn{background:var(--cta-primary);height:24px;color:var(--white);border-radius:var(--radius-sm);font-size:var(--type-small-size);cursor:pointer;transition:background var(--duration-instant) var(--ease);white-space:nowrap;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 10px;font-weight:500;line-height:1;display:inline-flex}.ps-new-btn:hover{background:var(--cta-primary-hover);color:var(--white)}.ps-create-form{gap:var(--space-8);padding:0 var(--space-8) var(--space-8);flex-direction:column;flex-shrink:0;display:flex}.ps-create-input{height:26px;padding:0 var(--space-8);background:var(--sidebar-hover);border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);font-size:var(--type-micro-size);color:var(--sidebar-text);outline:none}.ps-create-input::placeholder{color:#fff6}.ps-create-input:focus{border-color:var(--sidebar-text-active)}.ps-create-error{font-size:var(--type-micro-size);color:var(--red-200)}.ps-create-actions{gap:var(--space-8);display:flex}.ps-create-submit{border-radius:var(--radius-sm);background:var(--cta-primary);height:24px;color:var(--white);font-size:var(--type-micro-size);cursor:pointer;border:none;flex:1;font-weight:500}.ps-create-submit:hover{background:var(--cta-primary-hover)}.ps-create-cancel{border:1px solid var(--sidebar-border);border-radius:var(--radius-sm);height:24px;color:var(--sidebar-text);font-size:var(--type-micro-size);cursor:pointer;background:0 0;flex:1}.ps-create-cancel:hover{color:var(--sidebar-text-active)}.ps-list{padding:var(--space-2) 0;flex:1;overflow-y:auto}.ps-item{padding:var(--space-8) var(--space-8);cursor:pointer;border-radius:var(--radius-sm);margin:0 var(--space-4);transition:background var(--duration-instant) var(--ease);align-items:center;display:flex;position:relative}.ps-item:hover{background:var(--sidebar-hover)}.ps-item.is-active .ps-item-name{color:var(--sidebar-text-active)}.ps-item-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.ps-item-name{font-size:var(--type-small-size);color:var(--sidebar-text);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.ps-item-status{font-size:var(--type-small-size);color:var(--sidebar-text-muted);line-height:1.3}.ps-archive-btn{opacity:0;width:16px;height:16px;color:var(--sidebar-text-muted);font-size:var(--type-heading-size);cursor:pointer;border-radius:var(--radius-sm);transition:opacity var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.ps-item:hover .ps-archive-btn{opacity:1}.ps-archive-btn:hover{color:var(--red-200)}.ps-archive-confirm{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.ps-archive-yes{font-size:var(--type-micro-size);border-radius:var(--radius-sm);border:1px solid var(--red-200);color:var(--red-200);cursor:pointer;background:0 0;padding:1px 5px}.ps-archive-yes:hover{background:var(--danger-bg-hover-subtle)}.ps-archive-no{font-size:var(--type-small-size);width:16px;height:16px;color:var(--sidebar-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.ps-empty{padding:var(--space-16);font-size:var(--type-micro-size);color:var(--sidebar-text-muted)}.no-project{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.no-project h2{color:var(--text);margin-bottom:var(--space-8)}.project-header{margin-bottom:var(--space-16);justify-content:space-between;align-items:flex-start;display:flex}.project-header h2{font-size:var(--type-title-size)}.project-client{color:var(--text-secondary);margin-left:var(--space-8)}.tab-bar{border-bottom:2px solid var(--border);gap:0;margin-bottom:20px;display:flex}.tab{padding:var(--space-8) var(--space-16);color:var(--text-secondary);font-weight:var(--weight-medium);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.tab:hover{color:var(--text)}.tab.active{color:var(--control-accent);border-bottom-color:var(--control-accent)}.status-badge{padding:var(--space-2) var(--space-8);border-radius:var(--radius-xl);font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-transform:uppercase;margin-left:var(--space-8);display:inline-block}.status-draft{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.status-proposed{background:var(--status-bg-info);color:var(--status-fg-info)}.status-awarded{background:var(--status-bg-success);color:var(--status-fg-success)}.status-active{background:var(--status-bg-warning);color:var(--status-fg-warning)}.status-complete{background:var(--status-bg-success);color:var(--status-fg-success)}.status-estimated{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.status-quoted,.status-scoping,.status-submitted{background:var(--status-bg-info);color:var(--status-fg-info)}.status-won{background:var(--status-bg-success);color:var(--status-fg-success)}.status-lost{background:var(--status-bg-danger);color:var(--status-fg-danger)}.status-no_bid{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.status-on_hold{background:var(--status-bg-warning);color:var(--status-fg-warning-deep)}.status-cancelled{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.status-archived{background:var(--status-bg-neutral);color:var(--status-fg-muted)}.status-editable{cursor:pointer}.status-editable:hover{filter:brightness(.95);outline:1px solid var(--border)}.status-edit-select{margin-left:var(--space-8);font-size:var(--type-small-size);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}.status-error{margin-left:var(--space-8);font-size:var(--type-small-size);color:var(--danger,var(--danger))}.tag{border-radius:var(--radius-md);font-size:var(--type-small-size);background:var(--status-bg-neutral);color:var(--text-secondary);margin-right:var(--space-4);padding:1px 8px;display:inline-block}.tag-hours{background:var(--status-bg-info);color:var(--status-fg-info);font-weight:var(--weight-semibold)}.tag-basis-ai{background:var(--status-bg-warning);color:var(--status-fg-warning-deep)}.tag-basis-rag{background:var(--status-bg-success);color:var(--quality-good-fg)}.tag-basis-library{background:var(--status-bg-info);color:var(--alert-info-fg)}.tag-basis-user{background:var(--status-bg-neutral);color:var(--tag-basis-user-fg)}.tag-basis-flagged_unknown{background:var(--status-bg-danger);color:var(--tag-basis-flagged-fg)}.tag-basis-unset{background:var(--status-bg-neutral);color:var(--status-fg-muted)}.pill{padding:var(--pill-padding);border-radius:var(--radius-pill);font-size:var(--pill-size);font-weight:var(--pill-weight);white-space:nowrap;border:1px solid #0000;align-items:center;display:inline-flex}.pill--neutral{background:var(--status-bg-neutral);color:var(--status-fg-neutral);border-color:var(--gray-200)}.pill--info{background:var(--status-bg-info);color:var(--status-fg-info);border-color:var(--blue-200)}.pill--success{background:var(--status-bg-success);color:var(--status-fg-success);border-color:var(--teal-200)}.pill--warning{background:var(--status-bg-warning);color:var(--status-fg-warning);border-color:var(--amber-200)}.pill--danger{background:var(--status-bg-danger);color:var(--status-fg-danger);border-color:var(--red-200)}.pill--muted{color:var(--text-tertiary);border-color:var(--border-default);background:0 0}.pill--inplan{background:var(--status-bg-info);color:var(--control-accent);border-color:var(--control-accent-muted)}.source-badge{font-size:var(--type-small-size);border-radius:var(--radius-md);margin-left:6px;padding:1px 6px}.source-library{background:var(--status-bg-info);color:var(--alert-info-fg)}.source-generated{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.source-implied{background:var(--status-bg-pink);color:var(--status-fg-pink)}.panel-header{margin-bottom:var(--space-12);justify-content:space-between;align-items:center;display:flex}.panel-header h3{font-size:var(--type-heading-size)}.wp-form,.expense-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-16);margin-bottom:var(--space-16);box-shadow:var(--shadow);flex-direction:column;gap:10px;display:flex}.wp-form-row{gap:var(--space-12);display:flex}.wp-form-row>*{flex:1}.role-hours-grid{gap:var(--space-8);grid-template-columns:repeat(5,1fr);display:grid}.role-input{flex-direction:column;display:flex}.role-input label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-2)}.role-input input{text-align:center;width:100%;padding:var(--space-4)}.wp-form-actions{gap:var(--space-8);display:flex}.wp-list{gap:var(--space-8);flex-direction:column;display:flex}.wp-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-12);box-shadow:var(--shadow)}.wp-card.wp-complete{opacity:.7}.wp-card.wp-deferred{opacity:.5;border-style:dashed}.wp-card-header{align-items:center;gap:var(--space-8);display:flex}.wp-card-title{flex:1}.wp-card-actions{gap:var(--space-4);display:flex}.wp-card-desc{font-size:var(--type-body-size);color:var(--text-secondary);margin:6px 0}.wp-card-meta,.wp-card-roles{gap:var(--space-4);flex-wrap:wrap;margin-top:6px;display:flex}.role-chip{font-size:var(--type-small-size);background:var(--repo-row-hover);border:1px solid var(--border);border-radius:var(--radius-md);padding:1px 6px}.status-check{border:2px solid var(--border);border-radius:var(--radius-circle);width:24px;height:24px;font-size:var(--type-body-size);color:var(--text-secondary);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.status-check.checked{border-color:var(--success);color:var(--success);background:var(--status-bg-success-soft)}.deferred-header{font-size:var(--type-body-size);color:var(--text-secondary);margin:var(--space-24) 0 var(--space-8)}.expense-form-row{gap:var(--space-12);display:flex}.expense-form-row>*{flex:1}.expense-category{margin-bottom:var(--space-12)}.expense-cat-header{font-weight:var(--weight-semibold);font-size:var(--type-body-size);border-bottom:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;padding:6px 0;display:flex}.expense-item{align-items:center;gap:var(--space-8);font-size:var(--type-body-size);padding:6px 0;display:flex}.expense-name{flex:1}.expense-vendor{color:var(--text-secondary);font-size:var(--type-small-size)}.expense-cost{font-weight:var(--weight-semibold);text-align:right;min-width:80px}.summary-grid{gap:var(--space-12);margin-bottom:var(--space-24);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-16);text-align:center;box-shadow:var(--shadow)}.summary-card.summary-total{background:var(--summary-total-bg);color:var(--text-on-primary);border:none}.summary-card.summary-total .summary-label{color:var(--summary-total-label)}.summary-value{font-size:var(--type-display-size);font-weight:var(--weight-bold)}.summary-label{font-size:var(--type-small-size);color:var(--text-secondary);margin-top:var(--space-4)}.summary-sections{gap:var(--space-24);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.summary-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-16);box-shadow:var(--shadow)}.summary-section h4{font-size:var(--type-body-size);color:var(--text-secondary);margin-bottom:var(--space-12);text-transform:uppercase;letter-spacing:.5px}.progress-bar-container{background:var(--bg);border-radius:var(--radius-md);height:8px;overflow:hidden}.progress-bar{background:var(--success);border-radius:var(--radius-md);height:100%;transition:width var(--duration-normal)}.progress-label{font-size:var(--type-body-size);color:var(--text-secondary);margin-top:var(--space-8)}.basis-chips{gap:var(--space-8);flex-wrap:wrap;display:flex}.export-toolbar{gap:var(--space-8);display:flex}.tag-impact-high{background:var(--status-bg-danger);color:var(--tag-basis-flagged-fg)}.tag-impact-medium{background:var(--status-bg-warning);color:var(--status-fg-warning-deep)}.tag-impact-low{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.estimation-summary{gap:var(--space-16);margin-bottom:var(--space-12);font-size:var(--type-heading-size);display:flex}.settings-section{margin-bottom:var(--space-24)}.settings-label{font-weight:var(--weight-semibold);font-size:var(--type-body-size);margin-bottom:var(--space-8);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:block}.settings-hint{font-size:var(--type-small-size);color:var(--text-secondary);margin-bottom:var(--space-8)}.rates-grid{gap:var(--space-12);grid-template-columns:repeat(4,1fr);display:grid}.rate-input{flex-direction:column;display:flex}.rate-input label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-2)}.workweek-toggle{gap:var(--space-4);display:flex}.day-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:44px;height:36px;font-size:var(--type-small-size);font-weight:var(--weight-semibold)}.day-btn.active{background:var(--control-accent);color:var(--text-on-primary);border-color:var(--control-accent)}.settings-actions{align-items:center;gap:var(--space-12);display:flex}.success-msg{color:var(--success);font-size:var(--type-body-size)}.settings-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:20px;display:flex}.settings-tab{padding:var(--space-8) var(--space-24);font-size:var(--type-heading-size);font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px}.settings-tab:hover{color:var(--text)}.settings-tab.active{color:var(--control-accent);border-bottom-color:var(--control-accent);font-weight:var(--weight-semibold)}.settings-tab-content{max-width:600px}.template-editor{gap:var(--space-24);display:flex}.template-list{flex-shrink:0;width:220px}.template-list-header{margin-bottom:var(--space-12);justify-content:space-between;align-items:center;display:flex}.template-create-row{gap:var(--space-8);margin-bottom:var(--space-8);align-items:center;display:flex}.template-create-row input{padding:var(--space-4) var(--space-8);font-size:var(--type-body-size);flex:1}.template-list-item{padding:var(--space-8) var(--space-12);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4);cursor:pointer;font-size:var(--type-body-size);justify-content:space-between;align-items:center;display:flex}.template-list-item:hover{background:var(--bg)}.template-list-item.active{background:var(--control-accent);color:var(--text-on-primary);border-color:var(--control-accent)}.template-list-item.active .btn-danger{color:var(--text-on-primary);border-color:var(--text-on-primary-border)}.template-list-delete{border-radius:var(--radius-md);width:22px;height:22px;color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-instant) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.template-list-delete:hover{color:var(--text-secondary)}.template-list-item.active .template-list-delete,.template-list-item.active .template-list-delete:hover{color:var(--text-on-primary)}.template-list-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.template-detail{flex:1;min-width:0;max-width:600px}.block-list{gap:var(--space-4);flex-direction:column;display:flex}.block-row{align-items:center;gap:var(--space-8);padding:var(--space-8);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--type-body-size);display:flex}.block-row-enabled{background:var(--surface)}.block-row-disabled{background:var(--bg);opacity:.6}.block-toggle{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.block-toggle.on{background:var(--control-accent);color:var(--text-on-primary);border-color:var(--control-accent)}.block-toggle.off{background:var(--surface)}.block-label{flex:1}.block-arrows{gap:var(--space-2);display:flex}.block-arrows .btn-xs{padding:var(--space-2) var(--space-8)}.section-toggle{align-items:center;gap:var(--space-8);cursor:pointer;color:inherit;font-size:inherit;background:0 0;border:none;padding:0;display:flex}.section-toggle:hover{opacity:.8}.toggle-arrow{font-size:var(--type-small-size);transition:transform var(--duration-fast);color:var(--text-secondary);display:inline-block}.toggle-arrow.open{transform:rotate(90deg)}.styling-grid{gap:var(--space-12);flex-direction:column;display:flex}.styling-row{gap:var(--space-16);flex-wrap:wrap;display:flex}.styling-row>.styling-field{flex:1;min-width:120px}.styling-field{gap:var(--space-4);flex-direction:column;display:flex}.styling-field select,.styling-field input[type=number]{padding:var(--space-4) var(--space-8);font-size:var(--type-body-size);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.styling-field input[type=number]{width:80px}.color-input-row{align-items:center;gap:var(--space-8);display:flex}.color-input-row input[type=color]{width:36px;height:36px;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.color-input-row input[type=text]{width:100px}.disc-def-list{gap:var(--space-4);flex-direction:column;display:flex}.disc-def-row{align-items:center;gap:var(--space-8);display:flex}.disc-def-color{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-shrink:0;width:30px;height:30px;padding:2px}.disc-def-name{flex:1;min-width:0}.disc-def-abbr{text-transform:uppercase;width:52px}.disc-def-delete{color:var(--text-muted)}.gate-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-16);margin-bottom:var(--space-16);gap:var(--space-12);box-shadow:var(--shadow);flex-direction:column;display:flex}.gate-form h4{font-size:var(--type-body-size);color:var(--text-secondary);margin:var(--space-4) 0}.gate-wp-list{gap:var(--space-8);flex-direction:column;display:flex}.gate-wp-item{align-items:center;gap:var(--space-8);font-size:var(--type-body-size);display:flex}.gate-wp-name{flex:1}.review-list{gap:var(--space-8);flex-direction:column;display:flex}.review-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.review-header{align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-12);cursor:pointer;display:flex}.review-header:hover{background:var(--bg)}.review-date{color:var(--text-secondary);font-size:var(--type-small-size);flex:1}.variance-detail{padding:var(--space-12);border-top:1px solid var(--border);background:var(--bg);font-size:var(--type-body-size)}.variance-grid{gap:var(--space-12);margin-bottom:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}.variance-label{font-size:var(--type-small-size);color:var(--text-secondary);text-transform:uppercase;margin-bottom:var(--space-2)}.delta-over{color:var(--danger);font-weight:var(--weight-semibold)}.delta-under{color:var(--success);font-weight:var(--weight-semibold)}.variance-progress{color:var(--text-secondary);margin-bottom:var(--space-4)}.variance-changes{font-size:var(--type-small-size);color:var(--text-secondary)}.log-list{gap:var(--space-4);flex-direction:column;display:flex}.log-entry{padding:var(--space-8) 0;border-bottom:1px solid var(--border)}.log-entry-header{gap:var(--space-8);margin-bottom:var(--space-2);align-items:center;display:flex}.log-time{font-size:var(--type-small-size);color:var(--text-secondary);font-family:var(--font-mono)}.log-note{font-size:var(--type-body-size);color:var(--text)}.log-value{font-size:var(--type-small-size);color:var(--text-secondary)}.schedule-controls{gap:var(--space-8);align-items:center;display:flex}.schedule-controls input[type=date]{width:160px}.schedule-summary{gap:var(--space-16);margin-bottom:var(--space-16);font-size:var(--type-heading-size);display:flex}.review-dates,.critical-deps{margin-top:var(--space-16)}.review-dates h4,.critical-deps h4{font-size:var(--type-heading-size);font-weight:var(--weight-medium);margin-bottom:var(--space-8)}.review-date-item,.critical-dep-item{align-items:center;gap:var(--space-8);padding:var(--space-4) 0;font-size:var(--type-body-size);display:flex}.interactive-document{flex-direction:column;flex:1;min-height:0;display:flex}.cover-unit{padding:var(--space-32) 0 0;background:0 0;margin:0 auto}.toolbar-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-dropdown);z-index:20;min-width:200px;margin-top:0;position:absolute;top:100%;left:0;overflow:hidden}.toolbar-dropdown-right{left:auto;right:0}.dropdown-item{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);font-size:var(--type-body-size);text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;display:flex}.dropdown-item:hover:not(:disabled){background:var(--bg)}.dropdown-item:disabled{color:var(--text-secondary);cursor:default}.dropdown-item-current{background:var(--alert-info-bg)}.dropdown-version{font-weight:var(--weight-bold);font-size:var(--type-small-size);color:var(--control-accent);min-width:24px}.dropdown-meta{color:var(--text-secondary);font-size:var(--type-small-size)}.dropdown-divider{background:var(--border);height:1px;margin:var(--space-4) 0}.dropdown-action{color:var(--text-link);font-weight:var(--weight-medium)}.dropdown-template-select{gap:var(--space-4);padding:var(--space-8) var(--space-16);flex-direction:column;display:flex}.dropdown-template-select label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary)}.dropdown-template-select select{font-size:var(--type-small-size);padding:var(--space-2) var(--space-4);width:100%}.toolbar-wrapper{z-index:200;flex-shrink:0}[data-entry-flow=true] .proj-toolbar-viewmode-seg,[data-entry-flow=true] .toolbar-fmt-btn,[data-entry-flow=true] .proj-toolbar-btn,[data-entry-flow=true] .proj-toolbar-stub-select,[data-entry-flow=true] .toolbar-zoom-btn,[data-entry-flow=true] .toolbar-zoom-val{opacity:.4;pointer-events:none;cursor:default}.proj-toolbar[data-readonly] .toolbar-center{opacity:.4;pointer-events:none}.entry-flow-scroll{background:var(--surface-pm);flex:1;min-height:0;overflow-y:auto}.proj-toolbar{justify-content:center;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border);padding:4px var(--space-12);background:#fff;flex-wrap:wrap;min-height:34px;display:flex}.proj-toolbar-sep{background:var(--border);opacity:.7;flex-shrink:0;width:1px;height:16px}.proj-toolbar-sep-strong{opacity:1;background:var(--toolbar-sep-strong);height:20px}.toolbar-left,.toolbar-right{align-items:center;gap:var(--space-4);flex-wrap:nowrap;flex-shrink:0;display:flex}.toolbar-center{justify-content:center;align-items:center;gap:var(--space-4);flex-wrap:nowrap;display:flex}@media (width<=1280px){.toolbar-center{flex-basis:100%;order:1}.proj-toolbar>.proj-toolbar-sep-strong{display:none}}.proj-toolbar-stub-select{align-items:center;gap:var(--space-4);padding:0 var(--space-8);border:1px solid var(--border);border-radius:var(--radius-sm);height:24px;color:var(--text-placeholder);cursor:default;-webkit-user-select:none;user-select:none;background:0 0;flex-shrink:0;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.proj-toolbar-stub-select>span:last-child{color:var(--text-placeholder);font-size:var(--type-micro-size)}.proj-toolbar-stub-size{min-width:44px}.proj-toolbar-viewmode-pill{background:var(--segmented-track-bg);border-radius:var(--radius-sm);border:none;flex-shrink:0;align-items:center;height:24px;padding:2px;display:inline-flex}.proj-toolbar-viewmode-seg{border-radius:calc(var(--radius-sm) - 1px);height:100%;color:var(--segmented-seg-fg);font-size:11px;font-weight:var(--segmented-seg-weight);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0 8px;line-height:1;display:inline-flex}.proj-toolbar-viewmode-seg:hover:not(.is-active){background:var(--segmented-seg-hover-bg)}.proj-toolbar-viewmode-seg.is-active{background:var(--segmented-seg-active-bg);color:var(--segmented-seg-active-fg);font-weight:var(--segmented-seg-active-weight);box-shadow:var(--segmented-seg-active-shadow)}.proj-toolbar-action{flex-shrink:0;position:relative}.proj-toolbar-btn{justify-content:center;align-items:center;gap:var(--space-4);height:24px;padding:0 var(--space-8);border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--surface);color:var(--gray-800);cursor:pointer;white-space:nowrap;transition:background var(--duration-instant) var(--ease);font-size:11px;font-weight:500;line-height:1;display:inline-flex}.proj-toolbar-btn:hover{background:var(--gray-50)}.proj-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.proj-toolbar-status-prefix{color:var(--text-tertiary);font-weight:400}.proj-toolbar-status-value{font-weight:500}.proj-toolbar-btn-primary{background:var(--cta-primary);color:var(--text-on-primary);border-color:var(--cta-primary)}.proj-toolbar-btn-primary:hover{background:var(--cta-primary-hover);border-color:var(--cta-primary-hover)}.proj-toolbar-btn-primary:active{background:var(--cta-primary-active);border-color:var(--cta-primary-active)}.proj-toolbar-btn-control{background:var(--control-accent);color:#fff;border-color:var(--control-accent)}.proj-toolbar-btn-control:hover{background:var(--control-accent);filter:brightness(.95)}.toolbar-fmt-group{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.toolbar-fmt-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;font-size:var(--type-small-size);font-weight:var(--weight-semibold);transition:background var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.toolbar-fmt-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.toolbar-fmt-btn.is-active{background:var(--interactive-primary-light);color:var(--interactive-primary)}.toolbar-fmt-btn svg{display:block}.toolbar-fmt-btn b,.toolbar-fmt-btn i{font-family:var(--font-serif);font-size:var(--type-small-size);line-height:1}.toolbar-fmt-btn u{font-size:var(--type-small-size);line-height:1}.toolbar-zoom-group{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.toolbar-zoom-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-instant) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;font-size:11px;line-height:1;display:inline-flex}.toolbar-zoom-btn:hover{background:var(--surface-hover)}.toolbar-zoom-val{min-width:32px;height:24px;color:var(--text-tertiary);text-align:center;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.doc-scroll{padding:0 var(--space-24) var(--space-48);flex-direction:column;flex:1;align-items:center;min-height:0;display:flex;overflow-y:auto}.doc-scroll::-webkit-scrollbar{width:12px!important;height:12px!important}.doc-scroll::-webkit-scrollbar-track{background:0 0!important}.doc-scroll::-webkit-scrollbar-thumb{background:#0000002e padding-box padding-box!important;border:3px solid #0000!important;border-radius:6px!important;min-height:64px!important}.doc-scroll::-webkit-scrollbar-thumb:hover{background:#00000052 padding-box padding-box!important}.doc-scroll::-webkit-scrollbar-button{width:0!important;height:0!important;display:none!important}.doc-scroll::-webkit-scrollbar-button:start{width:0!important;height:0!important;display:none!important}.doc-scroll::-webkit-scrollbar-button:end{width:0!important;height:0!important;display:none!important}.doc-scroll::-webkit-scrollbar-button:vertical:decrement{width:0!important;height:0!important;display:none!important}.doc-scroll::-webkit-scrollbar-button:vertical:increment{width:0!important;height:0!important;display:none!important}.doc-scroll::-webkit-scrollbar-button:horizontal:decrement{width:0!important;height:0!important;display:none!important}.doc-scroll::-webkit-scrollbar-button:horizontal:increment{width:0!important;height:0!important;display:none!important}.doc-pages-stack{position:relative}.doc-continuous{width:max-content;max-width:100%;padding:var(--page-padding-top) var(--page-padding) var(--page-padding-bottom);background:var(--doc-bg);box-sizing:border-box;position:relative}.page-break-indicators{pointer-events:none;z-index:1;position:absolute;inset:0}.page-break-indicator{border-top:1px dashed var(--gray-300);height:0;position:absolute;left:0;right:0}.page-break-indicator:after{content:attr(data-page-label);background:var(--doc-bg);font-size:var(--type-small-size);color:var(--text-tertiary);white-space:nowrap;padding:0 8px;font-weight:400;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.doc-pages-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.doc-pages-content{--spacer-extension:var(--page-padding)}.doc-pages-content .doc-section,.doc-pages-content .narrative-section{--spacer-extension:calc(var(--page-padding) + var(--space-24))}.page-spacer{margin:0 calc(-1 * var(--spacer-extension));box-shadow:none;z-index:1;pointer-events:none;border:none;outline:none;position:relative}.doc-pages-bg .doc-page{margin-left:auto;margin-right:auto;position:absolute;left:0;right:0}.doc-pages-content{z-index:1;padding:var(--page-padding-top) var(--page-padding) 0;box-sizing:border-box;position:relative}.doc-page{background:var(--doc-bg);border-radius:var(--radius-bar);box-shadow:var(--shadow-document)}.doc-page--portrait{width:var(--page-w-portrait);height:var(--page-h-portrait)}.doc-page--landscape{width:var(--page-w-landscape);height:var(--page-h-landscape)}.doc-pages-overlay>.doc-page-number{color:var(--text-tertiary);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.doc-pages-stack .doc-card,.doc-pages-stack .decision-option,.doc-pages-stack [class*=card]{break-inside:avoid!important;page-break-inside:avoid!important}.doc-page{--gutter-w:40px}.doc-page:before{content:"";top:var(--page-padding-top);bottom:var(--page-padding-bottom);left:calc(var(--page-padding) - 1px);border-left:1px dashed var(--gray-300);pointer-events:none;width:0;position:absolute}.doc-pages-stack .doc-section,.doc-pages-stack .cover-page,.doc-pages-stack .cover-unit{position:relative}.doc-pages-stack .doc-section:before,.doc-pages-stack .cover-page:before{content:"";top:var(--space-24);border-top:1px dashed var(--gray-300);pointer-events:none;width:8px;height:0;position:absolute;left:-8px}.doc-section-strip{height:28px;margin:0 auto var(--space-24);width:var(--page-content-w-portrait);padding:0 var(--space-8);border-top:1px dashed var(--gray-200);border-bottom:1px dashed var(--gray-200);color:var(--text-tertiary);transition:opacity var(--duration-fast);background:0 0;justify-content:space-between;align-items:center;font-size:11px;display:flex;position:relative}.doc-section-strip-label{font-weight:var(--weight-regular);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doc-section-strip{cursor:pointer}.doc-section-strip:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.doc-pages-stack .doc-section-strip:before{content:"";border-top:1px dashed var(--gray-300);pointer-events:none;width:8px;height:0;position:absolute;top:calc(50% - .5px);left:-8px}.section-gutter-controls{top:var(--space-32);z-index:2;flex-direction:column;align-items:center;gap:4px;width:18px;display:flex;position:absolute;left:-32px}.section-gutter-btn{cursor:pointer;color:var(--control-accent);opacity:.6;border-radius:var(--radius-sm);transition:opacity var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;line-height:0;display:inline-flex}.section-gutter-btn:hover,.section-gutter-btn.is-on{opacity:1}.section-gutter-btn:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.cover-page .section-gutter-controls{top:110px;left:-48px}.doc-section-strip .section-gutter-controls{top:50%;transform:translateY(-50%)}.doc-pages-overlay{z-index:2;pointer-events:none;position:absolute;inset:0}.doc-pages-overlay>.doc-card-row[data-pagination-clone]{background:var(--surface-card);border-radius:var(--radius);padding:var(--space-12) var(--space-24);box-sizing:border-box}.doc-pages-overlay>.doc-card-row[data-pagination-clone] .doc-card-title:after{content:" (continued)";font-weight:400;font-size:var(--type-small-size);color:var(--text-tertiary);margin-left:var(--space-4)}.doc-section:not([data-orientation=landscape]),.cover-unit,.actuals-strip{width:var(--page-content-w-portrait);margin-left:auto;margin-right:auto}.doc-section[data-orientation=landscape]{width:var(--page-content-w-landscape)}.doc-continuous .doc-section[data-orientation=landscape]{width:auto;max-width:none}.doc-body{width:100%;padding:var(--space-32) 0 40px}.doc-ghost{opacity:0;transition:opacity var(--duration-fast) var(--ease);pointer-events:none}.doc-section-content:hover>.doc-ghost,.doc-group-content:hover>.doc-ghost,.doc-group:hover>.doc-ghost,.doc-ghost-always{opacity:1;pointer-events:auto}.doc-ghost-card{align-items:center;gap:var(--space-inline-sm);padding:var(--space-stack-sm) var(--space-inline-md);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-placeholder);font-size:var(--type-small-size);cursor:pointer;text-align:left;width:100%;margin-top:var(--space-stack-sm);background:0 0;display:flex}.doc-ghost-card:hover{border-color:var(--control-accent);color:var(--control-accent);background:var(--ghost-hover-bg)}.scope-add-text-link{margin-top:var(--space-8);font-size:var(--type-small-size);color:var(--control-accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;line-height:1.5;display:inline-block}.scope-add-text-link:hover{color:var(--interactive-primary);text-decoration:underline}.doc-ghost-section{padding:var(--space-stack-lg) var(--space-inline-md);text-align:center;color:var(--text-placeholder);font-size:var(--type-body-size);border:1px dashed var(--border);border-radius:var(--radius-md)}.actuals-strip{align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-12);margin-bottom:var(--space-12);background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius);font-size:var(--type-small-size);color:var(--text-secondary);flex-wrap:wrap;display:flex}.actuals-strip.actuals-strip-editing{align-items:flex-end;gap:var(--space-8);padding:var(--space-8) var(--space-12)}.actuals-label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.actuals-deltas{gap:var(--space-2);color:var(--text);flex-direction:column;display:flex}.actuals-delta-row{font-size:var(--type-small-size)}.actuals-pct{margin-left:var(--space-4);font-weight:var(--weight-medium)}.actuals-pct-good{color:var(--success)}.actuals-pct-warn{color:var(--warning)}.actuals-pct-bad{color:var(--danger)}.actuals-link{color:var(--text-link);font-size:var(--type-small-size);cursor:pointer;background:0 0;border:none;padding:0}.actuals-link:hover:not(:disabled){text-decoration:underline}.actuals-link:disabled{opacity:.5;cursor:default}.actuals-field{gap:var(--space-2);font-size:var(--type-small-size);color:var(--text-secondary);flex-direction:column;display:flex}.actuals-field>span{font-size:var(--type-small-size)}.actuals-field>span em{color:var(--text-secondary);opacity:.7;font-style:normal;font-weight:var(--weight-regular)}.actuals-field input{width:110px;padding:var(--space-4) var(--space-8);font-size:var(--type-small-size)}.actuals-field-notes{flex:1;min-width:160px}.actuals-field-notes input{width:100%}.actuals-actions{align-items:center;gap:var(--space-8);margin-left:auto;display:flex}.actuals-error{font-size:var(--type-small-size);color:var(--danger);margin-top:var(--space-2);flex-basis:100%}.doc-section{margin-bottom:var(--space-24);padding:var(--space-16) var(--space-24);box-shadow:none;background:0 0;border:none;border-radius:0}.doc-section--excluded .doc-section-header,.doc-section--excluded .narrative-header,.doc-section--excluded .schedule-header,.cover-page.doc-section--excluded .cover-content,.cover-page.doc-section--excluded .cover-doc-type{opacity:.5}.doc-section-content{padding-left:0}.doc-section-content .doc-card,.doc-section-content .doc-ghost{margin-left:0}[data-visibility=working]>.doc-section-content{background:var(--surface-working);border-radius:var(--radius-md);padding:var(--space-12)}[data-visibility=working]>.narrative-wrapper{background:var(--surface-working);border-radius:var(--radius-md)}.doc-section-placeholder{align-items:baseline;gap:var(--space-8);display:flex}.doc-section-placeholder h3{font-size:var(--type-title-size);font-weight:var(--weight-semibold);color:var(--text);margin:0}.placeholder-note{font-size:var(--type-body-size);color:var(--text-secondary);font-style:italic}.cover-page{text-align:left;background:0 0;max-width:820px;margin:0 auto;padding:0;position:relative}.cover-content{padding:var(--space-64) 0 var(--space-48)}.cover-meta-block{flex-direction:column;display:flex}.cover-title{font-size:var(--type-display-size);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0 0 var(--space-8)}.cover-client{font-size:var(--type-title-size);font-weight:var(--weight-semibold);color:var(--text-secondary)}.cover-date{font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text-tertiary);margin-top:var(--space-4)}.cover-doc-type{font-size:var(--type-small-size);font-weight:var(--weight-regular);color:var(--text-tertiary);margin-top:var(--space-24);display:block}.doc-subtitle{font-size:var(--type-small-size);color:var(--text-secondary);margin:var(--space-2) 0 0;line-height:1.3}@keyframes stat-flash{0%{background-color:#ffffff2e}to{background-color:#0000}}.stat-flash{border-radius:2px;animation:1.2s ease-out stat-flash}@keyframes cascade-pulse{0%{color:var(--green-500)}to{color:var(--interactive-primary)}}.cascade-flash{animation:cascade-pulse var(--duration-slow) var(--ease)}.doc-history-overlay{top:calc(100% + var(--space-4));background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);width:400px;max-height:360px;box-shadow:var(--shadow-history);z-index:200;padding:var(--space-8) 0;position:absolute;right:0;overflow-y:auto}.doc-history-title{padding:var(--space-8) var(--space-12);font-size:var(--type-small-size);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-tertiary)}.doc-history-row{width:100%;padding:var(--space-8) var(--space-12);font-size:var(--type-small-size);transition:background var(--duration-instant) var(--ease);background:0 0;align-items:baseline;display:flex;position:relative}.doc-history-row:hover{background:var(--surface-hover-warm)}.doc-history-row-current,.doc-history-row-current:hover{background:var(--surface-active-cool)}.doc-history-row-view{align-items:baseline;gap:var(--space-8);text-align:left;cursor:pointer;min-width:0;font:inherit;color:var(--text);background:0 0;border:none;flex:1;padding:0;display:flex}.doc-history-row-name{min-width:32px;font-weight:var(--weight-semibold);color:var(--text);flex:none}.doc-history-row-date{min-width:48px;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.doc-history-row-summary{min-width:0;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:1}.doc-history-row-current-tag{margin-left:var(--space-8);font-size:var(--type-small-size);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.6px;flex:none}.doc-history-net-label{color:var(--color-text-tertiary)}.doc-history-net-increase{color:var(--text-increase)}.doc-history-net-decrease{color:var(--text-decrease)}.doc-history-text-prefix{color:var(--color-text-tertiary)}.doc-history-row-parent{color:var(--color-text-tertiary);font-size:var(--type-small-size)}.doc-history-row-draft .doc-history-row-name{color:var(--state-warning)}.doc-history-row-draft-label{color:var(--state-warning);font-weight:var(--weight-semibold);margin-right:6px}.doc-history-row-start-hover{background:var(--surface-card);font:inherit;font-size:var(--type-small-size);color:var(--text-link);cursor:pointer;opacity:0;transition:opacity var(--duration-instant) var(--ease);border:none;padding:0;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.doc-history-row:hover .doc-history-row-start-hover{opacity:1}.doc-history-row-start-hover:hover{text-decoration:underline}.doc-history-row-confirm{align-items:center;gap:var(--space-8);font-size:var(--type-small-size);color:var(--text);background:var(--surface-card);padding:var(--space-2) var(--space-8);display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.doc-history-row-confirm-yes,.doc-history-row-confirm-no{font:inherit;font-size:var(--type-small-size);font-weight:var(--weight-medium);padding:1px var(--space-8);border-radius:var(--radius-pill);border:1px solid var(--border);cursor:pointer;background:0 0}.doc-history-row-confirm-yes{color:var(--text-link);border-color:var(--action-draft-border)}.doc-history-row-confirm-yes:hover:not(:disabled){background:var(--action-draft-hover)}.doc-history-row-confirm-no{color:var(--text-secondary)}.doc-history-row-confirm-no:hover:not(:disabled){background:var(--surface-active-warm)}.doc-history-row-terminal{color:var(--text-placeholder);font-size:var(--type-small-size);cursor:default}.doc-history-row-terminal:hover{background:0 0}.doc-history-row-soon{font-size:var(--type-small-size);margin-left:var(--space-8);opacity:.7}.doc-viewing-banner{z-index:200;width:100%;height:32px;padding:0 var(--space-24);background:var(--banner-bg);border-bottom:1px solid var(--border);font-size:var(--type-small-size);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.doc-viewing-banner-back{font:inherit;font-size:var(--type-small-size);color:var(--text-link);cursor:pointer;background:0 0;border:none;padding:0}.doc-viewing-banner-back:hover{text-decoration:underline}.doc-template-label{font-size:var(--type-small-size);color:var(--text-tertiary);padding:var(--space-4) var(--space-48);text-align:right}.doc-main-row{flex-direction:row;justify-content:center;align-items:flex-start;width:100%;display:flex}.comment-margin{flex-direction:column;flex-shrink:1;width:200px;min-width:160px;max-height:calc(100vh - 80px);padding:0 8px 0 12px;display:flex;position:sticky;top:8px;overflow-y:auto}.comment-margin-body{flex:1;position:relative}.comment-section-group{transition:top .15s ease-out;position:absolute;left:0;right:0}.comment-margin-form-wrap{background:var(--bg);margin-top:auto;padding-top:8px;position:sticky;bottom:0}.comment-margin-mode-bar{background:var(--bg);z-index:1;gap:4px;margin-bottom:10px;padding:4px 0;display:flex;position:sticky;top:0}.comment-margin-mode-btn{font-size:var(--type-micro-size);cursor:pointer;color:var(--text-placeholder);background:0 0;border:none;border-radius:10px;padding:3px 8px;font-weight:500}.comment-margin-mode-btn.is-active{color:var(--text-secondary);background:#0000000d}.comment-bubble{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;padding:8px;font-size:11px}.comment-bubble-resolved{opacity:.5}.comment-bubble-anchor{font-size:var(--type-micro-size);color:var(--text-tertiary);margin-bottom:4px}.comment-bubble-meta{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.comment-bubble-author{color:var(--text-secondary);font-size:10px;font-weight:600}.comment-bubble-time{color:var(--text-tertiary);font-size:10px}.comment-bubble-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.comment-bubble-resolve{font-size:var(--type-micro-size);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:4px 0 0;display:block}.comment-bubble-resolve:hover{color:var(--text-secondary)}.comment-add-form{border-top:1px solid var(--border);margin-top:8px;padding-top:8px}.comment-add-section-select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-secondary);box-sizing:border-box;border-radius:4px;margin-bottom:4px;padding:3px 4px;font-size:10px}.comment-add-textarea{border:1px solid var(--border);resize:vertical;background:var(--surface);width:100%;min-height:60px;color:var(--text);box-sizing:border-box;border-radius:4px;margin-bottom:4px;padding:4px 6px;font-family:inherit;font-size:11px}.comment-add-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-secondary);background:0 0;border-radius:4px;width:100%;padding:4px 10px;font-size:10px;font-weight:500}.comment-add-btn:disabled{opacity:.5;cursor:default}.toolbar-comment-badge{background:var(--state-success,#22c55e);color:#fff;font-size:var(--type-micro-size);border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;margin-left:2px;padding:0 3px;font-weight:600;line-height:1;display:inline-flex}@media (width<=1100px){.comment-margin{display:none}}.doc-template-update-banner{justify-content:space-between;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-48);background:var(--surface-working);border-bottom:1px solid var(--border-light);display:flex}.doc-template-update-text{font-size:var(--type-small-size);color:var(--text-secondary)}.doc-template-update-actions{align-items:center;gap:var(--space-8);flex-shrink:0;display:flex}.doc-template-update-apply{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--control-accent);cursor:pointer;background:0 0;border:none;padding:0}.doc-template-update-apply:hover{text-decoration:underline}.doc-template-update-apply:disabled{opacity:.6;cursor:default}.doc-template-update-dismiss{padding:0 var(--space-4);font-size:var(--type-heading-size);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;line-height:1}.doc-template-update-dismiss:hover{color:var(--text-secondary)}.cover-watermark{transform:translate(-50%, -50%) rotate(var(--watermark-rotation));font-size:var(--watermark-size);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--watermark-letter-spacing);color:var(--watermark-color);opacity:var(--watermark-opacity);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0;white-space:nowrap;position:absolute;top:50%;left:50%}.cover-page-draft .cover-content{z-index:1;position:relative}.scope-table-section{padding:var(--space-16) var(--space-24)}.scope-table-header{margin-bottom:var(--space-12);justify-content:space-between;align-items:baseline;display:flex}.scope-table-header h3{font-size:var(--type-title-size);font-weight:var(--weight-semibold);margin:0}.scope-edit-link{color:var(--text-link);font-size:var(--type-body-size);cursor:pointer;font-weight:var(--weight-medium);background:0 0;border:none}.scope-edit-link:hover{text-decoration:underline}.scope-table{border-collapse:collapse;width:100%;font-size:var(--type-body-size)}.scope-table th{font-size:var(--type-small-size);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:var(--weight-semibold);padding:var(--space-8);text-align:left;border-bottom:2px solid var(--border)}.scope-table td{padding:var(--space-8);border-bottom:1px solid var(--border);vertical-align:top}.scope-table tbody tr:hover{background:var(--bg)}.scope-col-check{text-align:center;width:32px}.scope-col-check input[type=checkbox]{cursor:pointer;width:16px;height:16px}.scope-col-name{min-width:200px}.scope-col-roles{font-family:var(--font-mono);font-size:var(--type-small-size);color:var(--text-secondary);white-space:nowrap}.scope-col-materials{white-space:nowrap}.scope-col-hours{text-align:right;white-space:nowrap;min-width:64px}.scope-col-cost{text-align:right;white-space:nowrap;min-width:80px}.scope-wp-name{font-weight:var(--weight-medium)}.scope-row-off{opacity:.4}.scope-row-off .scope-wp-name{color:var(--text-secondary);text-decoration:line-through}.scope-footer td{padding:var(--space-12) var(--space-8);border-top:2px solid var(--border);border-bottom:none}.approach-alts{padding:var(--space-16) var(--space-24) 0}.approach-alts-header{align-items:baseline;gap:var(--space-8);margin-bottom:var(--space-12);display:flex}.approach-alts-label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.approach-alts-hint{font-size:var(--type-small-size);color:var(--text-tertiary)}.approach-alts-cards{gap:var(--space-8);margin-bottom:var(--space-16);flex-direction:column;display:flex}.approach-alt{border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast);background:var(--surface)}.approach-alt:hover:not(.approach-alt--selected){border-color:var(--border-hover);background:var(--surface-hover)}.approach-alt--selected{border-color:var(--cta-primary);background:var(--surface);cursor:default}.approach-alt--committing{opacity:.7;pointer-events:none}.approach-alt-top{align-items:flex-start;gap:var(--space-12);margin-bottom:var(--space-6);display:flex}.approach-alt-title-row{align-items:center;gap:var(--space-8);flex:1;min-width:0;display:flex}.approach-alt-radio{border:1.5px solid var(--border);border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:1px;display:inline-block}.approach-alt--selected .approach-alt-radio{border-color:var(--cta-primary);background:var(--cta-primary);box-shadow:inset 0 0 0 3px var(--surface)}.approach-alt-title{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text)}.approach-alt-baseline-badge{font-size:var(--type-small-size);color:var(--text-tertiary);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-pill);padding:1px 6px}.approach-alt-impacts{gap:var(--space-12);flex-shrink:0;display:flex}.approach-alt-impact{flex-direction:column;align-items:flex-end;gap:1px;display:flex}.approach-alt-impact-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:10px}.approach-alt-impact-val{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--text-secondary)}.approach-alt-summary{font-size:var(--type-small-size);color:var(--text-secondary);margin:0;line-height:1.5}.approach-alt-chosen-badge{margin-top:var(--space-8);font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--cta-primary);display:inline-block}.narrative-section{padding:var(--space-16) var(--space-24);transition:border-color var(--duration-normal);position:relative}.narrative-header{margin-bottom:var(--space-12);align-items:baseline;gap:10px;display:flex}.narrative-header h3{font-size:var(--type-heading-size);font-weight:var(--weight-semibold);color:var(--text);margin:0}.section-save-status{font-size:var(--type-small-size);color:var(--text-secondary)}.narrative-wrapper{position:relative}.narrative-editable{font-size:var(--type-body-size);color:var(--text);white-space:pre-wrap;outline:none;min-height:60px;line-height:1.7}.narrative-editable:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.narrative-editable:empty:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none;font-style:italic}.ProseMirror h1{font-size:var(--type-title-size);font-weight:var(--weight-semibold);color:var(--text);margin:var(--space-16) 0 var(--space-8);line-height:1.25}.ProseMirror h2{font-size:var(--type-heading-size);font-weight:var(--weight-semibold);color:var(--text);margin:var(--space-12) 0 var(--space-8);line-height:1.3}.ProseMirror h3{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-secondary);margin:var(--space-8) 0 var(--space-4);line-height:1.4}.ai-context-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-dropdown);z-index:20;position:absolute;top:4px;right:12px;overflow:hidden}.ai-context-menu button{text-align:left;width:100%;padding:var(--space-8) var(--space-16);font-size:var(--type-body-size);cursor:pointer;color:var(--text);white-space:nowrap;background:0 0;border:none;display:block}.ai-context-menu button:hover{background:var(--bg)}.narrative-ai-trigger{margin-left:auto;position:relative}.narrative-ai-trigger .ai-context-menu{margin-top:4px;top:100%;right:0}.narrative-ai-btn{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text);background:linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(135deg, #7c5cff 0%, #4878a8 50%, #5ec4d1 100%) border-box;border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.02em;transition:box-shadow var(--duration-fast) var(--ease), transform var(--duration-fast) var(--ease);border:1px solid #0000;align-items:center;gap:4px;padding:2px 9px 2px 7px;line-height:1.5;display:inline-flex}.narrative-ai-btn__spark{background:linear-gradient(135deg,#7c5cff,#4878a8);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:11px;line-height:1}.narrative-ai-btn:hover:not(:disabled){transform:translateY(-.5px);box-shadow:0 0 0 3px #7c5cff2e,0 2px 8px #4878a82e}.narrative-ai-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 0 0 2px #7c5cff2e}.narrative-ai-btn--loading,.narrative-ai-btn:disabled{opacity:.45;cursor:not-allowed}.narrative-wrapper--generating{opacity:.6;pointer-events:none;transition:opacity var(--duration-fast)}.narrative-generating-label{font-size:var(--type-small-size);color:var(--text-tertiary);margin-bottom:var(--space-8);font-style:italic;display:block}.entry-flow{max-width:680px;padding:var(--space-8) 0 var(--space-48);margin:0 auto}.entry-section{gap:var(--space-16);flex-direction:column;display:flex}.entry-fields-row{gap:var(--space-16);display:flex}.entry-fields-row>.entry-field{flex:1}.entry-field{gap:var(--space-4);flex-direction:column;display:flex}.entry-field label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.entry-field textarea{resize:vertical;font-family:inherit;line-height:1.6}.entry-file-upload{flex-direction:column;gap:6px;display:flex}.entry-file-label{align-items:center;gap:var(--space-8);cursor:pointer;display:flex}.entry-file-hint{font-size:var(--type-small-size);color:var(--text-secondary)}.entry-file-attached{align-items:center;gap:var(--space-8);display:flex}.entry-file-name{font-size:var(--type-small-size);color:var(--text-primary)}.entry-file-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.entry-file-remove:hover{color:var(--text-primary)}.entry-file-error{font-size:var(--type-small-size);color:var(--color-error,#c0392b)}.entry-divider{background:var(--border);height:1px;margin:28px 0}.entry-mode-control{border:1.5px solid var(--control-accent);border-radius:var(--radius);margin-bottom:12px;display:flex;overflow:hidden}.entry-mode-btn{height:34px;font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--control-accent);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:none;flex:1;padding:0 16px}.entry-mode-btn:first-child{border-right:1.5px solid var(--control-accent)}.entry-mode-btn.active{background:var(--control-accent);color:#fff}.entry-mode-btn:hover:not(.active):not(:disabled){background:color-mix(in srgb, var(--control-accent) 10%, transparent)}.entry-mode-btn:disabled{opacity:.45;cursor:not-allowed}.entry-mode-hint{font-size:var(--type-small-size);color:var(--text-secondary);margin-bottom:14px}.entry-mode-hint-muted{color:var(--text-tertiary)}.entry-mode-hint-change{color:var(--control-accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.entry-quality{border-radius:var(--radius);font-size:var(--type-body-size);margin-bottom:20px;padding:10px 14px;line-height:1.5}.quality-thin{background:var(--alert-warn-bg);border:1px solid var(--alert-warn-border);color:var(--status-fg-warning-deep)}.quality-good{background:var(--status-bg-success-soft);border:1px solid var(--quality-good-border);color:var(--quality-good-fg)}.entry-generate-btn{width:100%;font-size:14px;font-weight:var(--weight-semibold);padding:9px 20px}.entry-loading{text-align:center;font-size:var(--type-body-size);color:var(--text-secondary);margin-top:var(--space-12);padding:var(--space-24) 0}.entry-select-header{align-items:center;gap:var(--space-12);margin-bottom:20px;display:flex}.entry-select-header h2{font-size:var(--type-title-size);font-weight:var(--weight-semibold);color:var(--text);margin:0}.entry-select-list{gap:var(--space-8);flex-direction:column;margin:0 0 20px;padding:0;list-style:none;display:flex}.entry-select-row{align-items:flex-start;gap:var(--space-12);padding:var(--space-12) var(--space-16);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);display:flex}.entry-select-row:hover{border-color:var(--control-accent)}.entry-select-row.selected{border-color:var(--control-accent);box-shadow:var(--shadow-row-selected)}.entry-select-row input[type=checkbox]{margin-top:var(--space-4);cursor:pointer}.entry-select-body{flex:1;min-width:0}.entry-select-title{font-size:var(--type-heading-size);font-weight:var(--weight-medium);color:var(--text)}.entry-select-client{font-weight:var(--weight-regular);color:var(--text-secondary)}.entry-select-meta{gap:var(--space-8);margin-top:var(--space-4);font-size:var(--type-small-size);color:var(--text-secondary);flex-wrap:wrap;display:flex}.entry-select-type{background:var(--bg);border-radius:var(--radius-xl);font-weight:var(--weight-medium);padding:1px 8px}.entry-select-snippet{line-height:1.5}.entry-select-score{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--text-secondary);padding:var(--space-2) var(--space-8);background:var(--bg);border-radius:var(--radius-xl);flex-shrink:0;align-self:center}.scope-detail{max-width:820px;padding:var(--space-24) var(--space-24);margin:0 auto}.scope-detail-toolbar{align-items:center;gap:var(--space-16);margin-bottom:var(--space-4);display:flex}.scope-detail-toolbar h2{font-size:var(--type-title-size);font-weight:var(--weight-medium);text-transform:none;letter-spacing:0;color:var(--color-text-primary);flex:1;margin:0}.btn-add-wp{border:1px solid var(--color-border-secondary);color:var(--color-text-primary);font-size:var(--type-body-size);font-weight:var(--weight-medium);padding:var(--space-4) var(--space-8);border-radius:var(--radius);cursor:pointer;background:0 0}.btn-add-wp:hover{background:var(--color-background-secondary)}.scope-rollup-strip{align-items:flex-start;gap:var(--space-32);padding:var(--space-12) 0;border:none;border-bottom:1px solid var(--color-border-tertiary);box-shadow:none;background:0 0;border-radius:0;margin-bottom:0;display:flex}.rollup-metric{gap:var(--space-2);flex-direction:column;display:flex}.rollup-value{font-size:var(--type-heading-size);font-weight:var(--weight-medium);color:var(--color-text-primary)}.rollup-value-secondary{font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--color-text-secondary)}.rollup-label{font-size:var(--type-small-size);color:var(--color-text-tertiary);text-transform:none;letter-spacing:0;font-weight:var(--weight-regular)}.rollup-count{font-size:var(--type-body-size);color:var(--color-text-secondary);align-self:center;margin-left:auto}.deferred-heading{opacity:.6}.doc-row{grid-template-columns:var(--col-grip) var(--col-ctrl) calc(var(--col-bar) + var(--col-bar-gap)) 1fr var(--col-expand);min-height:30px;padding:var(--pad-row,4px) 0;align-items:center;display:grid}.col-grip{grid-column:1}.col-ctrl{grid-column:2}.col-bar{grid-column:3}.col-text{grid-column:4;min-width:0}.col-expand{grid-column:5}.doc-row>.doc-card-grip{grid-column:1}.doc-row>.doc-card-row{grid-column:4;min-width:0}.doc-group{margin-bottom:var(--space-12)}.doc-group:last-child{margin-bottom:0}.doc-group-body{gap:var(--space-8);flex-direction:column;display:flex}.doc-group-header{background:var(--surface);grid-template-columns:var(--col-grip) var(--col-ctrl) calc(var(--col-bar) + var(--col-bar-gap)) 1fr var(--col-expand);width:100%;padding:var(--space-8) 0;text-align:left;color:var(--text-secondary);font-size:var(--type-body-size);font-weight:var(--weight-semibold);border:none;border-radius:0;align-items:center;margin:0;font-family:inherit;display:grid}.doc-group-header[role=button]{cursor:pointer}.doc-group-header[role=button]:hover{background:var(--surface-hover-warm)}.doc-group-header>.col-text{align-items:center;gap:var(--space-8);min-width:0;display:flex}.doc-group-header>.col-expand{justify-content:center;align-items:center;display:flex}.doc-group-chevron{font-size:var(--type-heading-size);color:var(--text-secondary);line-height:1}.doc-group-header:hover .doc-group-chevron{color:var(--chevron-hover)}.doc-group-title{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-secondary);align-items:center;min-width:0;display:flex}.doc-group-header>.col-grip[draggable=true]{cursor:grab}.doc-group-header>.col-grip[draggable=true]:active{cursor:grabbing}.doc-group-grip-dots{opacity:0;height:100%;color:var(--text-tertiary);transition:opacity var(--duration-fast) var(--ease-subtle);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:14px;display:flex}.doc-group-header:hover .doc-group-grip-dots{opacity:1}.doc-group-header>.col-grip[draggable=true]:hover .doc-group-grip-dots{color:var(--text-secondary)}.doc-group-delete{padding:0 var(--space-4);color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-instant) var(--ease);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:14px;line-height:1;display:inline-flex}.doc-group-delete:hover{color:var(--text-secondary)}.doc-card{background:var(--surface-card);border-radius:var(--radius);margin-left:var(--space-24);box-shadow:none;padding:var(--space-12) var(--space-24) var(--space-24) var(--space-24);margin-bottom:var(--space-8);border:none;position:relative}.doc-card--wp{padding:var(--space-12) var(--space-24) var(--space-24) var(--space-24)}.doc-card[data-card-type=wp]{background:var(--wp-disc-bg,var(--surface));transition:background var(--duration-instant) var(--ease), box-shadow var(--duration-fast) var(--ease);grid-template-columns:var(--col-grip) var(--col-ctrl) calc(var(--col-bar) + var(--col-bar-gap)) 1fr var(--col-expand);padding-left:0;padding-right:0;padding-bottom:var(--space-12);align-items:start;display:grid}.doc-card[data-card-type=wp]>.col-expand{padding-top:var(--space-12);grid-column:5;justify-content:center;display:flex}.doc-card[data-card-type=decision]{outline:2px solid var(--gray-200);outline-offset:-2px;border-radius:var(--radius-md);box-shadow:none;padding:var(--space-4);margin-bottom:var(--space-24);border:none;overflow:hidden;background:color-mix(in srgb, var(--control-accent) 8%, var(--surface))!important}.doc-card[data-card-type=decision]:hover{background:color-mix(in srgb, var(--control-accent) 8%, var(--surface))!important}.doc-card[data-card-type=committed]{border:1px solid var(--border);padding:var(--space-16);margin-bottom:var(--space-12);opacity:.6}.doc-card[data-card-type=dismissed]{border:1px solid var(--border);padding:var(--space-16);margin-bottom:var(--space-12);opacity:.5}.doc-card[data-card-type=alert]{padding:var(--space-8) var(--space-12)}.scope-color-toggle,.gantt-color-toggle,.scope-mode-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:stretch;height:22px;display:inline-flex;overflow:hidden}.scope-color-seg,.gantt-color-seg,.scope-mode-seg{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--text-secondary);padding:0 var(--space-8);cursor:pointer;background:0 0;border:none;line-height:1}.scope-color-seg+.scope-color-seg,.gantt-color-seg+.gantt-color-seg,.scope-mode-seg+.scope-mode-seg{border-left:1px solid var(--border)}.scope-color-seg.is-active,.gantt-color-seg.is-active,.scope-mode-seg.is-active{background:var(--control-accent);color:var(--surface)}.scope-color-seg:not(.is-active):hover,.gantt-color-seg:not(.is-active):hover,.scope-mode-seg:not(.is-active):hover{color:var(--text);background:color-mix(in srgb, var(--control-accent) 8%, var(--surface))}.scope-header-toggles{align-items:center;gap:var(--space-8);display:inline-flex}.doc-card[data-card-type=deliverable]{border:1px solid var(--border);padding:var(--space-8) var(--space-16);margin-bottom:var(--space-8)}.doc-dismiss{cursor:pointer;width:20px;height:20px;color:var(--text-tertiary);font-size:var(--type-body-size);border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease), background var(--duration-instant) var(--ease);background:0 0;border:none;padding:0;line-height:1}.doc-dismiss:hover{opacity:1;color:var(--state-danger);background:var(--red-50)}.doc-dismiss:active{background:color-mix(in srgb, var(--state-danger) 20%, transparent)}.doc-card:hover .doc-dismiss,.doc-table tr:hover .doc-dismiss,.scope-exp-row-removable:hover .doc-dismiss{opacity:1}.doc-dismiss--text{opacity:1;width:auto;height:auto;padding:var(--space-2) var(--space-8);font-size:var(--type-small-size)}.doc-dismiss--icon{color:var(--gray-400);justify-content:center;align-items:center;display:inline-flex}.doc-dismiss--icon:hover{color:var(--text-secondary);background:0 0}.doc-card-id-row-trash{margin-left:var(--space-4);opacity:1;flex-shrink:0}.doc-card-dismiss{width:20px;height:20px;font-size:var(--type-body-size);border-radius:var(--radius-full);color:var(--text-tertiary);cursor:pointer;opacity:1;transition:color var(--duration-instant) var(--ease), background var(--duration-instant) var(--ease);background:0 0;border:none;padding:0;line-height:1;position:absolute;top:8px;right:8px}.doc-card-dismiss:hover{color:var(--state-danger);background:var(--red-50)}.doc-card-dismiss:active{background:color-mix(in srgb, var(--state-danger) 20%, transparent)}.doc-card-dismiss.doc-dismiss--text{opacity:1;width:auto;height:auto;padding:var(--space-2) var(--space-8);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.doc-card[data-card-state~=expanded] .doc-card-dismiss{opacity:1}.doc-card-dismiss--icon{justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.doc-add{cursor:pointer;font-size:var(--type-body-size);color:var(--text-secondary);padding:var(--space-4) 0;background:0 0;border:none}.doc-add:hover{color:var(--text)}.doc-action{font-size:var(--type-body-size);color:var(--text-secondary);cursor:pointer;padding:var(--space-4) 0;text-align:left;background:0 0;border:none}.doc-action:hover{color:var(--text-primary)}.scope-phase-name{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.scope-phase-stats{align-items:center;gap:var(--space-12);font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--gray-800);font-variant-numeric:tabular-nums;flex:none;display:flex}.scope-phase-stat{white-space:nowrap}.scope-phase-stat:last-child{text-align:right;font-variant-numeric:tabular-nums;min-width:72px}.scope-phase-name--editable:hover{cursor:text;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--gray-400);text-decoration-color:var(--gray-400)}.scope-phase-name-input{min-width:0;font-family:inherit;font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-8);outline:none;flex:1}.scope-phase-name-input:focus{border-color:var(--text-link);box-shadow:var(--focus-ring)}.scope-phase-drop-target{outline:2px dashed var(--text-link);outline-offset:2px;border-radius:var(--radius)}.doc-card-grip{cursor:grab;-webkit-user-select:none;user-select:none;grid-column:1;justify-content:center;align-self:stretch;align-items:flex-start;padding-top:14px;display:flex}.doc-card-grip:active,.doc-card[data-dragging] .doc-card-grip{cursor:grabbing}.doc-card-grip-dots{font-size:var(--type-small-size);color:#0000;transition:color var(--duration-fast) var(--ease);pointer-events:none;line-height:1}.doc-card:hover .doc-card-grip-dots{color:var(--text-tertiary)}.doc-card-grip:hover .doc-card-grip-dots{color:var(--text-secondary)}.doc-card[data-dragging]{opacity:.4}.scope-phase-dragging{outline:2px dashed var(--border-default);outline-offset:4px;border-radius:var(--radius)}.scope-phase-slot{height:var(--space-16);position:relative}.scope-phase-slot.active:after{content:"";background:var(--state-info);border-radius:1px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.scope-wp-drop-zone{height:var(--space-16);position:relative}.scope-wp-drop-zone.active:after{content:"";background:var(--state-info);border-radius:1px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.scope-add-form{gap:var(--space-8);flex-direction:column;display:flex}.scope-add-actions{gap:var(--space-8);display:flex}.scope-empty-note,.doc-section-empty{font-size:var(--type-body-size);color:var(--text-placeholder);margin:0 0 var(--space-12);padding-left:var(--space-24);font-style:italic}.doc-section-empty{padding-left:0}.doc-card[data-card-type=wp]:hover{background:var(--wp-disc-bg,var(--surface));box-shadow:0 0 0 2px var(--control-accent), 0 2px 8px #00000014}.doc-card[data-card-state~=deferred]{opacity:.45}.doc-card[data-card-state~=deferred] .doc-card-title{text-decoration:line-through}.doc-card[data-card-type=wp][data-card-state~=deferred]{opacity:.7;background:var(--gray-100)!important}.doc-card-toggle{border-radius:var(--radius-full);background:var(--gray-300);cursor:pointer;width:24px;height:14px;transition:background var(--duration-shift) var(--ease-in-out);border:none;flex-shrink:0;padding:0;position:relative}.doc-card-toggle:after{content:"";border-radius:var(--radius-full);background:var(--white);width:10px;height:10px;box-shadow:var(--shadow-toggle);transition:transform var(--duration-shift) var(--ease-in-out);position:absolute;top:2px;left:2px}.doc-card-toggle[aria-checked=true]{background:var(--control-accent)}.doc-card-toggle[aria-checked=true]:after{transform:translate(10px)}.doc-card-toggle:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.doc-card[data-card-state~=ghost]{opacity:.35;cursor:default}.doc-card[data-card-state~=ghost]:hover{background:var(--surface-card);opacity:.35}.doc-card[data-card-state~=ghost] .doc-card-title{text-decoration:line-through}.doc-card[data-card-state~=ghost] .doc-card-pill,.doc-card[data-card-state~=ghost] .doc-card-bar-block,.doc-card[data-card-state~=readonly] .scope-exp-add-link,.doc-card[data-card-state~=readonly] .scope-exp-add-form,.doc-card[data-card-state~=readonly] .doc-dismiss,.doc-card[data-card-state~=readonly] .scope-exp-vendor-empty{display:none}.doc-card[data-card-state~=readonly] .scope-exp-editable{pointer-events:none;cursor:default;background:0 0;border:none;padding:0;text-decoration:none}.doc-card-undo{margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--type-small-size);font-weight:var(--weight-medium);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;display:inline-block}.doc-card-undo:hover{color:var(--text);text-decoration:underline}.doc-card-row{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.doc-card-id-row{align-items:baseline;gap:var(--space-8);min-width:0;display:flex}.doc-card-title-area{flex:1;min-width:0}.doc-card-title-row{align-items:center;gap:var(--space-8);min-width:0;max-width:100%;display:inline-flex}.doc-card-dollar{text-align:right;min-width:72px;font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text-secondary);white-space:nowrap;font-variant-numeric:tabular-nums}.doc-card-stat-col{align-items:flex-end;gap:var(--space-2);flex-direction:column;flex-shrink:0;min-width:72px;display:flex}.doc-card-stat-col>.doc-card-dollar,.doc-card-stat-col>.doc-card-hours-val{min-width:0}.doc-card-meta-row{align-items:baseline;gap:var(--space-8);min-width:0;display:flex}.doc-card-meta-text{min-width:0;font-size:var(--type-small-size);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.doc-card-hours-val{text-align:right;min-width:72px;font-size:var(--type-small-size);color:var(--text-tertiary);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:var(--space-4);justify-content:flex-end;display:flex}.doc-card-range-indicator{font-size:var(--type-micro-size);color:var(--state-warning);flex-shrink:0;line-height:1}.wp-alert-badge{background:var(--state-warning);width:16px;height:16px;color:var(--white);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.doc-card-title{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--text);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.doc-card-title--editable:hover{cursor:text;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-color:var(--gray-400);text-decoration-color:var(--gray-400)}.doc-card-title-input{width:100%;font-family:inherit;font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-8);outline:none}.doc-card-title-input:focus{border-color:var(--text-link);box-shadow:var(--focus-ring)}.doc-card-desc{font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:var(--space-2);overflow:hidden}.doc-card-num{font-variant-numeric:tabular-nums}.doc-card-bottom-row{margin-top:var(--space-8);grid-template-columns:1fr 2fr 1fr;align-items:center;display:grid;position:relative}.doc-card[data-card-type=wp]:not([data-card-state~=expanded]) .doc-card-bottom-row{display:none}.doc-card-bar-block{grid-column:2;position:relative}.doc-card-bar-block:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.doc-card-meta-row>.doc-card-more-btn{flex-shrink:0;margin-left:auto}.doc-card-rangebar{background:var(--color-border-secondary);border-radius:var(--radius-bar);width:100%;height:4px;position:relative;overflow:visible}.doc-card-rangedot{border-radius:var(--radius-circle);background:var(--range-bar-dot);border:2px solid var(--surface);width:8px;height:8px;box-shadow:0 0 0 1px var(--border);margin-top:-4px;margin-left:-4px;position:absolute;top:50%}.doc-card-rangelabels{margin-top:var(--space-4);font-size:var(--type-small-size);color:var(--color-text-tertiary);font-family:var(--font-mono);justify-content:space-between;line-height:1;display:flex}.doc-card-ext-line{border-top:2px dashed var(--range-out-color);height:0;margin-top:-1px;position:absolute;top:50%}.doc-card-ext-line-above{width:24px;left:100%}.doc-card-ext-line-below{width:24px;right:100%}.doc-card-ext-dot{border-radius:var(--radius-circle);background:var(--range-out-color);width:8px;height:8px;margin-top:-4px;margin-left:-4px;position:absolute;top:50%}.doc-card-ext-dot-above{left:calc(100% + 24px)}.doc-card-ext-dot-below{left:-24px}.doc-card-ext-label{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--range-out-color);font-family:var(--font-mono);white-space:nowrap;text-align:center;line-height:1;position:absolute;top:8px}.doc-card-ext-label-above{left:calc(100% + 24px);transform:translate(-50%)}.doc-card-ext-label-below{left:-24px;transform:translate(-50%)}.doc-card-ext-label-within{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px var(--space-4);line-height:1.2;top:auto;bottom:calc(100% + 6px);transform:translate(-50%)}.doc-card-pill{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-8);background:var(--color-background-tertiary);border-radius:var(--radius);font-size:var(--type-small-size);color:var(--text-secondary);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.doc-card[data-card-type=wp]:hover .doc-card-pill,.doc-card[data-card-state~=expanded] .doc-card-pill{opacity:1;pointer-events:auto}.doc-card[data-card-state~=expanded] .doc-card-pill{transition:none}.doc-card[data-card-type=wp][data-card-state~=expanded]{background:var(--wp-disc-bg,var(--surface-card));cursor:default}.doc-card[data-card-type=wp][data-card-state~=expanded]:hover{background:var(--wp-disc-bg,var(--surface-card))}.doc-card[data-card-state~=expanded] .doc-dismiss{opacity:1}.doc-card-body{margin-top:42px}.scope-exp-section{padding:0}.scope-exp-row{padding:var(--space-4) 24px var(--space-4) 0;font-size:var(--type-body-size);align-items:center;display:flex;position:relative}.scope-exp-row-removable:hover{background:var(--color-background-tertiary)}.scope-exp-label{font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--color-text-secondary);text-align:left;background:0 0;border:none;flex:1;padding:0;font-family:inherit}.scope-exp-label-editable{cursor:pointer;border-bottom:1px dashed #0000;align-self:flex-start}.scope-exp-label-editable:hover{border-bottom-color:var(--border)}.scope-exp-value{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--color-text-primary);background:0 0;border:none;margin-right:40px;padding:0;font-family:inherit}.scope-exp-editable{cursor:text;border-bottom:1px dashed var(--color-border-tertiary)}.scope-exp-editable:hover{border-bottom-color:var(--color-text-secondary)}.scope-exp-input{font-size:var(--type-body-size);padding:var(--space-2) var(--space-4);border:1px solid var(--control-accent);border-radius:var(--radius-sm);background:var(--surface);text-align:right;outline:none;width:80px;margin-right:36px;font-family:inherit}.scope-exp-input-name{text-align:left;width:auto;margin-right:var(--space-12);flex:1}.scope-exp-row-removable .doc-dismiss{position:absolute;top:50%;right:0;transform:translateY(-50%)}.scope-exp-add-link{text-align:left;font-size:var(--type-small-size);font-weight:var(--weight-regular);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;padding:6px 0 0;font-family:inherit;display:inline-block}.scope-exp-add-link:hover{color:var(--text);text-decoration:underline}.scope-exp-section>.scope-exp-add-link:first-child{padding-top:0}.scope-exp-add-form{align-items:center;gap:var(--space-8);padding:var(--space-4) 0;display:flex}.scope-exp-add-name{font-size:var(--type-body-size);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1}.scope-exp-add-value{width:80px;font-size:var(--type-body-size);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:right}.doc-card-cost-tag,.scope-exp-section-label,.scope-exp-tbl-header-3,.scope-exp-tbl-header-4{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.6px;font-family:inherit}.scope-exp-section-label{padding-top:0;padding-bottom:0}.scope-exp-section+.scope-exp-section{padding-top:var(--space-12)}.scope-exp-tbl-header-3,.scope-exp-tbl-row-3{grid-template-columns:1fr var(--col-hours) var(--col-cost);column-gap:var(--space-12);align-items:center;margin-right:-24px;padding-right:24px;display:grid}.scope-exp-tbl-header-4,.scope-exp-tbl-row-4{grid-template-columns:1fr var(--col-qty) var(--col-cost) var(--col-cost);column-gap:var(--space-12);align-items:center;margin-right:-24px;padding-right:24px;display:grid}.scope-exp-tbl-header-3,.scope-exp-tbl-header-4{padding-top:0;padding-bottom:0}.scope-exp-tbl-header-3>:nth-child(2),.scope-exp-tbl-header-3>:nth-child(3),.scope-exp-tbl-header-4>:nth-child(n+2){text-align:right}.scope-exp-tbl-row-3,.scope-exp-tbl-row-4{padding-top:var(--space-4);padding-bottom:var(--space-4);font-size:var(--type-body-size);position:relative}.scope-exp-tbl-row-3:after,.scope-exp-tbl-row-4:after{content:"";border-bottom:.5px solid var(--color-border-tertiary);position:absolute;bottom:0;left:0;right:0}.scope-exp-tbl-name{font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text-secondary);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:0;font-family:inherit;overflow:hidden}.scope-exp-tbl-num{font-size:var(--type-body-size);color:var(--text);text-align:right}.scope-exp-tbl-value{font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text);text-align:right;font-variant-numeric:tabular-nums;background:0 0;border:none;min-width:20px;padding:0;font-family:inherit}.scope-exp-tbl-input{font-size:var(--type-body-size);padding:var(--space-2) var(--space-4);border:1px solid var(--control-accent);border-radius:var(--radius-sm);background:var(--surface);text-align:right;box-sizing:border-box;outline:none;width:100%;font-family:inherit}.scope-exp-tbl-input-name{text-align:left}.scope-exp-vendor-row{align-items:center;gap:var(--space-4);padding:0 var(--space-8) var(--space-4) var(--space-8);font-size:var(--type-small-size);color:var(--text-secondary);display:flex}.scope-exp-vendor-name{border-bottom:1px dashed #0000}.scope-exp-vendor-name:hover{border-bottom-color:var(--color-border-tertiary)}.scope-exp-vendor-sep{color:var(--text-placeholder)}.scope-exp-vendor-empty{color:var(--text-placeholder);cursor:text;font-style:italic}.scope-exp-vendor-link{color:var(--text-link);text-underline-offset:2px;text-decoration:underline}.scope-exp-vendor-link:hover{opacity:.8}.scope-exp-vendor-link-wrap{cursor:text}.scope-exp-vendor-input{font-size:var(--type-small-size);border:1px solid var(--control-accent);border-radius:var(--radius-sm);padding:1px var(--space-4);background:var(--surface-input);color:var(--text);outline:none;font-family:inherit}.scope-exp-vendor-link-input{min-width:200px}.scope-exp-error{margin-top:var(--space-8);padding:var(--space-8) var(--space-8);background:var(--alert-error-bg);border-radius:var(--radius);color:var(--danger);font-size:var(--type-small-size)}.disc-chips{gap:var(--space-4);margin-top:var(--space-2);align-items:center;display:flex}.disc-chip{width:24px;height:24px;font-size:var(--type-micro-size);letter-spacing:-.3px;cursor:pointer;border:1.5px solid var(--border);color:var(--text-secondary);opacity:.35;-webkit-user-select:none;user-select:none;transition:opacity var(--duration-instant) var(--ease), transform var(--duration-instant) var(--ease);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.disc-chip:not([disabled]):hover{opacity:.6;transform:scale(1.1)}.disc-chip[disabled]{cursor:default}.disc-chip.disc-chip-on{opacity:1}.disc-chip.disc-chip-hw.disc-chip-on{background:var(--disc-hw-bg);border-color:var(--disc-hw);color:var(--disc-hw)}.disc-chip.disc-chip-me.disc-chip-on{background:var(--disc-me-bg);border-color:var(--disc-me);color:var(--disc-me)}.disc-chip.disc-chip-sw.disc-chip-on{background:var(--disc-sw-bg);border-color:var(--disc-sw);color:var(--disc-sw)}.disc-chip.disc-chip-ds.disc-chip-on{background:var(--disc-ds-bg);border-color:var(--disc-ds);color:var(--disc-ds)}.disc-chip.disc-chip-mg.disc-chip-on{background:var(--disc-mg-bg);border-color:var(--disc-mg);color:var(--disc-mg)}.disc-editor-rows{gap:var(--space-6);margin:var(--space-12) 0;flex-direction:column;display:flex}.disc-editor-row{align-items:center;gap:var(--space-8);display:flex}.disc-editor-color{border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;width:32px;height:32px;padding:2px}.disc-editor-name{flex:1;min-width:0}.disc-editor-abbr{text-transform:uppercase;width:52px;font-family:var(--font-mono,monospace);flex-shrink:0}.disc-editor-remove{color:var(--color-text-muted);cursor:pointer;padding:0 var(--space-4);background:0 0;border:none;flex-shrink:0;font-size:18px;line-height:1}.disc-editor-remove:hover{color:var(--color-error,#c0392b)}.disc-editor-add{color:var(--color-accent);cursor:pointer;font-size:var(--font-size-sm);margin-bottom:var(--space-12);background:0 0;border:none;padding:0}.disc-editor-actions{gap:var(--space-8);margin-top:var(--space-4);justify-content:flex-end;display:flex}.disc-dots{gap:var(--space-4);flex-wrap:wrap;margin-top:5px;display:flex}.disc-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.disc-dot-hw{background:var(--disc-hw)}.disc-dot-me{background:var(--disc-me)}.disc-dot-sw{background:var(--disc-sw)}.disc-dot-ds{background:var(--disc-ds)}.disc-dot-mg{background:var(--disc-mg)}.doc-card[data-card-state~=expanded] .disc-dots{display:none}.labor-type-circle{width:8px;height:8px;margin-right:var(--space-8);vertical-align:middle;border-radius:50%;flex-shrink:0;display:inline-block}.labor-type-circle-hw{background:var(--disc-hw)}.labor-type-circle-me{background:var(--disc-me)}.labor-type-circle-sw{background:var(--disc-sw)}.labor-type-circle-ds{background:var(--disc-ds)}.labor-type-circle-mg{background:var(--disc-mg)}.disc-circles{gap:var(--space-4);flex-shrink:0;align-items:center;display:flex}.disc-circle{width:20px;height:20px;font-size:var(--type-micro-size);font-weight:var(--weight-semibold);color:var(--white);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.disc-circle-hw{background:var(--disc-hw)}.disc-circle-me{background:var(--disc-me)}.disc-circle-sw{background:var(--disc-sw)}.disc-circle-ds{background:var(--disc-ds)}.disc-circle-mg{background:var(--disc-mg)}.disc-circles{position:relative}.disc-circles-trigger{gap:var(--space-4);cursor:pointer;border-radius:var(--radius-sm);outline-offset:2px;background:0 0;border:none;align-items:center;padding:0;display:flex}.disc-circles-trigger:disabled{cursor:default}.disc-circles-trigger:not(:disabled):hover .disc-circle{opacity:.8}.disc-circle--empty{background:var(--surface-3);color:var(--text-muted);font-size:14px;font-weight:var(--weight-medium);border:1px dashed var(--border-subtle)}.disc-inline-picker{gap:var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200;padding:6px 8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.doc-card-body-wrap{transition:grid-template-rows .25s var(--ease-out);grid-column:4/-1;grid-template-rows:0fr;display:grid;overflow:hidden}.doc-card[data-card-state~=expanded] .doc-card-body-wrap{grid-template-rows:1fr}.doc-card-body-inner{min-height:0}.doc-card-expand-indicator{text-align:center;font-size:var(--type-body-size);color:var(--gray-300);transition:color .15s var(--ease), transform .25s var(--ease-in-out);pointer-events:none;-webkit-user-select:none;user-select:none;padding:2px 0 4px;line-height:1;display:block}.doc-card:hover .doc-card-expand-indicator{color:var(--gray-500)}.doc-card[data-card-state~=expanded] .doc-card-expand-indicator{transform:rotate(180deg)}.doc-card[data-card-type=wp][data-card-state~=deferred]:has(.doc-card-toggle:hover){opacity:1;background:var(--green-50)!important}.doc-card[data-card-type=wp][data-card-state~=deferred]:has(.doc-card-toggle:hover) .doc-card-title{color:var(--text-primary);text-decoration:none}.editable-text{cursor:pointer;border-bottom:1px dashed #0000}.editable-text:hover{border-bottom-color:var(--border)}.inline-edit-input{font-size:inherit;padding:var(--space-2) var(--space-4);border:1px solid var(--control-accent);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);outline:none;font-family:inherit}.inline-confirm-delete{align-items:center;gap:var(--space-4);display:flex}.confirm-label{font-size:var(--type-small-size);color:var(--danger);font-weight:var(--weight-medium)}.scope-add-row{gap:var(--space-8);align-items:center;display:flex}.materials-label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-4)}.material-item{align-items:center;gap:var(--space-8);font-size:var(--type-body-size);padding:var(--space-2) 0;display:flex}.scope-expense-form{gap:var(--space-8);margin:var(--space-8) 0;padding:var(--space-8);background:var(--bg);border-radius:var(--radius);flex-direction:column;display:flex}.scope-expense-row{gap:var(--space-8);display:flex}.scope-expense-row>*{flex:1}.material-item-editing{gap:var(--space-4);padding:var(--space-8) 0;flex-wrap:wrap}.material-item-editing input,.material-item-editing select{font-size:var(--type-small-size);padding:var(--space-2) var(--space-4)}.wp-name-autocomplete{position:relative}.wp-suggestions{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);max-height:240px;margin:var(--space-2) 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestion-header{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-8) var(--space-12) var(--space-2)}.suggestion-item{padding:var(--space-8) var(--space-12);font-size:var(--type-body-size);cursor:pointer}.suggestion-item:hover,.suggestion-item.active{background:var(--bg)}.suggestion-category{font-size:var(--type-small-size);color:var(--text-secondary);margin-left:6px}.pricing-area-label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--space-16)}.pricing-controls{gap:var(--space-24);margin-bottom:var(--space-24);padding:0 var(--space-24) var(--space-16);border-bottom:1px solid var(--border);display:flex}.pricing-control{gap:var(--space-4);flex-direction:column;display:flex}.pricing-control label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.pricing-input-group{align-items:center;gap:var(--space-4);display:flex}.pricing-input-group input{width:72px;padding:var(--space-4) var(--space-8);text-align:right;font-size:var(--type-body-size);font-weight:var(--weight-medium)}.pricing-unit{font-size:var(--type-body-size);color:var(--text-secondary)}.pricing-hint{font-size:var(--type-small-size);color:var(--text-secondary)}.pricing-totals{border-collapse:collapse;width:100%;margin-bottom:var(--space-16)}.pricing-line td{font-size:var(--type-body-size);padding:var(--space-8) 0;border-bottom:1px solid var(--border)}.pricing-num{text-align:right;font-variant-numeric:tabular-nums}.pricing-subtotal td{border-top:2px solid var(--border);font-weight:var(--weight-medium)}.pricing-grand-total td{border-top:2px solid var(--text);font-size:var(--type-body-size);font-weight:var(--weight-bold);padding:var(--space-8) 0 var(--space-2);border-bottom:none}.pricing-totals td:first-child{padding-left:var(--space-24)}.pricing-totals .pricing-num{padding-right:var(--space-24)}.pricing-milestones{margin-top:var(--space-8)}.milestones-toggle{font-size:var(--type-body-size);color:var(--text-secondary);cursor:pointer;padding:var(--space-4) 0;font-weight:var(--weight-medium);background:0 0;border:none}.milestones-toggle:hover{color:var(--text)}.doc-section-header{grid-template-columns:var(--col-grip) var(--col-ctrl) calc(var(--col-bar) + var(--col-bar-gap)) 1fr var(--col-expand);margin-bottom:var(--space-12);align-items:baseline;display:grid}.doc-section-header>.col-text{align-items:baseline;min-width:0;display:flex}.doc-section-header>.col-text>.doc-section-title{margin-left:calc(-1 * (var(--col-grip) + var(--col-ctrl) + var(--col-bar) + var(--col-bar-gap)))}.doc-section-content>.doc-section-header{grid-template-columns:1fr auto}.doc-section[data-orientation=landscape] .doc-section-content>.doc-section-header,.doc-section[data-orientation=landscape] .doc-section-content>.schedule-header{padding-left:calc((var(--page-content-w-landscape) - var(--page-content-w-portrait)) / 2)}.doc-section-title{font-size:var(--type-heading-size);font-weight:var(--weight-semibold);color:var(--text);margin:0}.doc-section-subtext{font-size:var(--type-body-size);color:var(--text-tertiary);margin:0;padding-top:2px;padding-bottom:0;padding-left:24px;font-weight:400}.doc-section-action{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--control-accent);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:color var(--duration-fast) var(--ease)}.doc-section-action:hover{color:var(--control-accent);text-decoration:underline}.doc-section-orientation-toggle{font-size:var(--type-small-size);font-weight:var(--weight-regular);color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:none;padding:1px 6px}.doc-section-orientation-toggle:hover{color:var(--text-secondary);background:var(--bg)}.doc-section-dedicated-toggle{align-items:center;gap:var(--space-8);color:var(--text-tertiary);font-size:var(--type-small-size);font-weight:var(--weight-regular);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease);background:0 0;border:none;padding:1px 4px 1px 6px;display:inline-flex;position:relative}.doc-section-dedicated-toggle:hover{color:var(--text-secondary)}.doc-section-dedicated-toggle:before{content:"";border:1px solid var(--gray-200);background:var(--gray-100,var(--bg));width:32px;height:18px;transition:background .2s var(--ease), border-color .2s var(--ease);vertical-align:middle;border-radius:12px;flex:none;display:inline-block}.doc-section-dedicated-toggle:after{content:"";width:14px;height:14px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;margin-top:-7px;position:absolute;top:50%;left:8px;box-shadow:0 1px 2px #0000001f}.doc-section-dedicated-toggle.is-on{color:var(--text-secondary)}.doc-section-dedicated-toggle.is-on:before{background:var(--control-accent);border-color:var(--control-accent)}.doc-section-dedicated-toggle.is-on:after{transform:translate(14px);box-shadow:0 1px 2px #0000002e}.doc-section-header-end,.narrative-header-end{align-items:baseline;gap:var(--space-8);margin-left:auto;display:inline-flex}.narrative-header-end .narrative-ai-trigger{margin-left:0}.cover-dedicated-toggle,.cover-layout-controls{top:var(--space-8);right:var(--space-24);z-index:2;position:absolute}.cover-layout-controls{align-items:center;gap:var(--space-8);display:inline-flex}.milestones-content{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--border)}.milestone-add-form{gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.milestone-add-form input{font-size:var(--type-body-size);padding:var(--space-4) var(--space-8)}.payment-schedule-rows{border-collapse:collapse;width:100%;margin-bottom:var(--space-8)}.ps-row td,.ps-row th{padding:var(--space-8) 0;border-bottom:1px solid var(--border);font-size:var(--type-body-size);vertical-align:middle}.ps-row td:first-child,.ps-row th:first-child{padding-left:var(--space-24)}.ps-row td:last-child,.ps-row th:last-child{padding-right:var(--space-24)}.ps-row--header th{border-bottom:2px solid var(--border);font-size:var(--type-small-size);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:var(--weight-semibold);vertical-align:top}.ps-row--downpayment td{background:var(--bg);font-weight:var(--weight-medium)}.ps-row--total td,.ps-row--total th{border-top:2px solid var(--text);font-weight:var(--weight-semibold);border-bottom:none}.ps-row--add td{padding:var(--space-4) 0;border-bottom:none}.ps-row--alert{background:var(--milestone-alert-bg)}.ps-cell-name{gap:var(--space-2);flex-direction:column;display:flex}.ps-row td.ps-cell-date,.ps-row th.ps-cell-date{width:104px;padding-left:var(--space-4);padding-right:var(--space-4)}.ps-row td.ps-cell-num,.ps-row th.ps-cell-num{text-align:right;width:80px;padding-left:var(--space-4);font-variant-numeric:tabular-nums;padding-right:0}.ps-cell-actions{width:0;padding:0}.pricing-detail-strip{padding:0}.pricing-detail-grid{gap:var(--space-16);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.pricing-detail-section h4{font-size:var(--type-small-size);color:var(--text-secondary);margin-bottom:var(--space-8);text-transform:uppercase;letter-spacing:.5px}.pricing-expenses{margin-top:var(--space-4)}.pricing-details{margin-top:var(--space-4);padding:0 var(--space-24)}.detail-table{border-collapse:collapse;width:100%;font-size:var(--type-body-size)}.detail-table th{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:var(--space-4) var(--space-8);text-align:right;vertical-align:top;border-bottom:2px solid var(--border)}.detail-table th:first-child{text-align:left}.detail-table td{padding:var(--space-4) var(--space-8);text-align:right;border-bottom:1px solid var(--border)}.detail-table td:first-child{text-align:left}.detail-col-num{width:70px}.detail-col-cost{width:90px}.payment-schedule-section{margin-top:var(--space-16);padding:var(--space-16) 0 0 var(--space-24);border-top:1px solid var(--border)}.ps-mode-row{background:var(--segmented-track-bg);border-radius:var(--radius-sm);margin-bottom:var(--space-12);border:none;align-items:center;gap:0;padding:2px;display:inline-flex}.ps-mode-btn{padding:var(--space-4) var(--space-12);font-size:var(--type-small-size);font-weight:var(--segmented-seg-weight);border-radius:calc(var(--radius-sm) - 1px);color:var(--segmented-seg-fg);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none}.ps-mode-btn.active{background:var(--segmented-seg-active-bg);color:var(--segmented-seg-active-fg);font-weight:var(--segmented-seg-active-weight);box-shadow:var(--segmented-seg-active-shadow)}.ps-mode-btn:hover:not(.active):not(:disabled){background:var(--segmented-seg-hover-bg)}.ps-mode-btn:disabled{opacity:.5;cursor:not-allowed}.ps-modifiers{gap:var(--space-24);margin-bottom:var(--space-8);display:flex}.ps-toggle-row{align-items:center;gap:var(--space-8);font-size:var(--type-body-size);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.ps-toggle-row input[type=checkbox]{cursor:pointer}.ps-inline-pct{align-items:center;gap:var(--space-4);display:flex}.ps-inline-pct input{width:52px;padding:var(--space-2) var(--space-8);font-size:var(--type-body-size);text-align:right}.ps-reserve-hint{font-size:var(--type-small-size);color:var(--text-secondary);margin:var(--space-4) 0 var(--space-12);font-style:italic}.ps-confirm-dialog{background:var(--alert-warn-bg);border:1px solid var(--alert-warn-border);border-radius:var(--radius);padding:var(--space-12) var(--space-12);margin-bottom:var(--space-12);font-size:var(--type-body-size);align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.ps-confirm-dialog p{flex:1;margin:0}.ps-empty-state{font-size:var(--type-body-size);color:var(--text-secondary);padding:var(--space-12) 0}.doc-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:var(--type-body-size)}.doc-table th{font-size:var(--type-small-size);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-weight:var(--weight-semibold);padding:var(--space-8) var(--space-8);text-align:left;border-bottom:2px solid var(--border)}.doc-table td{padding:var(--space-8);border-bottom:1px solid var(--border);vertical-align:middle}.doc-table tbody tr:hover{background:var(--bg)}.doc-table tbody tr:hover .doc-dismiss{opacity:1}.ps-name-cell{gap:var(--space-2);flex-direction:column;display:flex}.ps-row-subtext{font-size:var(--type-small-size);color:var(--text-secondary)}.ps-editable{cursor:pointer}.ps-editable:hover{text-underline-offset:2px;text-decoration:underline}.ps-reserve-amt{font-size:var(--type-small-size);color:var(--text-secondary)}.ps-inline-input{padding:var(--space-2) var(--space-8);font-size:var(--type-body-size);box-sizing:border-box;width:100%}.ps-input-sm{width:72px!important}.ps-badge{font-size:var(--type-small-size);font-weight:var(--weight-medium)}.ps-badge-modified{color:var(--state-warning)}.ps-badge-default{color:var(--text-secondary)}.ps-warn{color:var(--status-fg-warning);font-size:var(--type-small-size)}.pricing-terms{margin-top:var(--space-4);padding:0 var(--space-24)}.ps-terms-content{border-collapse:collapse;width:100%}.ps-term-row td{font-size:var(--type-body-size);padding:var(--space-4) 0}.ps-term-label{width:140px;color:var(--text-secondary);font-size:var(--type-small-size);vertical-align:middle;padding-right:var(--space-12)}.ps-term-value{color:var(--text)}.ps-term-edit{align-items:center;gap:var(--space-8);display:flex}.ps-term-badge{white-space:nowrap}.ps-term-edit input,.ps-term-edit select{padding:var(--space-2) var(--space-8);font-size:var(--type-body-size)}.ps-nte-row{border-bottom:none}.ps-custom-term .ps-term-value{color:var(--text-secondary)}.ps-custom-add{gap:var(--space-8);padding:var(--space-8) 0;align-items:center;display:flex}.ps-custom-add input{padding:var(--space-4) var(--space-8);font-size:var(--type-body-size)}.schedule-header{margin-bottom:var(--space-12);justify-content:space-between;align-items:center;display:flex}.schedule-header h3{font-size:var(--type-title-size);font-weight:var(--weight-semibold);margin:0 0 var(--space-12)}.schedule-toggles{background:var(--segmented-track-bg);border-radius:var(--radius-sm);border:none;align-items:center;gap:0;padding:2px;display:inline-flex}.schedule-toggle-btn{padding:var(--space-4) var(--space-12);font-size:var(--type-small-size);font-weight:var(--segmented-seg-weight);border-radius:calc(var(--radius-sm) - 1px);color:var(--segmented-seg-fg);cursor:pointer;transition:background var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;border:none}.schedule-toggle-btn:hover:not(.active){background:var(--segmented-seg-hover-bg)}.schedule-toggle-btn.active{background:var(--segmented-seg-active-bg);color:var(--segmented-seg-active-fg);font-weight:var(--segmented-seg-active-weight);box-shadow:var(--segmented-seg-active-shadow)}.schedule-constraints{gap:var(--space-16);margin-bottom:var(--space-12);align-items:flex-end;display:flex}.constraint-input{gap:var(--space-2);flex-direction:column;display:flex}.constraint-input label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.constraint-input input[type=date]{width:150px;padding:var(--space-4) var(--space-8);font-size:var(--type-body-size)}.schedule-summary-line{font-size:var(--type-body-size);color:var(--text-secondary);font-weight:var(--weight-medium);padding-bottom:var(--space-4)}.gantt-v2{margin-top:var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius);background:var(--surface-card);overflow:clip}.gantt-toolbar{align-items:center;gap:var(--space-12);height:36px;padding:0 var(--space-12);border-bottom:1px solid var(--border-light);background:var(--surface-hover);display:flex}.gantt-toolbar-spacer{flex:1}.gantt-zoom-group{border:1px solid var(--control-accent);border-radius:var(--radius);background:var(--surface-card);display:inline-flex;overflow:hidden}.gantt-zoom-btn{padding:var(--space-4) var(--space-12);font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--control-accent);border:none;border-right:1px solid var(--control-accent);cursor:pointer;background:0 0}.gantt-zoom-btn:last-child{border-right:none}.gantt-zoom-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.gantt-zoom-btn.active,.gantt-zoom-btn.active:hover{background:var(--control-accent);color:var(--text-on-primary)}.gantt-today-btn{padding:var(--space-4) var(--space-12);font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--control-accent);background:var(--surface-card);border:1px solid var(--control-accent);border-radius:var(--radius);cursor:pointer}.gantt-today-btn:hover{background:var(--surface-hover)}.gantt-scroll{overflow:auto visible}.gantt-content{display:block;position:relative}.gantt-header-row,.gantt-data-row{border-bottom:1px solid var(--border-light);flex-direction:row;align-items:stretch;display:flex}.gantt-header-row{background:var(--surface-hover);border-bottom:1px solid var(--border-default);z-index:3;position:sticky;top:0}.gantt-data-row{background:var(--surface-card)}.gantt-data-row:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.gantt-data-row.gantt-row-alt{background:var(--surface-hover-warm)}.gantt-grid-cells{background:inherit;border-right:1px solid var(--border-default);z-index:2;flex-direction:row;flex-shrink:0;display:flex;position:sticky;left:0}.gantt-header-cells{background:var(--surface-hover)}.gantt-cell{padding:0 var(--space-8);font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;border-right:1px solid var(--border-light);align-items:center;display:flex;overflow:hidden}.gantt-cell:last-child{border-right:none}.gantt-align-left{justify-content:flex-start}.gantt-align-right{justify-content:flex-end}.gantt-cell-name{font-weight:var(--weight-medium);padding-left:var(--space-24);line-height:36px;display:block}.gantt-header-cell{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.gantt-timeline-header{flex-shrink:0;height:100%;position:relative}.gantt-timeline-header-top,.gantt-timeline-header-bottom{height:50%;position:absolute;left:0;right:0}.gantt-timeline-header-top{border-bottom:1px solid var(--border-light);top:0}.gantt-timeline-header-bottom{bottom:0}.gantt-month-label{height:100%;padding:0 var(--space-2);font-size:var(--type-micro-size);font-weight:var(--weight-medium);color:var(--text-secondary);border-right:1px solid var(--border-light);white-space:nowrap;justify-content:flex-start;align-items:center;display:flex;position:absolute;top:0;overflow:hidden}.gantt-week-tick{height:100%;font-size:var(--type-micro-size);color:var(--text-tertiary);border-right:1px solid var(--border-light);justify-content:center;align-items:center;display:flex;position:absolute;top:0}.gantt-row-track{background:inherit;flex-shrink:0;height:100%;position:relative}.gantt-week-grid{background:var(--border-light);width:1px;position:absolute;top:0;bottom:0}.gantt-bar{background:var(--text-secondary);border-radius:var(--radius-sm);padding:0 var(--space-8);z-index:1;cursor:default;transition:filter var(--duration-instant) var(--ease);align-items:center;display:flex;position:absolute;overflow:hidden}.gantt-bar:hover,.gantt-bar.gantt-bar-hover{filter:brightness(1.08);box-shadow:0 0 0 1px var(--text-primary)}.gantt-bar:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.gantt-bar-milestone{background:var(--amber-500);border-radius:var(--radius-sm);transform-origin:50%;padding:0;transform:rotate(45deg)}.gantt-bar-label{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--gantt-bar-fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-empty{padding:var(--space-24) var(--space-16);font-size:var(--type-body-size);color:var(--text-tertiary);text-align:center}.gantt-edit-display{cursor:pointer;width:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.gantt-edit-display:hover{background:var(--surface-hover);outline:1px solid var(--border-default)}.gantt-edit-input{width:100%;padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--text-link);border-radius:var(--radius-sm);box-sizing:border-box;outline:none}.gantt-edit-input.gantt-align-right{text-align:right}.gantt-edit-invalid{border-color:var(--danger);background:var(--danger-bg-hover)}.gantt-edit-select{width:100%;padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--type-body-size);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer}.gantt-edit-select:focus{outline:1px solid var(--text-link)}.gantt-arrow-layer{pointer-events:none;z-index:2;position:absolute;overflow:visible}.gantt-arrow-layer path{fill:none;stroke:var(--text-tertiary);stroke-width:1px}.gantt-arrow-layer marker path{fill:var(--text-tertiary);stroke:none}.gantt-bar-tooltip{z-index:4;min-width:180px;max-width:260px;padding:var(--space-8) var(--space-12);background:var(--overlay-bg-default);border:1px solid var(--border-default);border-radius:var(--radius);box-shadow:var(--overlay-shadow);font-size:var(--type-small-size);color:var(--text-primary);pointer-events:none;position:absolute;transform:translateY(-100%)}.gantt-tooltip-title{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-4);white-space:normal;word-break:break-word}.gantt-tooltip-row{justify-content:space-between;gap:var(--space-12);padding:var(--space-2) 0;color:var(--text-secondary);display:flex}.gantt-tooltip-row>span:last-child{color:var(--text-primary);text-align:right}.gantt-tooltip-label{text-transform:uppercase;letter-spacing:.4px;font-size:var(--type-micro-size);color:var(--text-tertiary);flex-shrink:0}.gantt-today-marker{border-left:1px dashed var(--text-link-translucent);pointer-events:none;z-index:1;width:0;position:absolute;bottom:0}.gantt-today-marker-label{font-size:var(--type-micro-size);font-weight:var(--weight-medium);color:var(--text-link);background:var(--surface-card);padding:0 var(--space-4);border-radius:var(--radius-sm);position:absolute;top:2px;left:4px}.gantt-needby-marker{border-left:2px solid var(--state-danger);pointer-events:none;z-index:1;width:0;position:absolute;bottom:0}.gantt-needby-marker-label{font-size:var(--type-micro-size);font-weight:var(--weight-medium);color:var(--state-danger);background:var(--surface-card);padding:0 var(--space-4);border-radius:var(--radius-sm);white-space:nowrap;position:absolute;top:2px;right:4px}.gantt-phase-row{background:var(--surface-hover-warm);border-top:1px solid var(--border-light)}.gantt-phase-header-cell{align-items:center;gap:var(--space-8);padding:0 var(--space-12);box-sizing:border-box;height:100%;display:flex}.gantt-phase-name{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.gantt-phase-general .gantt-phase-name{color:var(--text-secondary)}.gantt-phase-stats{font-size:var(--type-small-size);color:var(--text-secondary);white-space:nowrap;flex:none}.gantt-bar-phase{pointer-events:none;border-radius:var(--radius-sm)}.gantt-phase-row .gantt-cell:first-child{gap:var(--space-8)}.gantt-phase-row{cursor:pointer;-webkit-user-select:none;user-select:none}.gantt-phase-row:hover{background:var(--surface-hover)}.gantt-phase-collapsed{background:var(--surface-hover-warm)}.gantt-phase-chevron{font-size:var(--type-heading-size);color:var(--text-secondary);text-align:center;flex:none;width:14px;line-height:1}.gantt-col-toggle-wrap{position:relative}.gantt-col-dropdown{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius);box-shadow:var(--overlay-shadow);padding:var(--space-8) 0;z-index:10;min-width:140px;position:absolute;top:calc(100% + 4px);right:0}.gantt-col-option{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-12);font-size:var(--type-body-size);color:var(--text-primary);cursor:pointer;white-space:nowrap;display:flex}.gantt-col-option:hover{background:var(--surface-hover-warm)}.gantt-col-option input[type=checkbox]{cursor:pointer;flex-shrink:0;width:14px;height:14px}body.gantt-dragging,body.gantt-dragging *{-webkit-user-select:none!important;user-select:none!important}.gantt-bar-resize-handle{cursor:ew-resize;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--gantt-resize-handle-bg);opacity:0;width:8px;height:100%;transition:opacity var(--duration-instant);z-index:2;position:absolute;top:0;right:0}.gantt-bar:hover .gantt-bar-resize-handle,.gantt-bar-active-drag .gantt-bar-resize-handle{opacity:1}.gantt-bar-movable{cursor:grab}.gantt-bar-movable:active,body.gantt-dragging .gantt-bar-movable{cursor:grabbing}.gantt-bar-active-drag{opacity:.88;box-shadow:var(--gantt-drag-shadow);z-index:3}.gantt-drag-label{background:var(--text-primary);color:var(--surface-card);font-size:var(--type-small-size);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;z-index:5;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.gantt-bar-critical{background:var(--state-danger)}.gantt-bar-critical.gantt-bar:hover,.gantt-bar-critical.gantt-bar-hover{filter:brightness(1.1);box-shadow:0 0 0 1.5px var(--text-primary)}.gantt-scroll-indicator{font-size:var(--type-small-size);color:var(--text-tertiary);white-space:nowrap;padding:0 var(--space-4)}.gantt-dep-handle{background:var(--border-default);border:1.5px solid var(--surface-card);cursor:crosshair;opacity:0;width:10px;height:10px;transition:opacity var(--duration-instant), background var(--duration-instant);z-index:2;border-radius:50%;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.gantt-data-row:hover .gantt-dep-handle{opacity:1}.gantt-dep-handle:hover{background:var(--text-link)}.gantt-dep-drop-target{outline:1px solid var(--text-link);background:var(--surface-hover-warm)!important}.gantt-dep-delete{background:var(--surface-card);border:1px solid var(--border-default);width:16px;height:16px;color:var(--text-tertiary);font-size:var(--type-micro-size);cursor:pointer;opacity:0;transition:opacity var(--duration-instant), color var(--duration-instant), border-color var(--duration-instant);z-index:3;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%)}.gantt-dep-delete:hover{color:var(--text-secondary);border-color:var(--border-default);background:var(--surface-card);opacity:1!important}.gantt-content:hover .gantt-dep-delete{opacity:.6}.gantt-today-btn.active{background:var(--control-accent);color:var(--text-on-primary);border-color:var(--control-accent)}.gantt-today-btn.active:hover{filter:brightness(1.08)}.resource-placeholder{padding:var(--space-24);color:var(--text-secondary);font-style:italic}.deliverables-wp h4{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-secondary);margin:0 0 var(--space-8);text-transform:uppercase;letter-spacing:.5px}.deliverables-wp,.deliverables-project{margin-bottom:var(--space-24)}.deliverables-wp-group{margin-bottom:var(--space-12);padding:var(--space-8) var(--space-12);border:1px solid var(--border);border-radius:var(--radius);transition:background var(--duration-instant) var(--ease), border-color var(--duration-instant) var(--ease)}.deliverables-wp-xref{background:var(--blue-50);border-color:var(--control-accent)}.deliverables-wp-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;display:flex}.deliverables-wp-header strong{font-size:var(--type-body-size)}.deliverables-empty{font-size:var(--type-small-size);color:var(--text-secondary);margin:var(--space-4) 0;font-style:italic}.deliverables-item-row{align-items:center;gap:var(--space-8);font-size:var(--type-body-size);padding:var(--space-4) 0;flex-wrap:wrap;display:flex}.deliverables-name{font-weight:var(--weight-medium)}.deliverables-badge{font-size:var(--type-small-size);padding:var(--space-2) var(--space-8);border-radius:var(--radius-sm);font-weight:var(--weight-semibold);text-transform:uppercase}.badge-work_product,.badge-report{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.badge-milestone_outcome{background:var(--badge-milestone-bg);color:var(--badge-milestone-fg)}.deliverables-format{font-size:var(--type-small-size);color:var(--text-secondary)}.deliverables-desc,.deliverables-contributors{font-size:var(--type-small-size);color:var(--text-secondary);flex-basis:100%}.deliverables-actions{gap:var(--space-4);margin-left:auto;display:flex}.deliverables-form{gap:var(--space-8);padding:var(--space-8) 0;flex-wrap:wrap;align-items:center;display:flex}.deliverables-form input,.deliverables-form select{font-size:var(--type-small-size);padding:var(--space-4) var(--space-8)}.deliverables-form-project{flex-direction:column;align-items:stretch}.deliverables-form-project>input{width:100%}.deliverables-form-buttons{gap:var(--space-8);display:flex}.deliverables-wp-picker{gap:var(--space-8);font-size:var(--type-small-size);padding:var(--space-4) 0;flex-wrap:wrap;display:flex}.deliverables-picker-label{font-weight:var(--weight-medium);width:100%}.deliverables-wp-check{align-items:center;gap:var(--space-4);cursor:pointer;display:flex}.deliverables-project-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;display:flex}.deliverables-milestone-alert{background:var(--milestone-alert-bg);border:1px solid var(--milestone-alert-border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-12);margin-top:var(--space-8);font-size:var(--type-small-size);color:var(--milestone-alert-fg)}.deliverables-milestone-alert button{float:right;cursor:pointer;color:var(--milestone-alert-fg);font-weight:var(--weight-bold);background:0 0;border:none}.milestone-row-alert{background:var(--milestone-alert-bg)}.decision-cards-intro{font-size:var(--type-body-size);color:var(--text-secondary);margin-bottom:var(--space-16)}.loading-text{font-size:var(--type-body-size);color:var(--text-secondary);font-style:italic}.decision-card-header{gap:var(--space-2);width:100%;padding:var(--space-12) var(--space-24);background:var(--surface);box-shadow:none;border:none;flex-direction:column;margin:0;display:flex}.decision-card-header-row{align-items:center;gap:var(--space-8);width:100%;display:flex}.decision-card-header .decision-card-title{flex:1;min-width:0}.decision-card-title{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text);margin:0}.decision-card-stats{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--gray-800);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.decision-card-cta{color:var(--cta-primary)}.decision-phase-context{gap:var(--space-4);margin-bottom:var(--space-8);padding:0 var(--space-24);flex-wrap:wrap;display:flex}.decision-phase-tag{font-size:var(--type-small-size);color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-8)}.decision-card-desc{font-size:var(--type-small-size);color:var(--text-tertiary);margin:var(--space-2) 0 0;padding:0;font-style:italic}.decision-card-recommendation{font-size:var(--type-body-size);margin-bottom:var(--space-12);color:var(--text)}.decision-card-chosen{font-size:var(--type-body-size);color:var(--success);font-weight:var(--weight-medium)}.decision-status-badge{font-size:var(--type-small-size);padding:var(--space-2) var(--space-8);border-radius:var(--radius-xl);font-weight:var(--weight-medium)}.status-committed{background:var(--status-bg-success-soft);color:var(--success)}.status-dismissed{background:var(--bg);color:var(--text-secondary)}.decision-card-deferred-badge{font-size:var(--type-small-size);color:var(--color-amber-600,#d97706);background:var(--color-amber-50,#fffbeb);border:1px solid var(--color-amber-200,#fde68a);border-radius:var(--radius-pill);padding:2px var(--space-8);font-weight:var(--weight-medium)}.decision-deferred-body{padding:var(--space-8) var(--space-24) var(--space-12)}.decision-deferred-note{font-size:var(--type-small-size);color:var(--text-secondary);margin:0 0 var(--space-12)}.decision-deferred-options{gap:var(--space-8);flex-wrap:wrap;display:flex}.decision-deferred-resolve-btn{font-size:var(--type-small-size);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-secondary);padding:var(--space-4) var(--space-12);cursor:pointer;transition:border-color var(--duration-fast), color var(--duration-fast)}.decision-deferred-resolve-btn:hover{border-color:var(--cta-primary);color:var(--cta-primary)}.decision-defer-btn{width:100%;margin-top:var(--space-8);padding:var(--space-8) var(--space-12);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--type-small-size);cursor:pointer;text-align:center;transition:border-color var(--duration-fast), color var(--duration-fast);background:0 0;display:block}.decision-defer-btn:hover{border-color:var(--color-amber-400,#fbbf24);color:var(--color-amber-600,#d97706)}.decision-defer-btn:disabled{opacity:.5;cursor:not-allowed}.decision-card-body{padding:0}.decision-card-options{flex-direction:column;gap:0;display:flex}.decision-option{border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);margin:var(--space-4);padding:var(--space-12) var(--space-16);gap:var(--space-2);cursor:pointer;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);flex-direction:column;display:flex}.decision-option:hover:not(.decision-option--chosen){border-color:var(--gray-400);background:var(--gray-50)}.decision-option--chosen{border-color:var(--green-500);background:var(--green-50);cursor:default}.decision-option-radio{border:1.5px solid var(--gray-400);background:var(--white);border-radius:50%;flex-shrink:0;align-self:center;width:16px;height:16px;position:relative}.decision-option--chosen .decision-option-radio{border-color:var(--green-500)}.decision-option--chosen .decision-option-radio:after{content:"";background:var(--green-500);border-radius:50%;position:absolute;inset:3px}.decision-option-id-row{gap:var(--space-12);align-items:center}.decision-option-title{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--text)}.decision-option-dollar{color:var(--text-secondary)}.decision-option-toggle:disabled{cursor:default}.decision-option-toggle[aria-checked=true]:disabled{opacity:1}.decision-option-toggle:not([aria-checked=true]):disabled{opacity:.5;cursor:not-allowed}.decision-option-meta-row{align-items:baseline}.decision-option-tradeoff{color:var(--text-secondary);white-space:normal;text-overflow:clip;overflow:visible}.decision-option-more-row,.doc-card-more-row{margin-top:var(--space-8);justify-content:flex-end;display:flex;position:relative}.doc-card-more-btn{padding:var(--space-2);color:var(--control-accent);opacity:.5;cursor:pointer;font:inherit;border-radius:var(--radius-full);transition:opacity var(--duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;margin-right:-2px;line-height:0;display:inline-flex}.doc-card-more-btn:hover{opacity:1}.doc-card-more-btn:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.doc-card-more-icon{color:currentColor;flex-shrink:0;display:block}.decision-option-chevron-btn{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-8);color:var(--text-tertiary);cursor:pointer;font:inherit;border-radius:var(--radius-full);background:#00000008;border:none;flex-shrink:0;margin-left:auto;margin-right:-8px;display:inline-flex}.decision-option-chevron-btn:hover{color:var(--text-secondary);background:#0000000f}.decision-option-chevron-btn:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.decision-option-more{font-size:var(--type-small-size);font-weight:var(--weight-medium);letter-spacing:.02em}.decision-option-chevron{color:currentColor;transition:transform .25s var(--ease-in-out);flex-shrink:0}.decision-option--expanded .decision-option-chevron{transform:rotate(180deg)}.decision-option-body{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--border);gap:var(--space-4);flex-direction:column;display:flex}.decision-option-commentary,.decision-option-impact-line{font-size:var(--type-body-size);color:var(--text-secondary)}.decision-option-impact-section{gap:var(--space-2);flex-direction:column;display:flex}.decision-option-impact-section+.decision-option-impact-section{margin-top:var(--space-8)}.decision-option-impact-label{font-size:var(--type-micro-size);font-weight:var(--weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.6px}.decision-option-impact-value{font-size:var(--type-body-size);color:var(--text-secondary)}.decision-option-impact-fallback{color:var(--text-tertiary)}.conflict-warnings{margin:var(--space-8) 0;padding:var(--space-8) var(--space-12);background:var(--milestone-alert-bg);border-radius:var(--radius)}.conflict-warning{font-size:var(--type-small-size);color:var(--status-fg-warning-deep);margin-bottom:var(--space-2)}.resolved-cards{margin-top:var(--space-16)}.resolved-header{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-8)}.stub-page{max-width:600px;margin:var(--space-48) auto;text-align:center}.stub-page h2{font-size:var(--type-title-size);margin-bottom:var(--space-8)}.stub-page p{color:var(--text-secondary);font-size:var(--type-body-size);line-height:1.6}.stub-phase-ref{font-size:var(--type-body-size);margin-top:var(--space-12);font-style:italic}.repository-panel{max-width:960px}.repo-filters{align-items:center;gap:var(--space-8);margin-bottom:var(--space-16);display:flex}.repo-search{flex:1}.repo-filters select{width:160px}.repo-import-btn{margin-left:auto}.repo-empty{text-align:center;color:var(--text-secondary);padding:var(--space-48) var(--space-24);font-size:var(--type-body-size)}.repo-table{border-collapse:collapse;width:100%}.repo-table thead th{font-weight:var(--weight-medium);font-size:var(--type-small-size);color:var(--status-fg-muted);text-transform:none;letter-spacing:normal;padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--border)}.repo-table thead th:empty{border-bottom:none}.repo-table tbody td{padding:var(--space-12) var(--space-12);font-size:var(--type-body-size);font-weight:var(--weight-regular);color:var(--repo-table-fg)}.repo-row-action{width:24px;height:24px;color:var(--status-fg-muted);cursor:pointer;border-radius:var(--radius-md);opacity:0;transition:opacity var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease), background var(--duration-instant) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.repo-row-action:hover{color:var(--status-fg-neutral);background:var(--status-bg-neutral)}.repo-table tbody>tr:not(.repo-decomp-row):not(.repo-row-uploading):hover .repo-row-action,.repo-table tbody>tr:not(.repo-decomp-row):not(.repo-row-uploading):focus-within .repo-row-action{opacity:1}.repo-row-clickable{cursor:pointer}.repo-row-clickable:hover>td,.repo-row-expanded>td{background:var(--repo-row-hover)}.repo-title{font-weight:var(--weight-medium)}.repo-client{font-size:var(--type-small-size);color:var(--text-secondary)}.repo-date{font-size:var(--type-body-size);white-space:nowrap}.repo-nre{font-size:var(--type-body-size);white-space:nowrap;font-variant-numeric:tabular-nums}.repo-actions-cell{white-space:nowrap}.repo-actions-cell .btn-xs{margin-left:var(--space-4)}.repo-badge{padding:var(--space-2) var(--space-8);border-radius:var(--radius-xl);font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.3px;display:inline-block}.badge-echoslate,.badge-uploaded{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.outcome-won{background:var(--status-bg-success-soft);color:var(--status-fg-success)}.outcome-lost{background:var(--alert-error-bg);color:var(--danger)}.outcome-gray{background:var(--status-bg-neutral);color:var(--status-fg-neutral)}.repo-editable{cursor:pointer;border-radius:var(--radius-sm);min-width:12px;margin:-1px -4px;padding:1px 4px;display:inline-block}.repo-editable:hover{background:var(--bg);outline:1px dashed var(--border)}.repo-inline-edit{font:inherit;border:1px solid var(--control-accent);border-radius:var(--radius-sm);background:var(--surface);color:inherit;box-sizing:border-box;width:auto;min-width:80px;margin:-2px -5px;padding:1px 4px}.repo-inline-edit[type=number]{width:100px}.repo-inline-edit[type=date]{width:140px}.repo-muted{color:var(--text-secondary)}.repo-wp-badge{min-width:24px;padding:var(--space-2) var(--space-8);border-radius:var(--radius-xl);background:var(--status-bg-neutral);color:var(--text-secondary);font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-align:center;font-variant-numeric:tabular-nums;display:inline-block}.repo-row-new td{animation:repoFadeHighlight 5s var(--ease-out)}@keyframes repoFadeHighlight{0%{background-color:var(--status-bg-warning)}to{background-color:#0000}}.repo-drop-container{align-items:stretch;gap:var(--space-8);margin-bottom:var(--space-16);flex-direction:column;display:flex}.repo-drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:var(--space-48) var(--space-24);text-align:center;cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast)}.repo-drop-zone:hover{border-color:var(--text-secondary)}.repo-drop-zone.drag-over{border-color:var(--state-info);background:var(--alert-info-bg)}.repo-drop-primary{font-size:var(--type-heading-size);font-weight:var(--weight-medium);margin-bottom:var(--space-4)}.repo-drop-secondary{font-size:var(--type-body-size);color:var(--text-secondary);margin-bottom:var(--space-8)}.repo-drop-hint{font-size:var(--type-small-size);color:var(--text-secondary);font-family:var(--font-mono)}.repo-drop-cancel{color:var(--text-secondary);font-size:var(--type-body-size);cursor:pointer;padding:var(--space-4) var(--space-8);background:0 0;border:none;align-self:center;text-decoration:underline}.repo-drop-cancel:hover{color:var(--text)}.repo-drop-strip{align-items:center;gap:var(--space-16);padding:var(--space-8) var(--space-16);margin-bottom:var(--space-12);border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface);font-size:var(--type-body-size);transition:border-color var(--duration-fast), background var(--duration-fast);display:flex}.repo-drop-strip.drag-over{border-color:var(--state-info);background:var(--alert-info-bg)}.repo-drop-strip-cta{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.repo-drop-strip-cta:hover{color:var(--text)}.repo-drop-strip-stats{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.repo-file-status{align-items:center;gap:var(--space-8);font-size:var(--type-body-size);display:flex}.repo-file-timer{font-family:var(--font-mono);font-size:var(--type-small-size);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-left:auto}.repo-file-error{color:var(--danger);font-size:var(--type-small-size)}.repo-spinner{border:2px solid var(--border);border-top-color:var(--repo-spinner-color);border-radius:var(--radius-circle);width:12px;height:12px;animation:repoSpin var(--duration-glacial) linear infinite;display:inline-block}@keyframes repoSpin{to{transform:rotate(360deg)}}.repo-confidence-dot{border-radius:var(--radius-circle);background:var(--range-out-color);width:6px;height:6px;margin-left:var(--space-8);vertical-align:middle;display:inline-block}.repo-wp-badge-btn{cursor:pointer;font:inherit;transition:background var(--duration-instant) var(--ease), transform var(--duration-instant) var(--ease), box-shadow var(--duration-instant) var(--ease);border:1px solid #0000}.repo-wp-badge-btn:hover{background:var(--repo-wp-badge-bg-hover);box-shadow:var(--repo-wp-shadow-hover);transform:scale(1.06)}.repo-needs-review{margin-left:var(--space-8);border-radius:var(--radius-lg);background:var(--repo-needs-review-bg);color:var(--repo-needs-review-fg);font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.4px;vertical-align:middle;padding:1px 6px;display:inline-block}.repo-decomp-row>td{padding:0 0 0 var(--space-48);background:0 0;border-top:none;border-bottom:none}.repo-decomp-panel{background:var(--repo-decomp-bg);border-left:2px solid var(--repo-decomp-border);padding:var(--space-16);font-size:var(--type-small-size);color:var(--status-fg-neutral);font-weight:var(--weight-regular)}.repo-decomp-error{color:var(--danger);font-size:var(--type-small-size);margin-bottom:var(--space-8)}.repo-decomp-table{width:100%;font-size:var(--type-small-size);color:var(--status-fg-neutral);font-weight:var(--weight-regular);border-collapse:collapse}.repo-decomp-table th{text-align:left;font-size:var(--type-small-size);font-weight:var(--weight-regular);text-transform:none;letter-spacing:normal;color:var(--repo-decomp-fg-deep);padding:var(--space-8);border-bottom:1px solid var(--repo-decomp-row-divider)}.repo-decomp-table td{padding:var(--space-8);border-bottom:1px solid var(--repo-decomp-row-divider);vertical-align:middle;color:var(--status-fg-neutral)}.repo-decomp-table tbody tr:last-child td{border-bottom:none}.repo-decomp-hours-col{font-variant-numeric:tabular-nums;width:80px}.repo-decomp-roles{font-family:var(--font-mono);font-size:var(--type-small-size);color:var(--status-fg-muted)}.repo-decomp-phase{font-size:var(--type-small-size);color:var(--status-fg-muted)}.repo-decomp-row-unreviewed td{background:var(--alert-warn-bg)}.repo-decomp-confirm{align-items:center;gap:var(--space-4);font-size:var(--type-small-size);color:var(--status-fg-neutral);display:inline-flex}.repo-decomp-table tbody tr:hover .repo-decomp-delete,.repo-decomp-table tbody tr:focus-within .repo-decomp-delete{opacity:1}.repo-decomp-footer{justify-content:space-between;align-items:center;gap:var(--space-16);margin-top:var(--space-8);display:flex}.repo-decomp-link{font-size:var(--type-small-size);color:var(--status-fg-neutral);cursor:pointer;background:0 0;border:none;padding:0}.repo-decomp-link:hover{color:var(--text-link);text-decoration:underline}.repo-decomp-add-form{align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-8);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:flex}.repo-decomp-add-form .repo-inline-edit{margin:0}@keyframes es-toast-in{0%{transform:translateY(calc(100% + var(--space-8)));opacity:0}to{opacity:1;transform:translateY(0)}}@keyframes es-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(var(--space-4))}}.es-toast-container{bottom:var(--space-24);align-items:center;gap:var(--space-8);z-index:9000;pointer-events:none;width:max-content;max-width:calc(100vw - var(--space-48));flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.es-toast{align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);background:var(--gray-900);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);pointer-events:auto;min-width:200px;max-width:400px;font-size:var(--type-small-size);color:var(--white);animation:es-toast-in var(--duration-normal) var(--ease-out) forwards;border:none;border-left:3px solid #0000;display:flex}.es-toast.is-dismissing{animation:es-toast-out var(--duration-fast) var(--ease-in-out) forwards}.es-toast-success{border-left-color:var(--state-success)}.es-toast-error{border-left-color:var(--state-danger)}.es-toast-warning{border-left-color:var(--state-warning)}.es-toast-info{border-left-color:var(--state-info)}.es-toast-icon{font-size:var(--type-body-size);flex-shrink:0;line-height:1}.es-toast-success .es-toast-icon{color:var(--state-success)}.es-toast-error .es-toast-icon{color:var(--state-danger)}.es-toast-warning .es-toast-icon{color:var(--state-warning)}.es-toast-info .es-toast-icon{color:var(--state-info)}.es-toast-message{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--white);flex:1;overflow:hidden}.es-toast-action{font-size:var(--type-small-size);font-weight:var(--weight-medium);color:var(--text-link);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;text-decoration:underline}.es-toast-action:hover{color:var(--interactive-primary-hover)}.es-toast-dismiss{padding:0 0 0 var(--space-4);font-size:var(--type-body-size);color:var(--white);cursor:pointer;opacity:.5;background:0 0;border:none;flex-shrink:0;line-height:1}.es-toast-dismiss:hover{opacity:1;color:var(--white)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.interactive-document[data-view-mode=layout][data-scope-color=clean] .doc-card[data-card-type=wp],.interactive-document[data-view-mode=layout][data-scope-color=clean] .doc-card[data-card-type=wp]:hover,.interactive-document[data-view-mode=layout][data-scope-color=clean] .doc-card[data-card-type=wp][data-card-state~=expanded]{--wp-disc-bg:var(--surface)!important}.interactive-document[data-view-mode=layout][data-scope-color=clean] .doc-card[data-card-type=wp]+.doc-card[data-card-type=wp]{border-top:1px solid var(--gray-200)}.interactive-document[data-scope-color=clean] .disc-circle{background:var(--gray-400)!important}.interactive-document[data-view-mode=layout][data-scope-color=clean] .labor-type-circle{display:none!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar[data-phase-index="0"]{background:var(--slate-400)!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar[data-phase-index="1"]{background:var(--slate-500)!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar[data-phase-index="2"]{background:var(--slate-600)!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar[data-phase-index="3"]{background:var(--slate-700)!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar[data-phase-index="4"]{background:var(--slate-800)!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar:not([data-phase-index]){background:var(--slate-400)!important}.interactive-document[data-view-mode=layout][data-gantt-color=slate] .gantt-bar-milestone{background:var(--slate-700)!important}.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar[data-phase-index="0"]{background:#333!important}.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar[data-phase-index="1"]{background:#555!important}.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar[data-phase-index="2"]{background:#777!important}.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar[data-phase-index="3"]{background:#999!important}.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar[data-phase-index="4"]{background:#bbb!important}.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar:not([data-phase-index]),.interactive-document[data-view-mode=layout][data-gantt-color=bw] .gantt-bar-milestone{background:#333!important}.interactive-document[data-view-mode=layout] .gantt-arrow-layer path{stroke:var(--slate-400)}.interactive-document[data-view-mode=layout] .gantt-arrow-layer marker path{fill:var(--slate-400)}.appendix-stub .placeholder-note{padding:var(--space-12) 0}.appendix-a-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:var(--type-body-size)}.appendix-a-table thead th{font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);padding:var(--space-4) var(--space-8);text-align:right;border-bottom:2px solid var(--border-default)}.appendix-a-table thead th:first-child{text-align:left}.appendix-a-table td{padding:var(--space-4) var(--space-8);text-align:right;font-variant-numeric:tabular-nums;vertical-align:top;border-bottom:none}.appendix-a-table td:first-child{text-align:left}.appendix-a-phase-hdr td{font-weight:var(--weight-semibold);color:var(--text-primary);border-bottom:1px solid var(--border-default);padding-top:var(--space-12)}.appendix-a-phase-hdr:first-child td{padding-top:var(--space-4)}.appendix-a-wp-row td{font-weight:var(--weight-medium);color:var(--text-primary);border-bottom:1px solid var(--border-light)}.appendix-a-obj-row td{color:var(--text-secondary);padding-left:var(--space-16);font-style:italic}.appendix-a-labor-row td{font-size:var(--type-small-size);color:var(--text-secondary)}.appendix-a-labor-row td:first-child{padding-left:var(--space-16)}.appendix-a-labor-last td{border-bottom:1px solid var(--border-light)}.appendix-a-del-row td{font-size:var(--type-small-size);color:var(--text-tertiary);padding-left:var(--space-16);padding-bottom:var(--space-8)}.appendix-a-del-prefix{color:var(--text-secondary)}.appendix-a-total-row td{font-weight:var(--weight-semibold);color:var(--text-primary);border-top:2px solid var(--border-default);padding-top:var(--space-8)}.appendix-a-unit{color:var(--text-secondary);font-weight:var(--weight-regular)}.appendix-a-empty{color:var(--text-tertiary);font-style:italic;text-align:center!important;padding:var(--space-16) var(--space-8)!important}.appendix-e-group{margin-top:var(--space-32)}.appendix-e-group:first-child{margin-top:0}.appendix-e-group-title{font-size:var(--type-small-size);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-4)}.appendix-e-subtotal td{border-top:1px solid var(--border);font-size:var(--type-body-size)}.appendix-e-total-table{margin-top:var(--space-20);border-top:2px solid var(--border)}.appendix-e-footnote td{font-size:var(--type-small-size);color:var(--text-tertiary);text-align:left;padding-top:var(--space-8);border-top:none;font-style:italic}.appendix-reference{margin:var(--space-12) 0;font-size:var(--type-small-size);color:var(--text-tertiary);font-style:italic;text-decoration:none;display:block}.appendix-reference:hover{color:var(--text-secondary)}.appendix-c-phase+.appendix-c-phase{margin-top:var(--space-16)}.appendix-c-phase-title{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0 0 var(--space-8)}.appendix-c-wp{padding:var(--space-8) var(--space-12);border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--bg-card,white)}.appendix-c-wp+.appendix-c-wp{margin-top:var(--space-8)}.appendix-c-wp-head{justify-content:space-between;align-items:baseline;gap:var(--space-12);display:flex}.appendix-c-wp-name{font-weight:var(--weight-medium);color:var(--text-primary)}.appendix-c-empty{margin:var(--space-4) 0 0;font-size:var(--type-small-size);color:var(--text-tertiary);font-style:italic}.appendix-c-del-list{margin:var(--space-4) 0 0;padding-left:var(--space-16);color:var(--text-primary);list-style:outside}.appendix-c-del+.appendix-c-del,.appendix-c-del-edit+.appendix-c-del,.appendix-c-del+.appendix-c-del-edit{margin-top:var(--space-2)}.appendix-c-del-name{color:var(--text-primary)}.appendix-c-del-format{color:var(--text-tertiary);font-size:var(--type-small-size);margin-left:var(--space-4)}.appendix-c-del-desc{color:var(--text-secondary)}.appendix-c-del-edit{gap:var(--space-4);margin-left:calc(-1 * var(--space-16));flex-wrap:wrap;align-items:center;list-style:none;display:flex}.coauthor-shell{background:var(--bg-primary);flex-direction:column;height:100vh;display:flex;overflow:hidden}.coauthor-doc-area{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.review-page-shell{background:var(--bg-primary);flex-direction:column;height:100vh;display:flex;overflow:hidden}.review-page-header{align-items:center;gap:var(--space-8);height:40px;padding:0 var(--space-16);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.review-page-logo{font-size:var(--type-label-size);color:var(--text-primary);letter-spacing:-.01em;font-weight:600}.review-page-badge{color:var(--text-tertiary);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:10px}.review-coauthor-banner{font-size:var(--type-small-size);color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:6px var(--space-16);flex-shrink:0}.review-doc-scroll{padding:var(--space-32) var(--space-16);flex:1;overflow-y:auto}.review-document{width:100%;max-width:816px}.review-doc-header{margin-bottom:var(--space-32)}.review-doc-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:var(--space-4);font-size:22px;font-weight:600}.review-doc-client{font-size:var(--type-label-size);color:var(--text-tertiary)}.review-section{margin-bottom:var(--space-32)}.review-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);margin-bottom:var(--space-8);font-size:10px;font-weight:600}.review-section-body{font-size:var(--type-body-size);line-height:var(--type-body-line-height);color:var(--text-primary)}.review-section-body p{margin-bottom:var(--space-8)}.review-section-body p:last-child{margin-bottom:0}.review-section-body ul,.review-section-body ol{padding-left:var(--space-24);margin-bottom:var(--space-8)}.review-wp-table{border-collapse:collapse;width:100%;font-size:var(--type-label-size)}.review-wp-table th,.review-wp-table td{padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--border);color:var(--text-primary)}.review-wp-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.review-wp-table tfoot td{border-top:2px solid var(--border);border-bottom:none}.decision-card-export-toggle{align-items:center;gap:var(--space-6);margin-left:var(--space-8);font-size:var(--type-small-size);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;display:inline-flex;position:relative}.decision-card-export-toggle input[type=checkbox]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.decision-card-export-toggle:before{content:"";border:1px solid var(--gray-200);background:var(--gray-100,var(--bg));width:32px;height:18px;transition:background .2s var(--ease), border-color .2s var(--ease);border-radius:12px;flex:none}.decision-card-export-toggle:after{content:"";width:14px;height:14px;transition:transform .2s var(--ease), box-shadow .2s var(--ease);background:#fff;border-radius:50%;margin-top:-7px;position:absolute;top:50%;left:2px;box-shadow:0 1px 2px #0000001f}.decision-card-export-toggle:has(input:checked):before{background:var(--control-accent);border-color:var(--control-accent)}.decision-card-export-toggle:has(input:checked):after{transform:translate(14px);box-shadow:0 1px 2px #0000002e}.decision-card-export-toggle:has(input:checked){color:var(--text-secondary)}.decision-option-row{align-items:flex-start;gap:var(--space-4);display:flex}.decision-option-row>.decision-option{flex:1;min-width:0}.decision-option-reorder{gap:var(--space-2);padding-top:var(--space-8);flex-direction:column;flex-shrink:0;display:flex}.decision-reorder-btn{border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-4);font-size:var(--type-micro-size);color:var(--text-secondary);cursor:pointer;background:0 0;line-height:2}.decision-reorder-btn:disabled{opacity:.3;cursor:default}.decision-reorder-btn:not(:disabled):hover{background:var(--surface-hover);color:var(--text-primary)}.decision-option-primary-badge{font-size:var(--type-micro-size);font-weight:var(--weight-semibold);color:var(--control-accent);background:color-mix(in srgb, var(--control-accent) 12%, transparent);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);margin-left:var(--space-4);text-transform:uppercase;letter-spacing:.03em}.approach-decisions{gap:var(--space-16);margin-top:var(--space-16);flex-direction:column;display:flex}.approach-decision{border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--space-12) var(--space-16);background:var(--surface)}.approach-decision-title{margin:0 0 var(--space-4);font-size:var(--type-body-size);font-weight:var(--weight-semibold)}.approach-decision-desc{margin:0 0 var(--space-12);color:var(--text-secondary);font-size:var(--type-small-size)}.approach-decision-options{gap:var(--space-8);flex-direction:column;display:flex}.approach-decision-option{--_label-col:80px;grid-template-columns:var(--_label-col) 1fr;column-gap:var(--space-12);padding:var(--space-8) var(--space-12);border-radius:var(--radius-card);background:var(--surface-hover);grid-template-rows:auto auto;display:grid}.approach-decision-option--baseline{background:var(--surface);border:1px solid var(--cta-primary)}.approach-decision-option-label{font-size:var(--type-small-size);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);grid-row:1/span 2;align-self:center}.approach-decision-option-name{font-weight:var(--weight-semibold)}.approach-decision-option-meta{font-size:var(--type-small-size);color:var(--text-secondary)}.change-pw-overlay{z-index:9999;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.change-pw-card{background:var(--surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-24);min-width:320px;box-shadow:0 4px 24px #0000002e}.users-panel{gap:var(--space-16);flex-direction:column;display:flex}.users-panel-header{justify-content:flex-end;align-items:center;display:flex}.users-panel-loading{padding:var(--space-24);color:var(--text-secondary)}.users-panel-error{padding:var(--space-24);color:var(--text-error)}.users-table,.invites-table{border-collapse:collapse;width:100%}.users-th{font-size:var(--type-small-size);color:var(--text-secondary);padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--border-default);text-align:left}.users-table td,.invites-table td{padding:var(--space-8);border-bottom:1px solid var(--border-light);vertical-align:middle}.users-row:hover{background:var(--surface-hover,var(--bg))}.users-empty{padding:var(--space-24);text-align:center;color:var(--text-tertiary);font-style:italic}.users-status-pill{padding:2px var(--space-8);border-radius:var(--radius-full);font-size:var(--type-small-size);border:1px solid;align-items:center;display:inline-flex}.users-status-pill--active{background:var(--green-50);border-color:var(--green-200);color:var(--green-500)}.users-status-pill--inactive{background:var(--red-50);border-color:var(--red-200);color:var(--red-500)}.users-toggle{border-radius:var(--radius-full);cursor:pointer;border:none;flex-shrink:0;width:32px;height:18px;transition:background .15s;display:block;position:relative}.users-toggle-thumb{background:#fff;border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:2px}.users-toggle:focus-visible{outline:2px solid var(--green-500);outline-offset:2px}.users-toggle:disabled{cursor:not-allowed}.users-notes-cell{font-size:var(--type-small-size);color:var(--text-secondary);cursor:text;text-overflow:ellipsis;white-space:nowrap;max-width:160px;display:block;overflow:hidden}.users-notes-cell:hover{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.users-notes-input{width:100%;font-size:var(--type-small-size);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:2px var(--space-4)}.cell-meta{font-size:var(--type-small-size);color:var(--text-tertiary)}.users-invite-body{gap:var(--space-12);padding:var(--space-12) 0;flex-direction:column;display:flex}.users-invite-input{width:100%}.users-link-row{gap:var(--space-8);display:flex}.users-link-input{font-size:var(--type-small-size);color:var(--text-secondary);background:var(--bg);flex:1}.users-invite-footer{padding-top:var(--space-8);justify-content:flex-end;display:flex}.users-dialog-actions{gap:var(--space-8);padding-top:var(--space-16);display:flex}.pending-invites{margin-top:var(--space-8)}.pending-invites-title{color:var(--text-secondary);margin-bottom:var(--space-8);font-size:var(--type-small-size)}.es-search-backdrop{z-index:400;animation:es-backdrop-in var(--duration-fast) var(--ease-out) both;background:#0000004d;justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.es-search-panel{background:var(--surface-page);border-radius:var(--radius-lg);box-shadow:var(--shadow-history);width:520px;max-width:calc(100vw - 32px);animation:es-panel-in var(--duration-fast) var(--ease-out) both;overflow:hidden}@keyframes es-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes es-panel-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.es-search-input-row{align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--border-default);display:flex}.es-search-icon{color:var(--text-tertiary);flex-shrink:0}.es-search-input{font-size:16px;font-family:var(--font-primary);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.es-search-input::placeholder{color:var(--text-placeholder)}.es-search-results{scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;max-height:400px;overflow-y:auto}.es-search-results::-webkit-scrollbar{width:6px}.es-search-results::-webkit-scrollbar-track{background:0 0}.es-search-results::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-sm)}.es-search-result{text-align:left;border:none;border-bottom:1px solid var(--border-light);cursor:pointer;background:0 0;width:100%;padding:12px 16px;display:block}.es-search-result:last-child{border-bottom:none}.es-search-result:hover,.es-search-result.is-active{background:var(--surface-hover)}.es-search-result-title{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--text-primary);margin-bottom:var(--space-2);line-height:var(--type-body-lh)}.es-search-result-fragment{font-size:var(--type-small-size);color:var(--text-secondary);line-height:var(--type-body-lh)}.es-search-result-fragment mark{color:inherit;background:#fef3c7;border-radius:2px;padding:0 1px}.es-search-empty{text-align:center;font-size:var(--type-small-size);color:var(--text-tertiary);padding:32px 16px}.top-rail-search-wrap{flex-shrink:0;position:relative}.top-rail-search-input-row{align-items:center;gap:var(--space-4);width:220px;height:26px;padding:0 var(--space-8);transition:border-color var(--duration-instant), background var(--duration-instant);background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;display:flex}.top-rail-search-input-row:focus-within{background:#ffffff1f;border-color:#ffffff47}.top-rail-search-icon{color:#fff6;flex-shrink:0}.top-rail-search-input{font-size:var(--type-small-size);line-height:1.1;font-family:var(--font-primary);color:#ffffffd9;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:0}.top-rail-search-input::placeholder{color:#ffffff59}.top-rail-search-dropdown{background:var(--surface-page);border:1px solid var(--border-default);border-radius:var(--radius-lg);min-width:380px;box-shadow:var(--shadow-overlay);z-index:400;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent;max-height:400px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}@keyframes es-section-flash{0%,33.33%{background-color:#15803d1a}to{background-color:#0000}}.es-flash{animation:es-section-flash 1.2s var(--ease) forwards;border-radius:var(--radius-sm)}.es-dropdown-content{background:var(--surface-page);border:var(--border-width-default) solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);padding:var(--space-4) 0;z-index:50;min-width:160px;animation-duration:var(--duration-fast);animation-timing-function:var(--ease-out)}.es-dropdown-item{align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-12);font-size:var(--type-body-size);font-weight:var(--type-body-weight);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-instant) var(--ease);outline:none;display:flex}.es-dropdown-item:hover,.es-dropdown-item[data-highlighted]{background:var(--surface-hover)}.es-dropdown-item[data-disabled]{color:var(--text-tertiary);pointer-events:none}.es-dropdown-content [data-radix-dropdown-menu-separator]{background:var(--border-light);height:1px;margin:var(--space-4) 0}.es-select-trigger{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);font-size:var(--type-body-size);font-weight:var(--type-body-weight);color:var(--text-primary);background:var(--surface-page);border:var(--border-width-default) solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--duration-instant) var(--ease);outline:none;display:inline-flex}.es-select-trigger:hover{border-color:var(--gray-300)}.es-select-trigger:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.es-select-icon{color:var(--text-tertiary);font-size:var(--type-small-size)}.es-select-content{background:var(--surface-page);border:var(--border-width-default) solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);z-index:50;animation-duration:var(--duration-fast);animation-timing-function:var(--ease-out);overflow:hidden}.es-select-item{padding:var(--space-4) var(--space-12);font-size:var(--type-body-size);color:var(--text-primary);cursor:pointer;transition:background var(--duration-instant) var(--ease);outline:none;align-items:center;display:flex}.es-select-item:hover,.es-select-item[data-highlighted]{background:var(--surface-hover)}.es-select-item[data-state=checked]{color:var(--interactive-primary);font-weight:var(--weight-medium)}.es-dialog-overlay{z-index:100;animation:es-fade-in var(--duration-normal) var(--ease);background:#0006;position:fixed;inset:0}.es-dialog-content{background:var(--surface-page);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay);padding:var(--space-24);z-index:101;width:90vw;max-width:480px;max-height:85vh;animation:es-dialog-enter var(--duration-normal) var(--ease-out);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.es-dialog-title{font-size:var(--type-title-size);font-weight:var(--type-title-weight);line-height:var(--type-title-lh);color:var(--text-heading);margin:0 0 var(--space-8)}.es-dialog-description{font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-lh);color:var(--text-secondary);margin:0 0 var(--space-16)}.es-tooltip-content{background:var(--gray-900);color:var(--white);font-size:var(--type-small-size);font-weight:var(--type-small-weight);line-height:var(--type-small-lh);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);z-index:200;max-width:240px;animation:es-tooltip-enter var(--duration-fast) var(--ease-out)}.es-tooltip-arrow{fill:var(--gray-900)}.es-editor-wrap{width:100%}.es-tb{align-items:center;gap:var(--space-2);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:var(--border-width-default) solid var(--border-light);flex-wrap:wrap;display:flex}.es-tb-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;font-size:var(--type-small-size);font-family:var(--font-primary);transition:background var(--duration-instant) var(--ease), color var(--duration-instant) var(--ease);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.es-tb-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.es-tb-btn.is-active{background:var(--surface-hover);color:var(--text-primary);font-weight:var(--weight-medium)}.es-tb-b{font-size:11px;font-weight:700}.es-tb-i{font-size:11px;font-style:italic}.es-tb-u{font-size:10px;text-decoration:underline}.es-tb-ol{font-size:var(--type-micro-size);font-weight:var(--weight-medium)}.es-tb-label{font-size:var(--type-micro-size);margin-left:2px}.es-tb-btn:has(.es-tb-label){width:auto;padding:0 var(--space-4);gap:var(--space-2)}.es-tb-mark{background:var(--amber-200);padding:0 var(--space-2);border-radius:2px;font-size:11px}.es-tb-sep{background:var(--border-light);width:1px;height:16px;margin:0 var(--space-2);flex-shrink:0}.es-link-popover{z-index:50;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-12);background:var(--surface-page);border:var(--border-width-default) solid var(--gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);display:flex;position:absolute}.es-tb-link-input{font-size:var(--type-small-size);font-family:var(--font-primary);padding:var(--space-2) var(--space-4);border:var(--border-width-default) solid var(--border-default);border-radius:var(--radius-sm);width:180px;color:var(--text-primary);background:var(--surface-page);outline:none}.es-tb-link-input:focus-visible{outline:2px solid var(--control-accent);outline-offset:2px}.es-tb-link-add{font-size:var(--type-small-size);font-family:var(--font-primary);font-weight:var(--weight-medium);padding:var(--space-2) var(--space-8);border:var(--border-width-default) solid var(--border-default);border-radius:var(--radius-sm);color:var(--interactive-primary);cursor:pointer;transition:background var(--duration-instant) var(--ease);background:0 0}.es-tb-link-add:hover{background:var(--surface-hover)}.es-editor{width:100%}.es-editor .ProseMirror{font-size:var(--type-body-size);font-weight:var(--type-body-weight);line-height:var(--type-body-lh);color:var(--text-primary);outline:none;min-height:80px}.es-editor p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--text-placeholder);pointer-events:none;float:left;height:0}.es-editor .ProseMirror p{margin:0 0 var(--space-stack-sm)}.es-editor .ProseMirror p:last-child{margin-bottom:0}.es-editor .ProseMirror strong{font-weight:var(--weight-semibold)}.es-editor .ProseMirror em{font-style:italic}.es-editor .ProseMirror mark{background:var(--amber-200);color:inherit;border-radius:var(--radius-sm);padding:0 var(--space-inline-xs)}.es-editor .ProseMirror a{color:var(--text-link);cursor:pointer;text-decoration:underline}.es-editor .es-pending-link{background:var(--blue-50);border-radius:2px}.es-editor .ProseMirror a:hover{color:var(--interactive-primary-hover)}.es-editor .ProseMirror ul,.es-editor .ProseMirror ol{padding-left:var(--space-24);margin:0 0 var(--space-stack-sm)}.es-editor .ProseMirror li{margin-bottom:var(--space-stack-xs)}.es-editor .ProseMirror h1{font-size:20px;font-weight:var(--weight-semibold);color:var(--text-primary);margin:var(--space-stack-md) 0 var(--space-stack-sm);line-height:1.3}.es-editor .ProseMirror h2{font-size:17px;font-weight:var(--weight-semibold);color:var(--text-primary);margin:var(--space-stack-md) 0 var(--space-stack-sm);line-height:1.35}.es-editor .ProseMirror h3{font-size:14px;font-weight:var(--weight-semibold);color:var(--text-secondary);margin:var(--space-stack-sm) 0 var(--space-stack-xs);line-height:1.4}.es-editor .ProseMirror h1:first-child,.es-editor .ProseMirror h2:first-child,.es-editor .ProseMirror h3:first-child{margin-top:0}@keyframes es-fade-in{0%{opacity:0}to{opacity:1}}@keyframes es-dialog-enter{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes es-tooltip-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
