:root{--ink:#172526;--muted:#718080;--bg:#f5f8f7;--panel:#fff;--deep:#173331;--deep2:#203d3a;--aqua:#69bdb3;--line:#dfe9e6;--orange:#e99760;--blue:#6995bb;--red:#c76060;--shadow:0 18px 50px #17333112}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #69bdb366;outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{height:100vh;position:sticky;top:0;background:var(--deep);color:#fff;padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 34px;color:#fff;text-decoration:none}.brand strong,.auth-brand strong{display:block;font-size:19px;letter-spacing:-.5px}.brand small,.auth-brand small{display:block;color:#9fbab6;margin-top:3px;font-size:11px}.husky-mark{width:42px;height:42px;border-radius:13px;background:#dff3ef;position:relative;overflow:hidden;flex:none}.husky-mark:before,.husky-mark:after{content:"";position:absolute;top:5px;width:13px;height:19px;background:#315f5a;border-radius:8px 2px}.husky-mark:before{left:8px;transform:rotate(24deg)}.husky-mark:after{right:8px;transform:rotate(-24deg)}.husky-mark i:before,.husky-mark i:after{content:"";position:absolute;z-index:2;top:20px;width:5px;height:5px;border-radius:50%;background:#173331}.husky-mark i:before{left:11px}.husky-mark i:after{right:11px}.husky-mark i{position:absolute;left:15px;top:27px;width:12px;height:8px;border-radius:8px 8px 12px 12px;background:#73c8bd}.sidebar nav{display:grid;gap:8px}.sidebar nav button{border:0;background:transparent;color:#9fbab6;padding:13px 14px;border-radius:12px;display:flex;gap:12px;align-items:center;text-align:left}.sidebar nav button:hover,.sidebar nav button.active{background:#2a4a47;color:#fff}.sidebar nav b{font-size:13px}.pack-card{margin-top:auto;border:1px solid #31524f;background:#203e3c;border-radius:16px;padding:14px;display:flex;align-items:center;gap:10px}.pack-card>span{font-size:24px}.pack-card small,.pack-card strong{display:block}.pack-card small{color:#97b7b3;font-size:9px;margin-bottom:3px}.pack-card strong{font-size:12px}.logout{color:#8facA8;text-decoration:none;text-align:center;font-size:11px;margin-top:18px}.logout:hover{color:#fff}.content{padding:42px clamp(24px,4vw,68px) 64px;max-width:1480px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:20px}.kicker{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#7a8b89;margin:0 0 7px}.topbar h1{font-size:30px;letter-spacing:-1px;margin:0 0 6px}.topbar p:last-child{margin:0;color:var(--muted);font-size:14px}.top-actions{display:flex;gap:10px;align-items:end}.month-picker{font-size:9px;color:#758481;font-weight:800;letter-spacing:.8px}.month-picker input{display:block;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;margin-top:4px;color:var(--ink)}.button,.secondary{border:0;border-radius:11px;padding:13px 17px;font-weight:800;font-size:12px;text-decoration:none;text-align:center}.button{background:var(--aqua);color:#102e2b;box-shadow:0 8px 22px #67bdb22b}.button:hover{filter:brightness(.96);transform:translateY(-1px)}.secondary{background:#edf3f1;color:#536865}.full{display:block;width:100%;margin-top:12px}.summary-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px;margin-bottom:18px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px}.metric{padding:21px;min-height:148px}.metric.dark{background:var(--deep2);color:#fff;border-color:var(--deep2)}.metric-top{display:flex;justify-content:space-between;align-items:center;color:#6f7e7c;font-size:12px}.dark .metric-top{color:#b8cfcc}.metric strong{display:block;font-size:28px;letter-spacing:-1px;margin:20px 0 12px}.metric small{color:#80918f;font-size:11px}.dark small{color:#83c9bf}.chip{width:30px;height:30px;border-radius:9px;background:#edf5f2;display:grid;place-items:center}.dark .chip{background:#31524f}.chip.orange{background:#f9ece3;color:#c97741}.main-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px;gap:12px}.panel h2{font-size:19px;margin:0;letter-spacing:-.3px}.ghost,.icon-button{border:1px solid var(--line);background:#fff;color:#657472;border-radius:9px;font-size:11px;padding:8px 11px}.icon-button{padding:7px 9px}.icon-button.danger{color:var(--red)}.budget-row{display:grid;grid-template-columns:47px 1fr 40px;align-items:center;gap:13px;padding:13px 0;border-top:1px solid #edf2f0}.budget-badge{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:15px}.needs{--bucket:#62b5a9;--bucket-bg:#dff1ed;--bucket-text:#317b71}.wants{--bucket:#e99760;--bucket-bg:#faece1;--bucket-text:#bd6d38}.future{--bucket:#6995bb;--bucket-bg:#e4edf6;--bucket-text:#507da6}.budget-badge{background:var(--bucket-bg);color:var(--bucket-text)}.budget-body>div:first-child{display:flex;justify-content:space-between;font-size:12px}.budget-body span{font-weight:700}.budget-body span small{color:#91a09e;font-weight:400}.track{height:6px;background:#edf2f1;border-radius:9px;margin-top:10px;overflow:hidden}.track i{display:block;height:100%;border-radius:9px;background:var(--bucket)}.budget-row>b{font-size:11px;color:#758481;text-align:right}.cold-tip{background:linear-gradient(145deg,#dcefeb,#edf7f5);border:0;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:315px}.cold-tip:after{content:"";position:absolute;width:200px;height:200px;border:1px solid #bddcd6;border-radius:50%;right:-80px;top:-70px}.cold-face{font-size:68px;line-height:1;margin-bottom:24px}.cold-tip h2{font-size:21px;margin-bottom:10px}.cold-tip>p:last-child{color:#59716e;font-size:12px;line-height:1.6;margin:0}.list{padding-bottom:8px}.row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border-top:1px solid #edf2f0;padding:13px 0}.row-icon{width:39px;height:39px;background:#f9ece3;border-radius:11px;display:grid;place-items:center;color:#bc6d3b}.row-icon.income{background:#e1f2ee;color:#3c867a}.row strong,.row small{display:block}.row strong{font-size:12px;margin-bottom:4px}.row small{font-size:10px;color:#8b9997}.row .amount{font-size:12px;text-align:right}.amount.positive{color:#398979}.row-actions{display:flex;justify-content:flex-end;gap:5px;margin-top:5px}.empty{padding:35px;text-align:center;color:#849391;font-size:13px;border:1px dashed #cfdcda;border-radius:14px}.accounts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.account-card{padding:18px;position:relative}.account-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.account-card small{font-size:10px;color:#82918f}.account-card strong{display:block;font-size:20px;margin-top:14px}.account-card .card-actions{position:absolute;right:12px;top:10px}.bills-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.status{font-size:9px;font-weight:800;text-transform:uppercase;padding:5px 7px;border-radius:99px;background:#faece1;color:#ac6538}.status.paid{background:#dff1ed;color:#317b71}.over{color:var(--red)!important}.planning-note{background:#f0f6f4;padding:16px;border-radius:13px;color:#5c716e;font-size:12px;line-height:1.6;margin-top:16px}#flash{position:fixed;z-index:30;right:24px;top:24px}.toast{background:#173331;color:#fff;padding:12px 16px;border-radius:11px;box-shadow:var(--shadow);font-size:12px;animation:toast .2s ease}.toast.error{background:#8c3f3f}@keyframes toast{from{transform:translateY(-8px);opacity:0}}.loading{padding:80px;text-align:center;color:#718080}dialog{border:0;background:transparent;padding:15px;max-width:600px;width:100%}dialog::backdrop{background:#102523b8;backdrop-filter:blur(4px)}.modal-card{background:#fff;border-radius:20px;padding:24px;box-shadow:var(--shadow);max-height:calc(100vh - 30px);overflow:auto}.modal-card>header{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}.modal-card h2{margin:0;font-size:22px}.close{border:0;background:#edf3f1;border-radius:50%;width:34px;height:34px;font-size:22px;color:#61726f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .wide{grid-column:1/-1}label{display:block;color:#536663;font-weight:700;font-size:11px;margin-bottom:13px}input,select,textarea{display:block;width:100%;border:1px solid #cfddda;border-radius:10px;padding:11px 12px;margin-top:6px;color:var(--ink);background:#fff}textarea{min-height:75px;resize:vertical}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.modal-card footer{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.danger-zone{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.auth-body{min-height:100vh;display:grid;place-items:center;padding:25px;background:radial-gradient(circle at 20% 20%,#e7f3f0,transparent 35%),radial-gradient(circle at 80% 80%,#dce8f2,transparent 38%),#f5f8f7}.auth-card{width:min(760px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}.auth-card.narrow{width:min(440px,100%)}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:32px}.auth-card h1{font-size:28px;letter-spacing:-.8px;margin:0 0 8px}.auth-card>p{color:#718080;font-size:13px;line-height:1.6}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.setup-grid fieldset{border:1px solid var(--line);border-radius:14px;padding:16px}.setup-grid legend{font-weight:900;font-size:13px;padding:0 6px}.error-box,.success-box{padding:12px 14px;border-radius:10px;margin:13px 0;font-size:12px}.error-box{background:#fae8e8;color:#8c3f3f}.success-box{background:#dff1ed;color:#317b71}.privacy-note{text-align:center;font-size:10px!important;margin-top:20px!important}code{background:#edf3f1;padding:2px 5px;border-radius:5px}
@media(max-width:950px){.app-shell{grid-template-columns:74px 1fr}.sidebar{padding:24px 12px}.brand>div:last-child,.sidebar nav b,.pack-card div,.logout{display:none}.brand{padding:0 4px 32px}.pack-card{justify-content:center}.summary-grid{grid-template-columns:1fr}.main-grid,.bills-layout{grid-template-columns:1fr}.accounts-grid{grid-template-columns:1fr 1fr}.cold-tip{min-height:240px}}
@media(max-width:650px){.app-shell{display:block}.sidebar{height:66px;min-height:0;position:fixed;z-index:10;inset:auto 0 0;padding:8px 14px;display:block}.brand,.pack-card{display:none}.sidebar nav{display:flex;justify-content:space-around}.sidebar nav button{padding:11px 16px;font-size:20px}.content{padding:25px 14px 88px}.topbar{align-items:flex-start}.topbar h1{font-size:24px}.topbar p:last-child{font-size:11px}.top-actions{align-items:stretch}.month-picker{position:absolute;top:92px;left:14px}.month-picker input{padding:8px}.top-actions>.button{width:47px;height:45px;overflow:hidden;color:transparent;font-size:0;padding:0}.top-actions>.button:first-letter{color:#173331;font-size:20px}.summary-grid{margin-top:58px;gap:10px}.panel{padding:18px}.budget-row{grid-template-columns:43px 1fr 34px}.budget-body span{font-size:9px}.accounts-grid,.setup-grid,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.row{grid-template-columns:39px 1fr auto}.row .amount{max-width:100px}.auth-card{padding:24px}.modal-card{padding:20px}#flash{right:14px;top:14px;left:14px}}
