:root{font-family:system-ui,sans-serif;color:#173e39;background:#f4f3ed;font-size:15px}*{box-sizing:border-box}body{margin:0;display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#173e39;color:#f5f3e9;padding:35px 25px;display:flex;flex-direction:column}.brand{font-family:Georgia,serif;font-size:52px}.brand span{color:#c6dd8d}aside h2{font-size:19px;margin:14px 0 0}aside p{color:#b8c9be;font-size:13px}nav{display:grid;gap:8px;margin-top:38px}nav button{text-align:left;background:transparent;color:#dbe4dc;border:0;padding:13px}nav button.active{background:#31564e;color:white}aside small{margin-top:auto;padding-top:80px;font-size:10px;line-height:2;color:#aec1b8}main{padding:45px 5vw;min-width:0}header{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:35px}.eyebrow{font-size:10px;letter-spacing:2px}h1{font-family:Georgia,serif;font-size:34px;font-weight:normal}h2{font-weight:500}label{display:grid;gap:7px;font-size:12px}input,select,textarea{padding:11px;border:1px solid #cbd3c9;border-radius:6px;background:#fff;color:#173e39;min-width:0;font:inherit}textarea{min-height:140px}button,.link{border:0;border-radius:6px;background:#173e39;color:white;padding:12px 18px;cursor:pointer;font:inherit;text-decoration:none}button:hover{filter:brightness(1.2)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #b58738;outline-offset:3px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0}.card,.panel{background:#fff;border:1px solid #e0e4da;border-radius:12px;padding:24px;margin-bottom:20px}.card{margin:0}.card strong{display:block;font:32px Georgia,serif;margin:15px 0}.card:first-child{background:#e7edd9}.muted{color:#62736a;font-size:13px;line-height:1.7}.negative{color:#a24331}form{display:grid;gap:16px}.row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:end}.row button{align-self:end}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#697a6d}th,td{padding:15px 10px;border-bottom:1px solid #e8ebe3;white-space:nowrap}td input{width:110px}.tag{font-size:10px;text-transform:uppercase;color:#6b7c62}.toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:20px}#message:not(:empty){padding:14px;background:#fae6d5;margin-bottom:20px;border-radius:6px}.login{max-width:440px;margin:40px auto}.small{padding:7px 10px;font-size:12px}details{margin:20px 0}summary{cursor:pointer;font-weight:600}.empty{padding:30px 0;color:#697a6d}a{color:#315b42}@media(max-width:850px){body{grid-template-columns:1fr}aside{padding:18px 25px}aside .brand,aside p,aside small{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap}main{padding:25px}header{align-items:start}h1{font-size:27px}.cards{grid-template-columns:1fr}.row{grid-template-columns:1fr}}@media(max-width:480px){header{display:block}header label{max-width:180px}.toolbar{align-items:start;flex-direction:column}}
/* A crisp, budget-first visual language with Money on Paper branding. */
:root{color:#243f32;background:#f4f8f6}aside{background:#153f2e;color:#fff}aside p,aside small{color:#b9d5c6}.brand span{color:#66d69c}nav button.active{background:#285e45}button,.link{background:#247e52}input,select,textarea{color:#243f32;border-color:#ceded5}.card:first-child{background:#eaf7ef}.card,.panel{border-color:#e0eae4}h1{font-family:system-ui,sans-serif;font-size:30px;font-weight:650}.card strong{font-family:system-ui,sans-serif;font-size:30px;font-weight:650}.muted,.empty{color:#647c6e}.tag{color:#477e60}th,td{border-bottom-color:#e8f0eb}th{color:#647c6e}
dialog{max-width:440px;width:calc(100% - 40px);border:1px solid #ceded5;border-radius:12px;padding:25px;color:#243f32}dialog::backdrop{background:#153f2e80}
aside{min-width:0}@media(max-width:850px){body{grid-template-columns:minmax(0,1fr)}h1{font-size:27px}.toolbar>div{min-width:0}.scroll{max-width:100%}nav{max-width:100%;flex-shrink:0}nav button{flex-shrink:0}}

/* Grouped budget and transaction rail. */
body:has(.budget-layout) main{padding:28px 3vw}body:has(.budget-layout) header{margin-bottom:22px;border-bottom:1px solid #dce8e0;padding-bottom:20px}body:has(.budget-layout) header .eyebrow,body:has(.budget-layout) header h1{display:none}.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.budget-main{min-width:0}.budget-status{background:white;border-radius:14px;padding:16px;text-align:center;margin-bottom:22px;box-shadow:0 5px 14px #173e3908}.budget-group{background:white;border-radius:16px;padding:24px;margin-bottom:22px;border:1px solid #eaf0ec}.budget-group-heading,.budget-line-main,.budget-group-footer{display:grid;grid-template-columns:minmax(0,1fr) 120px 115px;align-items:center;gap:12px}.budget-group-heading h2{font-size:16px;font-weight:700;margin:0}.budget-group-heading>span{font-size:12px;text-align:right;color:#65776c}.budget-line{padding:20px 0 4px}.category-label{padding:0;background:none;color:inherit;text-align:left;overflow-wrap:anywhere}.category-label small{display:block;font-size:12px;color:#718578;line-height:1.5;margin-top:5px}.plan-cell{display:flex;align-items:center;justify-content:flex-end;color:#247e52}.plan-cell input{width:100%;text-align:right;padding:6px 0;border:0;background:transparent;color:#247e52;border-bottom:1px solid transparent;font-size:15px}.plan-cell input:focus{border-bottom-color:#247e52;outline:none}.plan-cell input::-webkit-inner-spin-button{appearance:none}.budget-actual{background:none;color:inherit;text-align:right;padding:6px 0;font-variant-numeric:tabular-nums}.budget-actual.negative{color:#a24331}.budget-line progress{appearance:none;width:100%;height:4px;border:0;display:block;margin-top:12px;border-radius:4px;background:#e3e9e5}.budget-line progress::-webkit-progress-bar{background:#e3e9e5;border-radius:4px}.budget-line progress::-webkit-progress-value{background:#2b8157;border-radius:4px}.budget-line progress::-moz-progress-bar{background:#2b8157}.budget-group-footer{padding-top:20px}.budget-group-footer strong{font-size:13px;text-align:right}.text-button{background:none;color:#247e52;text-align:left;padding:6px 0;font-weight:600}.budget-activity{position:sticky;top:24px;background:white;border:1px solid #eaf0ec;border-radius:16px;padding:22px}.activity-heading{display:flex;align-items:center;justify-content:space-between}.activity-heading h2{font-size:17px;font-weight:650}.activity-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:17px 0;border-bottom:1px solid #e6eee9;font-size:13px}.activity-row strong{display:block;overflow-wrap:anywhere}.activity-row small{display:block;color:#718578;margin-top:4px}.activity-date{border:1px solid #c6d9cd;border-radius:50%;padding:6px;text-align:center;color:#247e52}.income-value{color:#247e52}.budget-totals{display:grid;gap:14px;margin-top:25px;font-size:12px}.budget-totals span{display:flex;justify-content:space-between;gap:10px}@media(max-width:1200px){.budget-layout{grid-template-columns:minmax(0,1fr)}.budget-activity{position:static}.budget-group-heading,.budget-line-main,.budget-group-footer{grid-template-columns:minmax(0,1fr) 110px 100px}}@media(max-width:480px){.budget-group{padding:18px 14px}.budget-group-heading,.budget-line-main,.budget-group-footer{grid-template-columns:minmax(0,1fr) 85px 85px;gap:8px}.category-label,.plan-cell input,.budget-actual{font-size:13px}.budget-group-heading>span{font-size:11px}}

aside{overflow-y:auto}nav{gap:2px}nav button{padding-top:10px;padding-bottom:10px}td small{display:block;color:var(--muted)}progress{max-width:100%}dialog{max-height:85vh;overflow-y:auto}

/* Insights retain the green budget language and expose exact numbers alongside charts. */
body:has(.insight-heading) header>div{display:none}body:has(.insight-heading) header{justify-content:flex-end;margin-bottom:20px}body:has(.insight-heading) main{padding:28px 3vw}.insight-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.insight-heading h2{font-size:32px;font-weight:650;letter-spacing:-.8px;margin:8px 0}.insight-heading .muted{margin:0}.insight-heading>button{white-space:nowrap}.insight-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.insight-metrics.three{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-card{background:white;border:1px solid #e0eae4;border-radius:14px;padding:22px;min-width:0}.insight-card:first-child{background:#e6f2eb}.insight-card>span{font-size:13px;color:#5f7569}.insight-card strong{font-size:clamp(19px,2.1vw,31px);letter-spacing:-.8px;display:block;margin:13px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.insight-card small{display:block;font-size:11px;line-height:1.6;color:#657b6e}.insight-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px}.insight-grid .panel{min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h3{margin:0}.insight-empty{background:#eaf4ee;border:1px dashed #b5cebd;border-radius:14px;padding:24px}.insight-empty p{font-size:14px;color:#5f7569}.trend-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin-top:18px}.trend-column{background:none;color:#607969;padding:0;min-width:0;border-radius:4px}.trend-column:hover{background:#eff6f1;filter:none}.trend-column svg{display:block;width:100%;height:155px}.trend-column small{font-size:9px;display:block;white-space:nowrap}.chart-note{font-size:11px;color:#6c8075;line-height:1.6}.summary-line{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #e7eee9;font-size:14px}.summary-line span{min-width:0;overflow-wrap:anywhere}.summary-line small{display:block;color:#718578;font-size:11px;margin-top:5px}.summary-line strong{white-space:nowrap;font-size:14px}.insight-alert{border-left:3px solid #c38453;padding:8px 12px;background:#fff7ee;font-size:14px;line-height:1.6}.insight-method{color:#657b6e;font-size:12px;line-height:1.8;padding:10px}.insight-controls{display:flex;align-items:end;gap:20px}.insight-controls label{min-width:180px}.category-breakdown{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;background:none;color:inherit;padding:16px 0;text-align:left;border-bottom:1px solid #e7eee9;border-radius:0}.category-breakdown small{display:block;font-size:11px;color:#718578;margin-top:4px}.category-breakdown progress{grid-column:1/-1;width:100%;height:5px;accent-color:#247e52}.category-breakdown strong{font-size:14px}.balance-chart{width:100%;height:auto;display:block}.balance-chart text{font-family:system-ui,sans-serif;font-size:12px;fill:#657b6e}.check-label{display:flex;align-items:center;gap:10px;font-size:14px;padding:15px 0}.check-label input{accent-color:#247e52;width:18px;height:18px}.wide-dialog{max-width:760px}#content[aria-busy=true]{opacity:.65;pointer-events:none}.insight-heading+.panel{margin-top:20px}@media(max-width:1200px){.insight-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid{grid-template-columns:minmax(0,1fr)}.insight-card strong{font-size:26px}}@media(max-width:600px){.insight-heading{display:block}.insight-heading h2{font-size:27px}.insight-heading>button{margin-top:16px}.insight-metrics,.insight-metrics.three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.insight-card{padding:16px}.insight-card strong{font-size:21px}.insight-controls{display:block}.insight-controls label{margin-bottom:12px}.section-head{display:block}.trend-column svg{height:120px}.trend-column small{font-size:8px;white-space:normal}.insight-grid .panel{padding:18px}.summary-line{gap:10px}.insight-metrics.three .insight-card:last-child{grid-column:1/-1}}
/* Debt plan metadata remains readable on narrow cards and budget columns. */
.card small{display:block;margin-top:8px;margin-bottom:10px;line-height:1.5}
.budget-group-heading h2 small{display:block;margin-top:5px;font-size:.72rem;font-weight:400;line-height:1.4;color:var(--muted)}

.payoff-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.payoff-cards p{font-size:14px}.scroll caption{text-align:left;padding:12px 0;font-weight:600}@media(max-width:600px){.payoff-cards{grid-template-columns:1fr}}

.debt-snowball{padding:18px;background:#edf6f0;font-size:13px}.debt-snowball form{display:flex;align-items:end;gap:12px}.debt-snowball p,.debt-snowball small{line-height:1.6}.debt-snowball small{display:block;margin-top:12px}.debt-hint{font-size:12px;color:#38694d;padding:4px 0 10px;line-height:1.5}@media(max-width:600px){.debt-snowball form{display:block}}

/* Budget schedules and paycheck planner */
.schedule-fields{border:1px solid var(--border,#d9e4df);border-radius:12px;padding:16px;margin:18px 0}.schedule-fields small,.buffer-form small{display:block;color:#52675c;line-height:1.5}.check-label{display:flex;align-items:center;gap:8px;margin:12px 0}.check-label input{width:auto}.schedule-hint{color:#267350}.bill-status{display:inline-block;padding:5px 9px;border-radius:20px;background:#f7edd6;font-size:.85rem;white-space:nowrap}.bill-status.paid{background:#dff2e8;color:#1b6844}.floor-row{background:#f1f8f3}.buffer-form{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.buffer-form small{flex-basis:100%}
