:root{color-scheme:dark;--bg:#0b1020;--sidebar:#0e1426;--panel:#171f35;--line:#2d3855;--ink:#f5f6ff;--muted:#9eabc9;--violet:#a99cfa;--blue:#73a6fa;--green:#62dbb2;--red:#ff8a97;--amber:#ffc878}*{box-sizing:border-box}html{font:14px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% -10%,#1a2651,transparent 43%),var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}input,select,textarea{min-width:0;border:1px solid var(--line);border-radius:11px;padding:12px 13px;background:#11192c;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--violet)}input::placeholder{color:#8796b4}label{display:grid;gap:6px;color:#c8d2ec;font-size:13px}h1{font-size:clamp(25px,3vw,36px);line-height:1.18;letter-spacing:-1.1px;margin:8px 0}h2{font-size:17px;margin:0 0 8px}p{margin:8px 0 12px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--violet)}[hidden]{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:243px minmax(0,1fr)}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:25px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:9px}.brand{display:flex;align-items:center;gap:11px;margin:3px 5px 35px}.brand strong{display:block;font-size:17px}.brand small{display:block;color:var(--muted);font-size:11px}.brand-logo{display:grid;place-items:center;background:linear-gradient(145deg,#a99cfa,#759aff);width:43px;height:43px;border-radius:13px;color:white;font-size:23px}.nav{border:0;border-radius:12px;background:transparent;color:#bac7df;text-align:left;padding:14px;font-weight:650}.nav span{margin-right:10px}.nav.active,.nav:hover{background:#273352;color:white}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding:16px 7px 0;color:#b4c2e0;font-size:12px}.sidebar-foot p{word-break:break-word;color:var(--muted)}.status-dot{display:inline-block;background:var(--green);width:7px;height:7px;border-radius:50%;margin-right:7px}.main{padding:24px clamp(16px,4vw,55px) 64px;max-width:1500px;width:100%;margin:0 auto}.topline,.page-head,.horizontal,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.page-head{align-items:end;margin:26px 0}.page-head p{margin:5px 0}.horizontal{justify-content:flex-start;flex-wrap:wrap}.page-head .horizontal{justify-content:flex-end}.btn{border:1px solid var(--line);border-radius:11px;padding:11px 16px;background:#222c48;color:#e8eeff;font-weight:750;white-space:nowrap}.btn:hover{filter:brightness(1.1)}.primary{border-color:transparent;background:linear-gradient(105deg,#947bed,#786ee8);color:white}.secondary{background:#1a243c}.link{border:0;background:none;color:var(--violet);font-weight:650}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.panel,.kpi{background:linear-gradient(132deg,#1b2540,#151d30 65%);border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:0 10px 35px #06091319}.kpi .label{color:#a8b6d3;font-size:12px;font-weight:700}.kpi .value{font-size:clamp(21px,2.7vw,31px);font-weight:850;letter-spacing:-.7px;margin:11px 0 4px;white-space:nowrap}.kpi .desc{font-size:11px;color:var(--muted)}.green{color:var(--green)!important}.red{color:var(--red)!important}.insight{margin:16px 0 19px;padding:18px 20px;border-radius:15px;background:linear-gradient(120deg,#222b49,#1a263f);border:1px solid #3a486c;display:flex;gap:14px}.insight:before{content:'✦';color:var(--violet);font-size:24px}.insight p{font-size:12px;color:#b8c6e1;line-height:1.6}.cards{display:grid;gap:16px;margin:15px 0}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-heading h2{margin:0}.tag{color:#bcb0ff;background:#2d305c;border-radius:30px;padding:2px 9px}.month-chart{height:265px;display:flex;align-items:flex-end;justify-content:space-around;gap:10px;padding:20px 7px 18px;border-bottom:1px dashed #45506a}.month-col{display:grid;gap:9px;text-align:center;flex:1;max-width:160px;height:100%}.month-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:8px;border-bottom:1px solid #45506a}.bar{border-radius:6px 6px 0 0;width:32%;min-height:2px}.bar-income{background:#a99cfa}.bar-out{background:#62dbb2}.month-label{font-size:11px;color:var(--muted)}.donut-zone{display:flex;align-items:center;gap:25px;min-height:230px}.donut{width:190px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:conic-gradient(#a99cfa 0 100%)}.donut-inner{background:#171f35;width:132px;aspect-ratio:1;border-radius:50%;display:grid;align-content:center;justify-items:center;text-align:center}.donut-inner small{color:var(--muted);font-size:11px}.donut-inner b{font-size:19px}.legend{flex:1;min-width:100px}.legend-item{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;border-bottom:1px solid #28334b;padding:7px 0}.legend-item span{overflow-wrap:anywhere}.dot{display:inline-block;vertical-align:middle;width:8px;height:8px;border-radius:100%;margin-right:6px}.summary-row,.recent-row{display:flex;gap:10px;justify-content:space-between;align-items:center;border-bottom:1px solid #2b3550;padding:12px 0}.summary-row:last-child,.recent-row:last-child{border-bottom:0}.summary-row span,.recent-row small{color:var(--muted)}.recent-row b{white-space:nowrap}.recent-row strong{display:block}.recent-row small{display:block}.foot-note{color:#8191af;font-size:12px;margin-top:22px}.filters{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:16px}.filters input{flex:2;min-width:180px}.filters select{flex:1}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th{text-align:left;color:var(--muted);font-size:11px;font-weight:750;padding:12px 10px;border-bottom:1px solid #35415e}td{padding:13px 10px;border-bottom:1px solid #2b3550;font-size:13px;vertical-align:middle}td strong{display:block}td small{color:var(--muted);display:block}.right{text-align:right;white-space:nowrap}.pill{display:inline-block;padding:5px 9px;background:#273450;border-radius:50px;color:#cdd7eb;font-size:11px;white-space:nowrap}.icon-btn{border:1px solid var(--line);border-radius:8px;background:#202b47;color:#c4d1f0;padding:7px 9px}.icon-btn:hover{background:#35415b}.table-foot{display:flex;justify-content:space-between;align-items:center;padding:17px 0 0}.stack{display:grid;gap:12px}.category-bar{margin:15px 0}.category-bar-head{display:flex;justify-content:space-between;gap:10px;color:#becbe2;font-size:12px;margin:0 0 7px}.progress{background:#293650;border-radius:20px;height:9px;overflow:hidden}.progress>div{height:100%;border-radius:20px;background:linear-gradient(90deg,#a99cfa,#73a6fa)}.salary-progress{height:16px}.center-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);background:#171f35;padding:32px;border-radius:20px;border:1px solid #33415f;box-shadow:0 15px 65px #0005}.auth-card p{color:#aab8d3}.error-text{color:var(--red);font-size:12px;min-height:1.5em}.overlay{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:20;padding:15px;overflow:auto}.dialog{background:#1a243c;border:1px solid #445074;border-radius:19px;width:min(600px,100%);padding:24px;margin:auto}.dialog .panel-heading{margin:0 0 20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.actions{justify-content:flex-end}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#303d62;border:1px solid #50628b;border-radius:11px;padding:11px 17px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:40;max-width:90vw}#toast.show{opacity:1}.bottom-nav{display:none}@media(max-width:1050px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.donut-zone{justify-content:space-evenly}}@media(max-width:750px){.app{display:block}.sidebar{display:none}.main{padding:19px 14px 95px}.page-head{align-items:flex-start;flex-direction:column;margin:18px 0}.page-head .horizontal{width:100%;justify-content:stretch}.page-head .horizontal select{flex:1}.page-head .horizontal .btn{flex:1}.topline{gap:5px}.kpis{gap:9px}.kpi{padding:14px}.kpi .value{font-size:22px}.panel{padding:16px}.donut-zone{flex-direction:column}.legend{width:100%}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#10172a;border-top:1px solid #303b5b;padding:7px 9px max(7px,env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:none;color:#93a3c4;display:grid;justify-items:center;gap:1px;flex:1;font-size:20px}.bottom-nav button small{font-size:10px}.bottom-nav button.active{color:#b3a2ff}.form-grid{grid-template-columns:1fr 1fr}.filters select{min-width:125px}.month-chart{height:210px}.auth-card{padding:23px}}
