:root{color:#1d2522;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f3ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(135deg,#2a6f971c,#0000 32rem),linear-gradient(225deg,#d57e5b21,#0000 28rem),#f7f3ea;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1080px,100%);margin:0 auto;padding:22px}.auth-shell{place-items:center;min-height:100vh;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.eyebrow{color:#60716a;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.78rem;font-weight:800}h1,h2,p{margin:0}h1{max-width:630px;font-size:clamp(2rem,7vw,4.6rem);line-height:.98}h2{font-size:1.25rem}.date-pill,.summary-card,.choice-card,.login-panel,.budget-panel,.input-panel,.list-panel,.confirm-dialog{background:#fffcf6db;border:1px solid #43504a24;box-shadow:0 20px 50px #464c451a}.date-pill{color:#42514b;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-weight:800;display:inline-flex}.logout-button{color:#42514b;background:#fffdf8;border:1px solid #43504a24;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 13px;font-weight:850;display:inline-flex}.account-strip{background:#fffcf694;border:1px solid #43504a1f;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding:14px;display:flex}.account-strip strong{color:#42514b;display:block}.save-status{color:#246b52;background:#e2f1ea;border-radius:999px;width:max-content;margin:-6px 0 16px;padding:7px 11px;font-size:.82rem;font-weight:850}.save-status.saving{color:#2a6f97;background:#e7eef7}.save-status.error{color:#b34435;background:#f7ded8}.status-panel{color:#60716a;background:#fffcf6db;border:1px solid #43504a24;border-radius:8px;place-items:center;min-height:180px;font-weight:850;display:grid}.login-panel{border-radius:8px;width:min(430px,100%);padding:24px}.login-panel h1{margin-bottom:22px;font-size:clamp(2.25rem,10vw,3.8rem)}.login-icon{color:#246b52;background:#e2f1ea;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:16px;display:grid}.login-error{color:#b34435;margin:-2px 0 12px;font-weight:800}.overview-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;display:grid}.summary-card{border-radius:8px;align-items:center;gap:12px;min-height:86px;padding:16px;display:flex}.summary-card p{color:#60716a;font-size:.88rem;font-weight:700}.summary-card strong{margin-top:3px;font-size:1.35rem;display:block}.summary-card.good strong{color:#246b52}.summary-card.danger strong,.negative{color:#b34435}.icon-badge{color:#246b52;background:#e2f1ea;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.icon-badge svg{width:21px;height:21px}.choice-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px;display:grid}.only-choices{margin-top:28px}.choice-card{color:#1d2522;text-align:left;border-radius:8px;grid-template-columns:auto 1fr;align-items:center;gap:16px;min-height:210px;padding:24px;display:grid}.choice-card strong,.choice-card small{display:block}.choice-card strong{margin-bottom:8px;font-size:clamp(1.75rem,4vw,2.8rem);line-height:1}.choice-card small{color:#60716a;max-width:310px;font-size:1rem;font-weight:750;line-height:1.35}.choice-card:hover,.choice-card:focus-visible{border-color:#2a6f9773;outline:none;transform:translateY(-1px)}.choice-icon{border-radius:50%;place-items:center;width:62px;height:62px;display:grid}.budget-choice .choice-icon{color:#246b52;background:#e2f1ea}.todo-choice .choice-icon{color:#2a6f97;background:#e7eef7}.screen-header{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.back-button{color:#42514b;background:#fffdf8;border:1px solid #43504a24;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 13px;font-weight:850;display:inline-flex}.mini-tabs button{color:#53635d;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-weight:850;display:inline-flex}.mini-tabs button.active{color:#fffaf2;background:#22312c}.layer{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:14px;display:grid}.budget-panel,.input-panel,.list-panel{border-radius:8px;padding:18px}.budget-layer .list-panel{grid-column:1/-1}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading.compact{margin-bottom:12px}.panel-heading svg{color:#2a6f97;flex:none}.field{gap:7px;margin-bottom:12px;display:grid}.field span{color:#60716a;font-size:.83rem;font-weight:800}input,select{color:#1d2522;background:#fffdf8;border:1px solid #43504a2e;border-radius:8px;outline:none;width:100%;min-height:46px;padding:0 12px}input:focus,select:focus{border-color:#2a6f97;box-shadow:0 0 0 3px #2a6f9729}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.primary-button{color:#fff;background:#2a6f97;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-weight:900;display:inline-flex}.meter{background:#e8e0d4;border-radius:999px;height:12px;overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg,#2f8f6f,#2a6f97);max-width:100%;height:100%;display:block}.budget-stats{color:#60716a;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-weight:800;display:flex}.item-list{gap:10px;display:grid}.transaction-item,.todo-item{background:#fffdf8;border:1px solid #43504a1f;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:66px;padding:12px;display:flex}.transaction-item strong,.todo-item strong{line-height:1.25;display:block}.transaction-item span,.todo-item span{color:#6b7772;margin-top:4px;font-size:.86rem;font-weight:650;display:block}.amount-group{align-items:center;gap:8px;display:flex}.amount-group b{white-space:nowrap}.transaction-item button,.todo-item button{color:#71594c;background:#f3eee5;border:0;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.todo-layer{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.todo-item{justify-content:start}.todo-item>div{flex:1;min-width:0}.todo-item.done strong,.todo-item.done span{color:#87928d;text-decoration:line-through}.todo-item .check-button{color:#246b52;background:#e2f1ea}.mini-tabs{background:#f1eadf;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:inline-grid}.mini-tabs button{min-height:34px;padding:0 10px;font-size:.82rem}.empty-state{color:#60716a;text-align:center;padding:18px 0 4px;font-weight:750}.dialog-backdrop{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1d252247;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.confirm-dialog{background:#fffdf8;border-radius:8px;width:min(420px,100%);padding:22px}.confirm-dialog h2{margin-bottom:8px}.confirm-dialog p{color:#60716a;font-weight:700;line-height:1.4}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.secondary-button,.danger-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:900;display:inline-flex}.secondary-button{color:#42514b;background:#fffdf8;border:1px solid #43504a29}.danger-button{color:#fff;background:#b34435;border:0}@media (width<=760px){.app-shell{padding:16px 12px 28px}.topbar{display:grid}.date-pill{justify-self:start}.overview-grid,.choice-grid,.layer,.todo-layer{grid-template-columns:1fr}.choice-card{min-height:156px;padding:19px}.summary-card{min-height:76px}.form-row{grid-template-columns:1fr}.budget-panel,.input-panel,.list-panel{padding:15px}.transaction-item,.todo-item{align-items:flex-start}.amount-group{align-self:center}.account-strip{align-items:flex-start}}@media (width<=430px){h1{font-size:2.2rem}.overview-grid{gap:9px}.summary-card{padding:13px}.summary-card strong{font-size:1.12rem}.transaction-item{grid-template-columns:1fr;display:grid}.amount-group{justify-content:space-between;width:100%}.panel-heading{align-items:flex-start}.choice-card{grid-template-columns:1fr}.choice-icon{width:54px;height:54px}.screen-header{align-items:flex-start}.dialog-actions{grid-template-columns:1fr}}
