*{box-sizing:border-box} :root{--blue:#2463eb;--ink:#202938;--muted:#737d8d;--border:#e0e5ed;--bg:#f5f7fb;--card:#fff}
body{margin:0;background:var(--bg);font-family:Inter,Arial,sans-serif;color:var(--ink);font-size:14px}
a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}
.brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid #f0f2f6}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:21px}.brand b{display:block;font-size:18px;letter-spacing:-.4px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:3px}
.nav-title{font-size:10px;letter-spacing:1.5px;color:#a1a9b5;font-weight:700;padding:24px 18px 10px}.sidebar nav{padding:0 10px;overflow-y:auto}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;margin:3px 0;border-radius:9px;color:#667184;font-size:13px;border:1px solid transparent}.nav-link:hover{background:#f5f8ff;color:var(--blue)}.nav-link.active{background:#edf3ff;color:var(--blue);border-color:#dce7ff;font-weight:600;position:relative}.nav-link.active:before{content:"";position:absolute;left:-11px;top:7px;bottom:7px;width:3px;background:var(--blue);border-radius:3px}.nav-icon{width:17px;text-align:center;font-size:16px}.sidebar-footer{margin-top:auto;padding:15px;border-top:1px solid #eef1f5;display:flex;gap:10px;align-items:center}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e6efff;color:var(--blue);font-weight:700}.sidebar-footer strong{font-size:11px;display:block}.sidebar-footer small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.main-content{margin-left:238px;padding:0 24px 24px}.topbar{height:66px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin:0 -24px 26px;padding:0 24px;background:rgba(255,255,255,.72)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px}.status-pill,.balance{background:#fff;border:1px solid var(--border);padding:8px 12px;border-radius:22px;font-size:11px;color:#596579}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#16b981;margin-right:7px}.balance strong{color:#07966a;margin-left:5px}.user-chip{display:flex;align-items:center;gap:9px;font-size:12px;color:#596579}.user-chip:before{content:"AK";width:30px;height:30px;display:grid;place-items:center;background:#e7efff;color:var(--blue);border-radius:50%;font-weight:700}.mobile-menu{display:none}
.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:22px;margin:0 0 7px;letter-spacing:-.5px}.page-heading p,.panel-heading p{margin:0;color:var(--muted);font-size:12px}.date-filters{display:flex;flex-wrap:wrap;gap:6px}.filter{border:1px solid transparent;background:#edf0f5;color:#6a7484;padding:8px 12px;border-radius:20px;font-size:11px;cursor:pointer}.filter.active{background:var(--blue);color:white}
.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:17px 18px;min-height:125px;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent)}.accent-blue{--accent:#3478f6}.accent-purple{--accent:#8b5cf6}.accent-green{--accent:#10b981}.accent-orange{--accent:#f59e0b}.accent-pink{--accent:#ec4899}.accent-teal{--accent:#14b8a6}.stat-label{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#677285;font-weight:700}.stat-value{font-size:29px;font-weight:700;letter-spacing:-1px;margin:10px 0 8px}.stat-foot{font-size:11px;color:#929baa}
.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:19px;margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading h2{font-size:14px;margin:0 0 6px}.panel-heading select{border:1px solid var(--border);background:#fff;border-radius:7px;padding:8px;color:#687386;font-size:11px}.panel-heading a{color:var(--blue);font-size:11px}.chart-placeholder{height:245px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a0a8b5;gap:9px}.chart-icon{font-size:42px;color:#c2c9d4}.chart-placeholder strong{color:#687386;font-size:13px}.chart-placeholder span{font-size:11px;text-align:center}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.empty-row{padding:36px 10px;text-align:center;color:#929baa;font-size:12px}.quick-actions{display:grid;gap:10px;margin-top:17px}.action-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid #e9edf3;border-radius:9px}.action-card:hover{border-color:#cbdcff;background:#f9fbff}.action-card>span{width:34px;height:34px;border-radius:9px;background:#edf3ff;color:var(--blue);display:grid;place-items:center;font-size:18px}.action-card strong{display:block;font-size:12px}.action-card small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.page-footer{margin-left:238px;padding:0 24px 20px;color:#9aa2ae;font-size:10px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{flex-direction:column}.date-filters{justify-content:flex-start}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:0 8px 30px #1b2a4415}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0;padding:0 14px 20px}.topbar{margin:0 -14px 20px;padding:0 14px;height:60px}.mobile-menu{display:block;border:0;background:#edf3ff;color:var(--blue);border-radius:8px;padding:8px 10px}.status-pill{display:none}.user-chip span{display:none}.stats-grid{gap:10px}.stat-card{padding:14px;min-height:112px}.stat-value{font-size:25px}.lower-grid{grid-template-columns:1fr}.page-footer{margin-left:0;padding:0 14px 20px}.date-filters{gap:5px}.filter{padding:8px 10px}}
@media(max-width:420px){.stats-grid{grid-template-columns:1fr 1fr}.stat-label{font-size:9px}.stat-value{font-size:23px}.stat-foot{font-size:10px}.panel{padding:14px}}
