:root{--blue:#173f7a;--blue2:#204692;--bg:#f5f7fb;--card:#fff;--line:#d9e1ef;--text:#172033;--muted:#69768c;--gold:#c59b45}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text)}header{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white;padding:34px 42px}h1{margin:0 0 8px;font-size:34px}h2{font-size:20px;margin:0 0 16px}p{margin:0;color:#dfe8fb}main{padding:26px;max-width:1500px;margin:auto}.cards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:16px;margin-bottom:18px}.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 22px rgba(23,45,90,.07)}.card{padding:18px}.card .label{color:var(--muted);font-size:13px}.card .value{font-weight:800;font-size:30px;margin-top:6px}.toolbar{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}.toolbar input,.toolbar select{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:white;min-width:220px;font-size:15px}.grid{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}.panel{padding:18px;min-width:0}.wide{min-width:0}.tablewrap{overflow:auto;max-height:660px;border-radius:12px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px 12px;border-bottom:1px solid #edf1f7;text-align:left;white-space:nowrap}th{position:sticky;top:0;background:#eef3fb;color:#173f7a;font-size:13px;text-transform:uppercase;letter-spacing:.04em}tr:hover td{background:#f8fbff}.pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#eef3fb;color:#173f7a;font-weight:700}.absent{color:#9a3b3b}.bar{height:9px;background:#e5eaf4;border-radius:999px;overflow:hidden;min-width:100px}.bar span{display:block;height:100%;background:var(--blue2);border-radius:999px}.mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.mini div{background:#f4f7fc;border:1px solid var(--line);border-radius:12px;padding:10px}.mini b{display:block;font-size:22px}@media(max-width:980px){.cards,.grid{grid-template-columns:1fr}header{padding:26px}main{padding:16px}}