*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#f6f8fb;color:#253047}a{color:#4f67c8;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:245px;background:#fff;border-right:1px solid #e8ebf2;padding:22px 15px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{font-size:20px;font-weight:800;padding:8px 10px 24px}.brand small{display:block;font-size:11px;color:#8892a7;margin-left:30px;margin-top:3px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.side-bottom a{padding:11px 12px;border-radius:10px;color:#59657a}.sidebar nav a:hover,.side-bottom a:hover{background:#f0f3ff;color:#465bc0}.side-bottom{margin-top:auto;display:grid;gap:4px}.main{margin-left:245px;width:calc(100% - 245px);padding:0 28px 40px}.topbar{height:68px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e8ebf2;margin-bottom:24px}.admin-chip{background:#eef1ff;color:#4e61bb;padding:7px 12px;border-radius:999px;font-size:13px}.hero{background:linear-gradient(135deg,#eef2ff,#fff);border:1px solid #e1e6fa;border-radius:18px;padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hero h1{margin:0 0 5px;font-size:25px}.hero p,.muted{color:#7b869b}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:20px}.card,.panel{background:#fff;border:1px solid #e8ebf2;border-radius:15px;padding:18px;box-shadow:0 4px 15px rgba(35,48,80,.035)}.card span{display:block;color:#788399;font-size:13px;margin-bottom:9px}.card b{font-size:22px}.card.accent{background:#eef2ff;border-color:#dce3ff}.grid{display:grid;gap:18px;margin-bottom:20px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}h2{font-size:17px;margin:0 0 15px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.metric-row,.bar-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf0f5}.metric-row:last-child,.bar-row:last-child{border-bottom:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 9px;border-bottom:1px solid #edf0f5;white-space:nowrap}th{color:#788399;font-weight:600}label{display:block;font-size:13px;font-weight:600;color:#59657a;margin:0 0 13px}input,select,textarea{display:block;width:100%;margin-top:6px;border:1px solid #dfe4ee;border-radius:9px;padding:10px 11px;background:#fff;font:inherit;color:#263249}input:focus,select:focus,textarea:focus{outline:2px solid #dfe5ff;border-color:#8998dc}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{border:0;border-radius:9px;padding:10px 15px;cursor:pointer;font-weight:700;display:inline-block}.btn.primary{background:#586dcc;color:#fff}.btn.primary:hover{background:#485dbd}.btn.small{padding:6px 9px;font-size:12px;background:#f0f2f7;color:#59657a}.full{width:100%}.icon-btn{border:0;background:transparent;cursor:pointer}.badge{padding:4px 8px;border-radius:999px;font-size:11px}.badge.income,.badge.active{background:#e8f7ef;color:#267a4b}.badge.expense,.badge.inactive{background:#fff0ef;color:#a54a43}.alert{padding:12px 15px;border-radius:10px;margin-bottom:18px}.alert.success{background:#e9f8ef;color:#27764b}.alert.error{background:#fff0ef;color:#a3443e}.periods{display:flex;gap:7px}.periods a{padding:8px 13px;border-radius:9px;background:#f2f4f8;color:#667187}.periods a.selected{background:#e8edff;color:#4c60bd;font-weight:700}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f1f4ff,#f9fbfd);padding:20px}.login-card{background:#fff;border:1px solid #e4e8f1;border-radius:18px;padding:30px;width:min(420px,100%);box-shadow:0 15px 50px rgba(50,65,100,.08)}.login-card.wide{width:min(500px,100%)}.brand.big{padding:0 0 10px}.login-card h1{font-size:25px;margin:10px 0}.hint{font-size:12px;color:#8a94a7;line-height:1.6}.narrow{max-width:500px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr}.sidebar{width:205px}.main{margin-left:205px;width:calc(100% - 205px)}}@media(max-width:720px){.sidebar{position:static;width:100%;height:auto}.app{display:block}.sidebar nav{grid-template-columns:repeat(2,1fr)}.side-bottom{margin-top:10px}.main{margin:0;width:100%;padding:0 14px 30px}.grid.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.hero{display:block}.hero .btn{margin-top:15px}}@media(max-width:430px){.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
