:root{color-scheme:dark;--bg:#0d161b;--card:#172329;--line:#2c3a40;--muted:#9aafb6;--text:#f3f6f5;--mint:#b5efd4;--orange:#f9b595;--violet:#c3baf5;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--mint);outline-offset:4px}button{border:0}#app{max-width:1320px;margin:auto;min-height:100dvh;display:grid;grid-template-columns:230px 1fr}.sidebar{padding:38px 24px;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:34px}.brand{font-size:21px;font-weight:750;letter-spacing:-.7px;display:flex;align-items:center;gap:10px}.brandmark{display:grid;place-items:center;width:35px;height:35px;background:var(--mint);color:#193f31;border-radius:12px;font-size:26px}.sidebar small{color:var(--muted);font-size:11px;letter-spacing:1.8px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{background:transparent;color:var(--muted);padding:14px 15px;border-radius:12px;text-align:left;font-weight:600;display:flex;align-items:center;gap:13px}.nav button.active{background:#243c35;color:var(--mint)}.nav svg{width:20px;height:20px}.sidebar-bottom{margin-top:auto;font-size:12px;color:var(--muted);line-height:1.7}.statusdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);margin-right:6px}main{padding:36px 44px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:36px}.eyebrow{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:2px;font-weight:700}.household{font-size:14px;margin-top:6px}.avatar{width:39px;height:39px;border:2px solid var(--bg);border-radius:50%;background:var(--violet);color:#30275b;display:grid;place-items:center;font-weight:750}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}h1{font-size:clamp(27px,4vw,36px);letter-spacing:-1.3px;margin:0 0 8px;font-weight:650}h2{font-size:18px;letter-spacing:-.4px;margin:0 0 20px}h3{font-size:16px;margin:0 0 8px}p{line-height:1.6}.sub{color:var(--muted);font-size:13px;margin:0}.primary{background:var(--mint);color:#173d2c;padding:13px 18px;border-radius:12px;font-weight:750;white-space:nowrap}.secondary{background:#26363e;color:var(--text);padding:12px 16px;border:1px solid var(--line);border-radius:12px}.small{font-size:12px;padding:9px 12px}.hero{background:var(--mint);color:#17392c;padding:29px 30px;border-radius:23px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:200px;height:200px;right:-85px;top:-65px;border:35px solid #91d7b566;border-radius:50%;pointer-events:none}.hero .eyebrow{color:#3e6957}.hero .amount{font-size:clamp(36px,6vw,52px);letter-spacing:-2px;font-weight:650;margin:12px 0 8px}.hero p{font-size:12px;color:#3e6957;margin:0}.hero-bottom{border-top:1px solid #376e4d35;margin-top:24px;padding-top:16px;display:flex;justify-content:space-between;font-size:12px;gap:12px}.hero-bottom strong{display:block;font-size:16px;margin-top:5px}.overview{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:23px}.stat{display:flex;flex-direction:column;justify-content:space-between;gap:12px}.stat .value{font-size:24px;letter-spacing:-.8px;font-weight:650}.symbol{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:var(--mint);background:#2b4037}.symbol.orange{color:var(--orange);background:#49382e}.symbol.violet{color:var(--violet);background:#373248}.symbol svg{width:18px;height:18px}.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:22px}.rowhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.rowhead h2{margin:0}.pill{font-size:10px;border:1px solid var(--line);padding:5px 9px;border-radius:20px;color:var(--muted)}.transaction{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.transaction:last-child{border-bottom:0;padding-bottom:0}.transaction .info{flex:1;min-width:0}.transaction strong{font-size:13px;font-weight:600;display:block;overflow-wrap:anywhere}.transaction small{color:var(--muted);font-size:11px;display:block;margin-top:5px}.money{font-size:13px;font-weight:650;white-space:nowrap}.positive{color:var(--mint)}.negative{color:var(--text)}.budget{margin-top:23px}.budget .rowhead{font-size:12px}.budget strong{font-weight:550}.budget span{color:var(--muted)}.track{background:#2d3c42;height:7px;border-radius:10px;margin:10px 0 7px;overflow:hidden}.fill{height:100%;background:var(--mint);border-radius:10px}.budget small{color:var(--muted);font-size:11px}.insight{margin-top:20px;background:#222c3a;border-color:#3a4256;display:flex;gap:13px;align-items:flex-start}.insight p{font-size:12px;color:#b8bed1;margin:6px 0 0}.insight strong{color:#ddd5ff;font-size:13px}.chart{height:104px;display:flex;align-items:end;gap:7px;margin-top:20px}.chart .bar{flex:1;background:#354b45;min-height:4px;border-radius:5px 5px 0 0;position:relative}.chart .bar.current{background:var(--mint)}.chartlabels{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:10px}.section{margin-top:22px}.list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.empty{padding:26px 5px;color:var(--muted);font-size:13px;line-height:1.6}.notice{padding:12px 15px;border:1px solid #6e5935;background:#332c20;border-radius:12px;color:#ead5a9;font-size:12px;line-height:1.6;margin-bottom:24px}.settings{max-width:620px}.settings button{margin:5px 5px 5px 0}.settings p{color:var(--muted);font-size:13px}dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:22px;padding:27px;width:min(460px,calc(100% - 30px));max-height:90dvh}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}dialog h2{margin-bottom:8px}form{display:grid;gap:14px}label{font-size:12px;color:var(--muted);display:grid;gap:7px}input,select{background:var(--bg);color:var(--text);border:1px solid #40545d;border-radius:10px;padding:12px;width:100%;min-height:44px}input:focus,select:focus{outline:2px solid var(--mint)}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.actions button{flex:1}.error{color:#ffb2a6;font-size:12px;min-height:16px}.help{color:var(--muted);font-size:12px;line-height:1.6}.check{display:flex;align-items:center;gap:9px}.check input{width:17px;min-height:17px}.inline{display:flex;gap:12px}.inline>*{flex:1;min-width:0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--mint);color:#17392c;padding:13px 22px;border-radius:13px;box-shadow:0 4px 30px #0007;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;font-size:13px;max-width:90vw}#toast.show{opacity:1}.switchrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.switchrow button.selected{background:var(--mint);color:#17392c}.goalamount{font-size:27px;font-weight:650;margin:20px 0 5px}.muted{color:var(--muted)}.code{padding:14px;background:var(--bg);border-radius:12px;font-family:monospace;overflow-wrap:anywhere;user-select:all;font-size:17px}.light{color-scheme:light;--bg:#f2f5f3;--card:#fff;--line:#dbe3df;--muted:#5d716a;--text:#17332b;--mint:#b5efd4}.light .nav button.active{background:#d6ecdf;color:#1a5538}.light .symbol{background:#d6ecdf;color:#1d5539}.light .secondary{background:#e3ece7;color:#18392d}.light .insight{background:#e9e5f7;border-color:#d3caed}.light .insight strong{color:#4b3e75}.light .insight p{color:#5c5376}.light .notice{background:#fff2db;color:#745522}.light .negative{color:#17332b}
.tx-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.account-picker{max-width:360px}.danger{background:#492e2d;color:#ffb5a7;border:1px solid #825249;padding:12px 16px;border-radius:12px}.light .danger{background:#fff0eb;color:#9d3125}button:disabled{opacity:.45;cursor:wait}dialog p{overflow-wrap:anywhere}
@media(min-width:1250px){main{padding-left:50px;padding-right:50px}}@media(max-width:1000px){#app{grid-template-columns:190px 1fr}.sidebar{padding:30px 16px}.brand{font-size:18px}main{padding:28px}.overview,.grid{grid-template-columns:1fr}.mini-grid{grid-template-columns:repeat(4,1fr)}.stat .value{font-size:19px}.stat{padding:16px}.hero{min-height:240px}.list-grid{grid-template-columns:1fr}}
@media(max-width:650px){#app{display:block}.sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;padding:8px 6px max(8px,env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);background:var(--bg);z-index:5;display:block}.brand,.sidebar small,.sidebar-bottom{display:none}.nav{flex-direction:row;gap:2px;justify-content:space-around}.nav button{flex:1;flex-direction:column;gap:5px;font-size:9px;padding:9px 1px;border-radius:10px}.nav svg{width:20px;height:20px}main{padding:24px 20px 110px}.topbar{margin-bottom:28px}.heading{align-items:flex-start}.heading .primary{font-size:12px;padding:12px}.overview{gap:15px}.mini-grid{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:18px}.stat .value{font-size:24px}.hero{padding:25px}.grid{margin-top:16px;gap:16px}.card{padding:21px}h1{font-size:29px}.sub{font-size:12px}.list-grid{grid-template-columns:1fr}#toast{bottom:95px}.hero-bottom{font-size:11px}.hero-bottom strong{font-size:15px}}
