:root{color:#172033;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select{font:inherit}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}aside{color:#dfe7f4;background:#101a2d;padding:24px 16px}.brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{color:#fff;background:#2878f0;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.brand b,.brand small{display:block}.brand small{color:#8290a9;margin-top:2px}nav{gap:5px;display:grid}nav a{color:#aebbd0;border-radius:9px;align-items:center;gap:11px;padding:11px 12px;text-decoration:none;display:flex}nav a:hover,nav a.active{color:#fff;background:#1f2c43}main{min-width:0}header{background:#fff;border-bottom:1px solid #e5eaf1;align-items:center;gap:12px;height:70px;padding:0 30px;display:flex}header select{background:#fff;border:1px solid #dae1eb;border-radius:8px;padding:9px 12px}.profile{color:#246acb;background:#e8f1ff;border-radius:50%;place-items:center;width:35px;height:35px;margin-left:auto;font-weight:700;display:grid}.content{max-width:1500px;margin:auto;padding:30px}h1{margin:0 0 5px;font-size:27px}h2{margin:0 0 20px;font-size:16px}.title-row p{color:#778397;margin:0}.cards{grid-template-columns:repeat(4,1fr);gap:16px;margin:25px 0;display:grid}.card,.panel{background:#fff;border:1px solid #e5eaf1;border-radius:13px;box-shadow:0 2px 5px #1c273a0a}.card{padding:20px}.card span,.card small{color:#768398}.card strong{margin:10px 0 5px;font-size:31px;display:block}.dashboard-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel{min-height:235px;padding:21px}.chart-placeholder{color:#9aa5b5;background:linear-gradient(#f7faff,#fff);border-radius:9px;place-items:center;height:160px;display:grid}.empty{color:#8793a5;background:#fff;border:1px dashed #d8e0eb;border-radius:12px;place-items:center;min-height:260px;margin-top:24px;display:grid}.empty.compact{border:0;min-height:150px;margin-top:0}@media (width<=1000px){.shell{grid-template-columns:76px 1fr}.brand>div:last-child,nav span{display:none}.brand{padding-inline:3px}.cards{grid-template-columns:1fr 1fr}}@media (width<=680px){.shell{display:block}aside{display:none}.content{padding:18px}.cards,.dashboard-grid{grid-template-columns:1fr}header{padding:0 16px}header select:nth-child(2){display:none}}
