:root{--color-text: #18211f;--color-muted: #51605c;--color-subtle: #687571;--color-surface: #fff;--color-page: #f4f6f5;--color-primary: #164e4b;--color-primary-accent: #2f7d62;--color-warning-text: #704314;--color-warning-border: #d8c3aa;--color-warning-bg: #fff7ed;--color-danger: #9b2226;--color-danger-strong: #b3261e;--color-danger-border: #e3b7b7;--color-danger-bg: #fff1f1;--color-border: #dce2df;--color-border-strong: #c8d0cd;--color-border-soft: #e0e5e3;--color-track: #e8eeeb;--color-brand-warm: #9a5c22;--radius-sm: 6px;--radius-md: 8px;--shadow-panel: 0 20px 50px rgba(30, 45, 40, .08);--shadow-dialog: 0 24px 70px rgba(24, 33, 31, .28);color:var(--color-text);background:var(--color-page);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{min-height:38px;cursor:pointer;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-surface);padding:0 14px}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;min-height:38px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:8px 10px}textarea{min-height:280px;resize:vertical;white-space:pre}label{display:grid;gap:6px;color:var(--color-muted);font-size:.86rem;font-weight:700}h1,h2,p{margin:0}h1{font-size:clamp(1.35rem,2vw,1.85rem)}h2{margin-bottom:12px;font-size:1rem}small{display:block;margin-top:3px;color:var(--color-subtle);font-size:.78rem}section{min-width:0}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid var(--color-border-soft);padding:10px;text-align:left;vertical-align:top}th{color:var(--color-muted);font-size:.76rem;text-transform:uppercase}.secondary-button,.tabs button,.list-row button{border-color:var(--color-border-strong);background:var(--color-surface);color:#263430}.secondary-button,.list-row button{flex:0 0 auto}.login-page,.screen-status{display:grid;min-height:100vh;place-items:center}.login-page{padding:20px}.login-panel{display:grid;width:min(100%,380px);gap:18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:24px;box-shadow:var(--shadow-panel)}.eyebrow{color:var(--color-brand-warm);font-size:.76rem;font-weight:800;text-transform:uppercase}.app-shell{min-height:100vh}.topbar,.workspace-header,.dialog-header,.topbar-actions,.list-row{display:flex;align-items:center}.topbar,.workspace-header,.dialog-header,.list-row{justify-content:space-between}.topbar{gap:18px;background:var(--color-surface);padding:18px 24px}.topbar-actions{gap:12px}.topbar-actions input{width:150px}.tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:0 24px 14px}.tabs button.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-surface)}.workspace{display:grid;gap:22px;padding:24px}.workspace-header,.dialog-header{gap:12px}.workspace-header h2,.dialog-header h2{margin-bottom:0}.two-column,.entry-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.7fr);gap:22px}.metric-grid,.result-grid{display:grid;gap:12px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.result-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}.metric,.table-wrap,.list,.budget-list,.chart-panel,.budget-progress-panel,.planning-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.metric{display:grid;gap:6px;padding:14px}.chart-panel{min-height:380px;padding:16px 12px 8px}.budget-meter{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);gap:20px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:radial-gradient(circle at 21% 24%,rgba(47,125,98,.14),transparent 32%),linear-gradient(135deg,#fff,#f8fbfa 58%,#f3f0ea);padding:22px;box-shadow:var(--shadow-panel)}.budget-meter.over-budget{border-color:var(--color-danger-border);background:radial-gradient(circle at 21% 24%,rgba(179,38,30,.13),transparent 32%),linear-gradient(135deg,#fff,#fff9f7 60%,#f7efeb)}.budget-meter.no-budget{background:radial-gradient(circle at 21% 24%,rgba(104,117,113,.12),transparent 32%),linear-gradient(135deg,#fff,#f8faf9 62%,#eef2f0)}.budget-meter-main{display:grid;grid-template-columns:minmax(210px,260px) minmax(0,1fr);gap:22px;align-items:center}.budget-gauge-shell{display:grid;place-items:center}.budget-gauge{--budget-color: var(--color-primary-accent);--plan-color: var(--color-brand-warm);position:relative;display:grid;width:min(100%,250px);aspect-ratio:1;place-items:center;border-radius:50%;background:radial-gradient(circle,var(--color-surface) 0 55%,transparent 56%),conic-gradient(from -135deg,var(--plan-color) 0 var(--plan-used),transparent var(--plan-used) 100%),radial-gradient(circle,transparent 0 65%,var(--color-track) 66% 100%);box-shadow:inset 0 0 0 1px #ffffffd9,0 18px 38px #1e2d281f}.budget-gauge:before{position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle,transparent 0 58%,var(--color-surface) 59% 100%),conic-gradient(from -135deg,var(--budget-color) 0 var(--budget-used),var(--color-track) var(--budget-used) 100%);content:""}.budget-gauge:after{position:absolute;inset:38px;border:1px solid var(--color-border-soft);border-radius:50%;background:var(--color-surface);content:""}.over-budget .budget-gauge{--budget-color: var(--color-danger-strong);--plan-color: #c97223}.no-budget .budget-gauge{--budget-color: var(--color-subtle);--plan-color: var(--color-border-strong)}.budget-gauge-center{position:relative;z-index:1;display:grid;gap:1px;place-items:center;text-align:center}.budget-gauge-center span{font-size:clamp(2.1rem,5vw,3rem);font-weight:850;line-height:1}.budget-gauge-center small{margin-top:0;color:var(--color-muted);font-size:.8rem;font-weight:800;text-transform:uppercase}.budget-meter-copy{display:grid;gap:11px}.budget-meter-copy h2{margin-bottom:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.05}.budget-meter-copy p:not(.eyebrow){max-width:48rem;color:var(--color-muted)}.budget-meter-stats,.budget-context-grid,.plan-impact{display:grid;gap:10px}.budget-meter-stats{grid-template-columns:repeat(3,minmax(100px,1fr));margin-top:4px}.budget-meter-stats div,.budget-context-grid div,.plan-impact div{display:grid;gap:4px;min-width:0}.budget-meter-stats span,.budget-context span,.budget-context-grid span,.plan-impact span{color:var(--color-subtle);font-size:.74rem;font-weight:800;text-transform:uppercase}.budget-meter-stats strong{font-size:1.08rem}.budget-context{display:grid;align-content:center;border-left:1px solid var(--color-border-soft);padding-left:20px}.budget-context-section{display:grid;gap:12px;padding:16px 0}.budget-context-section+.budget-context-section{border-top:1px solid var(--color-border-soft)}.budget-context-section.muted{opacity:.7}.budget-context-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.budget-context-header strong{font-size:1.05rem;text-align:right}.budget-context-grid,.plan-impact{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-context-grid strong,.plan-impact strong{font-size:.98rem}.budget-progress-panel,.planning-panel{display:grid;gap:14px;padding:18px}.planning-panel .table-wrap{border:0;border-radius:0}.planning-metrics{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.planning-metrics div{display:grid;gap:4px;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);padding:10px}.planning-metrics span{color:var(--color-subtle);font-size:.76rem;font-weight:800;text-transform:uppercase}.planning-metrics strong{font-size:1rem}.budget-progress-panel.over-budget{border-color:var(--color-danger-border)}.budget-progress-header{display:flex;align-items:end;justify-content:space-between;gap:16px}.budget-progress-header h2{margin-bottom:0;font-size:clamp(1.5rem,3vw,2.35rem)}.budget-progress-header strong{color:var(--color-primary);font-size:1rem;text-align:right}.budget-progress-panel.over-budget .budget-progress-header strong{color:var(--color-danger-strong)}.budget-progress{height:18px;overflow:hidden;border-radius:999px;background:var(--color-track)}.budget-progress span{display:block;height:100%;border-radius:inherit;background:var(--color-primary-accent)}.budget-progress-panel.over-budget .budget-progress span{background:var(--color-danger-strong)}.metric span{color:var(--color-subtle);font-size:.78rem;font-weight:800;text-transform:uppercase}.metric strong{font-size:1.22rem}.table-wrap,.list,.budget-list{overflow:auto}.banner{border:1px solid var(--color-warning-border);border-radius:var(--radius-md);background:var(--color-warning-bg);color:var(--color-warning-text);padding:12px 14px}.banner.error,.form-error{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger)}.form-error{border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:9px 10px}.negative{color:var(--color-danger-strong)}.swatch{display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:999px;vertical-align:middle}.progress{display:block;height:6px;overflow:hidden;margin-top:7px;border-radius:999px;background:var(--color-track)}.progress span{display:block;height:100%;background:var(--color-primary-accent)}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.empty,.screen-status{color:var(--color-subtle);padding:16px}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow:auto;background:#18211f85;padding:24px}.entry-dialog{display:grid;width:min(100%,1120px);max-height:calc(100vh - 48px);gap:22px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-page);padding:22px;box-shadow:var(--shadow-dialog)}.manage-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:22px;align-items:start}.manage-toolbar{margin-bottom:-4px}.manage-actions{display:flex;flex-wrap:wrap;gap:10px}.manage-dialog{width:min(100%,760px)}.compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.compact-form button{grid-column:1 / -1}.list-row{gap:12px;border-bottom:1px solid var(--color-border-soft);padding:10px}.list-row:last-child,.amount-row:last-child{border-bottom:0}.plan-row{align-items:start}.plan-row select{width:150px;flex:0 0 150px}.amount-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:10px;border-bottom:1px solid var(--color-border-soft);padding:9px 10px}.goal-total{padding:10px;color:var(--color-muted);font-size:.82rem;font-weight:800;text-align:right;text-transform:uppercase}.goal-mix-control{display:grid;gap:16px;padding:16px 12px 0;overflow:visible}.goal-slider{position:relative;height:34px;touch-action:none}.goal-slider:before{position:absolute;top:50%;right:0;left:0;height:8px;border-radius:999px;background:linear-gradient(to right,var(--color-primary) 0 var(--need-end),var(--color-primary-accent) var(--need-end) var(--want-end),var(--color-brand-warm) var(--want-end) 100%);content:"";transform:translateY(-50%)}.goal-handle{position:absolute;top:50%;z-index:1;width:24px;min-width:24px;height:24px;min-height:24px;border:3px solid var(--color-surface);border-radius:999px;background:var(--color-text);box-shadow:0 2px 8px #18211f38;padding:0;transform:translate(-50%,-50%)}.goal-handle:focus-visible{outline:3px solid var(--color-brand-warm);outline-offset:3px}.goal-mix-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.goal-mix-values div{display:grid;gap:3px}.goal-mix-values span{color:var(--color-subtle);font-size:.76rem;font-weight:800;text-transform:uppercase}.goal-mix-values strong{font-size:1rem}.goal-targets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid var(--color-border-soft);padding:12px 4px 0}.goal-targets div{display:grid;gap:3px}.goal-targets span,.static-row span{color:var(--color-subtle);font-size:.76rem;font-weight:800;text-transform:uppercase}.goal-targets strong,.static-row strong{font-size:1rem}.goal-targets small{color:var(--color-muted)}.errors{margin-top:14px}@media(max-width:900px){.topbar,.topbar-actions{align-items:stretch;flex-direction:column}.topbar-actions input{width:100%}.budget-progress-header{align-items:start;flex-direction:column}.budget-progress-header strong{text-align:left}.budget-meter,.budget-meter-main{grid-template-columns:1fr}.budget-meter{padding:18px}.budget-gauge{width:min(100%,230px)}.budget-context{border-top:1px solid var(--color-border-soft);border-left:0;padding-top:4px;padding-left:0}.metric-grid,.result-grid,.two-column,.entry-grid,.manage-grid,.planning-metrics,.budget-meter-stats,.budget-context-grid,.plan-impact,.goal-mix-values,.goal-targets{grid-template-columns:1fr}.workspace,.topbar,.entry-dialog{padding:16px}.dialog-backdrop{align-items:start;padding:12px}.entry-dialog{max-height:calc(100vh - 24px)}.tabs{padding:0 16px 12px}.compact-form{grid-template-columns:1fr}}
