: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{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}.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}.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%}.metric-grid,.result-grid,.two-column,.entry-grid,.manage-grid,.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}}
