:root{
  --bg:#0f1420; --card:#1a2233; --text:#e8ecf4; --muted:#8b96ab;
  --c1:#4f8cff; --c2:#38c793; --c3:#b07cff; --accent:#ffb454;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text)}
header{padding:28px 24px 8px;text-align:center}
h1{margin:0;font-size:26px}
.sub{color:var(--muted);margin:6px 0 0}
.card{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.sla-btn{position:fixed;top:16px;right:16px;z-index:50;background:var(--card);color:var(--text);border:1px solid #2c3852;border-radius:20px;padding:8px 14px;font-size:13px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.sla-btn:hover{border-color:var(--c1)}
.btn{background:var(--c1);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;cursor:pointer;white-space:nowrap}
.btn:hover{opacity:.9}
.filters{margin:18px 24px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.filters select,.filters input{background:#111827;color:var(--text);border:1px solid #2c3852;border-radius:8px;padding:9px 12px;font-size:14px;min-width:140px}
.filters input{flex:1}
.count{color:var(--muted);font-size:13px;margin-left:auto}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:0 24px}
.kpi{text-align:center}
.kpi-num{font-size:30px;font-weight:700;color:var(--accent)}
.kpi-label{color:var(--muted);font-size:12.5px;margin-top:4px}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 24px}
.chart h2{margin:0 0 12px;font-size:15px}
.chart.wide{grid-column:1/-1}
.hint{color:var(--muted);font-weight:400;font-size:12px}
.bar-row{display:grid;grid-template-columns:190px 1fr 44px;align-items:center;gap:10px;margin:8px 0}
.bar-label{font-size:13px;color:var(--muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{background:#111827;border-radius:6px;height:20px;overflow:hidden}
.bar-fill{height:100%;border-radius:6px;background:var(--c1);transition:width .4s}
.bar-val{font-size:13px;font-weight:600}
.table-card{margin:14px 24px 24px}
.table-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.table-head h2{margin:0;font-size:15px}
.table-card h2{margin:0 0 12px;font-size:15px}
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{color:var(--muted);text-align:left;padding:8px;border-bottom:1px solid #2c3852;white-space:nowrap}
td{padding:9px 8px;border-bottom:1px solid #232d44;vertical-align:top}
tr:hover td{background:#212b42}
.center{text-align:center}
.updates{color:var(--muted);max-width:320px}
.ref{color:var(--accent);font-size:11.5px;margin-top:3px}
.over{color:#ff6b6b;font-weight:600}
.chip{display:inline-block;background:#2a3752;border-radius:20px;padding:2px 9px;font-size:11.5px;margin:2px 2px 2px 0;white-space:nowrap}
.chip.muted{color:var(--muted)}
.chip.age-ok{background:rgba(56,199,147,.18);color:var(--c2)}
.chip.age-warn{background:rgba(255,180,84,.18);color:var(--accent)}
.chip.age-old{background:rgba(255,107,107,.18);color:#ff6b6b}
.modal-overlay{position:fixed;inset:0;background:rgba(5,8,15,.72);display:none;align-items:flex-start;justify-content:center;z-index:100;padding:48px 16px;overflow-y:auto}
.modal-overlay.open{display:flex}
.modal{background:var(--card);border-radius:14px;max-width:640px;width:100%;padding:24px 28px;position:relative;border:1px solid #2c3852}
.modal h2{margin:0 0 6px;font-size:19px}
.modal h3{margin:18px 0 6px;font-size:14.5px;color:var(--accent)}
.modal ol,.modal ul{margin:6px 0;padding-left:20px}
.modal li{margin:5px 0;font-size:13.5px;line-height:1.45}
.modal-close{position:absolute;top:12px;right:12px;background:#111827;border:1px solid #2c3852;color:var(--muted);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:14px}
.empty{color:var(--muted);text-align:center;padding:14px}
footer{color:var(--muted);text-align:center;font-size:12px;padding:0 24px 24px}
@media(max-width:800px){.charts{grid-template-columns:1fr}.bar-row{grid-template-columns:110px 1fr 32px}}