﻿:root{
  --bg:#0b1321;
  --card:#121b2e;
  --muted:#8aa0c4;
  --accent:#44d7b6;
  --accent2:#2f8cff;
  --text:#eaf1ff;
  --good:#2ecc71;
  --warn:#f1c40f;
  --bad:#e74c3c;
}
*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Source Sans 3",system-ui,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 15% -10%,#1a2b52,transparent),linear-gradient(180deg,#0b1321,#0b1321);
  color:var(--text);
}
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 24px;
  position:sticky;
  top:0;
  background:linear-gradient(180deg,rgba(11,19,33,0.95),rgba(11,19,33,0.85));
  backdrop-filter:blur(6px);
  border-bottom:1px solid #15223d;
  z-index:10;
}
.brand{display:flex;gap:12px;align-items:center;}
.logo{
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg,#44d7b6,#2f8cff);
  display:flex;align-items:center;justify-content:center;
  color:#04121f;font-weight:700;font-family:"Sora",sans-serif;
}
.brand-title{font-family:"Sora",sans-serif;font-weight:700;letter-spacing:0.2px;}
.brand-sub{font-size:12px;color:var(--muted);}
.status{
  padding:6px 12px;border-radius:999px;
  background:#1c2945;color:var(--muted);font-size:12px;
}
.container{max-width:1100px;margin:26px auto;padding:0 18px 32px;}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.card{
  background:linear-gradient(160deg,#131f37,#0f182b);
  border:1px solid #1c2a48;border-radius:16px;padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.card h3{margin:0;font-family:"Sora",sans-serif;font-size:16px;color:#cfe0ff;}
.badge{padding:4px 10px;border-radius:999px;font-size:12px;background:#1c2945;color:var(--muted);}
.value{font-size:32px;font-weight:700;display:flex;align-items:baseline;gap:6px;}
.unit{font-size:12px;color:var(--muted);}
.meta{font-size:12px;color:var(--muted);}
.panel{
  margin-top:18px;background:linear-gradient(160deg,#131f37,#0f182b);
  border:1px solid #1c2a48;border-radius:16px;padding:16px;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.chart-wrap{height:280px;}
.table-wrap{overflow:auto;max-height:320px;}
.table-wrap table{width:100%;border-collapse:collapse;font-size:13px;}
.table-wrap th,.table-wrap td{padding:10px;border-bottom:1px solid #1c2a48;text-align:left;}
.table-wrap th{color:#cfe0ff;position:sticky;top:0;background:#121b2e;}
.empty{text-align:center;color:var(--muted);}

.status-good{background:rgba(46,204,113,0.15);color:var(--good);border:1px solid rgba(46,204,113,0.35);}
.status-warn{background:rgba(241,196,15,0.15);color:var(--warn);border:1px solid rgba(241,196,15,0.35);}
.status-bad{background:rgba(231,76,60,0.15);color:var(--bad);border:1px solid rgba(231,76,60,0.35);}

@media (max-width:720px){
  .topbar{flex-direction:column;align-items:flex-start;gap:10px;}
  .chart-wrap{height:220px;}
}
