@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(/dist/fonts/fraunces-variable.woff2) format("woff2-variations"),url(/dist/fonts/fraunces-variable.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 700;font-display:swap;src:url(/dist/fonts/fraunces-variable.woff2) format("woff2-variations"),url(/dist/fonts/fraunces-variable.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/dist/fonts/inter-variable.woff2) format("woff2-variations"),url(/dist/fonts/inter-variable.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/dist/fonts/jetbrains-mono.woff2) format("woff2-variations"),url(/dist/fonts/jetbrains-mono.woff2) format("woff2")}:root{--bg: #05070a;--bg-raised: #0a0d13;--bg-overlay: #0d1018;--glass-bg: rgba(10, 13, 19, .94);--glass-bg-strong: rgba(12, 15, 22, .98);--glass-border: rgba(255, 255, 255, .06);--glass-border-hi: rgba(255, 255, 255, .1);--glass-border-accent: color-mix(in oklab, var(--accent) 32%, transparent);--text: #f0f2f5;--text-2: #a7b0bd;--text-3: #6b7585;--text-muted: #4a5260;--rule: rgba(255, 255, 255, .06);--rule-hi: rgba(255, 255, 255, .1);--accent: #9d67ff;--accent-2: #ec4899;--accent-soft: color-mix(in oklab, var(--accent) 16%, transparent);--accent-wash: color-mix(in oklab, var(--accent) 8%, transparent);--accent-glow: color-mix(in oklab, var(--accent) 38%, transparent);--flag-green: #22c55e;--flag-amber: #f59e0b;--flag-red: #ef4444;--flag-green-soft: rgba(34, 197, 94, .14);--flag-amber-soft: rgba(245, 158, 11, .14);--flag-red-soft: rgba(239, 68, 68, .14);--pro-gold: #f5b841;--r-pill: 9999px;--r-card: 16px;--r-panel: 20px;--r-inner: 8px;--r-btn: 8px;--f-display: "Fraunces", "Times New Roman", serif;--f-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .55), 0 8px 20px rgba(0, 0, 0, .35);--shadow-glow: 0 0 0 1px color-mix(in oklab, var(--accent) 28%, transparent), 0 10px 36px color-mix(in oklab, var(--accent) 32%, transparent);--pad-section: clamp(96px, 10vw, 160px);--pad-card: 28px;--gap-stack: 20px;--leading: 1.6}:root[data-theme=light]{--bg: #f6f4ee;--bg-raised: #fbfaf5;--bg-overlay: #ffffff;--glass-bg: rgba(255, 255, 255, .82);--glass-bg-strong: rgba(255, 255, 255, .94);--glass-border: rgba(10, 12, 18, .08);--glass-border-hi: rgba(10, 12, 18, .14);--glass-border-accent: color-mix(in oklab, var(--accent) 36%, transparent);--text: #0f141d;--text-2: #4a5260;--text-3: #6b7585;--text-muted: #98a0ad;--rule: rgba(10, 12, 18, .08);--rule-hi: rgba(10, 12, 18, .14);--accent: #7c3aed;--accent-2: #db2777;--accent-soft: color-mix(in oklab, var(--accent) 10%, transparent);--accent-wash: color-mix(in oklab, var(--accent) 5%, transparent);--accent-glow: color-mix(in oklab, var(--accent) 22%, transparent);--shadow-sm: 0 1px 2px rgba(10, 12, 18, .06);--shadow-md: 0 4px 16px rgba(10, 12, 18, .08), 0 1px 3px rgba(10, 12, 18, .04);--shadow-lg: 0 16px 40px rgba(10, 12, 18, .12), 0 4px 12px rgba(10, 12, 18, .06);--shadow-glow: 0 0 0 1px color-mix(in oklab, var(--accent) 18%, transparent), 0 6px 22px color-mix(in oklab, var(--accent) 14%, transparent)}:root[data-density=dense]{--pad-section: clamp(64px, 7vw, 112px);--pad-card: 20px;--gap-stack: 14px;--leading: 1.45}:root{--bp-mobile: 480px;--bp-tablet: 768px;--bp-desktop: 1024px;--touch-min: 44px;--touch-comfortable: 48px;--touch-nav-row: 56px;--pad-mobile-page: 16px;--pad-mobile-section: 24px;--pad-mobile-card: 16px;--gap-mobile-stack: 12px;--gap-mobile-row: 8px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--mobile-header-h: 56px;--mobile-drawer-w: min(320px, 80vw);--fs-mobile-h1: 28px;--fs-mobile-h2: 22px;--fs-mobile-num-kpi: 32px;--fs-mobile-num-row: 20px;--fs-mobile-label: 12px}:root{--lot-unreleased: #64748b;--lot-available: #9d67ff;--lot-interest-registered: #38bdf8;--lot-contract-issued: #f59e0b;--lot-deposit-taken: #fb923c;--lot-exchanged: #ec4899;--lot-unconditional: #8b5cf6;--lot-settled: #16a34a;--lot-fallen-over: #dc2626;--risk-info: #38bdf8;--risk-warn: #f59e0b;--risk-alert: #dc2626;--risk-warn-wash: color-mix(in oklab, var(--risk-warn) 8%, transparent);--risk-alert-wash: color-mix(in oklab, var(--risk-alert) 6%, transparent)}:root[data-theme=light]{--lot-unreleased: #475569;--lot-available: #7c3aed;--lot-interest-registered: #0284c7;--lot-contract-issued: #b45309;--lot-deposit-taken: #c2410c;--lot-exchanged: #db2777;--lot-unconditional: #6d28d9;--lot-settled: #15803d;--lot-fallen-over: #b91c1c;--risk-info: #0284c7;--risk-warn: #b45309;--risk-alert: #b91c1c}:root{--token-stage-chip-bg: #1c2533;--token-stage-chip-bg-active: var(--accent-soft);--token-stage-chip-ring-active: var(--accent-glow);--token-stage-chip-num: #94a3b8;--token-stage-chip-fg: #e2e8f0;--token-stage-strip-rule: #1e2937;--token-stage-divider: #1e2937;--token-stage-dropzone-bg: var(--accent-wash);--token-stage-dropzone-border: var(--accent-glow);--token-stage-panel-rule: #1e2937;--token-stage-accent-active: color-mix(in oklab, var(--accent) 22%, transparent)}:root[data-theme=light]{--token-stage-chip-bg: #eef0f5;--token-stage-chip-bg-active: var(--accent-soft);--token-stage-chip-ring-active: var(--accent-glow);--token-stage-chip-num: #475569;--token-stage-chip-fg: #1f2937;--token-stage-strip-rule: #e5e7eb;--token-stage-divider: #e5e7eb;--token-stage-dropzone-bg: var(--accent-wash);--token-stage-dropzone-border: var(--accent-glow);--token-stage-panel-rule: #e5e7eb;--token-stage-accent-active: color-mix(in oklab, var(--accent) 14%, transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--f-sans);font-size:15px;line-height:var(--leading, 1.6);color:var(--text);background:var(--bg);min-height:100vh;font-feature-settings:"cv11","ss01"}body:not(.excel-addin):before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 70% 45% at 18% -6%,color-mix(in oklab,var(--accent) 10%,transparent),transparent 55%),radial-gradient(ellipse 55% 40% at 88% 8%,color-mix(in oklab,var(--accent-2) 7%,transparent),transparent 55%),radial-gradient(ellipse 70% 55% at 50% 108%,color-mix(in oklab,var(--accent) 5%,transparent),transparent 55%),radial-gradient(ellipse 45% 35% at 100% 55%,color-mix(in oklab,var(--accent-2) 4%,transparent),transparent 60%)}:root[data-theme=light] body:not(.excel-addin):before{background:radial-gradient(ellipse 70% 45% at 20% -6%,color-mix(in oklab,var(--accent) 14%,transparent),transparent 60%),radial-gradient(ellipse 55% 40% at 88% 10%,color-mix(in oklab,var(--accent-2) 9%,transparent),transparent 60%),radial-gradient(ellipse 60% 40% at 50% 105%,color-mix(in oklab,var(--accent) 7%,transparent),transparent 65%)}main,section,header,footer,.wrap,.wrap-wide{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){body:before{display:none}}h1,h2,h3,h4{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;color:var(--text);margin:0}h1{font-size:clamp(44px,6vw,84px);line-height:.98}h2{font-size:clamp(32px,4vw,52px);line-height:1.05}h3{font-size:clamp(22px,2.2vw,28px);line-height:1.15}h4{font-size:18px;line-height:1.3;font-family:var(--f-sans);font-weight:600;letter-spacing:-.01em}h1 em,h2 em{font-style:italic;color:var(--accent);font-family:var(--f-display);font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144}.display{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;line-height:1.02;font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 144}.mono,.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","zero"}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}p{margin:0;color:var(--text-2)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:root{--bg-page: var(--bg);--bg-card: var(--bg-raised);--bg-row-alt: var(--bg-overlay);--text-primary: var(--text);--text-secondary: var(--text-2);--text-tertiary: var(--text-3);--color-blue: var(--accent);--color-green: var(--flag-green);--color-red: var(--flag-red);--color-amber: var(--flag-amber);--border-default: var(--rule-hi);--border-light: var(--rule);--sidebar-bg: var(--bg-overlay)}:root{--token-emw-fill: #22d3ee;--token-emw-soft: rgba(34, 211, 238, .18);--token-emw-fg: #67e8f9;--token-emw-stripe: #22d3ee;--token-shared-row-bg: #0c1118;--token-stage-kpi-divider: #1e2937;--token-stage-row-stripe: #475569}:root[data-theme=light]{--token-emw-fill: #0891b2;--token-emw-soft: #cffafe;--token-emw-fg: #0e7490;--token-emw-stripe: #0891b2;--token-shared-row-bg: #f8fafc;--token-stage-kpi-divider: #e5e7eb;--token-stage-row-stripe: #cbd5e1}:root{--token-recycled-pool-fill: #facc15;--token-recycled-pool-soft: rgba(250, 204, 21, .18);--token-recycled-pool-fg: #fef08a;--token-capital-bar-track: #1e2937;--token-capital-bar-fill: var(--accent);--token-stage-axis-label: #94a3b8}:root[data-theme=light]{--token-recycled-pool-fill: #ca8a04;--token-recycled-pool-soft: #fef9c3;--token-recycled-pool-fg: #854d0e;--token-capital-bar-track: #f1f5f9;--token-capital-bar-fill: var(--accent);--token-stage-axis-label: #475569}:root{--token-stage-parent-bg: #1a2230;--token-stage-connector: #7c8aa1;--token-stage-connector-hi: #94a3b8;--token-em-diff-add: #22c55e;--token-em-diff-edit: #fbbf24;--token-em-diff-remove: #ef4444}:root[data-theme=light]{--token-stage-parent-bg: #f1f3f8;--token-stage-connector: #64748b;--token-stage-connector-hi: #475569;--token-em-diff-add: #15803d;--token-em-diff-edit: #b45309;--token-em-diff-remove: #991b1b}:root{--token-stale-dot: #fbbf24;--token-stale-dot-ring: rgba(251, 191, 36, .18);--token-pathway-cdc: #22c55e;--token-pathway-da: var(--accent);--token-pathway-ssd: #fbbf24;--token-pathway-complying: #94a3b8;--token-condition-open: #ef4444;--token-condition-in-progress: #fbbf24;--token-condition-closed: #22c55e;--token-report-section-rule: #1e2937}:root[data-theme=light]{--token-stale-dot: #b45309;--token-stale-dot-ring: #fef3c7;--token-pathway-cdc: #15803d;--token-pathway-da: var(--accent);--token-pathway-ssd: #b45309;--token-pathway-complying: #475569;--token-condition-open: #991b1b;--token-condition-in-progress: #b45309;--token-condition-closed: #15803d;--token-report-section-rule: #e5e7eb}@media print{.stale-field-dot{display:none!important}.stale-field-print-text{display:inline!important;color:#475569;font-size:11px;font-style:italic}}:root{--token-doc-section-divider: var(--rule);--token-doc-rollup-bg: var(--bg-raised);--token-doc-rollup-bg-hover: color-mix(in srgb, var(--accent) 5%, transparent);--token-doc-child-indent: color-mix(in srgb, var(--accent) 30%, transparent);--token-doc-mini-bar-track: var(--bg-raised)}:root[data-theme=light]{--token-doc-section-divider: rgba(15, 20, 29, .06);--token-doc-rollup-bg: var(--bg-raised);--token-doc-rollup-bg-hover: color-mix(in srgb, var(--accent) 5%, transparent);--token-doc-child-indent: color-mix(in srgb, var(--accent) 30%, transparent);--token-doc-mini-bar-track: var(--bg-raised)}:root[data-accent=violet]{--accent: #9d67ff;--accent-2: #ec4899}:root[data-accent=blue]{--accent: #60a5fa;--accent-2: #22d3ee}:root[data-accent=orange]{--accent: #fb923c;--accent-2: #f97316}:root[data-accent=pink]{--accent: #ec4899;--accent-2: #f472b6}:root[data-accent=green]{--accent: #34d399;--accent-2: #14b8a6}:root[data-theme=light][data-accent=violet]{--accent: #7c3aed;--accent-2: #db2777}:root[data-theme=light][data-accent=blue]{--accent: #2563eb;--accent-2: #0891b2}:root[data-theme=light][data-accent=orange]{--accent: #ea580c;--accent-2: #c2410c}:root[data-theme=light][data-accent=pink]{--accent: #db2777;--accent-2: #ec4899}:root[data-theme=light][data-accent=green]{--accent: #059669;--accent-2: #0d9488}:root{--bg-page: #f5f7fa;--bg-card: #ffffff;--bg-header: #ffffff;--bg-subtle: #f9fafb;--bg-row-alt: #fafbfc;--bg-input: #ffffff;--bg-btn-secondary: #f3f4f6;--text-primary: #1a2332;--text-secondary: #6b7280;--text-heading: #1a2332;--text-faint: #94a3b8;--border-default: #e5e7eb;--border-input: #d1d5db;--border-row: #f3f4f6;--color-blue: var(--accent);--color-blue-hover: var(--accent-2);--color-green: #16a34a;--color-red: #dc2626;--sidebar-bg: var(--bg);--sidebar-text: var(--text-2);--sidebar-heading: var(--text);--sidebar-nav-hover-bg: var(--accent-soft);--sidebar-nav-hover-text:var(--accent);--sidebar-divider: var(--rule);--sidebar-footer-border:var(--rule);--sidebar-section-title:var(--text-3);--ai-panel-bg: #ffffff;--ai-body-bg: #f8fafc;--ai-header-bg: #0f172a;--ai-footer-bg: #ffffff;--ai-footer-border: #e5e7eb;--ai-msg-bg: #ffffff;--ai-msg-border: #e5e7eb;--ai-msg-user-bg: var(--accent-wash);--ai-msg-user-border: var(--glass-border-accent);--ai-suggestion-bg: #ffffff;--ai-suggestion-border: #e5e7eb;--ai-suggestion-title: #0f172a;--ai-suggestion-detail: #475569;--ai-loading-overlay: rgba(248,250,252,.78);--ai-input-border: #d1d5db;--ai-meta-color: #64748b;--ai-code-bg: #f1f5f9;--metrics-panel-bg: #ffffff;--metrics-panel-border: #e5e7eb;--metrics-panel-header: #f9fafb}:root.dark-mode{--bg-page: var(--bg);--bg-card: var(--bg-raised);--bg-header: var(--bg-raised);--bg-subtle: var(--bg-raised);--bg-row-alt: var(--bg-overlay);--bg-input: var(--bg-raised);--bg-btn-secondary: rgba(255, 255, 255, .06);--text-primary: var(--text);--text-secondary: var(--text-2);--text-heading: var(--text);--text-faint: var(--text-3);--border-default: var(--rule-hi);--border-input: var(--rule-hi);--border-row: var(--rule);--sidebar-bg: var(--bg);--sidebar-text: var(--text-2);--sidebar-heading: var(--text);--sidebar-nav-hover-bg: var(--accent-soft);--sidebar-nav-hover-text:var(--accent);--sidebar-divider: var(--rule);--sidebar-footer-border:var(--rule);--sidebar-section-title:var(--text-3);--ai-panel-bg: var(--bg-raised);--ai-body-bg: var(--bg);--ai-header-bg: var(--bg);--ai-footer-bg: var(--bg-raised);--ai-footer-border: var(--rule);--ai-msg-bg: var(--bg-raised);--ai-msg-border: var(--rule);--ai-msg-user-bg: var(--accent-wash);--ai-msg-user-border: var(--glass-border-accent);--ai-suggestion-bg: var(--bg-raised);--ai-suggestion-border: var(--rule);--ai-suggestion-title: var(--text);--ai-suggestion-detail: var(--text-2);--ai-loading-overlay: rgba(5, 7, 10, .78);--ai-input-border: var(--rule-hi);--ai-meta-color: var(--text-3);--ai-code-bg: var(--bg-overlay);--metrics-panel-bg: var(--bg-raised);--metrics-panel-border: var(--rule);--metrics-panel-header: var(--bg-overlay);color-scheme:dark}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-page);color:var(--text-primary);margin:0}.app-container{display:flex;height:100vh;background-color:var(--bg-page)}.sidebar{width:250px;background-color:var(--sidebar-bg);color:#fff;display:flex;flex-direction:column;padding:24px;box-shadow:2px 0 8px #0000001a;transition:width .25s ease;overflow:hidden}.sidebar-header{margin-bottom:32px}.brand-name{font-size:20px;font-weight:700;margin-bottom:4px;color:var(--accent)}.brand-tagline{font-size:11px;color:var(--sidebar-section-title);text-transform:uppercase;letter-spacing:.5px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:8px}.sidebar-divider{height:1px;background:var(--sidebar-divider);margin:10px 0 6px}.sidebar-section-title{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--sidebar-section-title);padding:0 16px;margin-bottom:2px}.ai-chat-launcher{position:fixed;right:18px;bottom:18px;z-index:2000;width:52px;height:52px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 12px 28px #0000003d;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:800;letter-spacing:.2px}.ai-chat-panel{position:fixed;right:18px;bottom:82px;z-index:2000;min-width:320px;max-width:calc(100vw - 36px);min-height:300px;max-height:calc(100vh - 100px);background:var(--ai-panel-bg);border:1px solid var(--ai-panel-border, var(--border-default));border-radius:12px;box-shadow:0 20px 40px #00000038;overflow:hidden;display:flex;flex-direction:column}.ai-chat-resize-handle{position:absolute;top:0;left:0;width:18px;height:18px;cursor:nw-resize;z-index:10;background:transparent}.ai-chat-resize-handle:after{content:"";position:absolute;top:4px;left:4px;width:8px;height:8px;border-top:2px solid rgba(255,255,255,.4);border-left:2px solid rgba(255,255,255,.4);border-radius:2px 0 0}.ai-chat-header{padding:12px 14px;background:var(--ai-header-bg);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-chat-title{font-weight:800;font-size:13px;letter-spacing:.2px}.ai-chat-subtitle{font-size:11px;color:#e2e8f0cc;margin-top:2px}.ai-chat-body{flex:1;padding:12px;overflow:auto;background:var(--ai-body-bg)}.ai-msg{padding:10px;border-radius:10px;margin-bottom:10px;border:1px solid var(--ai-msg-border);background:var(--ai-msg-bg);font-size:12px;line-height:1.35;color:var(--text-primary);white-space:pre-wrap}.ai-msg.user{background:var(--ai-msg-user-bg);border-color:var(--ai-msg-user-border)}.ai-msg.assistant{background:var(--ai-msg-bg);border-color:var(--ai-msg-border)}.ai-msg.assistant h2{font-size:13px;margin:2px 0 6px;font-weight:800}.ai-msg.assistant h3{font-size:12px;margin:10px 0 6px;font-weight:800}.ai-msg.assistant ul{margin:6px 0 6px 18px;padding:0}.ai-msg.assistant li{margin:2px 0}.ai-msg.assistant code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:11px;background:var(--ai-code-bg);padding:1px 4px;border-radius:6px}.ai-suggestions{margin-top:8px;display:grid;gap:8px}.ai-suggestion{border:1px solid var(--ai-suggestion-border);border-radius:10px;padding:10px;background:var(--ai-suggestion-bg)}.ai-suggestion-title{font-weight:800;font-size:12px;color:var(--ai-suggestion-title);margin-bottom:4px}.ai-suggestion-details{font-size:12px;color:var(--ai-suggestion-detail);margin-bottom:8px;white-space:pre-wrap}.ai-suggestion-actions{display:flex;gap:8px;flex-wrap:wrap}.ai-suggestion-override{width:110px;padding:6px 8px;border:1px solid #d0d7de;border-radius:8px;font-size:12px}.ai-chat-footer{padding:10px;border-top:1px solid var(--ai-footer-border);background:var(--ai-footer-bg);position:relative}.ai-chat-loading-overlay{position:absolute;inset:0;background:var(--ai-loading-overlay);display:flex;align-items:center;justify-content:center;z-index:5;pointer-events:none}.ai-chat-spinner{width:28px;height:28px;border-radius:999px;border:3px solid rgba(157,103,255,.2);border-top-color:#9d67ff;animation:ai-spin .9s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-chat-input{width:100%;border:1px solid var(--ai-input-border);border-radius:10px;padding:10px;font-size:12px;outline:none;background:var(--bg-input);color:var(--text-primary);box-sizing:border-box}.ai-chat-row{margin-top:8px;display:flex;gap:8px;align-items:center;justify-content:space-between}.ai-chat-meta{font-size:11px;color:var(--ai-meta-color)}.ai-suggestion-dismissed{opacity:.5;padding:6px 10px}.ai-dismiss-btn{margin-left:auto;opacity:.7;font-size:11px}.ai-dismiss-btn:hover{opacity:1}.ai-scenario-comparison{margin:6px 0 8px;overflow-x:auto}.ai-scenario-table{width:100%;border-collapse:collapse;font-size:11px}.ai-scenario-table th,.ai-scenario-table td{padding:3px 6px;text-align:right;border-bottom:1px solid var(--ai-msg-border, #e2e8f0)}.ai-scenario-table th{font-weight:700;text-align:left}.ai-scenario-table td:first-child{text-align:left;font-weight:600}.ai-scenario-delta.positive{color:#16a34a}.ai-scenario-delta.negative{color:#dc2626}@media(max-width:640px){.ai-chat-panel{width:calc(100vw - 36px)!important;height:70vh!important}}.nav-item{padding:12px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s,color .2s;color:var(--sidebar-text);display:inline-flex;align-items:center;gap:6px}.nav-label-mobile{display:none}.nav-item:hover{background-color:var(--sidebar-nav-hover-bg);color:var(--sidebar-nav-hover-text)}.nav-item.active{background-color:var(--accent);color:#fff;font-weight:600}.sidebar-footer{padding-top:16px;border-top:1px solid var(--sidebar-footer-border);display:flex;flex-direction:column;gap:12px}.mobile-logout-btn{display:none!important}.user-info{font-size:13px;color:var(--sidebar-text)}.user-name{font-weight:600;color:var(--sidebar-heading)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.header{background-color:var(--bg-header);padding:20px 32px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000000d}.header-title{font-size:24px;font-weight:600;color:var(--text-heading)}.header-right{display:flex;align-items:center;gap:16px}.header-actions{display:flex;gap:12px}.header-brand{color:var(--accent);font-size:20px;font-weight:700}.content-area{flex:1;overflow-y:auto;padding:32px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:var(--text-primary)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-input);border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s,box-shadow .2s;background-color:var(--bg-input);color:var(--text-primary);box-sizing:border-box}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #9d67ff1a}.form-textarea{resize:vertical;min-height:100px}.slider-input-group{margin-bottom:4px}.slider-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.slider-value-badge{font-size:13px;font-weight:700;color:var(--primary);background:#9d67ff14;padding:2px 8px;border-radius:4px;min-width:48px;text-align:center}.slider-row{display:flex;align-items:center;gap:8px}.slider-range{-webkit-appearance:none;appearance:none;flex:1;height:6px;border-radius:3px;outline:none;cursor:pointer;transition:opacity .15s}.slider-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);border:2px solid #fff;box-shadow:0 1px 4px #0000002e;cursor:pointer;transition:transform .1s}.slider-range::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary);border:2px solid #fff;box-shadow:0 1px 4px #0000002e;cursor:pointer}.slider-range:focus{box-shadow:0 0 0 3px #9d67ff26}.slider-number{width:72px!important;flex:none;padding:6px 8px;font-size:13px;text-align:center}.btn{padding:10px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-primary{background-color:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-primary:hover{background-color:var(--accent-soft);border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.btn-primary:active{background-color:var(--accent-wash);border-color:var(--accent);color:var(--accent)}.btn-secondary{background-color:var(--bg-btn-secondary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--border-default)}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-ghost{background-color:transparent;color:var(--accent);border:1px solid var(--border-input)}.btn-ghost:hover{background-color:var(--bg-btn-secondary)}.btn-small{padding:6px 12px;font-size:12px}.btn-icon{padding:8px 12px;background-color:transparent;color:var(--text-primary);border:none;cursor:pointer;font-size:14px}.btn-icon:hover{color:var(--accent)}.btn:disabled{opacity:.6;cursor:not-allowed}.card{background-color:var(--bg-card);border-radius:8px;box-shadow:0 1px 3px #0000000d;border:1px solid var(--border-default);padding:24px}.card-header{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-default)}.card-title{font-size:18px;font-weight:600;color:var(--text-heading)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:32px}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background-color:var(--bg-card);border-radius:8px;padding:20px;border:1px solid var(--border-default);box-shadow:0 1px 3px #0000000d;container-type:inline-size;overflow:hidden}.metric-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px}.metric-value{font-size:clamp(20px,13cqw,34px);font-weight:700;color:var(--text-primary);margin-bottom:4px;line-height:1.1;white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}.metric-value.positive{color:#16a34a}.metric-value.negative{color:#dc2626}.metric-value.neutral{color:var(--text-primary)}.metric-change{font-size:12px;color:var(--text-secondary)}.admin-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:16px}.metric-card.compact{padding:14px}.metric-card.compact .metric-label{margin-bottom:6px}.metric-card.compact .metric-value{font-size:clamp(18px,8cqw,26px);margin-bottom:0}.table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border-default)}table{width:100%;border-collapse:collapse;background-color:var(--bg-card)}thead{background-color:var(--bg-subtle);border-bottom:2px solid var(--border-default)}th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}td{padding:12px 16px;border-bottom:1px solid var(--border-row);font-size:14px;color:var(--text-primary)}tbody tr:hover{background-color:var(--bg-row-alt)}tbody tr:nth-child(2n){background-color:var(--bg-row-alt)}.ctx-menu{position:fixed;z-index:9999;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;box-shadow:0 8px 24px #0000002e;min-width:210px;padding:4px 0;-webkit-user-select:none;user-select:none}.ctx-menu-item{display:flex;align-items:center;gap:8px;padding:7px 14px;font-size:13px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.ctx-menu-item:hover{background:var(--bg-hover, rgba(59,130,246,.08))}.ctx-menu-item.disabled{color:var(--text-secondary);cursor:default;pointer-events:none}.ctx-menu-item.danger{color:#dc2626}.ctx-menu-item.danger:hover{background:#dc262614}.ctx-menu-divider{border:none;border-top:1px solid var(--border-default);margin:4px 0}.ctx-menu-section{padding:4px 14px 2px;font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.row-selected td{background:#3b82f61a!important}.row-pending-delete td{background:#dc262612!important}.selection-pill{display:inline-flex;align-items:center;gap:8px;background:#3b82f61f;border:1px solid rgba(59,130,246,.3);border-radius:20px;padding:3px 12px;font-size:12px;color:var(--color-blue, var(--accent));margin-bottom:8px}.selection-pill button{background:none;border:none;color:var(--color-blue, var(--accent));cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.project-card{background-color:var(--bg-card);border-radius:8px;border:1px solid var(--border-default);padding:20px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.project-card:hover{box-shadow:0 8px 16px #0000001a;border-color:var(--accent);transform:translateY(-2px)}.project-card-header{margin-bottom:12px}.project-name{font-size:16px;font-weight:600;color:var(--text-heading);margin-bottom:4px}.project-meta{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.project-badge{display:inline-block;padding:4px 10px;background-color:var(--accent-soft);color:#0c4a6e;border-radius:4px;font-size:12px;font-weight:500;margin-right:8px;margin-bottom:12px}.share-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:600;margin-right:6px;margin-bottom:8px;position:relative;cursor:default}.share-badge-shared{background:var(--accent-soft);color:var(--accent)}.share-badge-from{background:#dcfce7;color:#15803d}.share-badge-company{background:#ede9fe;color:#6d28d9}.share-badge-readonly{background:#fef3c7;color:#92400e}.share-badge-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:0;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:10px 12px;z-index:200;min-width:220px;max-width:300px;box-shadow:0 4px 16px #0000002e;font-size:12px;font-weight:400;color:var(--text-primary);pointer-events:none;white-space:normal}.share-badge:hover .share-badge-tooltip{display:block}.share-badge-tooltip-row{padding:4px 0;border-bottom:1px solid var(--border-default);line-height:1.5}.share-badge-tooltip-row:last-child{border-bottom:none;padding-bottom:0}.share-badge-tooltip-name{font-weight:600;color:var(--text-primary)}.share-badge-tooltip-detail{font-size:11px;color:var(--text-secondary)}.share-modal-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.share-modal-user{flex:1;font-size:13px;color:var(--text-primary)}.share-modal-email{font-size:11px;color:var(--text-secondary);margin-top:1px}.share-permission-select{font-size:12px;padding:3px 6px;border-radius:4px;border:1px solid var(--border-input);background:var(--bg-input);color:var(--text-primary)}.shared-projects-section{margin-top:28px}.shared-projects-section h4{font-size:14px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px}.company-member-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-default)}.company-member-info{flex:1}.company-member-name{font-size:13px;font-weight:600;color:var(--text-primary)}.company-member-email{font-size:11px;color:var(--text-secondary)}.company-role-badge{font-size:10px;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px}.company-role-admin{background:#fef3c7;color:#92400e}.company-role-member{background:#f1f5f9;color:#475569}.company-role-pending{background:#f0fdf4;color:#166534}.coa-category{border-bottom:1px solid var(--border-default)}.coa-category:last-child{border-bottom:none}.coa-category-header{display:flex;align-items:center;gap:8px;padding:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.coa-category-header:hover{opacity:.8}.coa-chevron{font-size:12px;width:16px;text-align:center;color:var(--text-muted)}.coa-category-label{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.coa-category-count{font-size:11px;color:var(--text-muted);background:var(--bg-surface);padding:1px 7px;border-radius:8px}.coa-category-body{padding:0 0 8px}.coa-code-row{display:flex;align-items:center;gap:8px;padding:5px 4px 5px 28px;border-radius:6px;min-height:32px}.coa-code-row:hover{background:var(--bg-surface)}.coa-code-row:hover .coa-code-actions{opacity:1}.coa-code-number{font-size:12px;color:var(--text-muted);font-family:var(--font-mono, monospace);width:70px;flex-shrink:0}.coa-code-desc{font-size:13px;color:var(--text-primary);flex:1}.coa-code-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.coa-code-input{font-size:12px!important;padding:4px 8px!important;height:28px!important}.project-card-footer{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border-default)}.project-card-footer button{flex:0 0 auto}.tabs-container{margin-bottom:24px;width:100%;overflow-x:hidden;min-width:0}.tabs-header{display:flex;gap:0;border-bottom:2px solid var(--border-default);background-color:var(--bg-card);padding:0 24px;border-radius:8px 8px 0 0;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.tab-button{padding:16px 20px;background-color:transparent;border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;transition:all .2s;white-space:nowrap;flex:0 0 auto}.tab-button:hover{color:var(--text-primary)}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs-content{background-color:var(--bg-card);border-radius:0 0 8px 8px;padding:24px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--bg-card);border-radius:12px;padding:32px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-header{margin-bottom:24px}.modal-title{font-size:20px;font-weight:600;color:var(--text-heading)}.modal-footer{margin-top:24px;display:flex;gap:12px;justify-content:flex-end}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.login-card{background-color:var(--bg-card);border-radius:12px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 25px #0000001a}.login-header{text-align:center;margin-bottom:32px}.login-brand{font-size:28px;font-weight:700;color:var(--accent);margin-bottom:8px}.login-tagline{font-size:13px;color:var(--text-secondary)}.form-footer{text-align:center;margin-top:20px}.form-footer a{color:var(--accent);text-decoration:none;cursor:pointer;font-weight:500}.form-footer a:hover{text-decoration:underline}.oauth-buttons{margin-bottom:4px;display:flex;flex-direction:column;gap:10px}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:background-color .15s,box-shadow .15s;border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary)}.oauth-btn:hover{background:var(--bg-subtle);box-shadow:0 1px 3px #00000014}.oauth-divider{display:flex;align-items:center;gap:12px;margin:4px 0;color:var(--text-secondary);font-size:13px}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.alert{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px;display:flex;gap:12px;align-items:flex-start}.alert-error{background-color:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}.alert-success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.alert-info{background-color:var(--accent-soft);color:#0c4a6e;border:1px solid var(--glass-border-accent)}.category-section{margin-bottom:32px;border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.category-header{background-color:var(--bg-subtle);padding:16px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center}.category-title{font-weight:600;color:var(--text-heading);font-size:15px}.category-subtotal{font-weight:600;color:var(--accent);font-size:15px}.category-items{padding:16px}.category-item{display:flex;gap:16px;padding:12px;background-color:var(--bg-card);border-radius:6px;margin-bottom:12px;align-items:center;flex-wrap:wrap}.category-item:last-child{margin-bottom:0}.item-input{flex:1;min-width:120px}.item-input input,.item-input select{width:100%;padding:6px 8px;border:1px solid var(--border-input);border-radius:4px;font-size:13px;background-color:var(--bg-input);color:var(--text-primary)}.category-item-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;font-weight:600}.loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}.spinner{border:3px solid var(--border-default);border-top:3px solid var(--accent);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-right:12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-progress-banner{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:10px 12px;border-radius:8px;background:var(--accent-wash);border:1px solid var(--glass-border-accent);color:var(--accent);font-size:13px;font-weight:600}.ai-progress-circle{width:18px;height:18px;border-radius:50%;background:conic-gradient(var(--accent) 0deg,var(--accent) 120deg,var(--accent-soft) 360deg);animation:spin 1.1s linear infinite;position:relative;flex:0 0 18px}.ai-progress-circle:after{content:"";position:absolute;inset:3px;background:var(--accent-wash);border-radius:50%}.checkbox-container{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox{width:18px;height:18px;border:1px solid var(--border-input);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;background-color:var(--bg-input);transition:all .2s}.checkbox:hover{border-color:var(--accent)}.checkbox.checked{background-color:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.confirm-dialog{background-color:var(--bg-card);border-radius:12px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 25px #00000026}.confirm-title{font-size:18px;font-weight:600;margin-bottom:12px;color:var(--text-heading)}.confirm-message{color:var(--text-secondary);margin-bottom:24px}.confirm-actions{display:flex;gap:12px;justify-content:flex-end}@media(max-width:768px){html,body{overflow-x:hidden}.app-container{flex-direction:column;width:100%;overflow-x:hidden}.sidebar{display:none}.header{padding:16px;flex-direction:column;gap:16px;align-items:flex-start}.content-area{padding:16px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px;margin-bottom:16px}.metrics-grid .metric-card{padding:12px}.metrics-grid .metric-label{font-size:10px;margin-bottom:4px;letter-spacing:.3px}.metrics-grid .metric-value{font-size:clamp(16px,6.5vw,22px)}.kpi-tile{padding:14px 10px!important;min-width:0}.kpi-tile .k{font-size:10px!important;letter-spacing:.08em!important}.kpi-tile .v{font-size:clamp(18px,5.4vw,24px)!important;line-height:1.05!important;margin-top:6px!important;overflow:visible!important;white-space:nowrap!important;letter-spacing:-.02em!important}.kpi-tile .s{font-size:11px!important;max-width:none!important}.grid-2,.grid-3,.grid-4,.projects-grid{grid-template-columns:1fr}.tabs-header{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;width:100%;max-width:100%;overflow:hidden;border-bottom:none}.tab-button{width:100%;padding:10px 8px;font-size:12px;text-align:center;border:1px solid var(--border-default);border-radius:8px;border-bottom:1px solid var(--border-default)}.tab-button.active{border-color:var(--accent);background-color:var(--accent-wash)}.modal-content{max-width:100%}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state-title{font-size:18px;font-weight:600;color:var(--text-heading);margin-bottom:8px}.empty-state-description{margin-bottom:24px}.inline-editable{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.inline-editable:hover{background-color:var(--bg-row-alt)}.inline-editable.edit-mode{background-color:transparent;padding:0}.inline-editable input{width:100%;padding:4px 8px;border:1px solid var(--accent);border-radius:4px;font-size:14px}.hidden{display:none}.mt-4{margin-top:24px}.mb-4{margin-bottom:24px}.flex-between{display:flex;justify-content:space-between;align-items:center}.text-center{text-align:center}.text-small{font-size:12px;color:var(--text-secondary)}.text-muted{color:var(--text-secondary)}.error-text{color:#ef4444;font-size:13px;margin-top:6px}.success-text{color:#16a34a;font-size:13px;margin-top:6px}.divider{border-top:1px solid var(--border-default);margin:20px 0}.sidebar--collapsed{width:56px;padding:16px 8px}.sidebar--collapsed .nav-label-text,.sidebar--collapsed .nav-label-desktop,.sidebar--collapsed .brand-name,.sidebar--collapsed .brand-tagline,.sidebar--collapsed .user-info,.sidebar--collapsed .sidebar-section-title{display:none}.sidebar--collapsed .nav-item{justify-content:center;padding:12px 8px}.brand-icon{display:none;font-size:14px;font-weight:700;color:var(--accent);text-align:center;padding:4px 0}.sidebar--collapsed .brand-icon{display:flex;align-items:center;justify-content:center;width:100%;padding:6px 0}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:8px;margin-top:8px;background:transparent;border:1px solid var(--sidebar-divider);border-radius:6px;color:var(--sidebar-text);cursor:pointer;font-size:12px;transition:background-color .2s}.sidebar-toggle-btn:hover{background-color:var(--sidebar-nav-hover-bg);color:var(--sidebar-nav-hover-text)}.sidebar-footer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sidebar--collapsed .sidebar-footer-actions{flex-direction:column;align-items:center}.theme-toggle-btn{background:transparent;border:1px solid var(--sidebar-divider);border-radius:6px;padding:6px 8px;cursor:pointer;font-size:16px;color:var(--sidebar-text);transition:background-color .2s;flex-shrink:0;line-height:1}.theme-toggle-btn:hover{background-color:var(--sidebar-nav-hover-bg)}@media(max-width:768px){.sidebar{transition:none}.sidebar--collapsed{width:100%;padding:12px 10px}}.metrics-panel{width:280px;min-width:0;flex-shrink:0;background-color:var(--metrics-panel-bg);border-left:1px solid var(--metrics-panel-border);display:flex;flex-direction:column;overflow:hidden;transition:width .25s ease}.metrics-panel--closed{width:0;border-left:none}.metrics-panel-header{padding:14px 16px;background:var(--metrics-panel-header);border-bottom:1px solid var(--metrics-panel-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.metrics-panel-title{font-size:13px;font-weight:700;color:var(--text-heading);letter-spacing:.3px}.metrics-panel-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.metrics-panel-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;padding:10px 12px;container-type:inline-size}.metrics-panel-card .metric-label{font-size:10px;margin-bottom:4px}.metrics-panel-card .metric-value{font-size:clamp(14px,10cqw,20px);margin-bottom:0}.metrics-panel-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:100;width:24px;padding:12px 0;background:var(--metrics-panel-bg);border:1px solid var(--metrics-panel-border);border-right:none;border-radius:6px 0 0 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-secondary);font-size:10px;box-shadow:-2px 0 8px #0000001a;transition:background-color .2s}.metrics-panel-tab:hover{background:var(--bg-subtle);color:var(--color-blue)}@media(max-width:768px){.metrics-panel,.metrics-panel-tab{display:none}}.sensitivity-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}.sensitivity-toolbar .form-label{margin-bottom:4px;font-size:12px}.sensitivity-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.sensitivity-mini-card{border:1px solid var(--border-default);border-radius:10px;padding:10px;background:var(--bg-card)}.sensitivity-mini-card h4{margin:0 0 6px;font-size:12px;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.sensitivity-value{font-size:22px;font-weight:800;color:var(--text-heading)}.sensitivity-delta{font-size:12px;color:var(--text-secondary);margin-top:3px}.sensitivity-presets{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 14px}.sensitivity-tornado-row{display:grid;grid-template-columns:220px 1fr;gap:10px;align-items:center;margin-bottom:10px}.sensitivity-tornado-track{position:relative;height:28px;background:var(--bg-subtle);border-radius:999px;overflow:hidden;border:1px solid var(--border-default)}.sensitivity-tornado-center{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#94a3b8;z-index:2}.sensitivity-tornado-left,.sensitivity-tornado-right{position:absolute;top:2px;bottom:2px;border-radius:999px;display:flex;align-items:center;font-size:11px;font-weight:700;padding:0 8px;white-space:nowrap;overflow:hidden;color:#0f172a}.sensitivity-tornado-left{right:50%;background:#fecaca;justify-content:flex-end}.sensitivity-tornado-right{left:50%;background:#bbf7d0}.sensitivity-heatmap{overflow:auto;border:1px solid var(--border-default);border-radius:10px}.sensitivity-heatmap table{min-width:760px}.sensitivity-heatmap td,.sensitivity-heatmap th{text-align:center;font-variant-numeric:tabular-nums;font-size:12px}.scenario-fan-wrapper{position:relative;width:100%}.scenario-fan-card{position:absolute;left:0;right:0;background:var(--bg-card);border:1px solid var(--color-blue);border-radius:10px;padding:14px 16px;cursor:pointer;transition:top .25s ease,box-shadow .2s ease;box-shadow:0 2px 8px #0000001a}.scenario-fan-card.is-front{cursor:default;box-shadow:0 4px 18px #2563eb2e;border-color:var(--color-blue)}.scenario-fan-card.is-back{cursor:pointer}.scenario-fan-card.is-back:hover{box-shadow:0 4px 14px #2563eb38}:root.dark-mode .scenario-fan-card{background:var(--bg-card);box-shadow:0 2px 8px #00000059}.scenario-fan-tab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-blue);pointer-events:none}.project-card.has-scenarios{border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-bottom-color:var(--color-blue);border-bottom-width:2px}.scenario-name-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.scenario-name-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-blue)}.scenario-name-text{font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer;border-bottom:1px dashed var(--border-input);padding:1px 2px}.scenario-name-text:hover{border-bottom-color:var(--color-blue)}.scenario-name-input{font-size:13px;font-weight:600;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--color-blue);border-radius:4px;padding:2px 6px;width:100%;outline:none}.scenario-comparison-wrap{overflow-x:auto;border-radius:8px;border:1px solid var(--border-default)}.scenario-comparison-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}.scenario-comparison-table th,.scenario-comparison-table td{padding:10px 14px;border:1px solid var(--border-default);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-comparison-table th:first-child,.scenario-comparison-table td:first-child{text-align:left;position:sticky;left:0;background:var(--bg-subtle);z-index:2;font-weight:600}.scenario-comparison-table thead th{background:var(--bg-header);z-index:3;font-weight:700;text-align:center;vertical-align:top}.scenario-comparison-table thead th:first-child{z-index:4;text-align:left;vertical-align:middle}.scenario-comparison-table tr:nth-child(2n) td:not(:first-child){background:var(--bg-row-alt)}.scenario-section-header td{background:var(--bg-subtle)!important;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:left!important;padding:8px 14px;white-space:normal}.best-value-badge{display:inline-block;margin-left:6px;background:#16a34a;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:10px;vertical-align:middle}.comparison-col-base td:not(:first-child){background:#2563eb0d!important}.scenario-comparison-col-header{font-size:12px;font-weight:700;color:var(--text-heading);white-space:normal;word-break:break-word}.row-toggle-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px;min-width:190px;flex-shrink:0}.row-toggle-panel h4{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.row-toggle-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary);margin-bottom:8px;cursor:pointer}#scenario-print-root{display:none}:root.dark-mode input,:root.dark-mode select,:root.dark-mode textarea{background-color:var(--bg-input);color:var(--text-primary);border-color:var(--border-input)}:root.dark-mode input::placeholder,:root.dark-mode textarea::placeholder{color:var(--text-secondary)}:root.dark-mode input[type=checkbox],:root.dark-mode input[type=radio]{accent-color:var(--color-blue)}.snapshot-page{padding:24px}.snapshot-search-bar{position:relative;margin-bottom:24px}.snapshot-search-bar input{width:100%;padding:10px 16px 10px 40px;border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;box-sizing:border-box}.snapshot-search-bar svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.snapshot-folder-group{margin-bottom:32px}.snapshot-folder-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding:6px 0;border-bottom:1px solid var(--border-default);cursor:pointer;-webkit-user-select:none;user-select:none}.snapshot-folder-header input{font-size:13px;font-weight:600;color:var(--text-primary);background:transparent;border:none;border-bottom:2px solid var(--color-blue);outline:none;text-transform:uppercase;letter-spacing:.05em}.snapshot-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.snapshot-tile{background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s;cursor:grab}.snapshot-tile:hover{border-color:var(--color-blue);box-shadow:0 2px 8px #2563eb1a}.snapshot-tile.drag-over{border-color:var(--color-blue);box-shadow:0 0 0 2px #2563eb33;background:var(--bg-subtle)}.snapshot-tile-name{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3}.snapshot-tile-date{font-size:12px;color:var(--text-secondary)}.snapshot-tile-tags{display:flex;flex-wrap:wrap;gap:6px}.snapshot-tag-chip{font-size:11px;background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:20px;padding:2px 10px;color:var(--text-secondary)}.snapshot-tile-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}.snapshot-tile-metrics{border-top:1px solid var(--border-default);padding-top:10px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.snapshot-metric-item{text-align:center}.snapshot-metric-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.snapshot-metric-value{font-size:13px;font-weight:700;color:var(--text-primary)}.snapshot-tile-actions{display:flex;gap:8px;flex-wrap:wrap}.snapshot-tile-actions .btn{flex:1;font-size:12px;padding:6px 10px}.snapshot-empty{text-align:center;padding:60px 20px;color:var(--text-secondary)}.snapshot-empty-icon{font-size:48px;margin-bottom:16px}.snapshot-empty h3{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.snapshot-empty p{font-size:14px;line-height:1.6;max-width:400px;margin:0 auto 20px}.snapshot-drop-zone{border:2px dashed var(--border-default);border-radius:8px;padding:20px;text-align:center;color:var(--text-secondary);font-size:13px;margin-top:16px;transition:border-color .15s}.snapshot-drop-zone.drag-active{border-color:var(--color-blue);color:var(--color-blue)}.snapshot-more-menu{position:relative;display:inline-block}.snapshot-more-dropdown{position:absolute;right:0;top:100%;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:200;min-width:180px;overflow:hidden}.snapshot-more-dropdown button{display:block;width:100%;text-align:left;padding:10px 16px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .1s}.snapshot-more-dropdown button:hover{background:var(--bg-subtle)}.snapshot-more-dropdown button.danger{color:var(--color-red)}.tag-chip-input-wrapper{border:1px solid var(--border-input);border-radius:8px;background:var(--bg-input);padding:6px 8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:42px;cursor:text;position:relative}.tag-chip-input-wrapper:focus-within{border-color:var(--color-blue);outline:none;box-shadow:0 0 0 3px #2563eb1a}.tag-chip-confirmed{display:flex;align-items:center;gap:4px;background:var(--color-blue);color:#fff;border-radius:16px;padding:2px 10px;font-size:12px;font-weight:500}.tag-chip-confirmed button{background:none;border:none;color:#fff;cursor:pointer;font-size:14px;line-height:1;padding:0;margin-left:2px;opacity:.8}.tag-chip-confirmed button:hover{opacity:1}.tag-chip-text-input{flex:1;min-width:80px;border:none;outline:none;background:transparent;font-size:13px;color:var(--text-primary);padding:2px 4px}.tag-suggestions-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag-suggestion-chip{font-size:12px;border:1px solid var(--border-default);border-radius:16px;padding:3px 12px;cursor:pointer;color:var(--text-secondary);background:var(--bg-subtle);transition:background .1s,border-color .1s}.tag-suggestion-chip:hover{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.tag-suggestions-label{font-size:11px;color:var(--text-secondary);margin-top:6px;text-transform:uppercase;letter-spacing:.05em}.tag-dropdown{position:absolute;left:0;top:calc(100% + 4px);background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:300;min-width:200px;max-height:200px;overflow-y:auto}.tag-dropdown button{display:block;width:100%;text-align:left;padding:8px 14px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .1s}.tag-dropdown button:hover{background:var(--bg-subtle)}.split-view-outer{display:flex;flex-direction:column;height:100%}.split-view-header{background:var(--bg-card);border-bottom:1px solid var(--border-default);padding:12px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.split-view-title{flex:1;font-size:15px;font-weight:600;color:var(--text-primary)}.split-view-metrics-panel{background:var(--bg-card);border-bottom:2px solid var(--border-default);overflow-x:auto}.split-view-metrics-table{width:100%;border-collapse:collapse;font-size:13px}.split-view-metrics-table th{padding:8px 16px;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-subtle);border-bottom:1px solid var(--border-default)}.split-view-metrics-table th:not(:first-child){text-align:right}.split-view-metrics-table td{padding:7px 16px;border-bottom:1px solid var(--border-default);color:var(--text-primary);vertical-align:middle}.split-view-metrics-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.split-view-metrics-table td:first-child{font-weight:500;font-size:12px;color:var(--text-secondary)}.split-view-metrics-table .delta-pos{color:var(--color-green);font-weight:600}.split-view-metrics-table .delta-neg{color:var(--color-red);font-weight:600}.split-view-metrics-table .delta-nil{color:var(--text-secondary)}.split-view-tabs{display:flex;gap:0;background:var(--bg-subtle);border-bottom:1px solid var(--border-default);padding:0 20px}.split-view-tab-btn{padding:10px 18px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:color .15s;white-space:nowrap}.split-view-tab-btn.active{color:var(--color-blue);border-bottom-color:var(--color-blue);font-weight:600}.split-view-columns{display:grid;grid-template-columns:1fr 1fr;flex:1;overflow:hidden}.split-view-col{overflow-y:auto;padding:20px;border-right:1px solid var(--border-default)}.split-view-col:last-child{border-right:none}.split-view-col-header{font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--color-blue)}.split-view-col-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.split-view-col-date{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.readonly-cost-table{width:100%;border-collapse:collapse;font-size:13px}.readonly-cost-table th{padding:8px 12px;text-align:right;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:2px solid var(--border-default);background:var(--bg-subtle)}.readonly-cost-table th:first-child{text-align:left}.readonly-cost-table td{padding:7px 12px;border-bottom:1px solid var(--border-default);color:var(--text-primary);font-size:13px}.readonly-cost-table td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.readonly-cost-table tr.cat-header td{font-weight:700;background:var(--bg-subtle);font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.readonly-cost-table tr.total-row td{font-weight:700;border-top:2px solid var(--border-default);background:var(--bg-subtle)}.split-mobile-msg{display:none;text-align:center;padding:60px 20px;color:var(--text-secondary)}@media(max-width:1023px){.split-view-columns{display:none}.split-mobile-msg{display:block}}.restore-step-modal{display:flex;flex-direction:column;gap:16px;padding:4px 0 0}.restore-warning-icon{font-size:32px;text-align:center}.restore-warning-msg{font-size:14px;color:var(--text-primary);line-height:1.6}.restore-actions{display:flex;flex-direction:column;gap:10px}.restore-actions .btn{width:100%;justify-content:center}.v2-grid-wrapper{overflow:auto}.v2-cashflow-table{border-collapse:collapse;width:100%;font-size:12px}.v2-cashflow-table th,.v2-cashflow-table td{border-right:1px solid var(--border-default);padding:5px 8px;white-space:nowrap}.v2-cashflow-table thead th{background:var(--bg-card);position:sticky;top:0;z-index:10;text-align:right;font-weight:600;font-size:11px;color:var(--text-secondary);border-bottom:2px solid var(--border-default);text-transform:uppercase;letter-spacing:.04em}.v2-cashflow-table thead th.v2-col-identity{text-align:left}.v2-cashflow-table tbody tr{border-bottom:1px solid var(--border-default)}.v2-cashflow-table tbody tr:hover{background:#2563eb08}.v2-cashflow-table tbody tr.v2-cat-header td{background:var(--bg-subtle);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-blue);padding-top:8px;padding-bottom:8px;border-top:2px solid var(--border-default)}.v2-cashflow-table tbody tr.v2-totals-row td{background:var(--bg-subtle);font-weight:700;border-top:2px solid var(--border-default)}.v2-cashflow-table tbody tr.v2-row-computed td{font-style:italic;opacity:.75}.v2-cashflow-table tbody tr.v2-row-computed td.v2-col-period{cursor:default}.v2-cashflow-table tbody tr.v2-row-computed td.v2-col-period:hover{background:transparent}.v2-cashflow-table tbody tr.v2-row-accrual td{font-style:italic;opacity:.6;border-left:2px dashed var(--color-orange, #f59e0b)}.v2-cashflow-table tbody tr.v2-row-accrual td.v2-col-period{cursor:default}.v2-cashflow-table tbody tr.v2-row-accrual td.v2-col-period:hover{background:transparent}.v2-cashflow-table tbody tr.v2-summary-divider{border:none}.v2-cashflow-table tbody tr.v2-summary-divider:hover{background:transparent}.v2-cashflow-table tbody tr.v2-summary-row td{background:var(--bg-subtle);font-size:12px}.v2-cashflow-table tbody tr.v2-summary-row td.v2-col-identity{background:var(--bg-subtle)}.v2-cashflow-table tbody tr.v2-summary-net td{border-top:2px solid var(--border-default)}.v2-cashflow-table tbody tr.v2-summary-cumulative td{background:#2563eb0f;font-weight:700}.v2-col-identity{min-width:240px;text-align:left;position:sticky;left:0;z-index:5;background:var(--bg-page);padding:4px 8px!important}.v2-cashflow-table tbody tr.v2-cat-header td.v2-col-identity,.v2-cashflow-table tbody tr.v2-totals-row td.v2-col-identity{background:var(--bg-subtle)}.v2-col-status{min-width:110px;text-align:left;white-space:nowrap;padding:4px 8px}.v2-col-num{text-align:right;white-space:nowrap;padding:5px 10px!important;font-size:12px}.v2-col-period{text-align:right;white-space:nowrap;padding:5px 8px!important;min-width:88px;font-size:12px}.v2-col-period.past{color:var(--text-primary)}.v2-col-period.future{color:var(--text-secondary);font-style:italic}.v2-col-period.current{color:var(--color-blue);font-weight:600}.v2-cell-past{background:transparent}.v2-cell-current{background:#2563eb0d}.v2-cell-future{color:var(--text-secondary);font-style:italic}.v2-var-pos{color:var(--color-green)}.v2-var-neg{color:var(--color-red)}.v2-data-row td.v2-col-period.v2-cell-past,.v2-data-row td.v2-col-period.v2-cell-current{cursor:pointer}.v2-data-row td.v2-col-period.v2-cell-past:hover,.v2-data-row td.v2-col-period.v2-cell-current:hover{background:#2563eb1a}.v2-id-code{display:inline-block;font-size:10px;font-weight:700;font-family:monospace;background:#2563eb1a;color:var(--color-blue);border-radius:4px;padding:1px 5px;margin-right:4px;white-space:nowrap;vertical-align:middle}.v2-id-desc{font-size:12px;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;display:inline-block;vertical-align:middle}.v2-id-note{display:block;font-size:11px;color:var(--text-secondary);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;cursor:pointer;min-height:14px}.v2-id-note:hover{color:var(--text-primary)}.v2-id-note-input{font-size:11px;color:var(--text-primary);background:var(--bg-card);border:1px solid var(--color-blue);border-radius:4px;padding:1px 5px;width:200px;outline:none}.v2-lot-badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.v2-lot-available{background:#6b728026;color:var(--text-secondary)}.v2-lot-contract{background:#d9770626;color:#d97706}.v2-lot-exchanged{background:#2563eb26;color:var(--color-blue)}.v2-lot-settled{background:#16a34a26;color:var(--color-green)}.v2-vh-badge{display:inline-block;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary)}.v2-vh-badge:hover{border-color:var(--color-blue)}.v2-kpi-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.v2-kpi-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:10px 14px;min-width:130px;flex:1}.v2-kpi-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.v2-kpi-value{font-size:17px;font-weight:700;color:var(--text-primary)}.v2-kpi-sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.v2-supergroup-header td{background:var(--bg-subtle);border-top:2px solid var(--border-default)}.v2-row-cashflow-only td{font-style:italic;opacity:.65;border-left:2px dashed var(--color-blue)}.v2-gantt-active{background:var(--color-blue-muted, rgba(59, 130, 246, .15))}.onboarding-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.onboarding-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:16px;padding:40px 36px;max-width:480px;width:90%;text-align:center;box-shadow:0 20px 60px #00000040}.onboarding-card--wide{max-width:600px;text-align:left}.onboarding-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9001;background:var(--border-default)}.onboarding-progress-fill{height:100%;background:var(--color-blue);border-radius:0 2px 2px 0;transition:width .4s ease}.onboarding-prompt-box{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:10px;padding:14px 16px}.onboarding-loading{display:flex;align-items:center;justify-content:center}.onboarding-spinner{width:20px;height:20px;border:3px solid var(--border-default);border-top-color:var(--color-blue);border-radius:50%;animation:onboarding-spin .7s linear infinite}@keyframes onboarding-spin{to{transform:rotate(360deg)}}.onboarding-mini-stat{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:8px;padding:8px 12px;flex:1;min-width:80px;text-align:center}.onboarding-mini-stat-label{display:block;font-size:10px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.onboarding-mini-stat-value{display:block;font-size:15px;font-weight:700;color:var(--text-primary)}.onboarding-spotlight{position:fixed;z-index:9000;pointer-events:none;transition:all .35s ease}.onboarding-instruction{position:fixed;z-index:9001;background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;padding:20px 24px;max-width:360px;box-shadow:0 8px 32px #0003}@keyframes onboarding-fade-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.onboarding-fade-in{animation:onboarding-fade-in .35s ease forwards}@keyframes onboarding-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.onboarding-slide-up{animation:onboarding-slide-up .35s ease forwards}.cashflow-mobile-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 24px;min-height:300px}@media(max-width:600px){.onboarding-card,.onboarding-card--wide{padding:28px 20px}.onboarding-instruction{max-width:300px;padding:16px 18px}}.rag-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.rag-dot.green{background:#198038}.rag-dot.amber{background:#ff832b}.rag-dot.red{background:#da1e28}.stress-row-negative{background:#da1e2814}.portfolio-chart-container{position:relative;height:350px;margin-bottom:16px}.funding-summary-bar{display:flex;align-items:stretch;gap:0;margin-bottom:20px;flex-wrap:wrap}.funding-eq-card{flex:1;min-width:120px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:12px 14px;border-left:4px solid var(--border-default)}.funding-eq-card--neutral{border-left-color:#6b7280}.funding-eq-card--debt{border-left-color:#0d9488}.funding-eq-card--pref{border-left-color:#d97706}.funding-eq-card--equity{border-left-color:var(--accent)}.funding-eq-card--result{border-left-color:#22c55e}.funding-eq-card--shortfall{border-left-color:#ef4444}.funding-eq-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);margin-bottom:4px}.funding-eq-value{font-size:16px;font-weight:700;color:var(--text-heading);line-height:1.3}.funding-eq-badge{display:inline-block;margin-top:4px;font-size:11px;font-weight:600;padding:1px 8px;border-radius:10px}.funding-eq-badge--debt{background:#ccfbf1;color:#0d9488}.funding-eq-badge--pref{background:#fef3c7;color:#d97706}.funding-eq-badge--equity{background:var(--accent-soft);color:var(--accent)}.funding-eq-operator{display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:18px;font-weight:300;color:var(--text-secondary);flex-shrink:0}.funding-card-debt{border-left:3px solid #0d9488}.funding-card-equity{border-left:3px solid var(--accent)}.funding-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:14px}.funding-type-btn{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed var(--border-default);border-radius:10px;background:var(--bg-card);cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;color:var(--text-primary)}.funding-type-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-subtle);box-shadow:0 2px 8px #9d67ff14}.funding-type-btn:disabled{opacity:.5;cursor:not-allowed}.funding-type-btn--large{padding:24px 16px}.funding-type-icon{font-size:28px;line-height:1}.funding-type-label{font-size:14px;font-weight:600}.funding-type-subtitle{font-size:12px;color:var(--text-secondary);text-align:center}.funding-type-row{display:flex;flex-wrap:wrap;gap:8px}.funding-type-btn--compact{flex-direction:row;padding:8px 14px;font-size:13px;gap:6px;border-width:1px;border-style:dashed}.funding-type-btn--compact .funding-type-icon{font-size:16px}.facility-card{border:1px solid var(--border-default);border-radius:8px;background:var(--bg-card);overflow:hidden;transition:box-shadow .15s}.facility-card:hover{box-shadow:0 1px 6px #0000000f}.facility-card-header{padding:12px 14px;cursor:pointer;-webkit-user-select:none;user-select:none}.facility-card-title-row{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}.facility-card-name{font-weight:600;font-size:14px;color:var(--text-heading)}.facility-card-badges{display:flex;gap:6px;flex-wrap:wrap}.facility-badge{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-default);white-space:nowrap}.facility-card-summary{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:4px}.facility-card-sep{display:inline-block;width:1px;height:12px;background:var(--border-default);margin:0 4px}.facility-card-actions{display:flex;gap:8px;margin-top:4px}.facility-card-form{padding:12px 14px;border-top:1px solid var(--border-default);background:var(--bg-subtle)}.equity-display{padding:4px 0}.equity-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.equity-label{font-size:14px;font-weight:600;color:var(--text-heading)}.equity-value{font-size:18px;font-weight:700;color:var(--accent)}.equity-note{font-size:12px;color:var(--text-secondary)}.facility-card--violet{border-color:#f43f5e;border-left:3px solid #e11d48}.facility-badge--violet{background:#ffe4e6;color:#be123c;border-color:#fda4af}.funding-type-btn--violet{border-color:#f43f5e}.funding-type-btn--violet:hover:not(:disabled){border-color:#e11d48;background:#fff1f2;box-shadow:0 2px 8px #e11d4814}.funding-card-pref-equity{border-left:3px solid #d97706}.equity-breakdown{margin-top:14px;padding:10px 14px;background:var(--bg-subtle);border-radius:8px;border:1px solid var(--border-default);font-size:13px}.equity-breakdown-title{font-weight:700;font-size:14px;margin-bottom:6px;color:var(--text-heading)}.equity-breakdown-row{display:flex;align-items:center;gap:8px;padding:2px 0;color:var(--text-secondary)}.equity-breakdown-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.combined-lvr-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;background:var(--bg-subtle);border:1px solid var(--border-default)}.combined-lvr--amber{background:#fef3c7;border-color:#f59e0b;color:#92400e}.combined-lvr--red{background:#fef2f2;border-color:#ef4444;color:#991b1b}.combined-lvr-label{font-weight:600}.combined-lvr-value{font-weight:700;font-size:16px}.combined-lvr-breakdown{font-size:12px;color:inherit;opacity:.8}.funding-warnings{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.funding-warning{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:8px;margin-bottom:0;font-size:13px}.funding-warning--error{background:#fef2f2;border-left:4px solid #dc2626;color:#991b1b}.funding-warning--warning{background:#fffbeb;border-left:4px solid #d97706;color:#92400e}.funding-warning--info{background:var(--accent-wash);border-left:4px solid var(--accent);color:#6d28d9}.funding-warning-icon{font-size:14px;flex-shrink:0}.funding-warning-message{flex:1;min-width:0}.funding-warning-actions{display:flex;gap:8px;margin-left:auto;flex-shrink:0}.funding-warning-actions button{font-size:12px;padding:4px 10px;border-radius:4px;cursor:pointer;white-space:nowrap}.funding-warning-fix{background:transparent;border:1px solid currentColor;color:inherit;font-weight:500}.funding-warning-fix:hover{background:#0000000d}.funding-warning-dismiss{background:transparent;border:none;color:inherit;opacity:.6}.funding-warning-dismiss:hover{opacity:1}.funding-fix-undo{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-raised);border:1px solid var(--rule-hi);border-radius:8px;color:var(--text-2);font-size:.82rem}.funding-fix-undo button{background:transparent;border:1px solid var(--rule-hi);color:var(--text);padding:3px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:500}.funding-fix-undo button:hover{background:#ffffff14}.facility-badge--basis{background:var(--accent-wash);color:var(--accent);border-color:var(--glass-border-accent)}.fee-mode-toggle{display:flex;gap:0;margin-bottom:6px;border:1px solid var(--border-default);border-radius:6px;overflow:hidden;width:fit-content}.fee-mode-btn{padding:4px 12px;font-size:12px;font-weight:600;border:none;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.fee-mode-btn:not(:last-child){border-right:1px solid var(--border-default)}.fee-mode-btn--active{background:var(--accent);color:#fff}.fee-mode-btn:hover:not(.fee-mode-btn--active):not(:disabled){background:var(--bg-subtle)}.form-input-display{padding:8px 10px;font-size:13px;color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:6px}.finance-summary-total-row{border-top:2px solid var(--border-default)}.finance-summary-total-row td{padding-top:8px}.rate-sensitivity-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;margin-bottom:16px;font-size:13px;background:var(--accent-wash);border:1px solid var(--glass-border-accent);color:#6d28d9}.rate-sensitivity-icon{font-size:14px;flex-shrink:0}.facility-interest-compact{font-weight:600;color:var(--text-primary)}.facility-interest-detail{margin-top:10px;padding:8px 10px;background:var(--bg-card);border-radius:6px;font-size:12px;color:var(--text-secondary);display:flex;align-items:center;flex-wrap:wrap;gap:4px}.facility-timeline{position:relative;height:18px;background:var(--bg-subtle);border-radius:4px;margin-top:6px;overflow:hidden}.facility-timeline-bar{position:absolute;top:0;height:100%;background:var(--accent);border-radius:4px;min-width:4px;display:flex;align-items:center;justify-content:center;overflow:hidden}.facility-timeline-label{font-size:10px;font-weight:600;color:#fff;white-space:nowrap;padding:0 4px;text-overflow:ellipsis;overflow:hidden}.presale-coverage{margin-top:10px;padding:8px 10px;border-radius:6px;font-size:12px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.presale-coverage--ok{background:#f0fdf4;border:1px solid #86efac;color:#166534}.presale-coverage--gap{background:#fffbeb;border:1px solid #fcd34d;color:#92400e}.presale-coverage-status{font-weight:600;margin-left:4px}.drawdown-toggle-row{margin-top:8px}.drawdown-schedule{margin-top:8px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px}.drawdown-schedule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--text-heading)}.drawdown-schedule-total{font-size:12px;font-weight:500;color:var(--text-secondary)}.drawdown-bar-row{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:12px}.drawdown-period{width:32px;text-align:right;color:var(--text-secondary);font-weight:500;flex-shrink:0}.drawdown-bar-track{flex:1;height:14px;background:var(--bg-subtle);border-radius:3px;overflow:hidden}.drawdown-bar{height:100%;background:var(--accent);border-radius:3px;min-width:0;transition:width .2s ease}.drawdown-amount{width:80px;text-align:right;color:var(--text-secondary);flex-shrink:0}@media(max-width:768px){.funding-summary-bar{flex-wrap:wrap}.funding-eq-card{min-width:100px}.funding-eq-operator{padding:0 4px;font-size:14px}.funding-eq-value{font-size:14px}.funding-type-grid{grid-template-columns:repeat(2,1fr)}.facility-card-summary{font-size:12px}.combined-lvr-bar{flex-wrap:wrap;font-size:13px}.drawdown-amount{width:60px;font-size:11px}}@media(max-width:480px){.funding-summary-bar{flex-direction:column;gap:6px}.funding-eq-operator{padding:2px 0;font-size:14px}.funding-type-grid{grid-template-columns:1fr}}.funding-timeline-container{position:relative;background:var(--bg-raised);padding:20px 24px 16px;border-radius:12px;margin-bottom:20px}.funding-timeline-header{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff9;margin-bottom:16px}.funding-timeline-track{position:relative;width:100%;min-height:58px}.funding-timeline-gridline{position:absolute;top:0;border-left:1px dotted rgba(255,255,255,.08);z-index:0;pointer-events:none}.funding-timeline-bar{position:absolute;height:52px;border-radius:12px;border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px #fff3,0 2px 8px #0000004d;display:flex;flex-direction:column;justify-content:center;padding:0 12px;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease;overflow:hidden;z-index:1}.funding-timeline-bar:hover{filter:brightness(1.15);box-shadow:inset 0 1px #ffffff40,0 4px 20px #00000073;z-index:2}.funding-timeline-bar-name{font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.3)}.funding-timeline-bar-amount{font-size:11px;color:#ffffffb3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.funding-timeline-bar-meta{font-size:11px;color:#fff9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;letter-spacing:.02em}.funding-timeline-arrow{position:absolute;top:0;left:0;pointer-events:none;z-index:0}.funding-timeline-axis{position:relative;height:28px;margin-top:8px;border-top:1px solid rgba(255,255,255,.12)}.funding-timeline-axis-tick{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.funding-timeline-axis-mark{width:1px;height:6px;background:#ffffff40}.funding-timeline-axis-label{font-size:11px;color:#ffffff73;margin-top:2px;white-space:nowrap}.funding-timeline-equity-label{font-size:12px;color:#fff9;margin-top:4px;text-align:center}.funding-timeline-tooltip{position:fixed;transform:translate(-50%,-100%);background:#0f1623;border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:10px 14px;min-width:220px;z-index:9999;pointer-events:none;box-shadow:0 8px 32px #00000080}.funding-timeline-tooltip-title{font-size:13px;font-weight:700;color:#fff;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.funding-timeline-tooltip-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.8}.funding-timeline-tooltip-row span:first-child{color:#ffffff80}.funding-timeline-tooltip-row span:last-child{color:#ffffffe6;font-weight:500;text-align:right}.funding-timeline-empty{display:flex;flex-direction:column;align-items:center;padding:24px 0 12px}.funding-timeline-empty-text{font-size:14px;color:#ffffff73}.funding-timeline-empty-arrow{font-size:20px;color:#ffffff40;margin-top:8px;animation:funding-timeline-bounce 1.5s ease-in-out infinite}@keyframes funding-timeline-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media(max-width:768px){.funding-timeline-container{padding:16px}.funding-timeline-bar{padding:0 8px;height:44px;border-radius:10px}.funding-timeline-bar-name{font-size:11px}.funding-timeline-bar-amount{font-size:10px}.funding-timeline-tooltip{min-width:180px}}.wizard-overlay{position:fixed;inset:0;z-index:9000;background:var(--bg-page);display:flex;flex-direction:column}.wizard-header{height:56px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-default);background:var(--bg-card);flex-shrink:0}.wizard-header-title{font-size:16px;font-weight:700;color:var(--text-heading);letter-spacing:.2px}.wizard-close-btn{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:4px 8px;line-height:1;border-radius:4px}.wizard-close-btn:hover{background:var(--bg-subtle, rgba(0,0,0,.05));color:var(--text-primary)}.wizard-steps{display:flex;align-items:center;justify-content:center;padding:16px 32px;gap:0;background:var(--bg-card);border-bottom:1px solid var(--border-default);flex-shrink:0}.wizard-step{display:flex;align-items:center;gap:8px}.wizard-step-connector{width:48px;height:2px;background:var(--border-default);margin:0 8px;transition:background .3s ease}.wizard-step-connector--completed{background:var(--color-green)}.wizard-step-circle{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid var(--border-default);color:var(--text-secondary);background:var(--bg-card);cursor:default;transition:all .3s ease}.wizard-step-circle:not(:disabled){cursor:pointer}.wizard-step-circle--active{border-color:var(--color-blue);background:var(--color-blue);color:#fff}.wizard-step-circle--completed{border-color:var(--color-green);background:var(--color-green);color:#fff}.wizard-step-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.wizard-step-label--active{color:var(--text-primary);font-weight:600}.wizard-body{flex:1;overflow-y:auto;padding:32px;display:flex;justify-content:center}.wizard-body-inner{width:100%;max-width:720px}.wizard-body-inner--wide{max-width:960px}.wizard-step-enter{animation:wizard-slide-up .35s ease forwards}.wizard-step-exit{opacity:0}@keyframes wizard-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wizard-footer{height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-default);background:var(--bg-card);flex-shrink:0}.wizard-error{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:8px;background:#dc262614;border:1px solid rgba(220,38,38,.2);color:var(--color-red);font-size:13px;margin-bottom:20px}.wizard-error-dismiss{background:none;border:none;color:inherit;font-size:18px;cursor:pointer;padding:0 4px}.wizard-spinner{width:18px;height:18px;border:2px solid var(--border-default);border-top-color:var(--color-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wizard-confirm-overlay{position:fixed;inset:0;z-index:9100;background:#00000080;display:flex;align-items:center;justify-content:center}.wizard-confirm-dialog{background:var(--bg-card);border:1px solid var(--border-default);border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px #0003}.wizard-disclaimer{font-size:12px;color:var(--text-faint, var(--text-secondary));text-align:center;margin:24px 0 8px;line-height:1.5}.wizard-step-title{font-size:20px;font-weight:600;color:var(--text-heading);margin:0 0 8px}.wizard-step-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 24px;line-height:1.6}.step-describe-address-wrap{margin-bottom:16px}.step-describe-address-label{display:block;font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:6px;letter-spacing:.01em}.step-describe-address-hint{font-weight:400;color:var(--text-secondary);margin-left:4px}.step-describe-address-input{width:100%;padding:12px 16px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px;font-family:inherit}.step-describe-address-input:focus{outline:none;border-color:var(--accent, #9d67ff);box-shadow:0 0 0 3px #9d67ff1a}.step-describe-address-status{margin-top:8px;font-size:12px;color:var(--text-secondary);font-style:italic}.site-context-chip{margin-top:10px;padding:12px 14px;border:1px solid var(--border-default);border-left:3px solid var(--accent, #9d67ff);border-radius:8px;background:#9d67ff0a}.site-context-chip-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.site-context-chip-title{font-size:12px;font-weight:600;color:var(--text-heading);text-transform:uppercase;letter-spacing:.04em}.site-context-chip-clear{background:none;border:none;font-size:11px;color:var(--text-secondary);cursor:pointer;padding:2px 6px;border-radius:4px}.site-context-chip-clear:hover{color:var(--color-red, #ef4444);background:#ef444414}.site-context-chip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 16px;font-size:12px;color:var(--text-primary)}.site-context-chip-grid>div{display:flex;flex-direction:column;gap:2px}.site-context-chip-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.site-context-chip-hazards{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border-default);display:flex;flex-wrap:wrap;gap:6px;align-items:center}.site-context-chip-hazard-pill{padding:2px 8px;border-radius:10px;background:#ef44441f;color:var(--color-red, #ef4444);font-size:11px;text-transform:capitalize}.step-describe-textarea-wrap{position:relative;margin-bottom:16px}.step-describe-textarea{width:100%;min-height:160px;padding:14px 16px;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:14px;line-height:1.6;resize:vertical;font-family:inherit}.step-describe-textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px #9d67ff1a}.step-describe-textarea::placeholder{color:var(--text-secondary);opacity:.7}.step-describe-word-count{position:absolute;bottom:10px;right:12px;font-size:11px;color:var(--text-faint, var(--text-secondary));pointer-events:none}.step-describe-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.step-describe-chips-label{font-size:12px;color:var(--text-secondary);font-weight:500}.step-describe-chip{padding:6px 12px;border:1px solid var(--border-default);border-radius:20px;background:var(--bg-card);color:var(--text-primary);font-size:12px;cursor:pointer;transition:all .15s ease}.step-describe-chip:hover{border-color:var(--color-blue);color:var(--color-blue);background:#9d67ff0a}.step-describe-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--text-secondary);font-size:12px}.step-describe-divider:before,.step-describe-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.step-describe-alt-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.step-describe-alt-btn{padding:14px 16px;font-size:14px;font-weight:500;text-align:center;border-radius:8px}.step-describe-excel-area{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px;border:2px dashed var(--border-default);border-radius:8px;margin-bottom:16px}.step-describe-excel-selected{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary)}.step-describe-scratch-link{background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;padding:0;width:100%;text-align:center}.step-describe-scratch-link:hover{color:var(--color-blue);text-decoration:underline}.wizard-step-label--clickable{cursor:pointer}.wizard-step-label--clickable:hover{color:var(--color-blue)}.step-describe-back-link{background:none;border:none;color:var(--color-blue);font-size:13px;cursor:pointer;padding:0;margin-bottom:16px}.step-describe-back-link:hover{text-decoration:underline}.step-describe-actions{display:flex;justify-content:center;margin-top:24px}.btn-lg{padding:12px 32px;font-size:15px;font-weight:600}.wizard-generating{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center}.wizard-generating-spinner{width:40px;height:40px;border:3px solid var(--border-default);border-top-color:var(--color-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:24px}.wizard-generating-title{font-size:16px;font-weight:600;color:var(--text-heading);margin:0 0 24px}.wizard-generating-steps{display:flex;flex-direction:column;gap:10px;text-align:left;width:280px}.wizard-generating-step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);transition:color .2s ease}.wizard-generating-step--active{color:var(--text-primary);font-weight:500}.wizard-generating-step--done{color:var(--color-green)}.wizard-generating-step-icon{width:18px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.wizard-generating-step--active .wizard-generating-step-icon{width:14px;height:14px;border:2px solid var(--color-blue);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.wizard-generating-dot-pulse{display:inline-flex;gap:3px;margin-left:4px}.step-review-corrections{background:#9d67ff0f;border:1px solid rgba(157,103,255,.15);border-radius:8px;padding:12px 16px;margin-bottom:20px}.step-review-corrections-header{font-size:13px;font-weight:600;color:var(--color-blue);margin-bottom:8px}.step-review-corrections-list{margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.6;color:var(--text-primary)}.draft-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px 20px;margin-bottom:16px}.draft-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:12px}.draft-card-summary-list{margin:0;padding:0 0 0 18px;font-size:14px;line-height:1.7;color:var(--text-primary)}.draft-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.draft-card-field-label{font-size:11px;color:var(--text-secondary);display:block;margin-bottom:2px}.draft-card-table{width:100%;border-collapse:collapse;font-size:13px}.draft-card-table td,.draft-card-table th{padding:6px 8px;border-bottom:1px solid var(--border-default);text-align:left}.draft-card-table-amount{text-align:right;font-variant-numeric:tabular-nums}.draft-card-table-total td{font-weight:600;border-top:2px solid var(--border-default);border-bottom:none}.step-review-followup{background:var(--bg-card);border:1px solid var(--border-default);border-left:3px solid #d97706;border-radius:0 8px 8px 0;padding:14px 18px;margin-bottom:16px}.step-review-followup-title{font-size:12px;font-weight:700;color:#d97706;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.step-review-followup ul{margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.6;color:var(--text-primary)}.wizard-progress-bar{height:3px;background:var(--border-default);border-radius:2px;overflow:hidden;margin-bottom:20px}.wizard-progress-bar--indeterminate:after{content:"";display:block;height:100%;width:30%;background:var(--color-blue);border-radius:2px;animation:indeterminate 1.4s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(433%)}}.viability-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.viability-hero-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:24px;text-align:center;box-shadow:0 1px 3px #0000000d}.viability-hero-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:8px}.viability-hero-value{font-size:32px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.viability-hero-value--positive{color:var(--color-green)}.viability-hero-value--negative{color:var(--color-red)}.viability-hero-value--marginal{color:#d97706}.viability-status{display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;margin-bottom:20px}.viability-status--positive{background:#16a34a14;border:1px solid rgba(22,163,74,.2);color:#16a34a}.viability-status--marginal{background:#d9770614;border:1px solid rgba(217,119,6,.2);color:#d97706}.viability-status--negative{background:#dc262614;border:1px solid rgba(220,38,38,.2);color:#dc2626}.viability-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.viability-dot--positive{background:#16a34a}.viability-dot--marginal{background:#d97706}.viability-dot--negative{background:#dc2626}.viability-metrics-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:24px}.viability-metric{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:12px;text-align:center}.viability-metric-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);margin-bottom:4px}.viability-metric-value{font-size:15px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.insights-section{margin-bottom:24px}.insights-header{font-size:14px;font-weight:600;color:var(--text-heading);margin-bottom:12px;display:flex;align-items:center;gap:12px}.insights-count{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px}.insights-count--error{background:#dc26261a;color:var(--color-red)}.insights-count--warn{background:#d977061a;color:#d97706}.insight-card{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:8px;margin-bottom:8px;font-size:13px;animation:insight-enter .25s ease forwards;opacity:0}@keyframes insight-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.insight-card--error{background:#dc26260f;border-left:4px solid #dc2626;color:#991b1b}.insight-card--warn{background:#d977060f;border-left:4px solid #d97706;color:#92400e}.insight-card--info{background:#9d67ff0f;border-left:4px solid var(--accent);color:#6d28d9}.insight-card-content{flex:1;min-width:0}.insight-card-title{font-weight:600;margin-bottom:4px}.insight-card-detail{font-size:12px;line-height:1.5;opacity:.85}.insight-card-impact{font-size:11px;margin-top:4px;opacity:.7}.insight-card-actions{display:flex;gap:8px;margin-top:4px;flex-shrink:0}.insight-card-apply{font-size:11px;padding:4px 10px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;cursor:pointer;font-weight:600}.insight-card-apply:hover{background:#0000000d}.insights-empty{text-align:center;padding:20px;color:var(--text-secondary);font-size:14px;margin-bottom:24px}.sensitivity-section{margin-bottom:24px}.sensitivity-table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.sensitivity-table th,.sensitivity-table td{padding:8px 12px;border:1px solid var(--border-default);text-align:center}.sensitivity-table th{background:var(--bg-card);font-weight:600;font-size:11px;color:var(--text-secondary)}.sensitivity-cell--base{font-weight:700;background:#9d67ff0f}.sensitivity-cell--positive{color:var(--color-green)}.sensitivity-cell--negative{color:var(--color-red)}.land-residual-card{margin-bottom:24px}.land-residual-ok{color:var(--color-green);font-weight:600}.land-residual-warn{color:var(--color-red);font-weight:600}.cost-category-bar-wrap{margin-bottom:24px}.cost-category-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--border-default);margin-bottom:8px}.cost-category-bar-segment{height:100%;transition:width .4s ease;min-width:2px}.cost-category-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--text-secondary)}.cost-category-legend-item{display:flex;align-items:center;gap:4px;text-transform:capitalize}.cost-category-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.insight-card-dismiss{font-size:11px;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;font-weight:500}.insight-card-dismiss:hover{background:#0000000d;color:var(--text-primary)}.insight-card-applied{font-size:11px;font-weight:600;color:var(--color-green);display:flex;align-items:center;gap:4px;padding:4px 8px;white-space:nowrap}.sensitivity-subtitle{font-size:12px;color:var(--text-secondary);margin:-8px 0 12px}.inline-edit-display{cursor:pointer;padding:2px 4px;border-radius:4px;transition:background .15s;display:inline-flex;align-items:center;gap:4px;color:var(--text-primary);font-size:14px}.inline-edit-display:hover{background:#9d67ff0f}.inline-edit-icon{font-size:11px;opacity:0;transition:opacity .15s;color:var(--text-secondary)}.inline-edit-display:hover .inline-edit-icon{opacity:.7}.inline-edit-input{font-size:14px;padding:2px 6px;border:1px solid var(--color-blue);border-radius:4px;background:var(--bg-card);color:var(--text-primary);outline:none;box-shadow:0 0 0 3px #9d67ff1a;min-width:80px;max-width:200px;font-family:inherit}.ai-badge{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;background:#9d67ff14;color:var(--color-blue);letter-spacing:.3px;vertical-align:middle;margin-left:4px}.draft-card-cost-desc{color:var(--text-primary)}.draft-card-cost-qty{font-size:11px;color:var(--text-secondary);margin-left:4px}.step-review-corrections-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit}.step-review-corrections-chevron{font-size:10px;color:var(--color-blue)}.step-review-followup-list{display:flex;flex-direction:column;gap:10px}.step-review-followup-item{display:flex;flex-direction:column;gap:4px}.step-review-followup-q{font-size:13px;color:var(--text-primary);line-height:1.5}.step-review-followup-input{font-size:13px;padding:6px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-family:inherit}.step-review-followup-input:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px #9d67ff1a}.step-review-followup-input::placeholder{color:var(--text-secondary);opacity:.6}.step-review-correction-panel{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px 20px;margin-bottom:16px}.step-review-correction-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.step-review-iteration-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#9d67ff14;color:var(--color-blue)}.step-review-correction-textarea{width:100%;min-height:72px;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-page);color:var(--text-primary);font-size:13px;line-height:1.5;resize:vertical;font-family:inherit}.step-review-correction-textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px #9d67ff1a}.step-review-correction-textarea::placeholder{color:var(--text-secondary);opacity:.6}.step-review-correction-actions{display:flex;justify-content:center;margin-top:12px}.step-review-refine-hint{text-align:center;font-size:12px;color:var(--text-secondary);margin:8px 0 0}.step-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-bottom:20px}.step-confirm-summary{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px 20px;margin-bottom:16px}.step-confirm-summary-rows{display:flex;flex-direction:column;gap:6px;font-size:13px}.step-confirm-summary-row{display:flex;justify-content:space-between;padding:4px 0}.step-confirm-summary-row span:first-child{color:var(--text-secondary)}.step-confirm-summary-row span:last-child{font-weight:500;color:var(--text-primary)}.step-confirm-summary-row--highlight span:last-child{font-weight:700;font-size:14px}.step-confirm-summary-row--warn{padding-top:6px}.step-confirm-summary-divider{height:1px;background:var(--border-default);margin:4px 0}.text-green{color:var(--color-green);font-weight:600}.text-red{color:var(--color-red);font-weight:600}.text-amber{color:#d97706;font-weight:600}.form-textarea{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-card);color:var(--text-primary);font-size:14px;line-height:1.5;resize:vertical;font-family:inherit}.form-textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px #9d67ff1a}.step-confirm-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center;animation:wizard-slide-up .35s ease forwards}.step-confirm-success-icon{width:56px;height:56px;border-radius:50%;background:var(--color-green);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:success-scale .3s ease}@keyframes success-scale{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.step-confirm-success-links{margin-top:20px;display:flex;gap:12px}:root.dark-mode .insight-card--error{background:#dc26261a;color:#fca5a5}:root.dark-mode .insight-card--warn{background:#d977061a;color:#fde68a}:root.dark-mode .insight-card--info{background:#9d67ff1a;color:var(--accent)}:root.dark-mode .viability-status--positive{background:#16a34a1f;color:#86efac}:root.dark-mode .viability-status--marginal{background:#d977061f;color:#fde68a}:root.dark-mode .viability-status--negative{background:#dc26261f;color:#fca5a5}:root.dark-mode .step-review-corrections{background:#9d67ff1a;border-color:#9d67ff40}:root.dark-mode .step-review-followup{border-left-color:#fbbf24}:root.dark-mode .step-review-followup-title{color:#fbbf24}:root.dark-mode .ai-badge{background:#9d67ff26;color:var(--accent)}:root.dark-mode .inline-edit-display:hover{background:#9d67ff1a}:root.dark-mode .step-review-iteration-badge{background:#9d67ff26;color:var(--accent)}:root.dark-mode .text-amber{color:#fbbf24}:root.dark-mode .viability-hero-value--marginal{color:#fbbf24}:root.dark-mode .insights-count--error{background:#dc262626;color:#fca5a5}:root.dark-mode .insights-count--warn{background:#d9770626;color:#fde68a}@media(max-width:960px){.viability-hero{grid-template-columns:1fr}.viability-metrics-row{grid-template-columns:repeat(3,1fr)}.wizard-body-inner--wide{max-width:100%}}@media(max-width:768px){.wizard-header{padding:0 16px}.wizard-body{padding:16px}.wizard-footer{padding:0 16px;height:64px}.wizard-step-label{display:none}.wizard-step-connector{width:24px}.viability-hero-value{font-size:24px}.viability-metrics-row{grid-template-columns:repeat(2,1fr)}.step-confirm-grid,.step-confirm-summary-grid,.draft-card-grid,.insights-charts-grid{grid-template-columns:1fr}.scenario-table-wrap{overflow-x:auto}.tornado-row{grid-template-columns:80px 1fr 80px}.cost-donut-layout{flex-direction:column}.cost-donut-svg-wrap{width:140px;height:140px}}.risk-badge{border-radius:10px;padding:16px 20px;margin-bottom:20px;border-left:4px solid}.risk-badge--green{background:#16a34a0f;border-color:#16a34a}.risk-badge--amber{background:#d977060f;border-color:#d97706}.risk-badge--orange{background:#ea580c0f;border-color:#ea580c}.risk-badge--red{background:#dc26260f;border-color:#dc2626}.risk-badge-header{display:flex;align-items:center;gap:10px;margin-bottom:6px}.risk-badge-score{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.risk-badge--green .risk-badge-score{color:#16a34a}.risk-badge--amber .risk-badge-score{color:#d97706}.risk-badge--orange .risk-badge-score{color:#ea580c}.risk-badge--red .risk-badge-score{color:#dc2626}.risk-badge-label{font-size:14px;font-weight:600;color:var(--text-heading)}.risk-badge-guidance{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.risk-badge-drivers{display:flex;flex-direction:column;gap:4px}.risk-badge-driver{font-size:12px;color:var(--text-primary);display:flex;gap:6px;line-height:1.5}.risk-badge-driver-num{font-weight:700;color:var(--text-secondary);min-width:14px}:root.dark-mode .risk-badge--green{background:#16a34a1a}:root.dark-mode .risk-badge--amber{background:#d977061a}:root.dark-mode .risk-badge--orange{background:#ea580c1a}:root.dark-mode .risk-badge--red{background:#dc26261a}.pathways-section{margin-bottom:24px}.pathway-headline{border:1px solid var(--border-default);border-left:4px solid var(--accent);border-radius:10px;padding:18px 20px;background:var(--bg-card);margin-bottom:12px}.pathway-headline-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.pathway-headline-badge{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);padding:3px 8px;border:1px solid var(--accent);border-radius:4px;margin-bottom:6px}.pathway-headline-name{font-size:18px;font-weight:600;color:var(--text-heading)}.pathway-headline-meta{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.pathway-headline-timeline{font-size:15px;font-weight:600;color:var(--text-heading);font-variant-numeric:tabular-nums}.pathway-confidence{font-size:11px}.pathway-confidence--green{background:#16a34a1a;color:#16a34a;border-color:#16a34a}.pathway-confidence--amber{background:#d977061a;color:#d97706;border-color:#d97706}.pathway-confidence--red{background:#dc26261a;color:#dc2626;border-color:#dc2626}.pathway-envelope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 16px;margin-bottom:12px}.pathway-envelope-cell{display:flex;flex-direction:column;gap:2px}.pathway-envelope-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-weight:600}.pathway-envelope-value{font-size:14px;font-weight:600;color:var(--text-heading)}.pathway-confidence-driver{font-size:12px;color:var(--text-secondary);padding:8px 10px;background:#d977060f;border-left:2px solid #d97706;border-radius:4px;margin-bottom:8px}.pathway-yield-note{font-size:11px;color:var(--text-secondary);font-style:italic;margin-bottom:8px}.pathway-citations{margin-top:8px;border-top:1px solid var(--border-subtle, var(--border-default));padding-top:8px}.pathway-citations summary{font-size:12px;color:var(--text-secondary);cursor:pointer;font-weight:500}.pathway-citations summary:hover{color:var(--text-primary)}.pathway-citations-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.pathway-citations-list li{font-size:12px;color:var(--text-primary);line-height:1.5}.pathway-citations-list blockquote{margin:4px 0;padding:6px 10px;border-left:2px solid var(--border-default);color:var(--text-secondary);font-size:11px;font-style:italic}.pathway-citations-list a{font-size:11px;color:var(--accent)}.pathway-vintage{font-size:11px;color:var(--text-secondary);margin-top:10px;padding-top:8px;border-top:1px solid var(--border-subtle, var(--border-default))}.pathway-supporting-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.pathway-supporting-header{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-weight:600;margin-bottom:4px}.pathway-supporting{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:left;width:100%;font:inherit;color:inherit}.pathway-supporting:hover{border-color:var(--accent);background:#9d67ff0a}.pathway-supporting-main{display:flex;flex-direction:column;gap:2px}.pathway-supporting-name{font-size:13px;font-weight:600;color:var(--text-heading)}.pathway-supporting-route{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.pathway-supporting-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.pathway-confidence-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.pathway-confidence-dot--green{background:#16a34a}.pathway-confidence-dot--amber{background:#d97706}.pathway-confidence-dot--red{background:#dc2626}.pathway-show-all-toggle{margin-bottom:12px}.pathway-drawer{display:flex;flex-direction:column;gap:12px}.pathway-drawer-block{border:1px solid var(--border-default);border-radius:8px;padding:14px 16px;background:var(--bg-card)}.pathway-drawer-heading{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-weight:700;margin-bottom:10px}.pathway-excluded{padding:10px 0;border-bottom:1px solid var(--border-subtle, var(--border-default))}.pathway-excluded:last-child{border-bottom:none}.pathway-excluded-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.pathway-excluded-name{font-size:13px;font-weight:600;color:var(--text-heading)}.pathway-excluded-route{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.pathway-excluded-reasons{margin:0;padding-left:18px;font-size:12px;color:var(--text-primary);line-height:1.5}.pathway-excluded-reasons li{margin-bottom:2px}.pathway-excluded-reasons strong{color:var(--color-red);font-weight:600}@media(max-width:720px){.pathway-envelope-grid{grid-template-columns:repeat(2,1fr)}.pathway-headline-top{flex-direction:column}.pathway-headline-meta{text-align:left;align-items:flex-start}}.scenario-section{margin-bottom:24px}.scenario-table-wrap{overflow-x:auto}.scenario-table{width:100%;border-collapse:collapse;font-size:13px}.scenario-table th,.scenario-table td{padding:8px 10px;border-bottom:1px solid var(--border-default);text-align:left}.scenario-table thead th{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;background:var(--bg-card)}.scenario-row--base td{font-weight:600;background:#9d67ff0a}.scenario-num{text-align:right;font-variant-numeric:tabular-nums}.scenario-desc{font-size:11px;color:var(--text-secondary);font-weight:400;margin-top:2px}.scenario-margin--positive{color:var(--color-green)}.scenario-margin--marginal{color:#d97706}.scenario-margin--warn{color:#ea580c}.scenario-margin--negative{color:var(--color-red)}.insights-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.tornado-chart{margin-bottom:20px}.tornado-rows{display:flex;flex-direction:column;gap:10px}.tornado-row{display:grid;grid-template-columns:120px 1fr 100px;gap:8px;align-items:center}.tornado-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-align:right}.tornado-bars{display:flex;align-items:center;height:20px}.tornado-bar-left{flex:1;display:flex;justify-content:flex-end}.tornado-bar-right{flex:1;display:flex;justify-content:flex-start}.tornado-zero{width:1px;height:24px;background:var(--border-default);margin:0 2px;flex-shrink:0}.tornado-bar{height:16px;border-radius:3px;min-width:2px;transition:width .4s ease}.tornado-bar--down{background:var(--color-red);opacity:.7}.tornado-bar--up{background:var(--color-green);opacity:.7}.tornado-value{font-size:11px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.waterfall-chart{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}.waterfall-rows{display:flex;flex-direction:column;gap:6px}.waterfall-row{display:grid;grid-template-columns:130px 1fr 90px;gap:8px;align-items:center}.waterfall-row-label{font-size:12px;color:var(--text-secondary);font-weight:500;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.waterfall-row-track{height:22px;position:relative;background:var(--bg-subtle, rgba(0,0,0,.02));border-radius:4px;overflow:hidden}.waterfall-row-bar{position:absolute;top:0;left:0;height:100%;border-radius:4px;transition:width .4s ease}.waterfall-row-bar--revenue{background:var(--color-green);opacity:.6}.waterfall-row-bar--remaining{background:var(--color-blue);opacity:.2}.waterfall-row-bar--deduction{background:var(--color-red);opacity:.5}.waterfall-row-bar--profit{background:var(--color-green);opacity:.7}.waterfall-row-bar--loss{background:var(--color-red);opacity:.7}.waterfall-row-amount{font-size:12px;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right}.waterfall-row-amount--neg{color:var(--color-red)}.cost-donut{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;padding:16px}.cost-donut-layout{display:flex;align-items:center;gap:20px}.cost-donut-svg-wrap{position:relative;width:160px;height:160px;flex-shrink:0}.cost-donut-svg{width:100%;height:100%}.cost-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.cost-donut-center-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.cost-donut-center-value{font-size:15px;font-weight:700;color:var(--text-heading);font-variant-numeric:tabular-nums}.cost-donut-legend{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.cost-donut-legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.cost-donut-legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.cost-donut-legend-label{color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-donut-legend-value{color:var(--text-primary);font-weight:500;font-variant-numeric:tabular-nums}.timeline-gantt{margin-bottom:20px}.timeline-markers{position:relative;height:20px;margin-left:100px;margin-bottom:4px}.timeline-marker{position:absolute;font-size:10px;color:var(--text-secondary);transform:translate(-50%)}.timeline-rows{display:flex;flex-direction:column;gap:6px}.timeline-row{display:flex;align-items:center;gap:8px}.timeline-row-label{width:92px;font-size:11px;color:var(--text-secondary);text-align:right;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-row-track{flex:1;height:14px;background:var(--border-default);border-radius:3px;position:relative;opacity:.3}.timeline-row-bar{position:absolute;top:0;height:100%;border-radius:3px}:root.dark-mode .timeline-row-track{opacity:.2}.programme-container{display:flex;flex-direction:column;height:calc(100vh - 180px);overflow:hidden;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-default)}.programme-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-default);flex-shrink:0;flex-wrap:wrap}.programme-toolbar .toolbar-group{display:flex;align-items:center;gap:4px}.programme-toolbar .toolbar-divider{width:1px;height:24px;background:var(--border-default);margin:0 4px}.programme-toolbar .scale-btn{padding:4px 8px;font-size:11px;border:1px solid var(--border-default);background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;border-radius:0}.programme-toolbar .scale-btn:first-child{border-radius:4px 0 0 4px}.programme-toolbar .scale-btn:last-child{border-radius:0 4px 4px 0}.programme-toolbar .scale-btn.active{background:var(--color-blue);color:#fff;border-color:var(--color-blue)}.programme-toolbar .toggle-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.programme-body{display:flex;flex:1;overflow:hidden}.programme-gantt-divider{width:4px;cursor:col-resize;background:var(--border-default);flex-shrink:0;transition:background .15s}.programme-gantt-divider:hover,.programme-gantt-divider:active{background:var(--color-blue)}.wbs-panel{flex-shrink:0;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-default);font-size:12px}.wbs-header{display:flex;align-items:center;height:48px;border-bottom:1px solid var(--border-default);background:var(--bg-subtle);font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;padding:0 8px;gap:4px;position:sticky;top:0;z-index:2}.wbs-header span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wbs-row{display:flex;align-items:center;height:32px;padding:0 8px;gap:4px;border-bottom:1px solid var(--border-default);cursor:pointer;transition:background .1s}.wbs-row:hover{background:var(--bg-subtle)}.wbs-row.selected{background:color-mix(in srgb,var(--color-blue) 10%,transparent)}.wbs-row.phase{font-weight:600}.wbs-row .wbs-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.wbs-row .wbs-name input{width:100%;border:1px solid var(--color-blue);border-radius:3px;padding:1px 4px;font-size:12px;outline:none;background:var(--bg-card);color:var(--text-primary)}.wbs-row .wbs-col{flex-shrink:0;text-align:right;color:var(--text-secondary);font-size:11px}.wbs-row .wbs-chevron{width:16px;flex-shrink:0;text-align:center;font-size:10px;color:var(--text-faint);cursor:pointer}.wbs-add-row{display:flex;align-items:center;height:32px;padding:0 8px;color:var(--text-faint);font-size:12px;cursor:pointer}.wbs-add-row:hover{color:var(--color-blue)}.gantt-wrapper{flex:1;overflow:auto;position:relative;min-width:0}.gantt-header{display:flex;height:48px;position:sticky;top:0;z-index:2;background:var(--bg-subtle);border-bottom:1px solid var(--border-default);font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.gantt-header-cell{display:flex;align-items:center;justify-content:center;border-right:1px solid var(--border-default);flex-shrink:0}.gantt-body{position:relative}.gantt-row{position:relative;height:32px;border-bottom:1px solid var(--border-default)}.gantt-row:nth-child(2n){background:var(--bg-subtle)}.gantt-row.selected{background:color-mix(in srgb,var(--color-blue) 8%,transparent)}.gantt-bar{position:absolute;top:6px;height:20px;border-radius:3px;background:var(--color-blue);cursor:grab;display:flex;align-items:center;padding:0 6px;font-size:10px;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;z-index:1;transition:box-shadow .15s;min-width:4px}.gantt-bar:hover{box-shadow:0 1px 4px #00000026}.gantt-bar:active{cursor:grabbing}.gantt-bar.critical{border:2px solid var(--color-red)}.gantt-bar .bar-progress{position:absolute;left:0;top:0;bottom:0;background:#00000026;border-radius:3px 0 0 3px}.gantt-phase-bar{position:absolute;top:12px;height:8px;background:var(--text-secondary);z-index:1;min-width:4px}.gantt-phase-bar:before,.gantt-phase-bar:after{content:"";position:absolute;bottom:-4px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--text-secondary)}.gantt-phase-bar:before{left:0}.gantt-phase-bar:after{right:0}.gantt-milestone{position:absolute;top:10px;width:12px;height:12px;background:var(--color-blue);transform:rotate(45deg);cursor:pointer;z-index:1}.gantt-milestone.revenue{background:var(--color-green)}.gantt-milestone.critical{border:2px solid var(--color-red)}.gantt-today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--color-red);opacity:.5;z-index:3;pointer-events:none}.gantt-today-label{position:absolute;top:2px;font-size:9px;color:var(--color-red);font-weight:600;z-index:3;pointer-events:none;transform:translate(-50%)}.gantt-deps-svg{position:absolute;top:0;left:0;pointer-events:none;z-index:2}.programme-metrics-bar{display:flex;align-items:center;gap:24px;padding:8px 16px;border-top:1px solid var(--border-default);background:var(--bg-subtle);font-size:12px;color:var(--text-secondary);flex-shrink:0}.programme-metrics-bar span strong{color:var(--text-primary);font-weight:600}.programme-setup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:48px 24px;text-align:center}.programme-setup h2{font-size:20px;font-weight:600;color:var(--text-primary)}.programme-setup p{color:var(--text-secondary);max-width:500px}.programme-setup .template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;width:100%;max-width:800px}.programme-setup .template-card{padding:16px;border:1px solid var(--border-default);border-radius:8px;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;background:var(--bg-card)}.programme-setup .template-card:hover{border-color:var(--color-blue);box-shadow:0 1px 4px #00000014}.programme-setup .template-card.selected{border-color:var(--color-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-blue) 20%,transparent)}.programme-setup .template-card h3{font-size:14px;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.programme-setup .template-card p{font-size:12px;color:var(--text-secondary);margin:0}.programme-setup .setup-actions{display:flex;gap:12px;align-items:center}.programme-setup .setup-actions input[type=date]{padding:6px 10px;border:1px solid var(--border-default);border-radius:6px;font-size:13px;background:var(--bg-card);color:var(--text-primary)}.programme-loading,.programme-error{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary);font-size:14px}.programme-error{color:var(--color-red)}.gantt-baseline-bar{position:absolute;top:24px;height:4px;background:var(--text-faint);opacity:.4;border-radius:2px;z-index:0}@keyframes cascade-pulse{0%{transform:scale(1)}30%{transform:scale(1.06)}60%{transform:scale(.98)}to{transform:scale(1)}}@keyframes cascade-row-flash{0%{background:#9d67ff26}to{background:transparent}}.custom-dashboard{padding:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.dashboard-tab-bar{display:flex;align-items:center;gap:2px;padding:8px 16px 0;border-bottom:1px solid var(--border-default);background:var(--bg-card);flex-shrink:0}.dashboard-tab{padding:8px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:6px 6px 0 0;border:1px solid transparent;border-bottom:none;margin-bottom:-1px;transition:color .15s,background .15s;-webkit-user-select:none;user-select:none}.dashboard-tab:hover{color:var(--text-primary);background:var(--bg-subtle)}.dashboard-tab.active{color:var(--text-primary);background:var(--bg-page);border-color:var(--border-default);font-weight:600}.dashboard-tab-add{color:var(--color-blue);font-weight:500}.dashboard-tab-add:hover{background:color-mix(in srgb,var(--color-blue) 8%,transparent)}.dashboard-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;flex-shrink:0}.edit-mode-toggle{padding:5px 14px;font-size:12px;font-weight:600;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s}.edit-mode-toggle:hover{border-color:var(--color-blue);color:var(--color-blue)}.edit-mode-toggle.active{background:var(--color-blue);border-color:var(--color-blue);color:#fff}.dashboard-grid{flex:1;overflow-y:auto;padding:0 16px 16px}.widget-wrapper{background:var(--bg-card);border:1px solid var(--border-default);border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:border-color .15s,box-shadow .15s}.widget-wrapper:hover{box-shadow:0 1px 4px #0000000f}.widget-wrapper.edit-mode{border-style:dashed;border-color:var(--color-blue)}.widget-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-row);flex-shrink:0}.widget-drag-handle{cursor:grab;color:var(--text-faint);display:flex;align-items:center;padding:2px;flex-shrink:0}.widget-drag-handle:active{cursor:grabbing}.widget-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.widget-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity .15s}.widget-wrapper:hover .widget-actions,.widget-actions.always-visible{opacity:1}.widget-action-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-faint);cursor:pointer;border-radius:4px;transition:background .1s,color .1s}.widget-action-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.widget-action-remove:hover{color:var(--color-red)}.widget-body{flex:1;overflow:auto;padding:12px;min-height:0}.widget-skeleton{display:flex;flex-direction:column;gap:10px;padding:8px 0}.skeleton-line{height:14px;background:var(--bg-subtle);border-radius:4px;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.widget-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;color:var(--color-red);font-size:13px;height:100%}.widget-catalogue-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:var(--bg-card);border-left:1px solid var(--border-default);box-shadow:-4px 0 16px #00000014;z-index:900;display:flex;flex-direction:column;animation:catalogue-slide-in .2s ease-out}@keyframes catalogue-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.widget-catalogue-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-default)}.widget-catalogue-header h3{font-size:15px;font-weight:600;color:var(--text-heading);margin:0}.widget-catalogue-search{padding:12px 16px;border-bottom:1px solid var(--border-row)}.widget-catalogue-search input{width:100%;padding:8px 12px;border:1px solid var(--border-input);border-radius:6px;font-size:13px;background:var(--bg-input);color:var(--text-primary)}.widget-catalogue-search input:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-blue) 15%,transparent)}.widget-catalogue-body{flex:1;overflow-y:auto;padding:8px 0}.widget-catalogue-category h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);padding:12px 16px 6px;margin:0}.widget-catalogue-tile{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;cursor:pointer;transition:background .1s}.widget-catalogue-tile:hover{background:var(--bg-subtle)}.widget-catalogue-tile.already-added{opacity:.5;cursor:default}.widget-catalogue-icon{font-size:20px;flex-shrink:0;width:28px;text-align:center}.widget-catalogue-info{display:flex;flex-direction:column;gap:2px;min-width:0}.widget-catalogue-name{font-size:13px;font-weight:600;color:var(--text-primary)}.widget-catalogue-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.widget-catalogue-badge{font-size:10px;font-weight:600;color:var(--text-faint);background:var(--bg-subtle);padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0;margin-left:auto;align-self:center}.context-menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999}.context-menu{background:var(--bg-card);border:1px solid var(--border-default);border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px 0;min-width:160px}.context-menu-item{padding:8px 14px;font-size:13px;cursor:pointer;color:var(--text-primary)}.context-menu-item:hover{background:var(--bg-subtle)}.context-menu-item.danger{color:var(--color-red)}.context-menu-item.danger:hover{background:color-mix(in srgb,var(--color-red) 8%,transparent)}.rag-overview-list{display:flex;flex-direction:column;gap:2px}.rag-overview-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:4px;cursor:pointer;transition:background .1s}.rag-overview-row:hover{background:var(--bg-subtle)}.rag-project-name{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rag-project-margin{font-size:12px;font-weight:700;flex-shrink:0}.programme-timeline{display:flex;flex-direction:column;gap:0;overflow-y:auto;height:100%}.programme-timeline-header{position:relative;height:20px;margin-left:140px;margin-right:50px;margin-bottom:4px;border-bottom:1px solid var(--border-light);flex-shrink:0}.programme-timeline-year{position:absolute;font-size:10px;color:var(--text-faint);transform:translate(-50%);top:2px}.programme-timeline-row{display:flex;align-items:center;gap:8px;padding:4px 0;cursor:pointer;border-radius:4px;transition:background .1s}.programme-timeline-row:hover{background:var(--bg-subtle)}.programme-timeline-label{width:132px;flex-shrink:0;font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:4px}.programme-timeline-track{flex:1;position:relative;height:20px;background:var(--bg-subtle);border-radius:3px}.programme-timeline-bar{position:absolute;top:2px;bottom:2px;border-radius:3px;border:1px solid;overflow:hidden}.programme-timeline-fill{height:100%;border-radius:2px;transition:width .3s ease}.programme-timeline-pct{width:42px;flex-shrink:0;font-size:11px;font-weight:600;color:var(--text-secondary);text-align:right}.upcoming-milestones-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;height:100%}.upcoming-milestone-row{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:4px;cursor:pointer;transition:background .1s}.upcoming-milestone-row:hover{background:var(--bg-subtle)}.milestone-urgency-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.milestone-info{flex:1;display:flex;flex-direction:column;min-width:0}.milestone-project-name{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-date-info{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.milestone-date{font-size:11px;color:var(--text-faint)}.milestone-days{font-size:12px;font-weight:700}.milestone-days.comfortable{color:#198038}.milestone-days.soon{color:#ff832b}.milestone-days.urgent{color:#da1e28}.milestone-days.overdue{color:#991b1b}.react-grid-item.react-grid-placeholder{background:color-mix(in srgb,var(--color-blue) 15%,transparent);border:2px dashed var(--color-blue);border-radius:8px;opacity:1}.react-grid-item>.react-resizable-handle:after{border-color:var(--text-faint)}.react-grid-item>div{height:100%}.sales-lot-cell:active{transform:scale(.98)}.sales-list-container{-webkit-overflow-scrolling:touch}.sales-stock-table th,.sales-stock-table td{white-space:nowrap}.sales-detail-panel{animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sales-summary-bar>div{flex:1 1 120px}@media(max-width:768px){.sales-tab .sales-lot-cell{min-height:64px}.sales-detail-panel{max-width:100%!important;width:100%!important}.sales-detail-panel button{min-height:44px}.sales-summary-bar{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:12px!important}.sales-summary-bar>div{flex:unset!important;min-width:0!important;padding:8px 10px!important}.sales-summary-bar .sales-summary-card>div:nth-child(2){font-size:16px!important}.sales-stock-table{font-size:11px!important}.sales-stock-table th,.sales-stock-table td{padding:4px 6px!important}}.display{font-family:var(--f-display, "Fraunces", "Times New Roman", serif);font-weight:500;letter-spacing:-.02em;line-height:1.02;font-variation-settings:"SOFT" 100,"WONK" 0,"opsz" 144}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.eyebrow:before{content:"";width:18px;height:1px;background:var(--text-3)}.num,.mono{font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","zero"}.glass{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.project-card.glass{background:var(--bg-raised);backdrop-filter:none;-webkit-backdrop-filter:none;border-color:var(--glass-border)}.project-card.glass:hover{border-color:var(--glass-border-accent);box-shadow:var(--shadow-glow)}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:blur(28px) saturate(200%);-webkit-backdrop-filter:blur(28px) saturate(200%);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg)}.glass-accent{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border-accent);box-shadow:var(--shadow-glow)}.brand-mark{display:block;flex-shrink:0;filter:drop-shadow(0 0 10px var(--accent-glow));transition:transform .25s ease}.brand:hover .brand-mark,.sidebar-brand:hover .brand-mark,.auth-shell:hover .brand-mark{transform:translateY(-1px)}.brand-mark .bar{transform-origin:left center;transition:fill .2s ease}.brand-mark .bar-1{fill:color-mix(in oklab,var(--accent) 55%,transparent)}.brand-mark .bar-2{fill:var(--accent)}.brand-mark .bar-3{fill:var(--accent-2, var(--accent))}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display, "Fraunces", "Times New Roman", serif);font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--text);text-decoration:none}.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);background:color-mix(in oklab,var(--bg),transparent 20%);border-bottom:1px solid var(--rule)}.nav-inner{display:flex;align-items:center;gap:32px;height:64px;max-width:1440px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}.nav-link{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;font-size:14px;color:var(--text-2);border-radius:var(--r-pill, 9999px);transition:all .18s ease;text-decoration:none;cursor:pointer;border-left:2px solid transparent}.nav-link:hover{color:var(--text);background:var(--glass-border);text-decoration:none}.nav-link[aria-current=page],.nav-link.is-active{color:var(--accent);background:var(--accent-soft);border-left:2px solid var(--accent)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text)}.btn-ghost:hover{border-color:var(--glass-border-hi);background:var(--glass-border)}.btn-lg{padding:14px 24px;font-size:15px}.btn-square{padding:10px;width:40px;height:40px;justify-content:center}.btn-danger{background:transparent;border:1px solid var(--flag-red);color:var(--flag-red)}.btn-danger:hover{background:var(--flag-red-soft);border-color:var(--flag-red);color:var(--flag-red)}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--r-pill, 9999px);font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--text-2);background:var(--glass-border);border:1px solid var(--glass-border)}.chip-accent{color:var(--accent);background:var(--accent-soft);border-color:var(--glass-border-accent)}.chip-pro{color:var(--pro-gold);background:#f5b8411a;border-color:#f5b8414d}.chip-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.flag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-pill, 9999px);font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:11px;font-weight:500;letter-spacing:.02em}.flag:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.flag.green{color:var(--flag-green);background:var(--flag-green-soft)}.flag.amber{color:var(--flag-amber);background:var(--flag-amber-soft)}.flag.red{color:var(--flag-red);background:var(--flag-red-soft)}.kpi-tile{background:var(--bg);padding:24px;border:1px solid var(--glass-border-accent);border-radius:var(--r-card, 16px)}.kpi-tile .k{font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.kpi-tile .v{font-family:var(--f-display, "Fraunces", "Times New Roman", serif);font-size:42px;letter-spacing:-.03em;line-height:1;color:var(--text);margin-top:10px}.kpi-tile .s{font-size:13px;color:var(--text-3);margin-top:8px;line-height:1.45;max-width:32ch}.kpi-tile.accent{border-color:var(--glass-border-accent)}.kpi-tile.accent .v{color:var(--accent)}table.v2{width:100%;border-collapse:collapse;font-size:13px}table.v2 th,table.v2 td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--rule)}table.v2 th{font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);font-weight:500}table.v2 td{color:var(--text-2)}table.v2 td.num{text-align:right;color:var(--text)}table.v2 tr:hover td{background:color-mix(in oklab,var(--bg-raised, var(--bg)),var(--accent) 3%)}.field{display:flex;flex-direction:column;gap:6px}.field input,.field select,.field textarea{padding:10px 14px;font-family:var(--f-sans, "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif);font-size:14px;color:var(--text);background:var(--bg-raised, var(--bg));border:1px solid var(--glass-border-hi);border-radius:var(--r-inner, 8px);transition:border-color .18s ease,box-shadow .18s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.label{font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:40px 20px;position:relative;z-index:1}.auth-shell-mark{position:absolute;top:28px;left:32px;display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display, "Fraunces", "Times New Roman", serif);font-style:italic;font-size:22px;font-weight:500;color:var(--text);text-decoration:none;letter-spacing:-.02em}.sidebar.glass{width:260px;flex-shrink:0;border-right:1px solid var(--rule);border-radius:0}.sidebar.glass.sidebar--collapsed{width:72px}.sidebar-brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sidebar-wordmark{font-family:var(--f-display, "Fraunces", "Times New Roman", serif);font-size:20px;font-weight:500;letter-spacing:-.02em;color:var(--text)}.sidebar-tagline-sub{flex-basis:100%;font-family:var(--f-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-top:2px}.sidebar-nav-link{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-inner, 8px);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-nav-link .sidebar-nav-icon{width:18px;display:inline-flex;justify-content:center;flex-shrink:0;color:inherit}.sidebar-nav-link:hover{color:var(--text);background:var(--glass-border)}.sidebar-nav-link.is-active,.sidebar-nav-link[aria-current=page]{color:var(--accent);background:var(--accent-soft);border-left:2px solid var(--accent);padding-left:12px}.segmented{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px}.segmented-item{appearance:none;background:transparent;border:none;padding:6px 14px;font-family:var(--f-sans);font-size:13px;font-weight:500;color:var(--text-2);border-radius:4px;cursor:pointer;transition:background .15s,color .15s;letter-spacing:.01em}.segmented-item:hover{color:var(--text)}.segmented-item.is-active{background:var(--accent);color:var(--text);font-weight:600}:root[data-theme=light] .segmented-item.is-active{color:#fff}.segmented-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.drawer-root{position:fixed;inset:0;z-index:1100;pointer-events:none}.drawer-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto;animation:drawer-fade-in .2s ease-out}:root[data-theme=light] .drawer-backdrop{background:#0a0c1266}.drawer-panel{position:absolute;top:0;bottom:0;width:var(--mobile-drawer-w);max-width:100vw;background:var(--glass-bg-strong, var(--bg-raised));backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);box-shadow:0 24px 60px #00000073;pointer-events:auto;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);will-change:transform}.drawer-panel--left{left:0;padding-left:var(--safe-left);border-right:1px solid var(--rule);animation:drawer-slide-in-left .24s cubic-bezier(.32,.72,0,1)}.drawer-panel--right{right:0;padding-right:var(--safe-right);border-left:1px solid var(--rule);animation:drawer-slide-in-right .24s cubic-bezier(.32,.72,0,1)}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.bottom-sheet-root{position:fixed;inset:0;z-index:1200;pointer-events:none}.bottom-sheet-root[data-stack="1"]{z-index:1210}.bottom-sheet-root[data-stack="2"]{z-index:1220}.bottom-sheet-backdrop{position:absolute;inset:0;background:#0000008c;pointer-events:auto;animation:drawer-fade-in .2s ease-out}:root[data-theme=light] .bottom-sheet-backdrop{background:#0a0c1259}.bottom-sheet-panel{position:absolute;left:0;right:0;bottom:0;background:var(--bg-raised);border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -16px 60px #00000073;pointer-events:auto;display:flex;flex-direction:column;padding-bottom:var(--safe-bottom);transform:translateY(0);transition:transform .12s ease-out;animation:sheet-slide-up .28s cubic-bezier(.32,.72,0,1);will-change:transform}.bottom-sheet-panel--stack{border-top-left-radius:16px;border-top-right-radius:16px}.bottom-sheet-handle{appearance:none;background:transparent;border:0;width:100%;height:28px;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;flex-shrink:0}.bottom-sheet-handle:active{cursor:grabbing}.bottom-sheet-handle-pill{display:block;width:40px;height:4px;border-radius:2px;background:var(--rule-hi)}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.desktop-only-gate{max-width:520px;margin:32px auto;padding:28px 20px;display:flex;flex-direction:column;align-items:stretch;gap:18px;text-align:center;background:var(--bg-raised);border:1px solid var(--rule);border-radius:16px;box-shadow:0 12px 40px #0000002e}.desktop-only-gate-eyebrow{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.desktop-only-gate-title{font-family:var(--f-display);font-size:var(--fs-mobile-h1);letter-spacing:-.02em;line-height:1.05;margin:0}.desktop-only-gate-reason{color:var(--text-2);font-size:15px;line-height:1.45;margin:0}.desktop-only-gate-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:4px}.desktop-only-gate-number{background:var(--bg-overlay);border:1px solid var(--rule);border-radius:12px;padding:14px 12px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left}.desktop-only-gate-number-label{font-family:var(--f-mono);font-size:var(--fs-mobile-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.desktop-only-gate-number-value{font-family:var(--f-display);font-size:var(--fs-mobile-num-kpi);font-weight:500;color:var(--text);line-height:1}.desktop-only-gate-number-hint{font-size:12px;color:var(--text-3)}.desktop-only-gate-spark,.desktop-only-gate-illustration{display:flex;justify-content:center;margin-top:4px}.desktop-only-gate-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:center;margin-top:4px}.desktop-only-gate-actions .btn{min-height:var(--touch-comfortable);width:100%}.desktop-only-gate-note-toggle{margin-top:4px;background:transparent;border:none;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;padding:8px;align-self:center;min-height:var(--touch-comfortable)}.desktop-only-gate-note-toggle:hover{color:var(--accent-strong, var(--accent))}.desktop-only-gate-note{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:12px}.desktop-only-gate-note-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2)}.desktop-only-gate-note-input{width:100%;min-height:80px;font-size:16px;font-family:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;resize:vertical}.desktop-only-gate-note-input:focus{outline:none;border-color:var(--accent)}.desktop-only-gate-note-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.desktop-only-gate-note-hint{font-size:12px;color:var(--text-3);flex:1;min-width:140px}.desktop-only-gate-footer{font-size:13px;color:var(--text-3);font-style:italic}.mobile-top-header{position:sticky;top:0;left:0;right:0;z-index:50;height:calc(var(--mobile-header-h) + var(--safe-top));padding-top:var(--safe-top);padding-left:max(var(--safe-left),8px);padding-right:max(var(--safe-right),8px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;background:var(--glass-bg-strong, var(--bg-overlay));backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--rule)}.mobile-top-header-icon-btn{appearance:none;background:transparent;border:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text);cursor:pointer}.mobile-top-header-icon-btn:active{background:var(--bg-overlay)}.mobile-top-header-brand{display:inline-flex;align-items:center;gap:8px;justify-self:center;color:var(--text)}.mobile-top-header-wordmark{font-family:var(--f-display);font-size:18px;letter-spacing:-.01em}.mobile-top-header-actions{display:inline-flex;align-items:center;gap:4px}.mobile-top-header-avatar-btn{appearance:none;background:transparent;border:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.mobile-top-header-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:.04em}.mobile-nav-drawer{display:flex;flex-direction:column;height:100%;width:100%}.mobile-nav-drawer-header{display:flex;align-items:center;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--rule)}.mobile-nav-drawer-wordmark{font-family:var(--f-display);font-size:20px;line-height:1;color:var(--text)}.mobile-nav-drawer-eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-top:2px}.mobile-nav-drawer-list{flex:1;overflow-y:auto;padding:8px 0}.mobile-nav-drawer-row{appearance:none;background:transparent;border:0;width:100%;height:var(--touch-nav-row);padding:0 18px;display:flex;align-items:center;gap:14px;color:var(--text);font-family:var(--f-sans);font-size:16px;font-weight:500;text-align:left;cursor:pointer;position:relative}.mobile-nav-drawer-row:active{background:var(--bg-overlay)}.mobile-nav-drawer-row.is-active{background:color-mix(in oklab,var(--accent) 14%,transparent)}.mobile-nav-drawer-row.is-active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--accent)}.mobile-nav-drawer-row-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;color:var(--text-2)}.mobile-nav-drawer-row.is-active .mobile-nav-drawer-row-icon{color:var(--accent)}.mobile-nav-drawer-row-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-drawer-row-meta{color:var(--text-3);font-size:14px}.mobile-nav-drawer-footer{border-top:1px solid var(--rule);padding:12px 14px calc(12px + var(--safe-bottom));display:flex;flex-direction:column;gap:8px}.mobile-nav-drawer-account{display:flex;align-items:center;gap:12px;padding:6px 4px}.mobile-nav-drawer-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:13px;font-weight:600}.mobile-nav-drawer-account-text{flex:1;min-width:0}.mobile-nav-drawer-account-name{font-size:14px;color:var(--text)}.mobile-nav-drawer-account-email{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-drawer-logout{appearance:none;background:transparent;border:0;height:48px;width:100%;text-align:left;padding:0 4px;font-family:var(--f-sans);font-size:15px;font-weight:500;color:var(--flag-red);cursor:pointer;border-radius:8px}.mobile-nav-drawer-logout:active{background:color-mix(in oklab,var(--flag-red) 12%,transparent)}@media(min-width:769px){.mobile-top-header,.mobile-project-tab-strip{display:none}}.mobile-project-tab-strip{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:8px 4px;margin:0 0 12px;border-bottom:1px solid var(--rule);scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.mobile-project-tab-strip::-webkit-scrollbar{display:none}.mobile-project-tab{appearance:none;background:var(--bg-overlay);border:1px solid var(--rule);border-radius:999px;padding:8px 14px;height:36px;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-sans);font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;flex:0 0 auto;scroll-snap-align:start;white-space:nowrap;position:relative}.mobile-project-tab.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}.mobile-project-tab.is-locked{color:var(--text-3)}.mobile-project-tab.is-locked.is-active{background:color-mix(in oklab,var(--accent) 70%,var(--text-3));color:#fff}.mobile-project-tab-lock{font-size:11px;line-height:1}.mobile-project-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--flag-red);color:#fff;font-size:10px;font-weight:700}.mobile-project-tab.is-active .mobile-project-tab-badge{background:#ffffff40}@media(max-width:768px){input,select,textarea{font-size:16px}button,.btn,input[type=button],input[type=submit],input[type=reset],select{min-height:var(--touch-min)}.btn-primary{min-height:var(--touch-comfortable)}.icon-btn,.btn-icon{min-width:var(--touch-min);min-height:var(--touch-min)}}.mobile-cost-tab{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.mobile-cost-grand-total{padding:14px 16px;border-radius:var(--r-inner);display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-cost-grand-label{font-size:13px;color:var(--text-3);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.mobile-cost-grand-value{font-family:Fraunces,serif;font-size:22px;font-weight:600;color:var(--text)}.mobile-cost-help{font-size:12px;color:var(--text-3);margin:0}.mobile-cost-section{display:flex;flex-direction:column;gap:8px}.mobile-cost-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 4px}.mobile-cost-section-title{font-family:Fraunces,serif;font-size:17px;font-weight:600;color:var(--text)}.mobile-cost-section-total{font-size:14px;color:var(--text-2);font-weight:600}.mobile-cost-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.mobile-cost-card-row.depth-1{padding-left:16px}.mobile-cost-card{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--bg-raised);border:1px solid var(--border-1);border-radius:var(--r-inner);text-align:left;cursor:pointer;min-height:72px;color:var(--text)}.mobile-cost-card:active{transform:scale(.997)}.mobile-cost-card.is-tap-armed{border-color:var(--accent, #9d67ff);box-shadow:0 0 0 2px #9d67ff2e}.mobile-cost-card-main{flex:1;min-width:0}.mobile-cost-card-meta{display:flex;gap:6px;align-items:center;margin-bottom:4px}.mobile-cost-card-badge{font-size:11px;background:var(--bg-subtle);color:var(--text-2);padding:2px 6px;border-radius:999px;letter-spacing:.02em}.mobile-cost-card-fx{font-size:11px;color:var(--accent);font-weight:700}.mobile-cost-card-desc{font-size:15px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-cost-card-sub{font-size:12px;color:var(--text-3);margin-top:2px}.mobile-cost-card-amt{font-family:Fraunces,serif;font-size:18px;font-weight:600;color:var(--text);flex:0 0 auto}.mobile-cost-sublines-link{align-self:flex-start;margin:4px 0 0 14px;font-size:12px;background:none;border:0;color:var(--accent);cursor:pointer;padding:6px 8px;min-height:36px}.mobile-cost-list-empty{font-size:13px;color:var(--text-3);padding:12px 14px;background:var(--bg-subtle);border-radius:var(--r-inner);text-align:center}.mobile-cost-add-btn{width:100%;min-height:48px;border:1px dashed var(--border-2);background:transparent;color:var(--accent);font-weight:600;font-size:14px;border-radius:var(--r-inner);cursor:pointer}.mobile-cost-add-btn:active{background:var(--bg-subtle)}.mobile-edit-sheet{display:flex;flex-direction:column;height:100%;min-height:0}.mobile-edit-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 20px 12px;border-bottom:1px solid var(--border-1)}.mobile-edit-sheet-eyebrow{font-size:11px;letter-spacing:.08em;color:var(--accent);font-weight:700;text-transform:uppercase}.mobile-edit-sheet-title{font-family:Fraunces,serif;font-size:19px;font-weight:600;color:var(--text);margin-top:2px;word-break:break-word}.mobile-edit-sheet-subtitle{font-size:12px;color:var(--text-3);margin-top:2px}.mobile-edit-sheet-close{width:44px;height:44px;border-radius:50%;border:0;background:var(--bg-subtle);color:var(--text-2);font-size:16px;cursor:pointer;flex-shrink:0}.mobile-edit-sheet-body{flex:1 1 auto;overflow-y:auto;padding:16px 20px 24px;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:18px}.mobile-edit-sheet-footer{flex:0 0 auto;padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border-1);background:var(--bg-1)}.mobile-edit-sheet-save{width:100%;min-height:48px;font-size:16px}.mobile-edit-sheet-section{display:flex;flex-direction:column;gap:8px}.mobile-edit-sheet-section-label{font-size:11px;letter-spacing:.08em;color:var(--accent);font-weight:700;text-transform:uppercase;padding:0 2px}.mobile-edit-sheet-section-body{display:flex;flex-direction:column;gap:12px}.mobile-edit-sheet-field{display:flex;flex-direction:column;gap:6px}.mobile-edit-sheet-field-label{font-size:12px;color:var(--text-3);font-weight:600}.mobile-edit-sheet-field-hint{font-size:11px;color:var(--text-3)}.mobile-edit-sheet-field input,.mobile-edit-sheet-field select,.mobile-edit-sheet-field textarea,.mobile-edit-sheet-notes,.mobile-formula-input{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--r-inner);border:1px solid var(--border-1);background:var(--bg-1);color:var(--text);font-size:16px}.mobile-edit-sheet-amount-row{display:flex;align-items:stretch;gap:0}.mobile-edit-sheet-prefix{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;background:var(--bg-subtle);border:1px solid var(--border-1);border-right:0;border-radius:var(--r-inner) 0 0 var(--r-inner);color:var(--text-2)}.mobile-edit-sheet-amount-row input{border-radius:0 var(--r-inner) var(--r-inner) 0!important;text-align:right}.mobile-edit-sheet-line-total{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px;background:var(--bg-subtle);border-radius:var(--r-inner)}.mobile-edit-sheet-line-total-label{font-size:12px;color:var(--text-3)}.mobile-edit-sheet-line-total-value{font-size:17px;font-weight:600;color:var(--text)}.mobile-edit-sheet-range-readout{font-size:12px;color:var(--text-3);padding:6px 10px;background:var(--bg-subtle);border-radius:var(--r-inner)}.mobile-edit-sheet-toggle,.mobile-edit-sheet-formula-btn{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--r-inner);border:1px solid var(--border-1);background:var(--bg-subtle);color:var(--text);text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.mobile-edit-sheet-edit-aff{font-size:12px;color:var(--accent);font-weight:600}.mobile-edit-sheet-notes{resize:vertical;min-height:88px}.mobile-edit-sheet-error{padding:10px 12px;background:#dc262614;color:#ef4444;border-radius:var(--r-inner);font-size:13px}.mobile-edit-sheet-delete{margin-top:8px;width:100%;min-height:44px;background:transparent;border:1px solid rgba(220,38,38,.3);color:#ef4444;border-radius:var(--r-inner);font-weight:600;cursor:pointer}.mobile-edit-sheet-delete:active{background:#dc26260f}.mobile-formula-input{font-family:JetBrains Mono,monospace;min-height:96px;resize:vertical}.mobile-formula-section-label{font-size:11px;letter-spacing:.08em;color:var(--accent);font-weight:700;text-transform:uppercase;margin-top:4px}.mobile-formula-token-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mobile-formula-token{min-height:44px;padding:8px 10px;border-radius:var(--r-inner);border:1px solid var(--border-1);background:var(--bg-subtle);color:var(--text);font-family:JetBrains Mono,monospace;font-size:13px;cursor:pointer;text-align:left}.mobile-formula-op-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mobile-formula-op{min-height:44px;padding:8px 4px;border-radius:var(--r-inner);border:1px solid var(--border-1);background:var(--bg-subtle);color:var(--text);font-family:JetBrains Mono,monospace;font-size:16px;cursor:pointer}.mobile-cashflow-view{padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px}.mobile-cashflow-loading,.mobile-cashflow-error{padding:32px 16px;text-align:center;color:var(--text-3);font-size:14px}.mobile-cashflow-error{color:var(--flag-red, #f87171)}.mobile-cashflow-header{display:flex;flex-direction:column;gap:6px}.mobile-cashflow-eyebrow{font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--text-3);text-transform:uppercase}.mobile-cashflow-help{font-size:13px;color:var(--text-2);line-height:1.5;margin:0}.mobile-cashflow-section-title{font-family:Fraunces,serif;font-size:16px;font-weight:600;color:var(--text);margin-bottom:10px}.mobile-cashflow-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mobile-cashflow-kpi{background:var(--bg-raised);border:1px solid var(--border-1);border-radius:var(--r-inner);padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-height:76px}.mobile-cashflow-kpi-label{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-3);text-transform:uppercase}.mobile-cashflow-kpi-value{font-family:Fraunces,serif;font-size:20px;font-weight:600;color:var(--text);line-height:1.15}.mobile-cashflow-kpi-hint{font-size:11px;color:var(--text-3);margin-top:auto}.mobile-cashflow-chart-card{background:var(--bg-raised);border:1px solid var(--border-1);border-radius:var(--r-inner);padding:14px}.mobile-cashflow-chart{height:160px}.mobile-cashflow-periods{background:var(--bg-raised);border:1px solid var(--border-1);border-radius:var(--r-inner);padding:14px 0 6px}.mobile-cashflow-periods .mobile-cashflow-section-title{padding:0 14px}.mobile-cashflow-period-head{display:grid;grid-template-columns:1.1fr .9fr 1fr .9fr;gap:8px;padding:8px 14px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--text-3);text-transform:uppercase;border-bottom:1px solid var(--border-1)}.mobile-cashflow-period-head span:not(:first-child){text-align:right}.mobile-cashflow-period-list{list-style:none;margin:0;padding:0}.mobile-cashflow-period-row{display:grid;grid-template-columns:1.1fr .9fr 1fr .9fr;gap:8px;padding:10px 14px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border-1)}.mobile-cashflow-period-row:last-child{border-bottom:none}.mobile-cashflow-period-row .num{text-align:right}.mobile-cashflow-period-label{display:flex;flex-direction:column;gap:1px;min-width:0}.mobile-cashflow-period-name{font-weight:600;font-size:13px}.mobile-cashflow-period-cal{font-size:11px;color:var(--text-3)}.mobile-cashflow-pos{color:var(--flag-green, #34d399)}.mobile-cashflow-neg{color:var(--flag-red, #f87171)}.mobile-finance-tab{padding:16px 14px 32px;display:flex;flex-direction:column;gap:14px}.mobile-finance-totals{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.mobile-finance-total{display:flex;justify-content:space-between;align-items:baseline}.mobile-finance-total-label{font-size:12px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.mobile-finance-total-value{font-size:16px;font-weight:600}.mobile-finance-help{font-size:12px;color:var(--text-3);margin:0}.mobile-finance-error{background:#f8717114;border:1px solid rgba(248,113,113,.35);color:#f87171;padding:10px 12px;border-radius:10px;font-size:13px}.mobile-finance-empty{font-size:13px;color:var(--text-3);text-align:center;padding:24px 12px;border:1px dashed var(--border, rgba(255,255,255,.08));border-radius:12px}.mobile-finance-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mobile-finance-card-row{display:contents}.mobile-finance-card{width:100%;background:var(--surface-1, rgba(255,255,255,.03));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:inherit;cursor:pointer;min-height:64px}.mobile-finance-card:active{transform:scale(.99)}.mobile-finance-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mobile-finance-card-meta{display:flex;gap:6px}.mobile-finance-card-pill{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--violet-300, #c4a3ff);background:#9d67ff1f;border:1px solid rgba(157,103,255,.25);border-radius:999px;padding:2px 8px}.mobile-finance-card-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-finance-card-sub{font-size:12px;color:var(--text-3)}.mobile-finance-card-range{color:var(--text-3);margin-left:4px}.mobile-finance-card-amt{font-size:15px;font-weight:600;white-space:nowrap}.mobile-finance-add-btn{width:100%;background:#9d67ff14;border:1px dashed rgba(157,103,255,.4);border-radius:12px;padding:12px;color:var(--violet-300, #c4a3ff);font-size:14px;font-weight:600;cursor:pointer;min-height:48px}.mobile-finance-add-btn:disabled{opacity:.5;cursor:default}.mobile-finance-template-list{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px;padding:12px}.mobile-finance-template-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-bottom:4px}.mobile-finance-template-btn{background:var(--surface-1, rgba(255,255,255,.03));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:10px;padding:12px;color:inherit;text-align:left;font-size:14px;font-weight:500;min-height:48px}.mobile-finance-template-cancel{background:transparent;border:none;padding:8px;color:var(--text-3);font-size:13px;cursor:pointer}.mobile-escalation-tab{padding:16px 14px 32px;display:flex;flex-direction:column;gap:14px}.mobile-escalation-impact{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.mobile-escalation-impact-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--text-2)}.mobile-escalation-impact-net{border-top:1px solid var(--border, rgba(255,255,255,.08));padding-top:8px;font-weight:600;color:var(--text-1)}.mobile-escalation-help{font-size:12px;color:var(--text-3);margin:0}.mobile-escalation-info{background:#22c55e14;border:1px solid rgba(34,197,94,.35);color:#86efac;padding:8px 12px;border-radius:10px;font-size:13px}.mobile-escalation-section{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px}.mobile-escalation-year-head{display:grid;grid-template-columns:60px 1fr 1fr;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:4px}.mobile-escalation-year-row{display:grid;grid-template-columns:60px 1fr 1fr;gap:8px;align-items:center}.mobile-escalation-year-row input{background:var(--surface-1, rgba(255,255,255,.03));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:8px;padding:10px;color:inherit;font-size:14px;width:100%;min-height:44px}.mobile-escalation-year-label{font-size:13px;font-weight:600;color:var(--text-2)}.mobile-escalation-save{width:100%;min-height:48px;font-size:14px;font-weight:600}.mobile-sens-tab{padding:16px 14px 32px;display:flex;flex-direction:column;gap:14px}.mobile-sens-header{display:flex;flex-direction:column;gap:4px}.mobile-sens-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--violet-300, #c4a3ff)}.mobile-sens-help{font-size:12px;color:var(--text-3);margin:0}.mobile-sens-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.mobile-sens-card{background:var(--surface-1, rgba(255,255,255,.03));border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:4px;min-height:86px}.mobile-sens-card-down{border-color:#f8717159;background:#f871710f}.mobile-sens-card-up{border-color:#22c55e59;background:#22c55e0f}.mobile-sens-card-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}.mobile-sens-card-value{font-size:16px;font-weight:700}.mobile-sens-card-delta{font-size:11px;color:var(--text-3)}.mobile-sens-section{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border, rgba(255,255,255,.08));border-radius:12px}.mobile-sens-loading{margin-left:6px;color:var(--text-3);font-weight:400}.mobile-sens-tornado{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.mobile-sens-tornado-row{display:flex;flex-direction:column;gap:4px}.mobile-sens-tornado-label{font-size:13px;font-weight:600}.mobile-sens-tornado-track{position:relative;height:10px;background:var(--surface-1, rgba(255,255,255,.03));border-radius:999px;overflow:hidden}.mobile-sens-tornado-center{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--border, rgba(255,255,255,.18))}.mobile-sens-tornado-left{position:absolute;right:50%;top:0;bottom:0;background:#f871718c;border-radius:999px 0 0 999px}.mobile-sens-tornado-right{position:absolute;left:50%;top:0;bottom:0;background:#22c55e8c;border-radius:0 999px 999px 0}.mobile-sens-tornado-deltas{display:flex;justify-content:space-between;font-size:11px}.mobile-sens-presets{display:flex;flex-wrap:wrap;gap:6px}.mobile-sens-footer-note{font-size:11px;color:var(--text-3);text-align:center;margin:0}.rotate-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 24px;width:100%;max-width:420px;margin:0 auto;color:var(--text-1, #e8e6f3)}.rotate-prompt-graphic{position:relative;width:128px;height:128px;display:flex;align-items:center;justify-content:center;color:var(--text-1, #e8e6f3);opacity:.92}.rotate-prompt-phone{position:absolute;inset:16px;transform-origin:50% 50%;animation:rotate-prompt-spin-to-landscape 2.4s ease-in-out infinite}.rotate-prompt-graphic.dir-to-portrait .rotate-prompt-phone{animation:rotate-prompt-spin-to-portrait 2.4s ease-in-out infinite}.rotate-prompt-arc{position:absolute;right:4px;top:18px;color:#ec4899;opacity:.85;animation:rotate-prompt-arc-fade 2.4s ease-in-out infinite}@keyframes rotate-prompt-spin-to-landscape{0%{transform:rotate(0)}35%{transform:rotate(-90deg)}60%{transform:rotate(-90deg)}95%{transform:rotate(0)}to{transform:rotate(0)}}@keyframes rotate-prompt-spin-to-portrait{0%{transform:rotate(-90deg)}35%{transform:rotate(0)}60%{transform:rotate(0)}95%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}@keyframes rotate-prompt-arc-fade{0%,to{opacity:0}20%,80%{opacity:.85}}.rotate-prompt-title{margin:28px 0 8px;font-family:Fraunces,serif;font-size:26px;line-height:1.15;font-weight:500;color:var(--text-heading, #fff)}.rotate-prompt-sub{margin:0;font-family:Inter,sans-serif;font-size:14px;line-height:1.5;color:var(--text-2, #a1a1aa);max-width:320px}@media(prefers-reduced-motion:reduce){.rotate-prompt-phone,.rotate-prompt-arc{animation:none}.rotate-prompt-graphic.dir-to-landscape .rotate-prompt-phone{transform:rotate(-90deg)}.rotate-prompt-graphic.dir-to-portrait .rotate-prompt-phone{transform:rotate(0)}.rotate-prompt-arc{opacity:.6}}.portrait-lock-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(157,103,255,.16),transparent 60%),var(--bg-1, #080c10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.tab-rotate-prompt{display:flex;align-items:center;justify-content:center;min-height:60dvh;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(157,103,255,.1),transparent 60%)}.mobile-readonly-pill{position:absolute;top:12px;right:12px;z-index:80;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;color:var(--text-2, #a1a1aa);pointer-events:none;letter-spacing:.01em}.cs-stack-bar{display:flex;width:100%;height:56px;border-radius:10px;overflow:hidden;border:1px solid var(--border-default);background:var(--bg-canvas, var(--bg, #0c1014))}.cs-stack-segment{display:flex;align-items:center;justify-content:center;min-width:0;padding:0 8px;font-size:12px;font-weight:600;color:var(--bg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-right:1px solid var(--border-default);transition:width .2s ease}.cs-stack-segment:last-child{border-right:none}.cs-stack-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cs-seg-senior_debt{background:var(--flag-amber)}.cs-seg-mezzanine{background:color-mix(in oklab,var(--flag-amber) 65%,var(--accent-2) 35%)}.cs-seg-equity{background:var(--accent)}.cs-seg-promote_tier{background:var(--accent-2)}.cs-stack-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;color:var(--text-secondary)}.cs-legend-item{display:inline-flex;align-items:center;gap:6px}.cs-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;border:1px solid var(--border-default)}.cs-add-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1.2fr) minmax(120px,1fr) minmax(80px,.6fr) minmax(80px,.6fr) auto;gap:8px;margin-top:16px;align-items:stretch}@media(max-width:900px){.cs-add-row{grid-template-columns:1fr 1fr}}.inv-inbox-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.inv-inbox-address{flex:1 1 280px;font-family:var(--font-mono, monospace);font-size:.9rem;padding:6px 10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text);border:1px solid var(--border);word-break:break-all}.inv-upload-label{cursor:pointer;display:inline-flex;align-items:center}.inv-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.inv-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.85rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.inv-chip:hover{border-color:var(--accent)}.inv-chip-active{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);color:var(--text-strong, var(--text))}.inv-chip-count{font-size:.75rem;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--text) 12%,transparent)}.inv-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:500;border:1px solid transparent}.inv-pill-pending{background:color-mix(in srgb,var(--flag-amber) 18%,transparent);color:var(--flag-amber);border-color:color-mix(in srgb,var(--flag-amber) 40%,transparent)}.inv-pill-on_hold{background:color-mix(in srgb,var(--accent-2) 18%,transparent);color:var(--accent-2);border-color:color-mix(in srgb,var(--accent-2) 40%,transparent)}.inv-pill-approved{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.inv-pill-paid{background:color-mix(in srgb,var(--flag-success, #10b981) 18%,transparent);color:var(--flag-success, #10b981);border-color:color-mix(in srgb,var(--flag-success, #10b981) 40%,transparent)}.inv-pill-rejected{background:color-mix(in srgb,var(--flag-danger, #ef4444) 18%,transparent);color:var(--flag-danger, #ef4444);border-color:color-mix(in srgb,var(--flag-danger, #ef4444) 40%,transparent)}.inv-row-selected{background:color-mix(in srgb,var(--accent) 8%,transparent)}.inv-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-sm);margin:var(--space-sm) 0 0 0}.inv-detail-grid>div{margin:0}.inv-detail-grid dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 2px}.inv-detail-grid dd{margin:0;font-size:.95rem}.inv-audit-list{list-style:none;padding:0;margin:var(--space-xs) 0 0 0;display:flex;flex-direction:column;gap:4px}.inv-audit-row{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:var(--space-sm);padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent)}.inv-audit-action{font-weight:600}.inv-pill-awaiting_second_approval{background:color-mix(in srgb,var(--flag-warning, #f59e0b) 18%,transparent);color:var(--flag-warning, #f59e0b);border-color:color-mix(in srgb,var(--flag-warning, #f59e0b) 40%,transparent)}.inv-bulk-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);border-radius:var(--radius-md);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.inv-toast{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:1000;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1);box-shadow:var(--shadow-md);max-width:360px;font-size:.95rem}.inv-toast-info{border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.inv-toast-success{border-color:color-mix(in srgb,var(--flag-success, #10b981) 40%,transparent)}.inv-toast-warning{border-color:color-mix(in srgb,var(--flag-warning, #f59e0b) 40%,transparent)}.inv-toast-danger{border-color:color-mix(in srgb,var(--flag-danger, #ef4444) 40%,transparent)}.inv-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-xs, 6px)}.inv-confidence-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);font-size:.8125rem;font-weight:500;background:var(--surface-2, transparent);color:var(--text)}.inv-confidence-chip--success{border-color:color-mix(in srgb,var(--flag-success, #10b981) 45%,transparent);background:color-mix(in srgb,var(--flag-success, #10b981) 10%,transparent);color:color-mix(in srgb,var(--flag-success, #10b981) 80%,var(--text))}.inv-confidence-chip--neutral{border-color:var(--border);background:var(--surface-2, transparent)}.inv-confidence-chip--warning{border-color:color-mix(in srgb,var(--flag-warning, #f59e0b) 50%,transparent);background:color-mix(in srgb,var(--flag-warning, #f59e0b) 12%,transparent);color:color-mix(in srgb,var(--flag-warning, #f59e0b) 80%,var(--text))}.inv-attachment-strip{display:flex;flex-wrap:wrap;gap:var(--space-sm, 12px);margin-top:var(--space-xs, 8px)}.card--invoice{display:flex;align-items:center;gap:var(--space-sm, 12px);width:240px;padding:var(--space-sm, 12px);border:1px solid var(--border);border-radius:var(--radius-md, 12px);text-decoration:none;color:var(--text);background:var(--surface-2, transparent);transition:border-color .12s ease,transform .12s ease}.card--invoice:hover{border-color:var(--accent);transform:translateY(-1px)}.card--invoice__thumb{flex:0 0 64px;height:64px;border-radius:var(--radius-sm, 8px);background:var(--surface-3, color-mix(in srgb, var(--text) 6%, transparent));display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:600}.card--invoice__meta{min-width:0;flex:1}.card--invoice__name{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-bar{display:flex;height:8px;width:100%;border-radius:999px;overflow:hidden;background:var(--surface-3, color-mix(in srgb, var(--text) 6%, transparent));border:1px solid var(--border)}.storage-bar--stacked .storage-bar-seg{height:100%;transition:width .2s ease}.storage-bar-seg--documents{background:var(--accent-500, var(--accent))}.storage-bar-seg--invoices{background:var(--accent-400, color-mix(in srgb, var(--accent) 70%, transparent))}.storage-bar-seg--other{background:var(--accent-300, color-mix(in srgb, var(--accent) 45%, transparent))}.storage-bar--warn{outline:1px solid var(--flag-warning, #f59e0b);outline-offset:1px}.storage-bar--danger{outline:1px solid var(--flag-danger, #ef4444);outline-offset:1px}.storage-bar-legend{display:flex;gap:var(--space-sm, 12px);font-size:.75rem;color:var(--muted);margin-top:6px}.storage-bar-legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.sales-variance-table .pos{color:var(--flag-success, #10b981)}.sales-variance-table .neg{color:var(--flag-danger, #ef4444)}.sales-variance-table tr.totals td{border-top:2px solid var(--border);padding-top:8px}.badge-live{display:inline-block;padding:2px 8px;font-size:.7rem;font-weight:600;letter-spacing:.06em;border-radius:999px;background:color-mix(in srgb,var(--flag-success, #10b981) 18%,transparent);color:var(--flag-success, #10b981);border:1px solid color-mix(in srgb,var(--flag-success, #10b981) 40%,transparent)}.settlement-timeline{display:flex;flex-direction:column;gap:4px;margin-top:var(--space-xs)}.settlement-row{position:relative;height:26px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.settlement-row-label{position:absolute;left:8px;top:5px;font-size:.72rem;opacity:.75;z-index:1}.settlement-marker{position:absolute;top:7px;width:12px;height:12px;border-radius:50%;transform:translate(-50%)}.settlement-marker-contract{background:var(--flag-amber)}.settlement-marker-deposit{background:var(--accent-2)}.settlement-marker-unconditional{background:var(--accent)}.settlement-marker-settled{background:var(--flag-success, #10b981);width:16px;height:16px;top:5px;border:2px solid var(--surface)}.settlement-marker-forecast{background:transparent;border:2px dashed var(--flag-success, #10b981)}.settlement-marker-key{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.settlement-legend{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm);font-size:.78rem;color:var(--muted)}.accounting-section .alert{border-radius:var(--radius-sm);padding:8px 12px;border:1px solid var(--border);font-size:.85rem}.accounting-section .alert-error{background:color-mix(in srgb,var(--flag-danger, #ef4444) 12%,transparent);border-color:color-mix(in srgb,var(--flag-danger, #ef4444) 35%,transparent);color:var(--flag-danger, #ef4444)}.accounting-section .alert-success{background:color-mix(in srgb,var(--flag-success, #10b981) 12%,transparent);border-color:color-mix(in srgb,var(--flag-success, #10b981) 35%,transparent);color:var(--flag-success, #10b981)}.accounting-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.accounting-row:last-child{border-bottom:none}.accounting-row-title{font-weight:600;font-size:.95rem}.accounting-pill{display:inline-block;padding:1px 8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;border:1px solid transparent}.accounting-pill-connected{background:color-mix(in srgb,var(--flag-success, #10b981) 18%,transparent);color:var(--flag-success, #10b981);border-color:color-mix(in srgb,var(--flag-success, #10b981) 40%,transparent)}.accounting-pill-disconnected{background:color-mix(in srgb,var(--text) 12%,transparent);color:var(--muted)}.accounting-pill-error{background:color-mix(in srgb,var(--flag-danger, #ef4444) 18%,transparent);color:var(--flag-danger, #ef4444);border-color:color-mix(in srgb,var(--flag-danger, #ef4444) 40%,transparent)}.doc-tab{padding-bottom:48px}.doc-tab-header{position:sticky;top:0;z-index:10;background:linear-gradient(to bottom,var(--bg) 70%,color-mix(in srgb,var(--bg) 0%,transparent));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:24px 0 16px;border-bottom:1px solid var(--rule);margin-bottom:24px}.doc-tab-header h1{font-family:var(--f-display);font-weight:600;font-size:1.875rem;letter-spacing:-.02em;margin:0 0 4px;color:var(--text)}.doc-tab-header .subtitle{color:var(--text-2);font-size:.875rem;margin:0 0 16px}.doc-tab-header .subtitle .num{color:var(--text);font-weight:500}.doc-storage-bar{display:flex;flex-direction:column;gap:6px}.doc-storage-bar-track{height:8px;border-radius:var(--r-pill);background:var(--bg-raised);overflow:hidden;display:flex;border:1px solid var(--rule)}.doc-storage-bar-segment{height:100%;transition:background .2s ease}.doc-storage-bar-segment.invoices{background:var(--accent)}.doc-storage-bar-segment.documents{background:var(--accent-2);opacity:.7}.doc-storage-bar-legend{display:flex;gap:16px;font-size:.75rem;color:var(--text-3)}.doc-storage-bar-legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}.doc-storage-bar-legend .swatch.invoices{background:var(--accent)}.doc-storage-bar-legend .swatch.documents{background:var(--accent-2);opacity:.7}.doc-section{margin-bottom:48px;border-top:1px solid var(--token-doc-section-divider);padding-top:24px}.doc-section:first-of-type{border-top:none;padding-top:0}.doc-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:16px;flex-wrap:wrap}.doc-section-title{font-family:var(--f-display);font-weight:600;font-size:1.375rem;line-height:1.15;color:var(--text);margin:0}.doc-section-meta{color:var(--text-2);font-size:.8125rem;font-weight:500}.doc-section-meta .num{color:var(--text)}.doc-section-actions{display:flex;gap:8px}.doc-inbox-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--r-card);margin-bottom:16px;flex-wrap:wrap}.doc-inbox-banner .mail-icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}.doc-inbox-banner .label{font-size:.75rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.doc-inbox-banner .address{font-family:var(--f-mono);font-size:.875rem;color:var(--text);flex:1;min-width:220px}.doc-inbox-banner .actions{display:flex;gap:6px;margin-left:auto}.section-search{position:relative;display:inline-flex;align-items:center;width:min(280px,40vw);flex:0 1 280px}.section-search input[type=search]{width:100%;height:32px;padding:0 32px;background:var(--bg-raised);border:1px solid var(--rule-hi);border-radius:var(--r-pill);color:var(--text);font-family:var(--f-sans);font-size:.8125rem;outline:none;transition:all .15s ease}.section-search input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.section-search input[type=search]::placeholder{color:var(--text-3)}.section-search .search-icon{position:absolute;left:10px;width:14px;height:14px;color:var(--text-3);pointer-events:none}.section-search .clear-icon{position:absolute;right:8px;width:18px;height:18px;color:var(--text-3);cursor:pointer;border-radius:50%;display:none;align-items:center;justify-content:center}.section-search.has-value .clear-icon{display:flex}.aging-buckets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.aging-bucket{padding:12px 14px;border:1px solid var(--rule-hi);border-radius:var(--r-card);background:var(--bg-raised)}.aging-bucket .bucket-label{font-size:.6875rem;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.aging-bucket .bucket-amount{font-family:var(--f-mono);font-size:1.125rem;font-weight:500;color:var(--text);line-height:1.2}.aging-bucket .bucket-count{font-size:.75rem;color:var(--text-2);margin-top:2px}.aging-bucket.warn{border-color:color-mix(in srgb,var(--flag-amber) 40%,var(--rule-hi))}.aging-bucket.danger{border-color:color-mix(in srgb,var(--flag-red) 50%,var(--rule-hi))}.aging-bucket.warn .bucket-amount{color:var(--flag-amber)}.aging-bucket.danger .bucket-amount{color:var(--flag-red)}.doc-list{border:1px solid var(--rule-hi);border-radius:var(--r-card);overflow:hidden;background:var(--bg-raised)}.doc-list-row{display:grid;grid-template-columns:16px 1.2fr 90px 130px 130px 100px 150px 32px;gap:12px;align-items:center;padding:12px 16px;min-height:64px;background:var(--token-doc-rollup-bg);cursor:pointer;transition:background .12s ease;border-bottom:1px solid var(--rule)}.doc-list-row:last-child{border-bottom:none}.doc-list-row:hover{background:var(--token-doc-rollup-bg-hover)}.doc-list-row .row-chevron{width:16px;height:16px;color:var(--text-3);transition:transform .16s ease}.doc-list-row.expanded .row-chevron{transform:rotate(90deg);color:var(--accent)}.doc-list-row .row-supplier{display:flex;flex-direction:column;gap:2px;min-width:0}.doc-list-row .row-supplier .name{font-family:var(--f-display);font-weight:600;font-size:1rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-list-row .row-supplier .abn{font-family:var(--f-mono);font-size:.75rem;color:var(--text-3);font-weight:400}.doc-list-row .row-count,.doc-list-row .row-money,.doc-list-row .row-date{font-family:var(--f-sans);font-size:.875rem;color:var(--text-2);font-weight:500}.doc-list-row .row-money{font-family:var(--f-mono);text-align:right}.doc-list-row .row-money.inc-gst{color:var(--text);font-size:.9375rem}.doc-list-row .row-date{font-size:.8125rem}.row-mini-bar{height:6px;border-radius:var(--r-pill);background:var(--token-doc-mini-bar-track);overflow:hidden;display:flex;width:140px;border:1px solid var(--rule)}.mini-bar-segment{height:100%}.mini-bar-segment.pending{background:var(--flag-amber)}.mini-bar-segment.awaiting_second_approval{background:var(--flag-warning, var(--flag-amber));opacity:.7}.mini-bar-segment.on_hold{background:var(--accent-2)}.mini-bar-segment.approved{background:var(--accent)}.mini-bar-segment.paid{background:var(--flag-success, var(--flag-green))}.mini-bar-segment.rejected{background:var(--flag-red);opacity:.6}.row-actions{display:flex;justify-content:flex-end}.row-kebab{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-btn);cursor:pointer;color:var(--text-3);transition:all .12s ease}.row-kebab:hover{background:var(--accent-wash);color:var(--text)}.row-dup-flag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin-left:8px;background:color-mix(in srgb,var(--flag-amber) 18%,transparent);color:var(--flag-amber);border:1px solid color-mix(in srgb,var(--flag-amber) 40%,transparent);border-radius:var(--r-pill);font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.row-dup-flag.variation-count{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.doc-list-children{background:color-mix(in srgb,var(--bg) 60%,var(--bg-raised));border-bottom:1px solid var(--rule)}.doc-list-row--child{display:grid;grid-template-columns:28px 16px 90px 90px 90px 130px 1fr 32px;gap:10px;align-items:center;padding:8px 16px 8px 30px;min-height:40px;border-left:2px solid var(--token-doc-child-indent);margin-left:22px;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .1s ease}.doc-list-row--child:last-child{border-bottom:none}.doc-list-row--child:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}.doc-list-row--child input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.doc-list-row--child .child-number,.doc-list-row--child .child-date,.doc-list-row--child .child-due{font-family:var(--f-mono);font-size:.8125rem;color:var(--text-2)}.doc-list-row--child .child-due.overdue{color:var(--flag-red)}.doc-list-row--child .child-money{font-family:var(--f-mono);font-size:.875rem;color:var(--text);text-align:right;border-bottom:1px dotted var(--text-3);cursor:help}.doc-list-row--child .child-state{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.inv-pill--xero{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;margin-left:6px;border-radius:999px;font-size:.6875rem;font-weight:500;color:var(--text-3);background:color-mix(in srgb,var(--text-3) 10%,transparent);border:1px solid color-mix(in srgb,var(--text-3) 22%,transparent);white-space:nowrap}.inv-pill--xero .dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--flag-green) 70%,var(--text-3));flex-shrink:0}.inv-pill--xero.warn{color:var(--flag-amber);background:color-mix(in srgb,var(--flag-amber) 12%,transparent);border-color:color-mix(in srgb,var(--flag-amber) 30%,transparent)}.inv-pill--xero.warn .dot{background:var(--flag-amber)}.commit-progress{display:flex;flex-direction:column;gap:4px;min-width:180px}.commit-progress-bar{position:relative;height:6px;border-radius:var(--r-pill);background:var(--rule-hi);overflow:hidden;border:1px solid var(--rule)}.commit-progress-bar .seg-invoiced{position:absolute;top:0;left:0;height:100%;background:var(--accent-soft)}.commit-progress-bar .seg-paid{position:absolute;top:0;left:0;height:100%;background:var(--accent)}.commit-progress-bar .seg-tick{position:absolute;top:-1px;width:2px;height:8px;background:var(--text-3);z-index:2}.commit-progress-meta{font-size:.75rem;color:var(--text-3);font-family:var(--f-sans);line-height:1.2}.commit-progress-meta .num{color:var(--text-2)}.commit-progress-meta .balance{font-family:var(--f-mono);color:var(--text)}.doc-list-row--variation{display:grid;grid-template-columns:28px 32px 1.4fr 100px 110px 80px 32px;gap:10px;align-items:center;padding:6px 16px 6px 32px;min-height:32px;border-left:2px dashed color-mix(in srgb,var(--accent) 28%,transparent);margin-left:36px;border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--bg) 50%,var(--bg-raised));cursor:pointer;transition:background .1s ease}.doc-list-row--variation:last-child{border-bottom:none}.doc-list-row--variation:hover{background:color-mix(in srgb,var(--accent) 4%,var(--bg-raised))}.doc-list-row--variation .var-num{font-family:var(--f-mono);font-size:.6875rem;color:var(--accent);font-weight:500}.doc-list-row--variation .var-desc{font-size:.8125rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-list-row--variation .var-money{font-family:var(--f-mono);font-size:.8125rem;color:var(--text);text-align:right}.doc-list-row--variation .var-money .plus{color:var(--flag-success, var(--flag-green));margin-right:2px}.doc-list-row--variation .var-date,.doc-list-row--variation .var-signatory{font-size:.6875rem;color:var(--text-3)}.flat-money-with-var{display:flex;flex-direction:column;align-items:flex-end;gap:0}.flat-money-with-var .total{font-family:var(--f-mono);font-size:.875rem;color:var(--text)}.flat-money-with-var .var-caption{font-size:.6875rem;color:var(--accent);font-family:var(--f-sans);font-weight:500}.doc-list-row--flat{display:grid;grid-template-columns:28px 28px 1.2fr 1fr 100px 130px 110px 32px;gap:12px;align-items:center;padding:10px 16px;min-height:52px;cursor:pointer;transition:background .12s ease;border-bottom:1px solid var(--rule)}.doc-list-row--flat:last-child{border-bottom:none}.doc-list-row--flat:hover{background:var(--token-doc-rollup-bg-hover)}.doc-list-row--flat input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.doc-list-row--flat .flat-icon{width:28px;height:28px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.625rem;font-weight:600;font-family:var(--f-mono)}.doc-list-row--flat .flat-name{font-size:.875rem;color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-list-row--flat .flat-meta{font-size:.75rem;color:var(--text-3);margin-top:2px}.doc-list-row--flat .flat-supplier{font-size:.8125rem;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-list-row--flat .flat-date{font-family:var(--f-mono);font-size:.8125rem;color:var(--text-2)}.doc-list-row--flat .flat-money{font-family:var(--f-mono);font-size:.875rem;color:var(--text);text-align:right}.doc-category-badge{display:inline-block;padding:2px 8px;font-size:.6875rem;font-weight:500;border-radius:var(--r-pill);background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text-2);border:1px solid var(--rule-hi)}.doc-category-badge.unclassified{background:color-mix(in srgb,var(--flag-amber) 12%,transparent);color:var(--flag-amber);border-color:color-mix(in srgb,var(--flag-amber) 30%,transparent)}.doc-dropzone{height:96px;border:2px dashed var(--glass-border-hi);border-radius:var(--r-card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-3);font-size:.875rem;transition:all .15s ease;cursor:pointer;margin-bottom:16px}.doc-dropzone:hover{border-color:var(--accent);background:var(--accent-wash);color:var(--text-2)}.doc-dropzone.dragover{border-color:var(--accent);background:var(--accent-wash)}.doc-dropzone .hint{font-size:.75rem;color:var(--text-muted)}@media(max-width:768px){.aging-buckets{grid-template-columns:repeat(2,1fr);gap:6px}.doc-list-row{grid-template-columns:16px 1fr 100px 130px 32px;gap:8px;padding:12px;min-height:72px}.doc-list-row .row-count,.doc-list-row .row-date,.row-mini-bar{display:none}.doc-list-row .row-supplier .name{font-size:.9375rem}.doc-list-row .row-money.ex-gst{display:none}.doc-list-row--child{grid-template-columns:24px 16px 1fr 100px 90px 28px;gap:8px;padding-left:24px;margin-left:16px}.doc-list-row--child .child-due{display:none}.doc-list-row--flat{grid-template-columns:24px 28px 1fr 100px 28px;gap:8px}.doc-list-row--flat .flat-supplier,.doc-list-row--flat .flat-date{display:none}.doc-tab-header h1{font-size:1.5rem}.aging-bucket{min-height:42px}.doc-section-actions{width:100%;justify-content:flex-end}}@page{size:A4 portrait;margin:12mm}@page landscape{size:A4 landscape;margin:10mm}@page lot-board{size:A3 landscape;margin:10mm}@media print{:root,:root[data-theme=dark],:root[data-theme=light]{--bg: #ffffff !important;--bg-raised: #ffffff !important;--bg-overlay: #ffffff !important;--bg-page: #ffffff !important;--bg-card: #ffffff !important;--bg-surface: #f6f6f8 !important;--text: #0f141d !important;--text-primary: #0f141d !important;--text-2: #3a424e !important;--text-3: #5a6472 !important;--text-muted: #7a828e !important;--rule: rgba(0, 0, 0, .12) !important;--rule-hi: rgba(0, 0, 0, .22) !important;--glass-bg: #ffffff !important;--glass-bg-strong: #ffffff !important;--glass-border: rgba(0, 0, 0, .12) !important;--glass-border-hi: rgba(0, 0, 0, .22) !important;--glass-border-accent: rgba(0, 0, 0, .22) !important;--accent: #6d28d9 !important;--accent-2: #be185d !important;--accent-soft: transparent !important;--accent-wash: transparent !important;--accent-glow: transparent !important;--shadow-glow: none !important;--flag-green: #15803d !important;--flag-amber: #b45309 !important;--flag-red: #b91c1c !important;--flag-green-soft: rgba(21, 128, 61, .1) !important}html,body{background:#fff!important;color:#0f141d!important;margin:0!important;padding:0!important;font-size:10pt!important}*{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important;box-shadow:none!important;text-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.sidebar,.metrics-panel,.metrics-panel-tab,.ai-chat-launcher,.ai-chat-panel,.ai-chat-fab,.feaso-toast,.undo-redo-toast,.wizard-nav,.tab-bar,.header-actions,.app-header-actions,button.btn,.btn-primary,.btn-ghost,.btn-danger,.segmented,.no-print,.print-hide,[role=dialog][aria-hidden=true]{display:none!important}.app-container,.app-shell,.main-content,.page-container,main,.content,.content-area{display:block!important;grid-template-columns:none!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;position:static!important}.v2-cashflow-container,.table-container,.cashflow-grid-wrap,.tab-content,.project-detail,.costs-table-wrap,.finance-section,.sales-section,[class*=scroll],[class*=-overflow]{overflow:visible!important;max-height:none!important;height:auto!important}thead,.v2-cashflow-table thead,.v2-col-identity,.scenario-comparison-table td:first-child,[class*=sticky],.project-header,.tab-nav{position:static!important;top:auto!important;left:auto!important;z-index:auto!important}table{border-collapse:collapse!important;width:100%!important}thead{display:table-header-group!important}tfoot{display:table-footer-group!important}tr{page-break-inside:avoid;break-inside:avoid}h1,h2,h3,.section-title,.eyebrow,.display{page-break-after:avoid;break-after:avoid}.glass,.kpi-tile,.metric-card,.feasora-insight-card,section{page-break-inside:avoid;break-inside:avoid}img,svg,canvas{max-width:100%!important;height:auto!important;page-break-inside:avoid;break-inside:avoid}.brand-mark{filter:grayscale(30%)}input[type=submit],input[type=button],button:not(.print-keep),.dropdown-toggle,.filter-chip,[contenteditable=true]:after{display:none!important}a{color:inherit!important;text-decoration:none!important}.cashflow-tab,.costs-tab,.sales-tab,.finance-tab,.s-curves-tab,.sensitivity-tab,.escalation-tab{page:landscape}.lot-board-page{page:lot-board}:root{--lot-unreleased: #94a3b8 !important;--lot-available: #1f2937 !important;--lot-interest-registered: #334155 !important;--lot-contract-issued: #475569 !important;--lot-deposit-taken: #64748b !important;--lot-exchanged: #0f172a !important;--lot-unconditional: #1e293b !important;--lot-settled: #111827 !important;--lot-fallen-over: #000000 !important}.v2-cashflow-table .v2-period-group-break{break-before:page;page-break-before:always}.cashflow-tab table,.costs-tab table{font-size:8.5pt!important}.cashflow-tab th,.cashflow-tab td,.costs-tab th,.costs-tab td{padding:3px 5px!important}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px;opacity:0}.react-grid-item:hover>.react-resizable-handle{opacity:1}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--agent-severity-critical: var(--flag-red);--agent-severity-warning: var(--flag-amber);--agent-severity-info: var(--accent);--agent-category-feasibility: var(--accent);--agent-category-planning: var(--flag-green);--agent-category-finance: var(--flag-amber);--agent-category-reporting: var(--accent-2);--agent-canvas-bg: var(--bg);--agent-canvas-dot: var(--rule-hi);--agent-node-shadow: var(--shadow-sm)}.agents-page{display:flex;flex-direction:column;gap:24px}.agents-tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--rule-hi);padding-bottom:0;margin-bottom:8px}.agents-tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-2);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.agents-tab:hover{color:var(--text)}.agents-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.agents-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.agents-summary-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-inner);padding:16px 20px;display:flex;flex-direction:column;gap:4px}.agents-summary-card .summary-label{font-size:12px;font-weight:500;color:var(--text-2);text-transform:uppercase;letter-spacing:.5px}.agents-summary-card .summary-value{font-size:28px;font-weight:700;color:var(--text);line-height:1.1}.agents-summary-card.critical .summary-value{color:var(--flag-red)}.agents-summary-card.warning .summary-value{color:var(--flag-amber)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.template-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-inner);padding:0;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;overflow:hidden}.template-card:hover{border-color:var(--glass-border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-card-top-border{height:4px;width:100%}.template-card-top-border.feasibility{background:var(--agent-category-feasibility)}.template-card-top-border.planning{background:var(--agent-category-planning)}.template-card-top-border.finance{background:var(--agent-category-finance)}.template-card-top-border.reporting{background:var(--agent-category-reporting)}.template-card-top-border.sourcing{background:var(--flag-amber)}.template-card-top-border.due_diligence{background:var(--flag-red)}.template-card-top-border.capital{background:var(--accent-2)}.template-card-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}.template-card-header{display:flex;align-items:center;justify-content:space-between}.template-card-icon{width:36px;height:36px;border-radius:var(--r-inner);display:flex;align-items:center;justify-content:center;font-size:18px}.template-card-icon.feasibility{background:var(--accent-soft);color:var(--accent)}.template-card-icon.planning{background:var(--flag-green-soft);color:var(--flag-green)}.template-card-icon.finance{background:var(--flag-amber-soft);color:var(--flag-amber)}.template-card-icon.reporting{background:var(--accent-soft);color:var(--accent-2)}.template-card-icon.sourcing{background:var(--flag-amber-soft);color:var(--flag-amber)}.template-card-icon.due_diligence{background:var(--flag-red-soft);color:var(--flag-red)}.template-card-icon.capital{background:var(--accent-soft);color:var(--accent-2)}.template-card-name{font-size:16px;font-weight:600;color:var(--text);margin:0}.template-card-description{font-size:13px;color:var(--text-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.template-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--rule)}.domain-pills{display:flex;flex-wrap:wrap;gap:4px}.domain-pill{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--r-pill);text-transform:capitalize}.domain-pill.feasibility{background:var(--accent-soft);color:var(--accent)}.domain-pill.planning{background:var(--flag-green-soft);color:var(--flag-green)}.domain-pill.finance{background:var(--flag-amber-soft);color:var(--flag-amber)}.domain-pill.timeline{background:var(--accent-soft);color:var(--accent-2)}.domain-pill.sites{background:var(--accent-soft);color:var(--accent)}.category-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:var(--r-pill);text-transform:capitalize}.category-badge.feasibility{background:var(--accent-soft);color:var(--accent)}.category-badge.planning{background:var(--flag-green-soft);color:var(--flag-green)}.category-badge.finance{background:var(--flag-amber-soft);color:var(--flag-amber)}.category-badge.reporting{background:var(--accent-soft);color:var(--accent-2)}.category-badge.sourcing{background:var(--flag-amber-soft);color:var(--flag-amber)}.category-badge.due_diligence{background:var(--flag-red-soft);color:var(--flag-red)}.category-badge.capital{background:var(--accent-soft);color:var(--accent-2)}.severity-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.severity-badge.critical{background:var(--flag-red-soft);color:var(--flag-red)}.severity-badge.warning{background:var(--flag-amber-soft);color:var(--flag-amber)}.severity-badge.info{background:var(--accent-soft);color:var(--accent)}.severity-badge.pass{background:var(--flag-green-soft);color:var(--flag-green)}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;padding:3px 10px;border-radius:var(--r-pill)}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.completed{background:var(--flag-green)}.status-dot.running{background:var(--accent);animation:status-pulse 1.5s ease-in-out infinite}.status-dot.queued{background:var(--flag-amber)}.status-dot.failed{background:var(--flag-red)}.status-dot.cancelled{background:var(--text-3)}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.finding-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-left:4px solid;border-radius:0 var(--r-inner) var(--r-inner) 0;padding:16px 20px;margin-bottom:12px;cursor:pointer;transition:all .15s}.finding-card:hover{box-shadow:var(--shadow-sm)}.finding-card.critical{border-left-color:var(--flag-red)}.finding-card.warning{border-left-color:var(--flag-amber)}.finding-card.info{border-left-color:var(--accent)}.finding-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.finding-card-title{font-size:14px;font-weight:600;color:var(--text)}.finding-card-meta{font-size:12px;color:var(--text-3);display:flex;gap:12px}.finding-card-detail{font-size:13px;color:var(--text-2);line-height:1.5;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.agent-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.agent-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-inner);padding:20px;display:flex;flex-direction:column;gap:12px;transition:all .15s}.agent-card:hover{border-color:var(--glass-border-accent);box-shadow:var(--shadow-md)}.agent-card-header{display:flex;align-items:center;justify-content:space-between}.agent-card-name{font-size:15px;font-weight:600;color:var(--text)}.agent-card-role{font-size:13px;color:var(--text-2);line-height:1.4}.agent-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--rule);margin-top:auto}.workflow-builder{display:flex;flex-direction:column;height:calc(100vh - 73px);background:var(--bg);margin:-32px}.workflow-toolbar{height:48px;padding:0 16px;display:flex;align-items:center;gap:12px;background:var(--glass-bg);border-bottom:1px solid var(--rule-hi);flex-shrink:0}.workflow-toolbar-left{display:flex;align-items:center;gap:12px;flex:1}.workflow-toolbar-centre,.workflow-toolbar-right{display:flex;align-items:center;gap:8px}.workflow-name-input{font-size:15px;font-weight:600;border:none;background:transparent;color:var(--text);padding:4px 8px;border-radius:4px;outline:none}.workflow-name-input:focus{background:var(--glass-bg-strong);border:1px solid var(--rule-hi)}.workflow-canvas-area{flex:1;display:flex;overflow:hidden}.workflow-canvas{flex:1;position:relative;background:var(--agent-canvas-bg);background-image:radial-gradient(var(--agent-canvas-dot) 1px,transparent 1px);background-size:16px 16px}.workflow-side-panel{width:320px;background:var(--glass-bg);border-left:1px solid var(--rule-hi);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.workflow-side-panel-header{padding:16px;border-bottom:1px solid var(--rule-hi);display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600}.agent-node{background:var(--glass-bg-strong);border:2px solid var(--rule-hi);border-radius:12px;min-width:220px;max-width:280px;box-shadow:var(--agent-node-shadow);cursor:grab;transition:border-color .2s,box-shadow .2s;overflow:hidden}.agent-node:hover{border-color:var(--accent);box-shadow:0 4px 16px var(--accent-glow)}.agent-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.agent-node.running{border-color:var(--accent);animation:node-pulse 2s ease-in-out infinite}.agent-node.completed{border-color:var(--flag-green)}.agent-node.failed{border-color:var(--flag-red)}@keyframes node-pulse{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px transparent}}.agent-node-top-border{height:4px;width:100%}.agent-node-content{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.agent-node-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.agent-node-name{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-node-role{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-node,.end-node{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text);font-size:16px;cursor:default}.start-node{background:linear-gradient(135deg,var(--accent),var(--accent-2));border:2px solid var(--accent)}.end-node{background:linear-gradient(135deg,var(--flag-green),var(--accent));border:2px solid var(--flag-green)}.condition-node{background:var(--flag-amber-soft);border:2px solid var(--flag-amber);border-radius:var(--r-inner);padding:12px 16px;min-width:180px;text-align:center;cursor:grab}.condition-node-text{font-size:12px;font-weight:500;color:var(--flag-amber)}@keyframes edge-flow{to{stroke-dashoffset:-10}}.palette-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:grab;transition:background .1s;border-radius:6px;font-size:13px}.palette-item:hover{background:var(--accent-soft)}.palette-item:active{cursor:grabbing;opacity:.7}.palette-item-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.execution-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.execution-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}.execution-meta-card{background:var(--glass-bg);border-radius:var(--r-inner);padding:12px 16px}.execution-meta-card .meta-label{font-size:11px;font-weight:500;color:var(--text-3);text-transform:uppercase;letter-spacing:.3px}.execution-meta-card .meta-value{font-size:16px;font-weight:600;color:var(--text);margin-top:2px}.execution-prompt-panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-inner);padding:12px 14px}.execution-prompt-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.execution-prompt-body{margin-top:6px;font-size:14px;line-height:1.5;color:var(--text);white-space:pre-wrap;word-break:break-word}.triggers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.trigger-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--r-inner);padding:20px;display:flex;flex-direction:column;gap:12px}.trigger-card.disabled{opacity:.6}.trigger-card-header{display:flex;align-items:center;justify-content:space-between}.toggle-switch{width:40px;height:22px;border-radius:11px;background:var(--rule-hi);cursor:pointer;position:relative;transition:background .2s;border:none;padding:0}.toggle-switch.active{background:var(--flag-green)}.toggle-switch:after{content:"";width:18px;height:18px;border-radius:50%;background:var(--text);position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:var(--shadow-sm)}.toggle-switch.active:after{transform:translate(18px)}.agent-save-bar{position:sticky;bottom:0;left:0;right:0;padding:12px 24px;background:var(--glass-bg-strong);border-top:1px solid var(--rule-hi);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md);z-index:10}.agent-save-bar .save-bar-text{font-size:13px;color:var(--text-2)}.agents-empty-state{text-align:center;padding:60px 20px;color:var(--text-2)}.agents-empty-state h3{font-family:var(--f-display);font-style:italic;font-weight:500;font-size:22px;color:var(--text);margin-bottom:10px;letter-spacing:-.01em}.agents-empty-state p{font-size:13px;max-width:400px;margin:0 auto 20px;line-height:1.5}.category-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.category-filter-pill{font-size:12px;font-weight:500;padding:6px 14px;border-radius:var(--r-pill);border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-2);cursor:pointer;transition:all .15s}.category-filter-pill:hover{border-color:var(--glass-border-accent);color:var(--accent)}.category-filter-pill.active{background:var(--accent);border-color:var(--accent);color:var(--text)}.agents-pending-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--accent-soft);border:1px solid var(--glass-border-accent);border-radius:var(--r-inner);font-size:13px;color:var(--accent);font-weight:500}.agents-notification{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--r-inner);font-size:13px;font-weight:500;cursor:pointer;transition:opacity .2s;animation:notification-slide-in .3s ease-out;background:var(--glass-bg-strong);border:1px solid var(--glass-border)}.agents-notification:hover{opacity:.9}.agents-notification.success{border-left:4px solid var(--flag-green);color:var(--flag-green)}.agents-notification.error{border-left:4px solid var(--flag-red);color:var(--flag-red)}@keyframes notification-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lot-list-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;background:var(--glass-bg);border-radius:var(--r-inner)}.lot-list-summary{display:flex;flex-direction:column;gap:4px}.lot-list-count{display:flex;align-items:baseline;gap:6px}.lot-list-count-num{font-size:24px;font-weight:700;color:var(--text);line-height:1}.lot-list-count-label{font-size:14px;color:var(--text-2);font-weight:500}.lot-list-meta{font-size:12px;color:var(--text-2)}.lot-list-criteria{display:flex;flex-wrap:wrap;gap:8px}.lot-list-criteria-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;font-size:12px}.lot-list-criteria-label{color:var(--text-2);font-weight:500}.lot-list-criteria-values{color:var(--text);font-weight:600}.lot-list-criteria-values.exclude{color:var(--flag-red)}.lot-list-notes{padding:12px 14px;background:var(--flag-amber-soft);border-left:3px solid var(--flag-amber);border-radius:6px;font-size:13px;line-height:1.6;color:var(--flag-amber)}.lot-list-empty{padding:32px 20px;text-align:center;background:var(--glass-bg);border-radius:var(--r-inner);color:var(--text)}.lot-list-overlay-chip{display:inline-block;padding:2px 8px;background:var(--flag-red-soft);color:var(--flag-red);border:1px solid var(--flag-red);border-radius:999px;font-size:11px;font-weight:500}.lot-list-expand-row td{background:var(--glass-bg);border-top:none!important;color:var(--text-2)}@media(max-width:768px){.template-grid,.agent-list,.triggers-grid{grid-template-columns:1fr}.agents-summary-grid,.execution-meta-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:1024px){.workflow-builder{display:none}.workflow-mobile-notice{display:block;text-align:center;padding:40px 20px;color:var(--text-2)}}@media(min-width:1025px){.workflow-mobile-notice{display:none}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.lot-board-page{display:flex;flex-direction:column;gap:16px;padding:16px 20px 24px}.lot-board-header{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:baseline;justify-content:space-between}.lot-board-eyebrow{color:var(--accent)}.lot-board-title{font-family:var(--font-display, "Fraunces"),serif;font-size:22px;letter-spacing:-.01em}.lot-board-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:4px}.lot-board-kpi{padding:12px 14px;border-radius:10px;background:var(--bg-raised);border:1px solid var(--rule);display:flex;flex-direction:column;gap:4px}.lot-board-kpi .label{font-size:10px;color:var(--text-3)}.lot-board-kpi .num{font-family:JetBrains Mono,ui-monospace,monospace;font-size:18px;color:var(--text-primary)}.lot-board-legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:10px 12px;border-radius:10px;background:var(--bg-raised);border:1px solid var(--rule)}.lot-board-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-2)}.lot-board-legend-swatch{width:10px;height:10px;border-radius:2px}.lot-board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.lot-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:10px 12px 10px 14px;border-radius:8px;background:var(--bg-raised);border:1px solid var(--rule);overflow:hidden;cursor:pointer;transition:transform .12s ease,border-color .12s ease}.lot-card:hover{border-color:var(--rule-hi);transform:translateY(-1px)}.lot-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:var(--lot-stripe, var(--lot-unreleased))}.lot-card-number{font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;color:var(--text-primary)}.lot-card-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:color-mix(in oklab,var(--lot-stripe, #64748b) 18%,transparent);color:var(--text);width:max-content}.lot-card-pill-glyph{font-size:10px;line-height:1}.lot-card-config{font-size:11px;color:var(--text-3)}.lot-card-buyer{font-size:12px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lot-card-price{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--text-primary)}.lot-card-days{font-size:10px;color:var(--text-3)}.lot-board-empty,.lot-board-loading,.lot-board-error{padding:40px 20px;text-align:center;color:var(--text-3)}.lot-board-error{color:var(--flag-red, #dc2626)}.inbox-page{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(280px,1fr);gap:16px;padding:16px 20px 24px;min-height:0}.inbox-header{display:flex;gap:12px;align-items:baseline;margin-bottom:8px;grid-column:1 / -1}.inbox-eyebrow{color:var(--accent)}.inbox-counts{display:inline-flex;gap:10px;margin-left:auto;font-size:11px;color:var(--text-3)}.inbox-count-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--rule)}.inbox-list{display:flex;flex-direction:column;gap:6px;max-height:70vh;overflow-y:auto;padding-right:4px}.inbox-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:10px 12px;border-radius:8px;background:var(--bg-raised);border:1px solid var(--rule);cursor:pointer;transition:border-color .12s ease,transform .12s ease}.inbox-row:hover{border-color:var(--rule-hi)}.inbox-row.is-selected{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 6%,var(--bg-raised))}.inbox-source-pill{font-size:9px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:var(--accent-soft);color:var(--accent);align-self:center;min-width:54px;text-align:center}.inbox-source-pill--rea{background:color-mix(in oklab,#ef4444 14%,transparent);color:#ef4444}.inbox-source-pill--domain{background:color-mix(in oklab,#10b981 14%,transparent);color:#10b981}.inbox-source-pill--openlot{background:color-mix(in oklab,#f59e0b 16%,transparent);color:#f59e0b}.inbox-source-pill--generic{background:var(--accent-soft);color:var(--accent)}.inbox-source-pill--unmatched{background:color-mix(in oklab,#dc2626 14%,transparent);color:#dc2626}.inbox-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.inbox-row-name{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-row-meta{font-size:11px;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inbox-row-time{font-size:10px;color:var(--text-3);align-self:center;font-family:JetBrains Mono,ui-monospace,monospace}.inbox-drawer{position:sticky;top:0;padding:16px;border-radius:10px;background:var(--bg-raised);border:1px solid var(--rule);max-height:70vh;overflow-y:auto}.inbox-drawer-empty{color:var(--text-3);font-size:12px}.inbox-drawer-title{font-family:Fraunces,serif;font-size:18px;letter-spacing:-.01em;margin-bottom:8px}.inbox-drawer-row{display:grid;grid-template-columns:90px 1fr;gap:6px;padding:4px 0;font-size:12px;border-bottom:1px solid var(--rule)}.inbox-drawer-row .label{color:var(--text-3)}.inbox-drawer-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.inbox-drawer-message{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--bg-page, var(--bg));border:1px solid var(--rule);font-size:12px;color:var(--text-2);white-space:pre-wrap;max-height:200px;overflow-y:auto}@media(max-width:900px){.inbox-page{grid-template-columns:1fr}.inbox-drawer{position:static}}
