:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#15243b;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{max-width:1150px;margin:auto;padding:0 22px}header{display:flex;justify-content:space-between;align-items:center;padding:23px 0;border-bottom:1px solid #e4e9f0}.brand{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.11em;font-size:19px}.brand small{display:block;font-size:8px;letter-spacing:.2em;color:#8a97a9;margin-top:3px}.mark{display:grid;place-items:center;background:#142c49;color:#66ecb8;border-radius:13px;width:42px;height:42px;font-size:28px}.right{display:flex;gap:16px;align-items:center}.sync{font-size:12px;color:#1e9e75}.ghost,.link{border:none;background:none;color:#274e71;cursor:pointer;font:inherit}.center{max-width:490px;margin:9vh auto}.panel{background:#fff;border:1px solid #e8edf3;padding:27px;border-radius:22px;box-shadow:0 9px 32px #263c5c08;margin-bottom:20px}.panel h1{font-size:38px;letter-spacing:-1.7px;line-height:1.14;margin:5px 0 20px}.panel h1 em{font-style:normal;color:#1ca77f}.panel h2{font-size:21px;margin:7px 0 20px;letter-spacing:-.5px}.eyebrow{color:#1ca77f;letter-spacing:.17em;font-size:10px;font-weight:800}.muted{color:#7a8799;font-size:13px;line-height:1.6}.message{min-height:20px;color:#b15146;font-size:13px}.row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.topline{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:31px 0 22px}.topline h1{margin:7px 0;font-size:clamp(27px,4vw,43px);letter-spacing:-1.5px}.dot{color:#25ba91}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:#3d4e63;margin-bottom:14px}input,select{border:1px solid #dce4ed;background:#f9fbfd;border-radius:11px;padding:13px 12px;color:#1c3048;font:inherit;width:100%;min-width:0}input:focus,select:focus{outline:2px solid #6ad8ba}button{font:inherit;cursor:pointer}.primary,.secondary{background:#163652;color:#fff;border:none;border-radius:12px;padding:13px 17px;font-size:13px;font-weight:800}.secondary{background:#e9f3f0;color:#176e58}.primary:hover{background:#245776}.compact{min-width:175px}#tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:24px;padding-bottom:7px}#tabs button{border:0;background:none;padding:12px 15px;border-radius:12px;color:#78879a;font-size:13px;font-weight:700;white-space:nowrap}#tabs button.active{background:#153450;color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.metrics.three{grid-template-columns:repeat(3,1fr)}.metric{padding:21px 20px;background:white;border:1px solid #e6ecf2;border-radius:18px;min-width:0}.metric div{color:#7e8da1;font-size:10px;font-weight:900;letter-spacing:.08em}.metric strong{display:block;font-size:clamp(22px,2.5vw,31px);letter-spacing:-1.3px;white-space:nowrap;margin:14px 0 9px}.metric small{display:block;color:#8996a6;font-size:11px;line-height:1.5}.metric.featured{background:#153650;color:white}.metric.featured div,.metric.featured small{color:#b6ccdc}.metric.featured strong{color:#7df1c4}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.line{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #edf1f4;padding:12px 0;font-size:13px}.line strong{white-space:nowrap}.neg{color:#e16d66}.budgetitem{margin:13px 0}.budgetitem .line{border:0;padding:5px 0}.budgetitem small{color:#8994a1;font-size:11px}.progress{height:6px;background:#edf1f5;border-radius:20px;overflow:hidden;margin:5px 0}.progress i{display:block;height:100%;border-radius:20px}.trend{display:flex;align-items:end;gap:8px;height:215px;padding:20px 0 0;position:relative}.trendcol{flex:1;min-width:0;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:end;gap:6px}.bars{height:160px;display:flex;align-items:end;justify-content:center;gap:2px}.bars i,.bars b{width:35%;max-width:16px;display:block;border-radius:5px 5px 0 0;background:#1fbd91;min-height:0}.bars b{background:#263e5c}.trendcol small{color:#9ba5b2;font-size:10px}.legend{position:absolute;right:0;top:0;display:flex;gap:12px;font-size:10px;color:#728199}.legend span:first-child{color:#1fbd91}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 15px}.formgrid .wide{grid-column:1/-1}.formgrid p{margin:0 0 8px}.sectionhead{display:flex;justify-content:space-between;align-items:center}.entry,.debtrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf1f4}.entry strong,.debtrow strong{font-size:13px}.entry small,.debtrow small{display:block;color:#91a0b0;font-size:11px;margin-top:5px}.entryright{display:flex;align-items:center;gap:10px}.delete{border:none;background:#fff0ed;color:#b65b50;border-radius:8px;padding:5px 10px}.mini{border:0;background:#edf7f4;color:#16886c;border-radius:6px;padding:5px 8px;margin-left:6px}.budgetline span:last-child{text-align:right}.actionrow{margin:20px 0}.status{font-size:12px;color:#15936f;min-height:30px}.status.error{color:#b74747}footer{border-top:1px solid #e6edf1;color:#97a4b1;padding:22px 0 35px;font-size:11px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}[hidden]{display:none!important}@media(max-width:800px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.metrics.three{grid-template-columns:1fr 1fr}.topline{align-items:start;flex-wrap:wrap}.shell{padding:0 15px}.panel{padding:20px}.metric{padding:16px}.metric strong{font-size:23px}}@media(max-width:420px){.metrics.three{grid-template-columns:1fr}.metric strong{font-size:21px}.sync{display:none}.formgrid{grid-template-columns:1fr}.formgrid .wide{grid-column:1}.topline h1{font-size:29px}.trend{gap:3px}.line{font-size:11px}.debtrow{align-items:start}}

