:root{--ink:#1b2e2a;--muted:#4d625a;--dark:#102a26;--green:#21684f;--mint:#d8eee2;--line:#dce6de;--paper:#fff;--bg:#f4f7f2;--gold:#8b530d;--red:#9b3533;--shadow:0 10px 35px #102a2609;font-family:"Arial","Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #448c72;outline-offset:3px}button:disabled{cursor:default;opacity:.5}a{color:#21684f}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}
.mast{background:var(--dark);color:white;border-bottom:1px solid #315148}.mast-inner,.brand,.mast-actions,.actions,.intro,.section-head{display:flex;align-items:center;gap:12px}.mast-inner{justify-content:space-between;min-height:69px}.brand strong{font-size:18px;display:block}.brand small{display:block;color:#b9d2c6;font-size:12px;margin-top:3px}.mark{background:#294e41;width:39px;height:39px;display:grid;place-items:center;border-radius:12px}.mark svg{width:24px;fill:none;stroke:#d7f1dd;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.status{font-size:12px;color:#d7e7de;white-space:nowrap}.status i{display:inline-block;background:#f2be72;width:7px;height:7px;border-radius:50%;margin-inline-end:5px}
.button{border:1px solid transparent;border-radius:9px;padding:9px 14px;font-weight:bold;line-height:1.25;background:#e9f2eb;color:#193d31;min-height:37px}.button:hover{filter:brightness(.96)}.main-action{background:#d6eadc;color:#16392c}.primary{background:#23634e;color:#fff}.outline{background:var(--paper);border-color:#cddbd0;color:#224d3d}.ghost,.icon-button{background:transparent;border:0;color:var(--green);font-weight:bold;padding:6px 8px}.icon-button{font-size:26px;line-height:1}.danger{color:var(--red)}
.intro{justify-content:space-between;padding:33px 0 19px}.eyebrow{font-size:13px;color:var(--green);font-weight:bold;margin:0 0 7px}h1{font-size:clamp(28px,4vw,45px);letter-spacing:-.035em;margin:0 0 8px}h2{font-size:20px;margin:0}h3{font-size:16px;margin:0 0 8px}p{line-height:1.55}.intro p:not(.eyebrow),.muted{color:var(--muted);margin:0}.tabs{display:flex;gap:6px;overflow:auto;border-bottom:1px solid #cddbd0;margin-bottom:22px}.tabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:11px 12px;color:var(--muted);white-space:nowrap}.tabs button.active{border-color:#267255;font-weight:bold;color:#194c3a}
.cards,.two,.scenario-cards{display:grid;gap:13px}.cards{grid-template-columns:repeat(4,1fr);margin-bottom:15px}.scenario-cards{grid-template-columns:repeat(3,1fr);margin:14px 0}.two{grid-template-columns:1.25fr 1fr;margin-top:14px;align-items:start}.card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:0}.card{padding:16px}.card small{color:var(--muted);display:block;line-height:1.5}.card .value{display:block;font-size:clamp(20px,3vw,30px);margin:6px 0;white-space:nowrap}.card.accent{background:#dfefe4;border-color:#c6e2cf}.negative{color:var(--red)}.panel{padding:18px;margin-bottom:14px}.section-head{justify-content:space-between;margin-bottom:12px;flex-wrap:wrap}.section-head .muted{margin-top:5px}.callout{background:#fff6e9;color:#694514;padding:10px 12px;border:1px solid #efdfbe;border-radius:9px;margin:0 0 14px;font-size:13px}.callout.info{background:#eaf3ec;color:#2d5345;border-color:#d3e5d8}.line-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.line-item:last-child{border-bottom:0}.line-item small{display:block;color:var(--muted);margin-top:4px}.line-item b{white-space:nowrap}
.chart{margin:12px 0 4px}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:Arial,sans-serif;font-size:11px;fill:#50645b}.chart .axis{stroke:#dde8df;stroke-width:1}.chart .line{stroke:#236b50;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart .area{fill:#e2f1e6}.chart .pin{stroke:#7a9e89;stroke-dasharray:4 4}.chart .dot{fill:#1f604a;stroke:#fff;stroke-width:2}
.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:14px;text-align:start;white-space:nowrap}th,td{text-align:start;padding:9px 8px;border-bottom:1px solid var(--line)}th{background:#eff5ee;color:#3a564a;font-size:12px}td.num,th.num{text-align:end}tbody tr:last-child td{border-bottom:0}.money{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;display:inline-block}.tag{display:inline-block;color:#3d5748;background:#edf3ec;border-radius:20px;font-size:11px;padding:4px 7px}.tag.warn{background:#fff1d9;color:#754d18}.tag.manual{background:#e1f0e8;color:#285642}
.toolbar,.form-grid,.scenario-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar{margin:0 0 10px}.toolbar input,.toolbar select{min-width:125px}.pager{display:flex;justify-content:center;align-items:center;gap:12px;padding-top:12px}.scenario-controls label{min-width:160px}.field{display:grid;gap:5px;min-width:0}.field label,.scenario-controls label{font-size:13px;font-weight:bold}.field input,.field select,.toolbar input,.toolbar select,.scenario-controls input{min-height:37px;padding:7px 9px;background:#fff;border:1px solid #bdcfc1;border-radius:7px;color:var(--ink)}.check{display:flex;align-items:center;gap:7px;padding:7px 0}.check input{width:17px;height:17px;accent-color:var(--green)}.empty{border:1px dashed #b6cab9;border-radius:10px;color:var(--muted);text-align:center;padding:28px 12px}.empty h3{color:var(--ink)}.empty p{margin:5px 0 12px}.details{margin-top:15px}.details summary{cursor:pointer;font-weight:bold;color:var(--green);margin-bottom:8px}.footer{display:flex;justify-content:space-between;gap:12px;padding:15px 0 23px;color:var(--muted);font-size:12px;border-top:1px solid var(--line);margin-top:16px}
dialog{border:1px solid var(--line);border-radius:14px;width:min(520px,calc(100% - 25px));padding:18px;color:var(--ink)}dialog::backdrop{background:#102a2670}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.form-grid .field{flex:1 1 42%}.error{color:var(--red);font-size:13px}.notice{position:fixed;bottom:20px;inset-inline-start:20px;max-width:calc(100% - 40px);background:var(--dark);color:white;border-radius:8px;padding:10px 14px;z-index:2}.notice:empty{display:none}
@media(max-width:800px){.cards{grid-template-columns:repeat(2,1fr)}.two{grid-template-columns:1fr}.wrap{width:calc(100% - 26px)}.intro{padding-top:23px}.panel{padding:13px}}
@media(max-width:490px){.status{display:none}.intro{align-items:flex-start}.intro .button{padding:7px 8px;font-size:12px}.cards,.scenario-cards{gap:7px}.scenario-cards{grid-template-columns:1fr 1fr}.card{padding:10px}.card small{font-size:11px}.panel h2{font-size:17px}.footer{font-size:11px}.tabs button{padding-inline:8px}.form-grid .field{flex-basis:100%}}
:root{--ink:#263a46;--muted:#526672;--dark:#263a46;--green:#285d73;--mint:#e6eff5;--line:#e1e7e9;--paper:#fffefa;--bg:#faf8f3;--shadow:0 10px 30px #263a4607}
.mast{background:#fffefa;color:var(--ink);border-color:#e7e5df}.brand small,.status{color:var(--muted)}.mark{background:#e4eef4}.mark svg{stroke:#386c85}.status i{background:#b98647}.main-action,.button{background:#e9f0f5;color:#264b5f}.button.primary{background:#35677d;color:#fff}.button.outline{background:#fffefa;border-color:#d6e0e5;color:#31596c}.tabs{border-color:#e0e4e3}.tabs button.active{border-color:#578297;color:#285d73}.card.accent{background:#edf3f7;border-color:#d8e6ee}.callout.info{background:#eef4f8;color:#355364;border-color:#dde8ef}th{background:#f0f3f5;color:#405c6a}.empty{border-color:#cad8df}.field input,.field select,.toolbar input,.toolbar select,.scenario-controls input{border-color:#c8d7df}.chart .axis{stroke:#e2e9ec}.chart .area{fill:#e5eff6}.chart .line{stroke:#3c7490}.chart .comparison{stroke:#916942;stroke-width:2;fill:none;stroke-dasharray:7 5}.chart .pin{stroke:#7c97a4}.chart .dot{fill:#3c7490}.saved-plans{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.loan-switch{display:flex;align-items:center;gap:6px}.loan-switch input{accent-color:#35677d;width:17px;height:17px}.chart-controls,.legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.chart-controls{justify-content:space-between}.legend span{display:flex;align-items:center;gap:6px}.legend span::before{content:"";display:block;width:25px;border-top:2px solid #3c7490}.legend span:first-child::before{border-top:2px dashed #916942}.chart-controls select{background:#fffefa;color:var(--ink);border:1px solid #c8d7df;border-radius:6px;padding:6px}.notice{background:#e5eef4;color:#254456;border:1px solid #cddce4}
