:root{--navy:#123b6d;--blue:#1e5795;--ink:#172235;--muted:#64748b;--bg:#f4f7fb;--card:#fff;--line:#dde5ef;--good:#147d64;--bad:#b42318;--shadow:0 12px 32px rgba(18,59,109,.10);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(145deg,#edf3fa,#f8fafc 45%,#eef4f9)}button,input{font:inherit}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);background:rgba(255,255,255,.94);padding:34px;border:1px solid rgba(255,255,255,.8);border-radius:28px;box-shadow:0 24px 70px rgba(18,59,109,.16)}.brand-mark{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,var(--navy),#2e70b7);color:white;font-weight:800;font-size:22px;box-shadow:0 10px 25px rgba(18,59,109,.25)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,6vw,38px);line-height:1.08;margin:9px 0 13px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:var(--blue);margin-top:22px}.muted,.privacy{color:var(--muted);line-height:1.55}.privacy{font-size:12px;margin:18px 0 0}form{display:grid;gap:15px;margin-top:25px}label{font-size:13px;font-weight:700;display:grid;gap:7px}input{width:100%;padding:14px 15px;border:1px solid #cbd6e3;border-radius:13px;background:#fbfdff;color:var(--ink);outline:none}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,87,149,.12)}button{border:0;cursor:pointer}.primary{padding:15px;border-radius:14px;background:var(--navy);color:#fff;font-weight:750}.primary:disabled{opacity:.6}.error{color:var(--bad);font-size:13px;margin-top:14px}.app-shell{max-width:1100px;margin:auto;min-height:100vh;padding-bottom:92px}.app-shell>header{display:flex;align-items:center;justify-content:space-between;padding:26px 22px 16px}.app-shell header .eyebrow{margin:0}.app-shell header h1{font-size:27px;margin:5px 0 0}.icon-btn{width:44px;height:44px;border-radius:14px;background:#fff;color:var(--navy);font-size:25px;box-shadow:var(--shadow)}#content{padding:8px 18px 30px}.hero{background:linear-gradient(135deg,#0f315b,#1d568f);color:#fff;padding:25px;border-radius:25px;box-shadow:0 18px 38px rgba(18,59,109,.22);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.07);right:-55px;top:-75px}.hero .label{color:#cbdcf0;font-size:13px}.hero .amount{font-size:clamp(31px,8vw,48px);font-weight:800;letter-spacing:-.035em;margin:8px 0}.hero button{color:white;background:rgba(255,255,255,.14);padding:9px 12px;border-radius:11px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.stat,.panel,.row-card{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 22px rgba(34,58,85,.05)}.stat{padding:16px}.stat small{color:var(--muted)}.stat strong{display:block;margin-top:7px;font-size:18px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:26px 3px 11px}.section-title h2{font-size:19px;margin:0}.section-title span{font-size:12px;color:var(--muted)}.list{display:grid;gap:9px}.row-card{padding:14px 15px;display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:14px;background:#e8f0f9;color:var(--navy);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.row-main{min-width:0;flex:1}.row-main strong,.row-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-main small{color:var(--muted);margin-top:4px}.money{font-weight:800;white-space:nowrap}.money.expense{color:var(--bad)}.money.income{color:var(--good)}.panel{padding:18px}.empty{text-align:center;color:var(--muted);padding:42px 15px}.pill{font-size:11px;padding:5px 8px;border-radius:99px;background:#e9f1fa;color:var(--navy);font-weight:750}#nav{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.95);border-top:1px solid var(--line);padding:7px max(7px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));backdrop-filter:blur(14px)}#nav button{background:transparent;color:#738198;font-size:10px;padding:6px 2px;border-radius:12px}#nav button span{display:block;font-size:22px;line-height:22px;margin-bottom:3px}#nav button.active{color:var(--navy);background:#e7eef7;font-weight:800}#toast{position:fixed;left:50%;bottom:94px;transform:translate(-50%,20px);background:#172235;color:#fff;padding:11px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:50;font-size:13px}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:600px){.card-grid{grid-template-columns:1fr}.card-grid .stat{padding:18px}.row-card{padding:14px 12px}.row-main strong{font-size:15px}.row-main small{white-space:normal;line-height:1.35}.money{font-size:14px}.section-title{align-items:center}.section-title h2{font-size:18px}.hero{padding:23px}.app-shell>header{padding-top:max(22px,env(safe-area-inset-top))}}
@media(min-width:760px){.grid{grid-template-columns:repeat(4,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}#content{padding-inline:28px}.app-shell>header{padding-inline:32px}.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:start}.two-col .section-title{margin-top:0}}