@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-app-theme=night],:root[data-app-theme=night] body,:root[data-app-theme=night] #root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#08111f}:root{color:#152723;font-synthesis:none;--ink:#10231f;--muted:#72847f;--green:#0b9873;--deep:#071c18;--line:#dce7e3;background:#edf4f1;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.sr-only{clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.alert-with-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.alert-with-actions span{min-width:0}.error-actions{flex-wrap:wrap;gap:9px;display:flex}.app-shell{grid-template-columns:238px 1fr;min-height:100vh;display:grid}.sidebar{z-index:30;color:#d3e3de;background:#071b17;flex-direction:column;width:238px;height:100vh;padding:28px 16px;display:flex;position:fixed}.brand{align-items:center;gap:12px;padding:0 9px 30px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#14b98a,#087257);border-radius:13px;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 8px 24px #06a77a44}.brand b,.brand span{display:block}.brand b{font-size:17px}.brand span{letter-spacing:.08em;color:#77948c;text-transform:uppercase;margin-top:2px;font-size:11px}.close-nav{margin-left:auto;display:none!important}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav button{color:#8da69f;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;height:43px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.sidebar nav button:hover{color:#fff;background:#102d27}.sidebar nav button.active{color:#fff;background:#11372e;box-shadow:inset 3px 0 #14c796}.sidebar nav em{color:#fff;background:#0b9873;border-radius:20px;margin-left:auto;padding:2px 7px;font-size:11px;font-style:normal}.sidebar-note{color:#4fd6b0;border:1px solid #1a3932;border-radius:13px;gap:10px;margin-top:auto;padding:13px;display:flex}.sidebar-note b,.sidebar-note span{display:block}.sidebar-note b{color:#d5e5e0;font-size:11px}.sidebar-note span{color:#6e9187;margin-top:3px;font-size:11px;line-height:1.4}main{grid-column:2;min-width:0}header{border-bottom:1px solid var(--line);z-index:20;background:#f8fbfa;align-items:center;gap:14px;height:87px;padding:0 38px;display:flex;position:sticky;top:0}header p{text-transform:uppercase;letter-spacing:.12em;color:#82938e;margin:0 0 3px;font-size:11px;font-weight:700}header h1{letter-spacing:-.02em;margin:0;font-size:19px}.header-actions{align-items:center;gap:11px;margin-left:auto;display:flex}.status-dot{color:#778b85;margin-right:8px;font-size:11px}.status-dot i{background:#15b987;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.content{max-width:1300px;padding:30px 38px 60px}.primary,.ghost{border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-size:12px;font-weight:700;display:inline-flex}.primary{background:var(--green);color:#fff;box-shadow:0 5px 14px #0b987326}.primary:hover{background:#087f60}.ghost{color:#41534e;background:#fff;border:1px solid #d5e2de}.icon-btn{color:#5f746e;background:0 0;border:0;border-radius:9px;place-items:center;width:36px;height:36px;display:grid}.icon-btn svg{width:18px}.menu-btn{display:none}.alert{color:#8c5516;background:#fff2e2;border:1px solid #f6d5ad;border-radius:10px;margin-bottom:18px;padding:12px 15px;font-size:12px}.hero-card{color:#fff;background:radial-gradient(circle at 72% 25%,#164c3e 0,#0000 28%),linear-gradient(125deg,#071c18,#0d332b);border-radius:18px;justify-content:space-between;align-items:center;min-height:210px;padding:32px 38px;display:flex;overflow:hidden;box-shadow:0 16px 35px #0b282122}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#7f948e;margin-bottom:10px;font-size:11px;font-weight:800;display:block}.hero-card .eyebrow{color:#66aa98}.hero-card>div>strong{letter-spacing:-.04em;font-size:39px}.hero-meta{gap:29px;margin-top:27px;display:flex}.hero-meta span{color:#6f9a8f;grid-template-columns:18px auto;gap:1px 7px;font-size:11px;display:grid}.hero-meta svg{grid-row:span 2;width:15px}.hero-meta b{color:#fff;font-size:12px}.hero-ring{place-items:center;width:135px;height:135px;margin-right:48px;display:grid;position:relative}.hero-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.hero-ring circle{fill:none;stroke:#1e493f;stroke-width:2.6px}.hero-ring .progress{stroke:#1bd39c;stroke-linecap:round}.hero-ring div{text-align:center}.hero-ring b,.hero-ring span{display:block}.hero-ring b{font-size:24px}.hero-ring span{color:#79a297;font-size:11px}.section-heading{justify-content:space-between;align-items:end;margin:32px 2px 16px;display:flex}.section-heading .eyebrow{color:#0c9873;margin-bottom:4px}.section-heading h2{margin:0;font-size:20px}.section-heading p{color:#82948f;font-size:11px}.scenario-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.scenario{text-align:left;color:var(--ink);background:#f9fcfb;border:1px solid #dce7e3;border-radius:14px;padding:18px;transition:all .2s;position:relative}.scenario:hover{transform:translateY(-2px);box-shadow:0 10px 22px #24443c10}.scenario.selected{border-color:#0b9873;box-shadow:0 0 0 1px #0b9873}.scenario-icon{color:#078461;background:#daf5ec;border-radius:10px;place-items:center;width:35px;height:35px;display:grid}.scenario-icon.c1{color:#7564df;background:#ebe8ff}.scenario-icon.c2{color:#d68b16;background:#fff0d7}.scenario-icon svg{width:17px}.scenario-title{margin:13px 0 8px;font-size:11px;font-weight:700;display:block}.scenario-title em{text-transform:uppercase;color:#087458;background:#dcf6ec;border-radius:4px;margin-left:6px;padding:3px 5px;font-size:11px;font-style:normal}.scenario>b{letter-spacing:-.03em;font-size:20px}.scenario>b small{color:#81938e;font-size:11px;font-weight:500}.scenario-stats{border-top:1px solid #e6eeeb;gap:25px;margin-top:15px;padding-top:12px;display:flex}.scenario-stats i{color:#82938e;font-size:11px;font-style:normal}.scenario-stats strong{color:#285047;margin-top:3px;font-size:11px;display:block}.radio{border:1px solid #cadad5;border-radius:50%;place-items:center;width:19px;height:19px;display:grid;position:absolute;top:17px;right:17px}.selected .radio{color:#fff;background:#0b9873;border-color:#0b9873}.insight{background:linear-gradient(100deg,#edf9f5,#f9fcfb);border:1px solid #cfe9e0;border-radius:14px;align-items:center;gap:17px;margin-top:16px;padding:20px 23px;display:flex}.insight-icon{color:#fff;background:#0b9873;border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.insight-icon svg{width:19px}.insight .eyebrow{color:#0b9873;margin:0 0 4px}.insight h3{margin:0 0 4px;font-size:13px}.insight p{color:#657a74;margin:0;font-size:11px}.insight .ghost{margin-left:auto}.panel{border:1px solid var(--line);background:#f9fcfb;border-radius:15px}.chart-panel{margin-top:16px;padding:23px 24px 14px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.panel-head h3{margin:0 0 5px;font-size:14px}.panel-head p{color:#7c908a;margin:0;font-size:11px}.chart-legend{color:#738680;align-items:center;gap:6px;font-size:11px;display:flex}.chart-legend i{background:#0b9873;width:14px;height:2px;margin-left:9px}.chart-legend i:nth-child(2){background:#afc2bd}.recharts-text{fill:#7a8e88;font-size:11px}.settings-layout{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-panel{padding:25px}.form-panel:last-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr;gap:17px 18px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field>span{color:#5e726c;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.field input,.field select{color:#203630;background:#fff;border:1px solid #d5e2de;border-radius:9px;outline:none;width:100%;padding:10px 11px;font-size:12px}.field input:focus,.field select:focus{border-color:#0b9873;box-shadow:0 0 0 3px #0b987312}.with-suffix{position:relative}.with-suffix input{padding-right:45px}.with-suffix i{color:#7e918b;font-size:11px;font-style:normal;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-row{background:#fff;border:1px solid #d7e3df;border-radius:10px;justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.toggle-row b,.toggle-row span{display:block}.toggle-row b{font-size:11px}.toggle-row span{color:#81938e;margin-top:2px;font-size:11px}.toggle-row input{accent-color:#0b9873;width:16px;height:16px}.list-panel,.table-panel,.export-panel{padding:26px}.event-list{flex-direction:column;gap:9px;display:flex}.event{background:#fff;border:1px solid #e0e9e6;border-radius:12px;grid-template-columns:53px 1fr 40px;align-items:center;gap:14px;padding:11px;display:grid}.date-tile{color:#087657;text-align:center;background:#e3f6ef;border-radius:9px;place-items:center;width:48px;height:48px;display:grid}.date-tile b{font-size:17px;line-height:1}.date-tile span{text-transform:uppercase;font-size:11px}.date-tile svg{width:20px}.event>div:nth-child(2)>b,.event>div:nth-child(2)>span,.event>div:nth-child(2)>small{display:block}.event>div:nth-child(2)>b{font-size:13px}.event>div:nth-child(2)>span{color:#758983;margin-top:3px;font-size:11px}.event>div:nth-child(2)>small{color:#4e635d;margin-top:4px;font-size:11px}.danger{color:#bd6758}.danger:hover{background:#fff0ee}.tip{color:#60766f;background:#f0f6f4;border-radius:9px;align-items:center;gap:8px;margin-top:18px;padding:12px 14px;font-size:11px;display:flex}.tip svg{color:#0b9873;width:15px}.empty{text-align:center;padding:55px 20px}.empty>span{color:#0b9873;background:#e5f5f0;border-radius:18px;place-items:center;width:60px;height:60px;margin:auto;display:grid}.empty h3{margin:15px 0 5px;font-size:14px}.empty p{color:#7a8e88;margin:0 0 15px;font-size:11px}.table-wrap{border:1px solid #e0e9e6;border-radius:10px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;background:#fff;width:100%}th,td{text-align:right;border-bottom:1px solid #edf2f0;padding:11px 12px;font-size:11px}th{color:#6d817b;text-transform:uppercase;letter-spacing:.04em;background:#f2f7f5;font-size:11px}th:nth-child(2),td:nth-child(2),th:last-child,td:last-child{text-align:left}.recalc-row{background:#f0faf6}.event-tag{color:#087458;background:#dff5ed;border-radius:5px;padding:4px 6px;font-size:11px}.load-more{color:#0b9873;background:0 0;border:0;align-items:center;gap:4px;margin:14px auto 0;font-size:11px;font-weight:700;display:flex}.load-more svg{width:14px}.metric-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;display:grid}.metric{color:#fff;background:#0b2d26;border-radius:14px;padding:20px}.metric:nth-child(2){background:#6555c7}.metric:nth-child(3){background:#b77b22}.metric span,.metric small,.metric b{display:block}.metric span{opacity:.7;font-size:11px}.metric b{margin:9px 0 4px;font-size:23px}.metric small{opacity:.75;font-size:11px}.analytics-grid{grid-template-columns:1.25fr 1fr;gap:16px;display:grid}.analytics-grid .chart-panel{margin:0}.export-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.export-grid button{text-align:left;color:#213831;background:#fff;border:1px solid #dce7e3;border-radius:12px;grid-template-rows:1fr 1fr;grid-template-columns:48px 1fr 25px;align-items:center;column-gap:13px;padding:15px;display:grid}.export-grid button:hover{border-color:#0b9873}.export-grid button .export-icon{border-radius:10px;grid-row:span 2;place-items:center;width:45px;height:45px;display:grid}.export-icon svg{width:19px}.export-icon.green{color:#07805f;background:#dff6ee}.export-icon.emerald{color:#337cb1;background:#e0f0ff}.export-icon.violet{color:#6958d2;background:#ebe8ff}.export-icon.amber{color:#c27c14;background:#fff0d9}.export-grid button b{align-self:end;font-size:12px}.export-grid button small{color:#7d908a;align-self:start;font-size:11px}.export-grid button>svg{color:#80938d;grid-area:span 2/3;width:16px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#071a16a8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:#f8fbfa;border-radius:17px;width:min(610px,100%);overflow:hidden;box-shadow:0 30px 80px #0005}.modal-head{border-bottom:1px solid #e1e9e6;justify-content:space-between;align-items:center;padding:24px 27px 18px;display:flex}.modal-head .eyebrow{color:#0b9873;margin-bottom:3px}.modal-head h2{margin:0;font-size:19px}.modal-body{padding:23px 27px}.modal-body>.field{margin-top:17px}.modal-tip{color:#42685d;background:#e7f7f1;border-radius:9px;align-items:center;gap:8px;margin-top:18px;padding:12px;font-size:11px;display:flex}.modal-tip svg{color:#0b9873;width:16px}.modal-actions{justify-content:flex-end;gap:9px;padding:16px 27px 22px;display:flex}.modal-actions .ghost{background:0 0}.status-dot.warning{color:#a86211}.status-dot.warning i{background:#d88a17}body{padding-top:var(--safe-area-inset-top,env(safe-area-inset-top));padding-right:var(--safe-area-inset-right,env(safe-area-inset-right));padding-bottom:var(--safe-area-inset-bottom,env(safe-area-inset-bottom));padding-left:var(--safe-area-inset-left,env(safe-area-inset-left))}.sidebar{top:var(--safe-area-inset-top,env(safe-area-inset-top));left:var(--safe-area-inset-left,env(safe-area-inset-left));height:calc(100vh - var(--safe-area-inset-top,env(safe-area-inset-top)) - var(--safe-area-inset-bottom,env(safe-area-inset-bottom)))}header{top:var(--safe-area-inset-top,env(safe-area-inset-top))}.brand-mark{background:#071a17;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}@media (width<=950px){.app-shell{grid-template-columns:1fr}.sidebar{transition:all .25s;transform:translate(-100%)}.sidebar.open{transform:none}.close-nav,.menu-btn{display:grid!important}main{grid-column:1}.settings-layout,.analytics-grid{grid-template-columns:1fr}.form-panel:last-child{grid-column:auto}.status-dot{display:none}.content{padding:25px}.scenario-grid{grid-template-columns:1fr}.scenario{grid-template-columns:45px 1fr auto;display:grid}.scenario-icon{grid-row:span 3}.scenario-title{margin:2px 0}.scenario-stats{grid-column:2/-1}.radio{display:none}}@media (width<=620px){header{height:76px;padding:0 16px}.header-actions .ghost{display:none}.header-actions .print-action{width:38px;height:38px;padding:0;font-size:0;display:inline-flex}.header-actions .print-action svg{margin:0}.header-actions .primary{width:38px;padding:9px;font-size:0}.header-actions .primary svg{margin:0}.content{padding:18px 14px}.hero-card{min-height:250px;padding:25px}.hero-card>div>strong{font-size:29px}.hero-ring{display:none}.hero-meta{gap:12px;display:grid}.section-heading{margin-top:25px}.insight{align-items:flex-start}.insight .ghost{display:none}.form-grid{grid-template-columns:1fr}.form-panel{padding:19px}.metric-grid,.export-grid{grid-template-columns:1fr}.panel{border-radius:12px}.list-panel,.table-panel,.export-panel{padding:17px}.chart-panel{padding:18px 10px}.chart-legend{display:none}.modal-body,.modal-head,.modal-actions{padding-left:18px;padding-right:18px}}.app-shell[data-theme]{--green:#0b9873;--deep:#071c18;--ink:#10231f;--muted:#667a73;--line:#d6e5df;--theme-page:#edf4f1;--theme-panel:#f8fbfa;--theme-surface:#f1f7f4;--theme-surface-2:#e7f1ed;--theme-soft:#e5f6ef;--theme-soft-2:#f4faf7;--theme-line:#d6e5df;--theme-line-soft:#e3eee9;--theme-text:#10231f;--theme-muted:#667a73;--theme-accent:var(--green);--theme-accent-text:#087458;--theme-accent-contrast:#fff;--theme-warning-bg:#fff3df;--theme-warning-text:#7c4b12;--theme-warning-line:#e9cea2;--theme-success-bg:#e4f6ef;--theme-success-text:#087458;--theme-success-line:#bee4d7;--theme-sidebar:#071b17;--theme-sidebar-text:#d3e3de;--theme-sidebar-muted:#77948c;--theme-sidebar-hover:#102d27;--theme-sidebar-active:#11372e;--theme-sidebar-line:#1a3932;--theme-sidebar-note:#4fd6b0;--theme-sidebar-note-strong:#d5e5e0;--theme-sidebar-note-muted:#6e9187;--theme-brand-from:#14b98a;--theme-brand-to:#087257;--theme-hero-spot:#164c3e;--theme-hero-from:#071c18;--theme-hero-to:#0d332b;--theme-hero-muted:#66aa98;--theme-hero-track:#1e493f;--theme-hero-progress:#1bd39c;--theme-color-scheme:light}.app-shell[data-theme=ocean]{--green:#1976d2;--deep:#0a1d33;--ink:#0d253a;--muted:#5f7688;--line:#cddfec;--theme-page:#edf5fb;--theme-panel:#f7fbfe;--theme-surface:#edf5fc;--theme-surface-2:#e1edf8;--theme-soft:#dfeefa;--theme-soft-2:#f3f8fc;--theme-line:#cddfec;--theme-line-soft:#dceaf3;--theme-text:#0d253a;--theme-muted:#5f7688;--theme-accent-text:#145da6;--theme-warning-bg:#fff2df;--theme-warning-text:#76501b;--theme-warning-line:#e8cea0;--theme-success-bg:#dff2ee;--theme-success-text:#0c6f63;--theme-success-line:#b8dcd5;--theme-sidebar:#091c31;--theme-sidebar-text:#d9e8f5;--theme-sidebar-muted:#7f9bb2;--theme-sidebar-hover:#102f4d;--theme-sidebar-active:#12395c;--theme-sidebar-line:#1b466b;--theme-sidebar-note:#6bb8f2;--theme-sidebar-note-strong:#e2eff9;--theme-sidebar-note-muted:#83a8c3;--theme-brand-from:#69b8ef;--theme-brand-to:#1976d2;--theme-hero-spot:#235481;--theme-hero-from:#091c31;--theme-hero-to:#12395c;--theme-hero-muted:#8fb6d4;--theme-hero-track:#214968;--theme-hero-progress:#64b5f6}.app-shell[data-theme=violet]{--green:#7357d8;--deep:#1c1635;--ink:#211c35;--muted:#716987;--line:#d9d0ee;--theme-page:#f3f0fb;--theme-panel:#fbf9ff;--theme-surface:#f0ecfa;--theme-surface-2:#e7e0f6;--theme-soft:#e8e2fb;--theme-soft-2:#f7f4fd;--theme-line:#d9d0ee;--theme-line-soft:#e6def5;--theme-text:#211c35;--theme-muted:#716987;--theme-accent-text:#5a43b3;--theme-warning-bg:#fff1df;--theme-warning-text:#7a4e16;--theme-warning-line:#e9cca0;--theme-success-bg:#e8f3e6;--theme-success-text:#39713e;--theme-success-line:#c9dfc7;--theme-sidebar:#19142f;--theme-sidebar-text:#e6e0fa;--theme-sidebar-muted:#9d91c2;--theme-sidebar-hover:#292047;--theme-sidebar-active:#34275d;--theme-sidebar-line:#40336a;--theme-sidebar-note:#b8a9ff;--theme-sidebar-note-strong:#eeeaff;--theme-sidebar-note-muted:#a79bc9;--theme-brand-from:#ad9dff;--theme-brand-to:#7357d8;--theme-hero-spot:#514289;--theme-hero-from:#19142f;--theme-hero-to:#34275d;--theme-hero-muted:#b0a4dc;--theme-hero-track:#463971;--theme-hero-progress:#b5a4ff}.app-shell[data-theme=graphite]{--green:#52646f;--deep:#172126;--ink:#172126;--muted:#637178;--line:#cfd9dd;--theme-page:#eef2f3;--theme-panel:#f7fafb;--theme-surface:#edf2f4;--theme-surface-2:#e1e7ea;--theme-soft:#e2e9ec;--theme-soft-2:#f3f6f7;--theme-line:#cfd9dd;--theme-line-soft:#dee6e9;--theme-text:#172126;--theme-muted:#637178;--theme-accent-text:#40515b;--theme-warning-bg:#f8efdf;--theme-warning-text:#6e5122;--theme-warning-line:#dec9a9;--theme-success-bg:#e3efe8;--theme-success-text:#406950;--theme-success-line:#c4d9ce;--theme-sidebar:#172126;--theme-sidebar-text:#dce5e9;--theme-sidebar-muted:#8b9ba3;--theme-sidebar-hover:#26343b;--theme-sidebar-active:#2b3b43;--theme-sidebar-line:#3a4c55;--theme-sidebar-note:#adbec6;--theme-sidebar-note-strong:#eef3f5;--theme-sidebar-note-muted:#9cabb2;--theme-brand-from:#9aaab3;--theme-brand-to:#52646f;--theme-hero-spot:#40535d;--theme-hero-from:#172126;--theme-hero-to:#2b3b43;--theme-hero-muted:#a2b1b8;--theme-hero-track:#3f5159;--theme-hero-progress:#a6b8c0}.app-shell[data-theme=warm]{--green:#d97706;--deep:#2a1707;--ink:#2a1707;--muted:#7b6548;--line:#ead4b5;--theme-page:#fbf3e8;--theme-panel:#fff8ef;--theme-surface:#f8ecdc;--theme-surface-2:#f0dfc7;--theme-soft:#f3e3ca;--theme-soft-2:#fff4e6;--theme-line:#ead4b5;--theme-line-soft:#f0dec4;--theme-text:#2a1707;--theme-muted:#7b6548;--theme-accent-text:#a15a05;--theme-warning-bg:#fff0d7;--theme-warning-text:#72470c;--theme-warning-line:#e6c58e;--theme-success-bg:#e9f0dd;--theme-success-text:#557226;--theme-success-line:#cfdbb4;--theme-sidebar:#2a1707;--theme-sidebar-text:#f1dfc7;--theme-sidebar-muted:#b79770;--theme-sidebar-hover:#4b290d;--theme-sidebar-active:#6b3a0b;--theme-sidebar-line:#704412;--theme-sidebar-note:#f0aa4d;--theme-sidebar-note-strong:#fff1dd;--theme-sidebar-note-muted:#c99b62;--theme-brand-from:#f3b458;--theme-brand-to:#d97706;--theme-hero-spot:#8a4b11;--theme-hero-from:#2a1707;--theme-hero-to:#6b3a0b;--theme-hero-muted:#d4a56a;--theme-hero-track:#754915;--theme-hero-progress:#f6b75a}.app-shell[data-theme=night]{--green:#60a5fa;--deep:#08111f;--ink:#e5edf7;--muted:#9aabc0;--line:#263449;--theme-page:#08111f;--theme-panel:#0d1726;--theme-surface:#111e31;--theme-surface-2:#17263a;--theme-soft:#142134;--theme-soft-2:#101d2f;--theme-line:#2a3a50;--theme-line-soft:#223247;--theme-text:#e5edf7;--theme-muted:#9aabc0;--theme-accent-text:#93c5fd;--theme-accent-contrast:#08111f;--theme-warning-bg:#2d2416;--theme-warning-text:#f0c37b;--theme-warning-line:#574024;--theme-success-bg:#123126;--theme-success-text:#8ee4bd;--theme-success-line:#245544;--theme-sidebar:#050b14;--theme-sidebar-text:#dbe8f6;--theme-sidebar-muted:#8ea1b5;--theme-sidebar-hover:#101d2f;--theme-sidebar-active:#10233a;--theme-sidebar-line:#263449;--theme-sidebar-note:#93c5fd;--theme-sidebar-note-strong:#e5edf7;--theme-sidebar-note-muted:#9aabc0;--theme-brand-from:#93c5fd;--theme-brand-to:#60a5fa;--theme-hero-spot:#1d4d7a;--theme-hero-from:#050b14;--theme-hero-to:#0f2238;--theme-hero-muted:#8fb6d8;--theme-hero-track:#203b5d;--theme-hero-progress:#93c5fd;--theme-color-scheme:dark}.app-shell[data-theme]{background:var(--theme-page);color:var(--theme-text);color-scheme:var(--theme-color-scheme)}.app-shell[data-theme] .sidebar{background:var(--theme-sidebar);color:var(--theme-sidebar-text)}.app-shell[data-theme] .brand-mark{box-shadow:0 8px 24px color-mix(in srgb,var(--theme-accent) 28%,transparent);background:#071a17}.app-shell[data-theme] .brand span,.app-shell[data-theme] .sidebar nav button{color:var(--theme-sidebar-muted)}.app-shell[data-theme] .sidebar nav button:hover{background:var(--theme-sidebar-hover);color:#fff}.app-shell[data-theme] .sidebar nav button.active{background:var(--theme-sidebar-active);box-shadow:inset 3px 0 var(--theme-accent);color:#fff}.app-shell[data-theme] .sidebar nav em{background:var(--theme-accent);color:var(--theme-accent-contrast)}.app-shell[data-theme] .sidebar-note{border-color:var(--theme-sidebar-line);color:var(--theme-sidebar-note)}.app-shell[data-theme] .sidebar-note b{color:var(--theme-sidebar-note-strong)}.app-shell[data-theme] .sidebar-note span{color:var(--theme-sidebar-note-muted)}.app-shell[data-theme] .hero-card{background:radial-gradient(circle at 72% 25%,var(--theme-hero-spot) 0,transparent 28%),linear-gradient(125deg,var(--theme-hero-from),var(--theme-hero-to))}.app-shell[data-theme] .hero-card .eyebrow,.app-shell[data-theme] .hero-meta span,.app-shell[data-theme] .hero-ring span{color:var(--theme-hero-muted)}.app-shell[data-theme] .hero-ring circle{stroke:var(--theme-hero-track)}.app-shell[data-theme] .hero-ring .progress{stroke:var(--theme-hero-progress)}.app-shell[data-theme] .scenario.selected{border-color:var(--theme-accent);box-shadow:0 0 0 1px var(--theme-accent)}.app-shell[data-theme] .selected .radio{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-accent-contrast)}.term-control{grid-template-columns:1fr 112px;display:grid}.term-control input{border-radius:9px 0 0 9px!important}.term-control select{background:#f2f7f5!important;border-left:0!important;border-radius:0 9px 9px 0!important}.appearance-panel{grid-column:1/-1}.print-report{display:none}.event{grid-template-columns:53px 1fr auto}.event-actions{align-items:center;gap:2px;display:flex}.accent-picker{grid-template-columns:42px 1fr auto;align-items:center;gap:8px;display:grid}.accent-picker input[type=color]{border-radius:10px;width:42px;height:38px;padding:3px}.accent-picker span{color:#5e726c;font-size:11px;font-weight:800}.accent-picker .ghost{height:38px}.app-shell .scenario.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.app-shell .field input:focus,.app-shell .field select:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.app-shell .toggle-row input,.app-shell input[type=checkbox]{accent-color:var(--green)}.app-shell .sidebar nav em,.app-shell .status-dot i,.app-shell .insight-icon{background:var(--green)}.rule-actions{align-items:center;gap:9px;margin-top:14px;display:flex}.rule-list{margin-top:16px}.current-debt-grid{grid-template-columns:1.35fr 1fr 1fr 1fr;gap:14px;margin:16px 0 28px;display:grid}.current-debt{border:1px solid var(--line);background:#f9fcfb;border-radius:14px;padding:18px}.current-debt.main{background:linear-gradient(125deg,#f5fbf8,#e8f7f1);border-color:#cfe9e0}.current-debt span,.current-debt b,.current-debt small{display:block}.current-debt span{text-transform:uppercase;letter-spacing:.1em;color:#738680;font-size:11px;font-weight:800}.current-debt b{letter-spacing:-.03em;margin:8px 0 5px;font-size:22px}.current-debt.main b{color:#0b755a;font-size:28px}.current-debt small{color:#74877f;font-size:11px;line-height:1.45}.hero-ring span{max-width:92px;margin:auto;line-height:1.3}.next-payment-panel{margin:-10px 0 18px;padding:20px 22px}.next-payment-panel .panel-head{margin-bottom:14px}.next-payment-panel .panel-head>b{color:#0b755a;font-size:22px}.next-payment-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.next-payment-grid>div{background:#fff;border:1px solid #dfe8e5;border-radius:12px;padding:13px}.next-payment-grid span,.next-payment-grid b,.next-payment-grid small{display:block}.next-payment-grid span{text-transform:uppercase;letter-spacing:.08em;color:#738680;font-size:11px;font-weight:800}.next-payment-grid b{margin:6px 0 4px;font-size:18px}.next-payment-grid small{color:#74877f;font-size:11px}.progress-panel{margin-bottom:18px;padding:22px}.progress-panel .panel-head b{color:#0b755a;background:#e5f6ef;border-radius:999px;padding:8px 12px;font-size:12px}.progress-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.progress-item{background:#fff;border:1px solid #dfe8e5;border-radius:12px;padding:14px}.progress-item div{justify-content:space-between;gap:12px;margin-bottom:9px;display:flex}.progress-item span{color:#637870;font-size:11px;font-weight:800}.progress-item b{font-size:16px}.progress-item i{background:#edf4f1;border-radius:999px;height:8px;display:block;overflow:hidden}.progress-item em{background:var(--green);border-radius:999px;height:100%;display:block}.milestone-list{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.milestone-list span{color:#6c8179;background:#fff;border:1px solid #dce7e3;border-radius:999px;padding:7px 10px;font-size:11px}.milestone-list .done{color:#087458;background:#e5f6ef;border-color:#bfe2d6}.schedule-head{align-items:flex-start;gap:16px}.schedule-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.schedule-tools input{color:#203630;background:#fff;border:1px solid #d5e2de;border-radius:9px;outline:none;width:190px;padding:10px 11px;font-size:12px}.schedule-tools input:focus{border-color:#0b9873;box-shadow:0 0 0 3px #0b987312}.schedule-jump-error{text-align:right;flex-basis:100%}.schedule-filters{grid-template-columns:150px 220px auto auto;align-items:end;gap:10px;margin:0 0 14px;display:grid}.schedule-filters label{flex-direction:column;gap:6px;display:flex}.schedule-filters label>span{color:#667b74;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800}.schedule-filters input,.schedule-filters select{color:#203630;background:#fff;border:1px solid #d5e2de;border-radius:9px;outline:none;padding:10px 11px;font-size:12px}.schedule-collapse-toggle{align-self:center;align-items:center;flex-direction:row!important;gap:8px!important}.schedule-collapse-toggle input{width:16px;height:16px;accent-color:var(--green)}.schedule-totals{margin-top:0}.month-row{background:#f6fbf9}.month-row td{font-weight:800}.detail-row{background:#fff}.detail-row td:first-child{padding-left:28px}.compact{padding:6px 9px;font-size:11px}.audit-toggle{color:#087458;background:#e6f5f0;border:0;border-radius:7px;width:22px;height:22px;margin-right:7px;font-weight:800}.audit-spacer{width:22px;margin-right:7px;display:inline-block}.audit-row td{background:#fbfdfc;text-align:left!important}.audit-card{background:#f6fbf9;border:1px dashed #c6dad3;border-radius:12px;padding:14px}.audit-card>b{color:#17352d;margin-bottom:10px;display:block}.audit-card dl{grid-template-columns:repeat(2,1fr);gap:8px 16px;margin:0;display:grid}.audit-card div{border-bottom:1px dotted #d5e4df;justify-content:space-between;gap:12px;padding-bottom:5px;display:flex}.audit-card dt{color:#6f817b;font-size:11px}.audit-card dd{color:#203630;text-align:right;margin:0;font-size:11px;font-weight:800}.bank-schedule th,.bank-schedule td{text-align:right}.bank-schedule th:first-child,.bank-schedule td:first-child{text-align:center}.bank-schedule th:nth-child(2),.bank-schedule td:nth-child(2){text-align:left}.bank-schedule th:last-child,.bank-schedule td:last-child{text-align:right}.bank-schedule thead tr:first-child th:nth-child(3){text-align:center}.bank-schedule tfoot td{color:#17352d;background:#e8f5f0;border-top:2px solid #bfe2d6;font-weight:800;position:sticky;bottom:0}.bank-schedule tr:target,.bank-schedule tr[id^=schedule-row-]:target{outline:2px solid var(--green);outline-offset:-2px}.saved-period{border-top:1px dashed #c9d8d3;margin-top:22px;padding-top:20px}.saved-period-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.saved-period-head h4{margin:0 0 5px;font-size:14px}.saved-period-head p{color:#71857f;margin:0;font-size:11px;line-height:1.45}.saved-period-head b{white-space:nowrap;color:#087458;background:#e5f6ef;border-radius:999px;padding:8px 12px;font-size:11px}.saved-schedule tbody tr{background:#fbf7ee}.saved-schedule tbody tr:nth-child(2n){background:#fffaf0}.saved-schedule tfoot td{color:#6d4710;background:#fff1d4}.bank-schedule td{padding:13px 14px;font-size:12px}.bank-schedule th{padding:12px 14px;font-size:11px}@media (width<=950px){.current-debt-grid{grid-template-columns:1fr 1fr}.schedule-head{display:block}.schedule-tools{justify-content:flex-start;margin-top:14px}}@media (width<=620px){.current-debt-grid,.progress-grid{grid-template-columns:1fr}.next-payment-panel .panel-head{display:block}.next-payment-panel .panel-head>b{margin-top:8px;display:block}.schedule-tools input{width:100%}.schedule-tools .ghost{flex:1}.schedule-jump-error{text-align:left}.schedule-filters{grid-template-columns:1fr 1fr}.schedule-filters button,.schedule-collapse-toggle{grid-column:1/-1}.audit-card dl{grid-template-columns:1fr}.saved-period-head{display:block}.saved-period-head b{margin-top:10px;display:inline-flex}}.schedule-pagination{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.schedule-pagination span{color:var(--muted);font-size:.9rem}.sidebar-collapse{z-index:31;border:1px solid var(--theme-line,#d5e2de);background:var(--theme-panel,#fff);width:28px;height:28px;color:var(--theme-accent-text,#087458);position:absolute;top:34px;right:-14px;box-shadow:0 5px 14px #071b1724}.sidebar-collapse svg{width:15px}@media (width>=951px){.app-shell,.app-shell .sidebar{transition:grid-template-columns .2s,width .2s,padding .2s}.app-shell.sidebar-collapsed{grid-template-columns:76px 1fr}.sidebar-collapsed .sidebar{width:76px;padding-left:12px;padding-right:12px}.sidebar-collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar nav button span,.sidebar-collapsed .sidebar nav em,.sidebar-collapsed .sidebar-note{display:none}.sidebar-collapsed .sidebar nav button{justify-content:center;padding-left:0;padding-right:0}}@media (width<=950px){.sidebar-collapse{display:none!important}}.header-title{min-width:0}@media (width<=1100px){header{flex-wrap:wrap;height:auto;min-height:82px;padding:12px 24px}.header-title{flex:1}.header-actions{margin-left:auto}}@media (width<=720px){body{min-width:0}.content{max-width:100%;overflow:hidden}.header-actions{gap:7px}.current-debt b,.current-debt.main b{font-size:21px}.scenario{padding:14px;grid-template-columns:38px 1fr!important}.scenario>b,.scenario-stats,.scenario .radio{grid-column:2/-1}.scenario-stats{flex-wrap:wrap;gap:12px}.hero-card{display:block}.hero-meta{margin-top:18px}.insight{display:block}.insight-icon{margin-bottom:12px}.panel-head{display:block}.export-grid button{grid-template-columns:42px 1fr 20px}.modal-backdrop{align-items:start;overflow:auto}.modal{max-height:none;margin:12px 0}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%}}@media (width<=430px){header{padding:10px 12px}.header-title h1{font-size:16px}.header-actions{justify-content:space-between;width:100%}.add-payment-action{width:40px;height:38px;padding:0;font-size:0}.add-payment-action svg{margin:0}.print-action{width:40px;height:38px;padding:0;font-size:0;display:inline-flex}.print-action svg{margin:0}.content{padding:14px 10px 44px}.hero-card{padding:20px}.hero-card>div>strong{font-size:25px}.current-debt{padding:14px}.section-heading{display:block}.schedule-tools{grid-template-columns:1fr 1fr;display:grid}.schedule-tools input,.schedule-jump-error{grid-column:1/-1}.export-grid button{padding:12px}.export-grid button small{white-space:normal}.event{grid-template-columns:46px 1fr}.event-actions{grid-column:2;justify-self:end}.date-tile{width:44px;height:44px}.modal-body .form-grid{gap:13px}.bank-schedule tfoot td{position:static}}.loan-switcher{background:#eef6f3;border:1px solid #d8e6e1;border-radius:12px;align-items:end;gap:6px;padding:7px;display:flex}.loan-switcher label{flex-direction:column;gap:3px;min-width:180px;display:flex}.loan-switcher span{text-transform:uppercase;letter-spacing:.1em;color:#687c76;font-size:11px;font-weight:800}.loan-switcher select{color:#203630;background:#fff;border:1px solid #d5e2de;border-radius:9px;outline:none;padding:8px 10px;font-size:12px}.loan-switcher .icon-btn{background:#fff;border:1px solid #dbe7e3;width:32px;height:32px}.small-modal{width:min(420px,100%)}.file-input{display:none}.export-icon.import{color:#26778a;background:#e4f4f7}.export-icon.link{color:#3a62c7;background:#eaf0ff}.import-status{border-radius:9px;align-items:center;gap:8px;margin-top:16px;padding:12px 14px;font-size:11px;display:flex}.import-status svg{width:16px}.import-status.success{color:#087458;background:#e4f6ef}.import-status.error{color:#a54f42;background:#fff0ee}.share-warning{color:#50665f;margin:0 0 16px;font-size:11px;line-height:1.55}.share-summary{grid-template-columns:1fr 1fr;gap:9px;margin:0;display:grid}.share-summary div{background:#fff;border:1px solid #dfe8e5;border-radius:9px;padding:10px}.share-summary dt{color:#788a84;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.share-summary dd{color:#203630;margin:4px 0 0;font-size:12px;font-weight:800}.parameter-code-area{resize:vertical;color:#203630;overflow-wrap:anywhere;background:#fff;border:1px solid #d5e2de;border-radius:9px;width:100%;min-height:140px;padding:11px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.parameter-code-area:focus{border-color:#0b9873;outline:none;box-shadow:0 0 0 3px #0b987312}.parameter-link-confirm{background:#eef9f5;border:1px solid #cfe9e0;border-radius:10px;margin-top:12px;padding:12px}.parameter-link-confirm b,.parameter-link-confirm span{display:block}.parameter-link-confirm b{color:#1b4c40;font-size:11px}.parameter-link-confirm span{color:#557068;margin-top:4px;font-size:11px}.parameter-link-confirm div{gap:8px;margin-top:10px;display:flex}.export-grid button:disabled{opacity:.48;cursor:not-allowed;color:#6c7f79;background:#f3f7f5}.export-grid button:disabled:hover{border-color:#dce7e3}.ghost:disabled,.primary:disabled{opacity:.48;cursor:not-allowed}.changelog-panel{padding:26px}.changelog-list{flex-direction:column;gap:13px;display:flex}.changelog-entry{border:1px solid #e0e9e6;border-left:4px solid var(--green);background:#fff;border-radius:12px;padding:16px 18px;display:block}.changelog-entry h4{margin:0 0 8px;font-size:14px}.changelog-entry ul{color:#536960;margin:0;padding-left:18px;font-size:11px;line-height:1.6}.changelog-entry .eyebrow{color:#0b9873;margin-bottom:4px}.whats-new-list{color:#536960;margin:0;padding-left:19px;font-size:12px;line-height:1.65}.onboarding-steps{gap:10px;display:grid}.onboarding-steps div{background:#fff;border:1px solid #dfe8e5;border-radius:12px;grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:11px;display:grid}.onboarding-steps b{color:#087458;background:#e5f6ef;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.onboarding-steps span{color:#425750;font-size:12px;line-height:1.45}.saved-period-note{color:#6d4710;background:#fff8e8;border:1px solid #f0d9a8;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:11px;display:flex}.saved-period-note svg{flex:none;width:15px}.compact-export-grid button{grid-template-rows:1fr!important}.compact-export-grid button b{align-self:center!important}.compact-export-grid button small{display:none}.setting-item{min-width:0}.field-title,.setting-title{align-items:center;gap:5px;position:relative;display:inline-flex!important}.field-help{align-items:center;display:inline-flex;position:relative}.field-help summary{color:#0b9873;cursor:pointer;background:#e1f5ee;border-radius:50%;place-items:center;width:16px;height:16px;font-size:11px;font-weight:800;list-style:none;display:inline-grid}.field-help summary::-webkit-details-marker{display:none}.field-help summary svg{width:12px;height:12px}.field-help p{z-index:12;color:#50665f;text-transform:none;letter-spacing:0;background:#f4faf7;border:1px solid #d7e8e2;border-radius:9px;width:260px;max-width:min(260px,100vw - 48px);margin:0;padding:9px 10px;font-size:11px;font-weight:500;line-height:1.45;position:absolute;top:21px;left:0;box-shadow:0 12px 28px #163d3318}.field-help[open] summary{background:var(--green);color:#fff}.toggle-row .field-help p{left:auto;right:0}@media (width>=951px){.toggle-row .field-help p{left:0;right:auto}}.error-boundary{background:#edf4f1;place-items:center;min-height:100vh;padding:24px;display:grid}.error-boundary .panel{width:100%;max-width:560px}@media (width<=1100px){.loan-switcher{order:3}}@media (width<=720px){.loan-switcher{order:3;width:100%}.loan-switcher label{flex:1;min-width:0}.changelog-entry{grid-template-columns:1fr}}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.danger-action{background:#bd6758}.danger-action:hover{background:#a95548}.settings-layout{grid-template-columns:1fr 1fr;grid-template-areas:"loan loan""interest fees""rate rate""appearance appearance";align-items:start}.loan-settings-panel{grid-area:auto/loan}.interest-settings-panel{grid-area:interest}.fees-settings-panel{grid-area:fees}.rate-settings-panel{grid-area:rate}.appearance-panel{grid-area:appearance/auto}.settings-layout .panel-head{border-bottom:1px solid #e4ece9;padding-bottom:14px}.settings-error{grid-column:1/-1;margin-bottom:0}.loan-settings-panel .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.interest-settings-panel .form-grid,.fees-settings-panel .form-grid{grid-template-columns:1fr}.appearance-panel .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rate-change-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:14px;display:grid}.date-commit-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.date-commit-control .compact{height:38px;padding:0 12px}.date-commit-error{color:#bd6758;margin:2px 0 0;font-size:10px;font-weight:700}.rate-add-button{min-height:39px}.rate-change-list{gap:9px;margin-top:12px;display:grid}.rate-change-row{background:#fff;border:1px solid #e0e9e6;border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;align-items:end;gap:12px;padding:11px;display:grid}.inline-error{color:#bd6758;margin:10px 0 0;font-size:11px;font-weight:700}.theme-toggle{color:#21443b;background:#eef6f3;border:1px solid #d8e6e1;flex:none}.theme-toggle:hover{background:var(--green);color:#fff}.pwa-notice{align-items:center;gap:10px;display:flex}.pwa-notice>svg{flex:none}.pwa-notice>span{flex:1;line-height:1.5}.pwa-notice-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ready-notice,.install-notice{color:#286251;background:#edf9f5;border-color:#cfe9e0}.browser-persistence-row{gap:12px}.browser-persistence-row .ghost{flex:none}@media (width<=950px){.settings-layout{grid-template-columns:1fr;grid-template-areas:"loan""interest""fees""rate""appearance"}.loan-settings-panel .form-grid,.interest-settings-panel .form-grid,.fees-settings-panel .form-grid,.appearance-panel .form-grid{grid-template-columns:1fr 1fr}.appearance-panel{grid-column:auto}}@media (width<=620px){.loan-settings-panel .form-grid,.interest-settings-panel .form-grid,.fees-settings-panel .form-grid,.appearance-panel .form-grid,.rate-change-form,.rate-change-row,.date-commit-control{grid-template-columns:1fr}.date-commit-control .compact{justify-self:start}.rate-change-row .icon-btn{justify-self:end}.theme-toggle{width:36px;height:36px}.pwa-notice,.alert-with-actions.pwa-notice{flex-wrap:wrap;align-items:flex-start}.pwa-notice-actions{justify-content:flex-start;width:100%;padding-left:28px}.browser-persistence-row{flex-direction:column;align-items:flex-start}.browser-persistence-row .ghost{align-self:flex-start}}.early-layout{grid-template-columns:minmax(0,1fr) minmax(380px,1fr);align-items:start;gap:16px;display:grid}.early-card{min-height:100%}.early-card .panel-head{align-items:flex-start}.early-counter{color:#087458;background:#e5f6ef;border-radius:11px;place-items:center;min-width:34px;height:34px;font-size:14px;font-weight:800;display:grid}.early-summary{grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;display:grid}.early-summary.inline{gap:8px;margin:0;display:flex}.early-summary div{background:#fff;border:1px solid #dfe8e5;border-radius:11px;padding:10px 12px}.early-summary span{text-transform:uppercase;letter-spacing:.08em;color:#7b8f88;font-size:11px;font-weight:800;display:block}.early-summary b{color:#203630;margin-top:4px;font-size:14px;display:block}.compact-event{grid-template-columns:46px 1fr auto}.compact-event .date-tile{width:42px;height:42px}.compact-event .date-tile svg{width:18px}.disabled-event{opacity:.66;background:#f3f6f5}.disabled-event .date-tile{color:#7a8b86;filter:grayscale();background:#e7ecea}.disabled-event .event-actions{opacity:1}.early-calendar{margin-top:16px}.combined-event{grid-template-columns:53px 1fr auto}.generated-event{background:#f7fbff}.event-badge{color:#087458;background:#e5f6ef;border-radius:999px;align-items:center;margin-right:6px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:800;display:inline-flex}.event-badge.rule{color:#2b69a6;background:#e8f0ff}.generated-note{text-transform:uppercase;letter-spacing:.08em;color:#7890a4;background:#edf5ff;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}@media (width<=1050px){.early-layout{grid-template-columns:1fr}.early-summary.inline{margin-top:12px}}@media (width<=620px){.early-summary,.early-summary.inline{grid-template-columns:1fr 1fr;width:100%;display:grid}.combined-event{grid-template-columns:46px 1fr}.generated-note{grid-column:2;justify-self:start}.early-card .panel-head{display:block}.early-card .panel-head .primary{margin-top:12px}}.goal-planner-layout,.goal-results-inline{min-width:0;max-width:100%}.goal-comparison{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.goal-comparison table{width:max-content;min-width:100%}.goal-planner-layout{gap:18px;display:grid}.goal-form-panel{grid-column:auto!important}.goal-form-panel .panel-head>svg{color:var(--green);width:28px;height:28px}.goal-form-note{color:#587169;background:#edf7f3;border-radius:10px;margin:18px 0 0;padding:12px 14px;font-size:11px;line-height:1.5}.goal-form-actions{gap:9px;margin-top:16px;display:flex}.goal-progress{margin:0}.goal-results .section-heading{margin-top:4px}.goal-current{color:#fff;background:#0b2d26;border-radius:14px;align-items:center;gap:14px;margin-bottom:14px;padding:16px 19px;display:flex}.goal-current span{text-transform:uppercase;letter-spacing:.1em;color:#7fb3a5;font-size:11px;font-weight:800}.goal-current b{font-size:14px}.goal-current small{color:#a8c7be;margin-left:auto;font-size:11px}.goal-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.goal-variant{background:#f9fcfb;border:1px solid #dce7e3;border-radius:15px;flex-direction:column;gap:14px;padding:20px;display:flex}.goal-variant.infeasible{color:#71817c;background:#f4f6f5}.goal-variant-head{align-items:center;gap:11px;display:flex}.goal-variant-head>span{color:#087c5e;background:#dff6ee;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.goal-variant.infeasible .goal-variant-head>span{color:#788781;background:#e7ebea}.goal-variant-head svg{width:18px}.goal-variant-head small{color:#0b9873;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;display:block}.goal-variant.infeasible small{color:#788781}.goal-variant h3{margin:3px 0 0;font-size:14px}.goal-variant>strong{color:#17362e;font-size:18px;line-height:1.35}.goal-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.goal-metrics div{background:#fff;border:1px solid #e1e9e6;border-radius:10px;padding:10px}.goal-metrics dt{color:#7b8e88;font-size:10px}.goal-metrics dd{color:#25443c;margin:4px 0 0;font-size:12px;font-weight:800}.goal-reason{margin:0;font-size:12px;line-height:1.5}.goal-card-actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.goal-card-actions .primary,.goal-card-actions .ghost{flex:1}.goal-comparison{margin-top:14px}.goal-comparison th:first-child,.goal-comparison td:first-child{text-align:left}.goal-preview-modal{flex-direction:column;width:min(1240px,100%);max-height:94vh;display:flex}.goal-preview-body{padding:18px;overflow:auto}.goal-preview-body>.panel{margin:0}.goal-preview-modal>.modal-actions{border-top:1px solid #e1e9e6}.goal-results .ready-notice{margin-bottom:14px}.goal-form-actions{flex-wrap:wrap}.goal-results-inline{border-top:1px solid #dce7e3;margin-top:20px;padding-top:18px}.goal-results-inline .section-heading{margin:0 0 14px}.goal-variant-description{color:#587169;margin:0;font-size:12px;line-height:1.5}.goal-variant.infeasible .goal-variant-description{color:#71817c}.goal-comparison{margin:0 0 14px}@media (width<=850px){.goal-variant-grid{grid-template-columns:1fr}.goal-current{flex-direction:column;align-items:flex-start;gap:6px}.goal-current small{margin-left:0}.goal-results .section-heading{display:block}.goal-results .section-heading .ghost{margin-top:12px}}@media (width<=520px){.goal-metrics{grid-template-columns:1fr}.goal-card-actions,.goal-form-actions{display:grid}.goal-preview-body{padding:8px}.goal-preview-modal{max-height:none}.goal-current{padding:14px}}@media (width<=620px){.goal-comparison{border:0;border-radius:0;overflow:visible}.goal-comparison table,.goal-comparison tbody,.goal-comparison tr,.goal-comparison td{width:100%;display:block}.goal-comparison table{white-space:normal;background:0 0;min-width:0}.goal-comparison thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.goal-comparison tbody{gap:10px;display:grid}.goal-comparison tr{background:#fff;border:1px solid #dce7e3;border-radius:12px;overflow:hidden}.goal-comparison td{text-align:right;white-space:normal;overflow-wrap:anywhere;grid-template-columns:minmax(104px,.85fr) minmax(0,1.15fr);align-items:start;gap:10px;padding:9px 11px;display:grid}.goal-comparison td:first-child{text-align:right;font-weight:700}.goal-comparison td:before{content:attr(data-label);color:var(--theme-muted,#6d817b);text-align:left;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.goal-comparison td:last-child{border-bottom:0}}.mobile-schedule-bar,.mobile-schedule-cards,.mobile-schedule-total{display:none}@media (width<=720px){.mobile-schedule-bar{z-index:12;background:#f8fbfa;border:1px solid #d9e6e1;border-radius:14px;margin:0 0 14px;padding:12px;display:block;position:sticky;top:0;box-shadow:0 8px 22px #10231f12}.mobile-schedule-bar span,.mobile-schedule-bar b{display:block}.mobile-schedule-bar span{text-transform:uppercase;letter-spacing:.1em;color:#6d817b;font-size:11px;font-weight:800}.mobile-schedule-bar b{color:#0b755a;margin-top:4px;font-size:18px}.mobile-quick-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.mobile-quick-actions .compact{flex:1;min-width:120px}.table-wrap:not(.force-mobile-table){display:none}.mobile-schedule-cards{gap:10px;display:grid}.mobile-schedule-table-wrap{border:0;border-radius:0;overflow:visible;display:block!important}.mobile-schedule-table-wrap table,.mobile-schedule-table-wrap tbody,.mobile-schedule-table-wrap tr,.mobile-schedule-table-wrap td{width:100%;display:block}.mobile-schedule-table-wrap table{white-space:normal;background:0 0;min-width:0}.mobile-schedule-table-wrap thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-schedule-table-wrap tbody{gap:10px;display:grid}.mobile-schedule-table-wrap tbody>tr:not(.audit-row){border:1px solid var(--theme-line,#dfe8e5);background:var(--theme-surface,#fff);border-radius:12px;overflow:hidden}.mobile-schedule-table-wrap tbody>tr:not(.audit-row)>td{text-align:right;white-space:normal;overflow-wrap:anywhere;grid-template-columns:minmax(112px,.85fr) minmax(0,1.15fr);align-items:start;gap:10px;padding:9px 11px;display:grid}.mobile-schedule-table-wrap tbody>tr:not(.audit-row)>td:before{content:attr(data-label);color:var(--theme-muted,#6d817b);text-align:left;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800}.mobile-schedule-table-wrap tbody>tr:not(.audit-row)>td:last-child{border-bottom:0}.mobile-schedule-table-wrap .schedule-cell-value{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.mobile-schedule-table-wrap .audit-spacer{display:none}.mobile-schedule-table-wrap .audit-row{display:block}.mobile-schedule-table-wrap .audit-row>td{border:0;padding:0;display:block}.schedule-card{background:#fff;border:1px solid #dfe8e5;border-radius:13px;padding:13px;scroll-margin-top:105px}.schedule-card.recalc-row{background:#f0faf6}.schedule-card>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.schedule-card>div:first-child span{color:#7a8e88;font-size:11px;font-weight:800}.schedule-card>div:first-child b{font-size:14px}.schedule-card dl{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px;display:grid}.schedule-card dl div{background:#fbfdfc;border:1px solid #edf2f0;border-radius:10px;padding:9px}.schedule-card dt{text-transform:uppercase;letter-spacing:.08em;color:#7d908a;font-size:11px}.schedule-card dd{color:#203630;margin:4px 0 0;font-size:12px;font-weight:800}.mobile-audit{margin-top:10px}.mobile-audit .audit-card dl{grid-template-columns:1fr}.force-mobile-table{display:block!important}.desktop-schedule-totals{display:none}.mobile-schedule-total{border:1px solid var(--theme-line,#dfe8e5);background:var(--theme-surface,#fff);color:var(--theme-text,#203630);border-radius:13px;margin-top:12px;padding:13px;display:block}.mobile-schedule-total>b{margin-bottom:10px;font-size:13px;display:block}.mobile-schedule-total dl{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid}.mobile-schedule-total dl div{border:1px solid var(--theme-line-soft,#edf2f0);background:var(--theme-surface-2,#fbfdfc);border-radius:10px;padding:9px}.mobile-schedule-total dt{text-transform:uppercase;letter-spacing:.08em;color:var(--theme-muted,#7d908a);font-size:11px}.mobile-schedule-total dd{margin:4px 0 0;font-size:12px;font-weight:800}.mobile-month-card>button{width:100%}.mobile-month-rows{border-top:1px solid var(--theme-line-soft,#edf2f0);gap:8px;margin-top:10px;padding-top:10px;display:grid}.mobile-month-rows .schedule-card{box-shadow:0 4px 14px #10231f0d}}.app-shell[data-theme] main,.app-shell[data-theme] .content{background:var(--theme-page)}.app-shell[data-theme] header,.app-shell[data-theme] .panel,.app-shell[data-theme] .scenario,.app-shell[data-theme] .current-debt,.app-shell[data-theme] .modal{background:var(--theme-panel);border-color:var(--theme-line);color:var(--theme-text)}.app-shell[data-theme] .field input,.app-shell[data-theme] .field select,.app-shell[data-theme] .parameter-code-area,.app-shell[data-theme] .schedule-tools input,.app-shell[data-theme] .schedule-filters input,.app-shell[data-theme] .schedule-filters select,.app-shell[data-theme] .term-control select,.app-shell[data-theme] table,.app-shell[data-theme] .event,.app-shell[data-theme] .progress-item,.app-shell[data-theme] .export-grid button,.app-shell[data-theme] .toggle-row,.app-shell[data-theme] .theme-toggle,.app-shell[data-theme] .ghost,.app-shell[data-theme] .loan-switcher,.app-shell[data-theme] .loan-switcher select,.app-shell[data-theme] .loan-switcher .icon-btn,.app-shell[data-theme] .early-summary div,.app-shell[data-theme] .next-payment-grid>div{background:var(--theme-surface)!important;border-color:var(--theme-line)!important;color:var(--theme-text)!important}.app-shell[data-theme] .table-wrap,.app-shell[data-theme] .audit-card,.app-shell[data-theme] .share-summary div,.app-shell[data-theme] .changelog-entry,.app-shell[data-theme] .onboarding-steps div,.app-shell[data-theme] .schedule-card,.app-shell[data-theme] .schedule-card dl div,.app-shell[data-theme] .rate-change-row{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-text)}.app-shell[data-theme] th,.app-shell[data-theme] .month-row,.app-shell[data-theme] .bank-schedule tfoot td{background:var(--theme-surface-2);border-color:var(--theme-line);color:var(--theme-text)}.app-shell[data-theme] td{border-color:var(--theme-line-soft)}.app-shell[data-theme] tbody tr,.app-shell[data-theme] .detail-row,.app-shell[data-theme] .audit-row td,.app-shell[data-theme] .saved-schedule tbody tr,.app-shell[data-theme] .saved-schedule tbody tr:nth-child(2n),.app-shell[data-theme] .schedule-card dl div{background:var(--theme-surface)}.app-shell[data-theme] tbody tr:nth-child(2n),.app-shell[data-theme] .saved-schedule tbody tr:nth-child(2n){background:var(--theme-soft-2)}.app-shell[data-theme] .recalc-row,.app-shell[data-theme] .schedule-card.recalc-row,.app-shell[data-theme] .generated-event{background:color-mix(in srgb,var(--theme-soft) 58%,var(--theme-surface))}.app-shell[data-theme] .current-debt.main,.app-shell[data-theme] .insight,.app-shell[data-theme] .parameter-link-confirm,.app-shell[data-theme] .modal-tip,.app-shell[data-theme] .tip,.app-shell[data-theme] .empty>span{background:linear-gradient(125deg,var(--theme-soft-2),var(--theme-soft));border-color:var(--theme-line);color:var(--theme-muted)}.app-shell[data-theme] .current-debt.main b,.app-shell[data-theme] .next-payment-panel .panel-head>b,.app-shell[data-theme] .mobile-schedule-bar b{color:var(--theme-accent-text)}.app-shell[data-theme] .scenario-icon,.app-shell[data-theme] .scenario-icon.c1,.app-shell[data-theme] .scenario-icon.c2,.app-shell[data-theme] .scenario-title em,.app-shell[data-theme] .progress-panel .panel-head b,.app-shell[data-theme] .early-counter,.app-shell[data-theme] .date-tile,.app-shell[data-theme] .event-badge,.app-shell[data-theme] .event-badge.rule,.app-shell[data-theme] .generated-note,.app-shell[data-theme] .saved-period-head b,.app-shell[data-theme] .onboarding-steps b,.app-shell[data-theme] .audit-toggle,.app-shell[data-theme] .export-icon,.app-shell[data-theme] .export-icon.green,.app-shell[data-theme] .export-icon.emerald,.app-shell[data-theme] .export-icon.violet,.app-shell[data-theme] .export-icon.amber,.app-shell[data-theme] .export-icon.import,.app-shell[data-theme] .export-icon.link{background:var(--theme-soft);border:1px solid var(--theme-line);color:var(--theme-accent-text)}.app-shell[data-theme] .milestone-list span{background:var(--theme-surface);border-color:var(--theme-line);color:var(--theme-muted)}.app-shell[data-theme] .milestone-list .done,.app-shell[data-theme] .import-status.success{background:var(--theme-success-bg);border-color:var(--theme-success-line);color:var(--theme-success-text)}.app-shell[data-theme] .saved-schedule tfoot td,.app-shell[data-theme] .saved-period-note,.app-shell[data-theme] .alert,.app-shell[data-theme] .import-status.error,.app-shell[data-theme] .inline-error{background:var(--theme-warning-bg);border-color:var(--theme-warning-line);color:var(--theme-warning-text)}.app-shell[data-theme] .inline-error{background:0 0}.app-shell[data-theme] .rate-change-row .icon-btn{color:var(--theme-warning-text)}.app-shell[data-theme] .progress-item i{background:var(--theme-surface-2)}.app-shell[data-theme] .scenario-stats,.app-shell[data-theme] .modal-head,.app-shell[data-theme] .settings-layout .panel-head,.app-shell[data-theme] .audit-card div{border-color:var(--theme-line-soft)}.app-shell[data-theme] .changelog-entry{border-left-color:var(--theme-accent)}.app-shell[data-theme] .eyebrow,.app-shell[data-theme] .section-heading .eyebrow,.app-shell[data-theme] .modal-head .eyebrow,.app-shell[data-theme] .changelog-entry .eyebrow,.app-shell[data-theme] .load-more,.app-shell[data-theme] .tip svg,.app-shell[data-theme] .modal-tip svg{color:var(--theme-accent)}.app-shell[data-theme] .with-suffix i,.app-shell[data-theme] .toggle-row span,.app-shell[data-theme] .scenario>b small,.app-shell[data-theme] .scenario-stats i,.app-shell[data-theme] .chart-legend,.app-shell[data-theme] .event>div:nth-child(2)>span,.app-shell[data-theme] .event>div:nth-child(2)>small,.app-shell[data-theme] .empty p,.app-shell[data-theme] .panel-head p,.app-shell[data-theme] .field>span,.app-shell[data-theme] .current-debt span,.app-shell[data-theme] .current-debt small,.app-shell[data-theme] .progress-item span,.app-shell[data-theme] .schedule-filters label>span,.app-shell[data-theme] .share-summary dt,.app-shell[data-theme] .audit-card dt,.app-shell[data-theme] .schedule-card dt,.app-shell[data-theme] .schedule-card>div:first-child span,.app-shell[data-theme] .changelog-entry ul,.app-shell[data-theme] .whats-new-list,.app-shell[data-theme] .saved-period-head p,.app-shell[data-theme] .share-warning,.app-shell[data-theme] .onboarding-steps span,.app-shell[data-theme] .accent-picker span,.app-shell[data-theme] .loan-switcher span,.app-shell[data-theme] .next-payment-grid span,.app-shell[data-theme] .next-payment-grid small{color:var(--theme-muted)}.app-shell[data-theme] .scenario-stats strong,.app-shell[data-theme] .scenario-title,.app-shell[data-theme] .event>div:nth-child(2)>b,.app-shell[data-theme] .toggle-row b,.app-shell[data-theme] .share-summary dd,.app-shell[data-theme] .changelog-entry h4,.app-shell[data-theme] .audit-card>b,.app-shell[data-theme] .audit-card dd,.app-shell[data-theme] .schedule-card dd,.app-shell[data-theme] .schedule-card>div:first-child b,.app-shell[data-theme] .early-summary b,.app-shell[data-theme] .next-payment-grid b{color:var(--theme-text)}.app-shell[data-theme] .primary{background:var(--theme-accent);color:var(--theme-accent-contrast);box-shadow:0 5px 14px color-mix(in srgb,var(--theme-accent) 22%,transparent)}.app-shell[data-theme] .primary:hover,.app-shell[data-theme] .theme-toggle:hover{background:color-mix(in srgb,var(--theme-accent) 86%,var(--theme-text));color:var(--theme-accent-contrast)}.app-shell[data-theme] .date-tile b,.app-shell[data-theme] .date-tile span{color:inherit}.app-shell[data-theme] .audit-toggle:hover,.app-shell[data-theme] .danger:hover{background:var(--theme-surface-2)}.app-shell[data-theme] .toggle-payment{color:var(--theme-accent-text)}.app-shell[data-theme] .toggle-payment.is-off{background:var(--theme-surface-2);color:var(--theme-muted)}.app-shell[data-theme] .field-help summary{background:var(--theme-soft);color:var(--theme-accent-text)}.app-shell[data-theme] .field-help[open] summary{background:var(--theme-accent);color:var(--theme-accent-contrast)}.app-shell[data-theme] .field-help p{background:var(--theme-soft-2);border-color:var(--theme-line);color:var(--theme-muted);box-shadow:0 12px 28px color-mix(in srgb,var(--theme-text) 12%,transparent)}@media (width<=720px){.app-shell[data-theme] .mobile-schedule-bar{background:var(--theme-panel);border-color:var(--theme-line);box-shadow:0 8px 22px color-mix(in srgb,var(--theme-text) 12%,transparent)}.app-shell[data-theme] .mobile-schedule-bar span{color:var(--theme-muted)}}@media print{@page{size:A4 portrait;margin:11mm 9mm}body{color:#172722;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.app-shell{min-height:0;display:block!important}.app-shell>.sidebar,.app-shell>main,.modal-backdrop{display:none!important}.print-report{color:#172722;font-family:Arial,sans-serif;font-size:8pt;display:block!important}.print-title{border-bottom:2px solid var(--green);justify-content:space-between;align-items:flex-start;margin-bottom:5mm;padding-bottom:6mm;display:flex}.print-title span{text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-size:8pt;font-weight:700}.print-title h1{margin:2mm 0 1mm;font-size:20pt}.print-title p{color:#687b75;margin:0}.print-title .print-brand-mark{border-radius:3mm;width:14mm;height:14mm}.print-summary{grid-template-columns:repeat(4,1fr);gap:3mm;margin-bottom:6mm;display:grid}.print-summary div{border:1px solid #d8e2df;border-radius:2mm;padding:3mm}.print-summary span,.print-summary b{display:block}.print-summary span{color:#6f817c;margin-bottom:1.5mm;font-size:7pt}.print-summary b{font-size:10pt}.print-report h2{border-bottom:1px solid #dce5e2;margin:5mm 0 2mm;padding-bottom:1.5mm;font-size:11pt}.print-params{grid-template-columns:repeat(3,1fr);gap:2mm 5mm;margin:0;display:grid}.print-params div{border-bottom:1px dotted #ccd8d4;justify-content:space-between;padding:1.4mm 0;display:flex}.print-params dt{color:#6b7d77}.print-params dd{text-align:right;margin:0;font-weight:700}.print-report table{border-collapse:collapse;white-space:nowrap;width:100%}.print-report th,.print-report td{text-align:right;border:1px solid #dce5e2;padding:1.5mm 1.2mm;font-size:7pt}.print-report th{color:#40554e;background:#edf5f2;font-size:6.5pt}.print-report th:first-child,.print-report td:first-child{text-align:left}.print-comparison .chosen{background:#e6f5f0;font-weight:700}.print-event{background:#eef8f4}.print-disabled{color:#667085;text-decoration:line-through}.print-muted{color:#6f817c}.page-break{break-before:page}.print-schedule thead{display:table-header-group}.print-schedule tr{break-inside:avoid}.print-report footer{color:#6f817c;border-top:1px solid #dce5e2;margin-top:5mm;padding-top:3mm;font-size:6.5pt}.print-stale-warning{color:#74460f;background:#fff7ed;border:1px solid #f0c48b;padding:7mm}.print-stale-warning h2{border:0;margin-top:0}.print-stale-warning p{margin:0;font-size:10pt;line-height:1.5}}