/* Mortgage Freedom Planner: touch friendly controls and clear financial hierarchy */
.mortgage-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 18px}.mortgage-heading h2{font-size:clamp(25px,4vw,36px);letter-spacing:-1px;margin:5px 0}.pill{background:#e6f6ef;color:#176c52;border-radius:99px;padding:9px 13px;font-size:11px;font-weight:800;white-space:nowrap}.mortgage-nav{display:flex;gap:7px;background:#e8eef3;padding:6px;border-radius:16px;margin-bottom:20px;width:fit-content;max-width:100%}.mortgage-nav button{border:0;background:transparent;padding:13px 18px;border-radius:12px;color:#526579;font-weight:800;white-space:nowrap}.mortgage-nav button.active{background:#fff;color:#18364f;box-shadow:0 3px 12px #172b4414}.mortgage-hero{border-radius:22px;background:linear-gradient(115deg,#123c50,#155a55);color:white;padding:27px;margin-bottom:16px}.mortgage-hero>.eyebrow{color:#a5e7d6}.mortgage-hero>strong{font-size:clamp(30px,6vw,49px);font-weight:850;letter-spacing:-2px;display:block;margin:14px 0}.mortgage-hero .line{color:#d2e6e6}.no-border{border:0}.mortgage-progress{height:11px;background:#ffffff3d}.mortgage-progress i{background:#57e3b1}.mortgage-form{display:flex;flex-direction:column}.mortgage-form label{font-size:13px}.mortgage-form input{font-size:17px;padding:15px}.mortgage-form .helper{font-size:11px;color:#8694a3;font-weight:400}.principal-preview{padding:15px;background:#e9f7f1;border-radius:12px;color:#247660;font-size:13px;margin-bottom:15px}.mortgage-form .primary{padding:16px;font-size:15px}.quick-amounts{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 22px}.quick-amounts button{border:1px solid #d6e5e3;border-radius:11px;padding:12px 17px;color:#246653;background:#eaf6f1;font-weight:800}.quick-amounts button.active{background:#153c4b;color:white}.mortgage-subview input[type=range]{accent-color:#1c9b7a;padding:0;margin:3px 0;width:100%}.mortgage-subview .metrics{margin-top:16px}.mortgage-subview .metrics strong{white-space:normal}.mortgage-subview .entryright button{min-height:33px}@media(max-width:600px){.mortgage-heading{align-items:flex-start;flex-direction:column}.mortgage-nav{width:100%}.mortgage-nav button{flex:1;padding:12px 8px;font-size:12px}.mortgage-hero{padding:22px}.mortgage-hero>.line{font-size:11px}.mortgage-subview .metrics.three{grid-template-columns:repeat(2,minmax(0,1fr))}.mortgage-subview .metrics.three .metric:first-child{grid-column:1/-1}}

/* Usability refinements */
.schedule-wrap{max-height:540px;overflow:auto;border:1px solid #e8edf3;border-radius:14px}.schedule-head,.schedule-line{display:grid;grid-template-columns:1fr .7fr 1.2fr;gap:8px;align-items:center;padding:13px 15px;border-bottom:1px solid #edf1f4;font-size:13px}.schedule-head{position:sticky;top:0;background:#e9f2f5;color:#506277;font-weight:800;font-size:11px}.schedule-head>:not(:first-child),.schedule-line>:not(:first-child){text-align:right}.schedule-line strong:last-child{color:#177d66}.schedule-line:nth-child(odd){background:#f9fbfc}.budgetline{flex-wrap:wrap}.budgetline>span:last-child{line-height:1.8}.budgetline .mini{padding:9px 14px}.helper{color:#74839a;font-size:11px;font-weight:400}.formgrid .secondary{align-self:end}@media(max-width:540px){.schedule-head,.schedule-line{font-size:11px;padding:12px 9px}.schedule-line strong{white-space:nowrap}.budgetline>span:last-child{text-align:left}}

/* Finance overview refinements */
.overview-intro{margin-bottom:16px}.budget-note{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);border-radius:14px;padding:15px;margin:12px 0 20px}.budget-note strong{display:block;margin-bottom:6px}.budget-note p{margin:0}.metrics .metric strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metrics{align-items:stretch}@media(max-width:680px){.metrics .metric{min-width:0}.metrics .metric strong{font-size:clamp(1.15rem,5vw,1.65rem)}}
