:root{--cl-bg:#07101f;--cl-card:#111d2ee6;--cl-elevated:#162336;--cl-input:#0f1e30;--cl-heading:#e8edf5;--cl-body:#8fa5c8;--cl-muted:#4d6485;--cl-border:#ffffff12;--cl-radius:12px;--cl-shadow:0 4px 24px #00000073}@keyframes cl-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}*,:before,:after{box-sizing:border-box}body{background:var(--cl-bg);color:var(--cl-heading);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font-family:Inter,sans-serif;display:flex}.cl-calc.main-container{flex:1;max-width:1400px;margin:0 auto;padding:20px 5% 40px}.page-header-section{text-align:center;padding:24px 0 16px}.page-title{color:var(--cl-heading);margin:0 0 8px;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}.page-subtitle{color:var(--cl-body);max-width:640px;margin:0 auto;font-size:1rem;line-height:1.6}.preset-row{flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0 20px;display:flex}.preset-chip{color:var(--cl-body);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s,color .2s;display:flex}.preset-chip:hover,.preset-chip.active{color:var(--re-cyan,#00d4f5);background:#00d4f51f;border-color:#00d4f566}.preset-hint{opacity:.7;font-size:.72rem;font-weight:500}.outer-tabs{background:#ffffff0a;border-radius:12px;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.outer-tab-btn{color:var(--cl-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:9px 20px;font-size:.85rem;font-weight:600;transition:background .2s,color .2s}.outer-tab-btn.active{background:linear-gradient(135deg, var(--re-cyan,#00d4f5), #00b8d4);color:#07101f;box-shadow:0 2px 12px #00d4f54d}.tab-content{display:none}.tab-content.active{animation:.25s cl-fade-up;display:block}.dashboard-grid{grid-template-columns:360px 1fr;align-items:start;gap:24px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.input-card{background:var(--cl-card);backdrop-filter:blur(12px);border-radius:var(--cl-radius);border:1px solid var(--cl-border);box-shadow:var(--cl-shadow);border-top:3px solid var(--re-cyan,#00d4f5);padding:24px;position:sticky;top:16px}.card-header-accent{letter-spacing:.1em;text-transform:uppercase;color:var(--re-cyan,#00d4f5);border-bottom:1px solid #00d4f526;margin-bottom:18px;padding-bottom:10px;font-size:.65rem;font-weight:700}.card-header-accent.accent-emerald{color:var(--re-emerald,#00c9a7);border-bottom-color:#00c9a726}.input-group{margin-bottom:14px}.input-row-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.input-group label{letter-spacing:.08em;text-transform:uppercase;color:var(--cl-muted);margin-bottom:5px;font-size:.65rem;font-weight:700;display:block}.input-with-unit{align-items:center;display:flex;position:relative}.input-prefix{color:var(--cl-muted);pointer-events:none;z-index:1;font-size:.85rem;position:absolute;left:10px}.input-unit{color:var(--cl-muted);pointer-events:none;font-size:.8rem;position:absolute;right:10px}.calc-input{background:var(--cl-input);width:100%;color:var(--cl-heading);border:1px solid #ffffff17;border-radius:10px;outline:none;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.calc-input:focus{border-color:#00d4f580;box-shadow:0 0 0 3px #00d4f51f}.input-with-unit .calc-input:has(~.input-unit),.input-with-unit .calc-input.with-suffix{padding-right:32px}.input-with-unit .input-prefix~.calc-input,.input-with-unit .calc-input.with-prefix{padding-left:24px}select.calc-input{cursor:pointer}.schedule-desc{color:var(--cl-muted);background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:.78rem;line-height:1.5}.action-row{gap:8px;margin-top:4px;display:flex}.btn-share,.btn-copy{color:var(--cl-body);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;flex:1;padding:8px 12px;font-size:.78rem;font-weight:600;transition:background .2s,border-color .2s}.btn-share:hover{color:var(--re-cyan,#00d4f5);background:#00d4f51a;border-color:#00d4f54d}.btn-copy:hover{color:var(--re-emerald,#00c9a7);background:#00c9a71a;border-color:#00c9a74d}.result-card{background:var(--cl-card);backdrop-filter:blur(12px);border-radius:var(--cl-radius);border:1px solid var(--cl-border);box-shadow:var(--cl-shadow);border-top:3px solid var(--re-emerald,#00c9a7);padding:24px}.hero-block{text-align:center;border-bottom:1px solid #ffffff0f;margin-bottom:16px;padding:20px 0 16px}.hero-label{letter-spacing:.12em;text-transform:uppercase;color:var(--cl-muted);margin-bottom:6px;font-size:.65rem;font-weight:700}.hero-value{color:var(--re-emerald,#00c9a7);text-shadow:0 0 28px #00c9a759;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.1}.hero-sub{color:var(--cl-muted);margin-top:4px;font-size:.78rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat-cell--wide{grid-column:span 2}@media (width<=600px){.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-cell--wide{grid-column:span 2}}.stat-cell{text-align:center;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;padding:12px 10px}.stat-label{letter-spacing:.07em;text-transform:uppercase;color:var(--cl-muted);margin-bottom:4px;font-size:.62rem;font-weight:700}.stat-value{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:700}.sv-cyan{color:var(--re-cyan,#00d4f5)}.sv-gold{color:var(--re-gold,#f5a623)}.sv-amber{color:var(--re-amber,#f59e0b)}.sv-rose{color:var(--re-rose,#f87171)}.sv-emerald{color:var(--re-emerald,#00c9a7)}.sv-indigo{color:var(--re-indigo,#7875f0)}.formula-strip{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:16px;padding:10px 12px;display:flex}.formula-chip{white-space:nowrap;border-radius:6px;padding:3px 9px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.formula-op{color:var(--cl-muted);font-size:.85rem}.fc-cyan{color:var(--re-cyan,#00d4f5);background:#00d4f51f}.fc-amber{color:var(--re-amber,#f59e0b);background:#f59e0b1f}.fc-emerald{color:var(--re-emerald,#00c9a7);background:#00c9a71f}.chart-section{margin-top:4px}.chart-label{letter-spacing:.07em;text-transform:uppercase;color:var(--cl-muted);margin-bottom:8px;font-size:.68rem;font-weight:700}.schedule-wrap{background:var(--cl-card);backdrop-filter:blur(12px);border-radius:var(--cl-radius);border:1px solid var(--cl-border);box-shadow:var(--cl-shadow);border-top:3px solid var(--re-cyan,#00d4f5);padding:24px;animation:.25s cl-fade-up}.schedule-header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.schedule-title{color:var(--cl-heading);margin:0;font-size:1.1rem;font-weight:700}.schedule-sub{color:var(--cl-muted);flex:1;margin:0;font-size:.8rem}.btn-outline-sm{color:var(--cl-body);cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;padding:7px 14px;font-size:.78rem;font-weight:600;transition:background .2s,border-color .2s}.btn-outline-sm:hover{color:var(--re-cyan,#00d4f5);background:#00d4f51a;border-color:#00d4f54d}.table-scroll{overflow-x:auto}.draw-table{border-collapse:collapse;width:100%;font-size:.85rem}.draw-table th{color:var(--re-cyan,#00d4f5);letter-spacing:.08em;text-transform:uppercase;text-align:right;white-space:nowrap;background:#00d4f514;padding:10px 14px;font-size:.65rem;font-weight:700}.draw-table th:first-child{text-align:center}.draw-table td{text-align:right;color:var(--cl-body);border-bottom:1px solid #ffffff0a;padding:9px 14px;font-family:JetBrains Mono,monospace}.draw-table td:first-child{text-align:center;color:var(--cl-muted);font-family:Inter,sans-serif;font-size:.8rem}.draw-table tr:hover td{background:#ffffff06}.draw-table tr.milestone-row td{color:var(--cl-heading)}.draw-table tr.milestone-row td:first-child{color:var(--re-gold,#f5a623);font-weight:700}.placeholder-cell{text-align:center;color:var(--cl-muted);padding:32px;font-family:Inter,sans-serif;font-size:.85rem}.schedule-totals{flex-wrap:wrap;gap:12px;margin-top:16px;display:flex}.totals-chip{color:var(--cl-body);background:#ffffff0a;border:1px solid #ffffff14;border-radius:8px;padding:8px 14px;font-size:.8rem}.totals-chip strong{color:var(--cl-heading);font-family:JetBrains Mono,monospace}.validation-warning{border:1px solid #f59e0b4d;border-left:3px solid var(--re-gold,#f5a623);color:var(--re-gold,#f5a623);background:#f59e0b1a;border-radius:8px;margin-bottom:12px;padding:10px 14px;font-size:.82rem;line-height:1.5}.pmi-note{color:var(--cl-muted);margin-top:4px;font-family:JetBrains Mono,monospace;font-size:.68rem;line-height:1.4}.milestone-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--re-gold,#f5a623);vertical-align:middle;white-space:nowrap;background:#f5a6231f;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:.65rem;font-weight:700;display:inline-block}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}.label-optional{color:var(--cl-muted);text-transform:none;letter-spacing:0;font-size:.6rem;font-weight:500}.label-hint{cursor:help;color:var(--cl-muted);text-transform:none;letter-spacing:0;margin-left:4px;font-size:.8rem}.contingency-row{margin-bottom:14px}.contingency-label{color:var(--cl-body);cursor:pointer;user-select:none;align-items:center;gap:8px;font-size:.78rem;display:flex}.contingency-label input[type=checkbox]{accent-color:var(--re-cyan,#00d4f5);flex-shrink:0;width:15px;height:15px}.pmi-dropoff{color:var(--re-emerald,#00c9a7);margin-top:3px;font-family:JetBrains Mono,monospace;font-size:.65rem;line-height:1.4}@media (width<=480px){.outer-tabs{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}}[data-theme=light]{--cl-bg:#f0f4fb;--cl-card:#fff;--cl-elevated:#edf2f9;--cl-input:#f0f4fb;--cl-heading:#0f172a;--cl-body:#475569;--cl-muted:#64748b;--cl-border:#0000001a;--cl-shadow:0 2px 16px #00000014}[data-theme=light] body{background:#f0f4fb}[data-theme=light] .preset-chip{color:#475569;background:#edf2f9;border-color:#0000001f}[data-theme=light] .preset-chip:hover,[data-theme=light] .preset-chip.active{color:#0891b2;background:#0891b214;border-color:#0891b259}[data-theme=light] .outer-tabs{background:#0000000d}[data-theme=light] .outer-tab-btn{color:#64748b}[data-theme=light] .outer-tab-btn.active{color:#fff;background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 2px 10px #0891b240}[data-theme=light] .input-card{background:#fff;border-color:#0891b2 #0000001a #0000001a;box-shadow:0 2px 16px #00000014}[data-theme=light] .card-header-accent{color:#0891b2;border-bottom-color:#0891b233}[data-theme=light] .card-header-accent.accent-emerald{color:#047857;border-bottom-color:#04785733}[data-theme=light] .calc-input{color:#0f172a;background:#f0f4fb;border-color:#0000001f}[data-theme=light] .calc-input:focus{border-color:#0891b280;box-shadow:0 0 0 3px #0891b21a}[data-theme=light] .input-prefix,[data-theme=light] .input-unit,[data-theme=light] .input-group label{color:#64748b}[data-theme=light] .schedule-desc{color:#64748b;background:#f0f4fb;border-color:#00000014}[data-theme=light] .btn-share,[data-theme=light] .btn-copy{color:#475569;background:#edf2f9;border-color:#0000001f}[data-theme=light] .btn-share:hover{color:#0891b2;background:#0891b214;border-color:#0891b24d}[data-theme=light] .btn-copy:hover{color:#047857;background:#04785714;border-color:#0478574d}[data-theme=light] .result-card{background:#fff;border-color:#047857 #0000001a #0000001a;box-shadow:0 2px 16px #00000014}[data-theme=light] .hero-block{border-bottom-color:#00000014}[data-theme=light] .hero-label{color:#64748b}[data-theme=light] .hero-value{color:#047857;text-shadow:none}[data-theme=light] .hero-sub{color:#64748b}[data-theme=light] .stat-cell{background:#edf2f9;border-color:#00000014}[data-theme=light] .stat-label{color:#64748b}[data-theme=light] .sv-cyan{color:#0891b2}[data-theme=light] .sv-gold,[data-theme=light] .sv-amber{color:#b45309}[data-theme=light] .sv-rose{color:#e11d48}[data-theme=light] .sv-emerald{color:#047857}[data-theme=light] .sv-indigo{color:#4f46e5}[data-theme=light] .formula-strip{background:#edf2f9;border-color:#00000014}[data-theme=light] .formula-op{color:#94a3b8}[data-theme=light] .fc-cyan{color:#0891b2;background:#0891b21a}[data-theme=light] .fc-amber{color:#b45309;background:#b4530914}[data-theme=light] .fc-emerald{color:#047857;background:#04785714}[data-theme=light] .chart-label{color:#64748b}[data-theme=light] .schedule-wrap{background:#fff;border-color:#0891b2 #0000001a #0000001a;box-shadow:0 2px 16px #00000014}[data-theme=light] .schedule-title{color:#0f172a}[data-theme=light] .schedule-sub{color:#64748b}[data-theme=light] .btn-outline-sm{color:#475569;background:#edf2f9;border-color:#0000001f}[data-theme=light] .btn-outline-sm:hover{color:#0891b2;background:#0891b214;border-color:#0891b24d}[data-theme=light] .draw-table th{color:#0891b2;background:#0891b212}[data-theme=light] .draw-table td{color:#475569;border-bottom-color:#0000000f}[data-theme=light] .draw-table td:first-child{color:#94a3b8}[data-theme=light] .draw-table tr:hover td{background:#00000005}[data-theme=light] .draw-table tr.milestone-row td{color:#0f172a}[data-theme=light] .draw-table tr.milestone-row td:first-child{color:#b45309}[data-theme=light] .placeholder-cell{color:#94a3b8}[data-theme=light] .totals-chip{color:#475569;background:#edf2f9;border-color:#00000014}[data-theme=light] .totals-chip strong{color:#0f172a}[data-theme=light] .validation-warning{color:#78350f;background:#fffbeb;border-color:#b453094d #b453094d #b453094d #b45309}[data-theme=light] .pmi-note{color:#64748b}[data-theme=light] .milestone-badge{color:#b45309;background:#b453091a}[data-theme=light] .label-optional,[data-theme=light] .label-hint{color:#94a3b8}[data-theme=light] .contingency-label{color:#475569}[data-theme=light] .contingency-label input[type=checkbox]{accent-color:#0891b2}[data-theme=light] .pmi-dropoff{color:#047857}body.finance-polished .fp-input-panel .input-with-unit:has(.input-prefix)>input{padding-left:32px}body.finance-polished .fp-input-panel .input-with-unit:has(.input-unit)>input{padding-right:36px}body.finance-dashboard .fp-feature .fp-feature-value{text-shadow:none}body.finance-dashboard .fp-metrics[hidden],body.finance-dashboard .fp-feature[hidden]{display:none}body.finance-dashboard .dashboard-grid{align-items:start;gap:24px;min-width:0}body.finance-dashboard .dashboard-grid>*{min-width:0}@media (width>=1024px){body.finance-dashboard .dashboard-grid{grid-template-columns:minmax(0,360px) minmax(0,1fr);max-width:1200px;margin-inline:auto;display:grid}}@media (width<=1023px){body.finance-dashboard .dashboard-grid{grid-template-columns:minmax(0,1fr);display:grid}body.finance-dashboard .fp-input-panel{position:static}}body.finance-dashboard :is(.fp-input-panel,.fp-results-panel) .hidden,body.finance-dashboard :is(.fp-metrics,.fp-feature,.fp-chart-panel).hidden,.construction-save-notice[hidden],.construction-save-notice button[hidden]{display:none}.construction-save-notice{margin-block:1rem}.construction-phase-nav{flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;display:flex}.construction-phase{border:1px solid var(--border-color,#d5dce3);border-radius:.65rem;margin:1rem 0;padding:1rem}.construction-phase h2{margin:0 0 .5rem;font-size:1rem}.construction-advanced details{margin:.8rem 0}.construction-draw-card{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.5rem;margin:.5rem 0;display:grid}.construction-draw-card label{display:block}.construction-compare-table{border-collapse:collapse;width:100%}.construction-compare-table th,.construction-compare-table td{text-align:left;border-bottom:1px solid var(--border-color,#d5dce3);padding:.4rem}@media (width<=480px){.construction-draw-card{grid-template-columns:1fr 1fr}.construction-draw-card .draw-amount{grid-column:1/-1}.construction-compare-table{font-size:.8rem}.construction-phase{overflow-wrap:anywhere;padding:.75rem}}.construction-phase-picker{display:none}@media (width<=480px){.construction-phase-picker{top:var(--nav-header-height,65px);z-index:2;background:var(--cl-card);padding:.6rem;display:block;position:sticky}.result-card[data-phase=build] #phase-conversion,.result-card[data-phase=build] #phase-permanent,.result-card[data-phase=conversion] #phase-build,.result-card[data-phase=conversion] #phase-permanent,.result-card[data-phase=permanent] #phase-build,.result-card[data-phase=permanent] #phase-conversion{display:none}}#custom-draw-editor[hidden]{display:none}.construction-full-reconciliation{min-width:0;margin-block:1rem}.construction-comparison-scroll{max-width:100%;overflow-x:auto}.construction-comparison-scroll .construction-compare-table{table-layout:fixed;width:max(100%,36rem);max-width:none;display:table}.construction-comparison-scroll .construction-compare-table td{white-space:nowrap}#permanent-amortization,.construction-permanent-scroll{scroll-margin-top:calc(var(--nav-header-height,65px) + 10rem)}.construction-permanent-scroll{isolation:isolate;max-width:100%;max-height:24rem;position:relative;overflow:auto}#permanent-ledger .construction-permanent-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max(100%,64rem);max-width:none;display:table;overflow:visible}.construction-permanent-table th,.construction-permanent-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--cl-border,#344155);padding:.55rem .7rem}.construction-permanent-table thead th{z-index:2;color:#d9e8f7;background:#0f1c2d;position:sticky;top:0}.construction-permanent-table :is(th,td):first-child{z-index:1;color:#d9e8f7;background:#0f1c2d;width:5rem;position:sticky;left:0}.construction-permanent-table thead th:first-child{z-index:3}[data-theme=light] .construction-permanent-table thead th,[data-theme=light] .construction-permanent-table :is(th,td):first-child{color:#18324d;background:#fff}#construction-assumptions,#construction-value-assumption,#timing-comparison-note,#chart-availability{color:var(--cl-muted,#8297ad);font-size:.85rem;line-height:1.5}.finance-dashboard .stat-value{white-space:normal;word-break:normal;overflow-wrap:normal}body.finance-dashboard .hero-value.fp-result-value{white-space:nowrap;font-size:clamp(1.4rem,4.2vw,2.8rem)}@media (width<=480px){.finance-dashboard .stats-grid{grid-template-columns:minmax(0,1fr)}body[data-construction-phase=build] :is(#phase-conversion,#phase-permanent),body[data-construction-phase=conversion] :is(#phase-build,#phase-permanent),body[data-construction-phase=permanent] :is(#phase-build,#phase-conversion){display:none}.construction-phase-picker{background:#0f1c2d}.construction-compare-table th{overflow-wrap:anywhere;max-width:11rem}[data-theme=light] .construction-phase-picker{background:#fff}}.table-scroll:has(>#draw-table){isolation:isolate;max-height:26rem;position:relative;overflow:auto}#draw-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max(100%,76rem);max-width:none;display:table;overflow:visible}#draw-table th,#draw-table td{white-space:nowrap}#draw-table thead th{z-index:2;color:#d9e8f7;background:#0f1c2d;position:sticky;top:0}#draw-table :is(th,td):first-child{z-index:1;color:#d9e8f7;white-space:normal;overflow-wrap:normal;background:#0f1c2d;width:5rem;position:sticky;left:0}#draw-table thead th:first-child{z-index:3}[data-theme=light] #draw-table thead th,[data-theme=light] #draw-table :is(th,td):first-child{color:#18324d;background:#fff}#draw-table .milestone-badge{white-space:normal;overflow-wrap:anywhere;max-width:100%;margin:.15rem 0 0;padding:0;font-size:.65rem;display:block}#construction-print-receipt{display:none}@media print{body.finance-polished.construction-print-ready,body.finance-polished.construction-print-ready>main{color:#111;background:#fff;width:auto;max-width:none;margin:0;padding:0}body.finance-polished.construction-print-ready>:not(main),body.finance-polished.construction-print-ready>main>:not(#construction-print-receipt){display:none}body.finance-polished.construction-print-ready #construction-print-receipt{font-family:Arial,sans-serif;font-size:9pt;display:block}body.finance-polished.construction-print-ready #construction-print-receipt *{color:#111;-webkit-text-fill-color:#111;text-shadow:none;box-shadow:none;background:#fff;transition:none;animation:none}body.finance-polished.construction-print-ready #construction-print-receipt h1{margin:0 0 8pt;font-size:16pt}body.finance-polished.construction-print-ready .construction-print-table{table-layout:fixed;border-collapse:collapse;width:100%;max-width:none;margin:6pt 0;font-size:8pt;display:table;overflow:visible}body.finance-polished.construction-print-ready .construction-print-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;border:1px solid #999;padding:3pt;position:static}body.finance-polished.construction-print-ready .construction-print-table tr{break-inside:avoid}}