/* =========================================================
   DCS214 Dashboard - stability + visual polish layer
   Does not replace the existing design; only reinforces it.
   ========================================================= */
:root{--bg:#070a0f;--panel:rgba(13,18,27,.94);--panel2:#0d131c;--line:rgba(255,255,255,.08);--muted:#8190a3;--text:#e7edf5;--cyan:#38bdf8;--green:#22c55e;--amber:#f59e0b;}
html{background:var(--bg);scroll-behavior:smooth}
body{min-height:100vh;color:var(--text)}
.main-header{isolation:isolate}
.modules-nav{position:sticky;top:8px;z-index:50;flex-wrap:wrap;padding:6px 10px;margin:0 auto 16px;max-width:1200px;background:rgba(7,10,15,.78);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(14px)}
.modules-nav a{min-height:34px;justify-content:center}
.modules-nav a.active{box-shadow:0 0 0 1px rgba(34,197,94,.22),0 0 18px rgba(34,197,94,.14)}
.dashboard-statusbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:10px 20px 0}
.status-chip{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 13px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.status-chip small{display:block;color:var(--muted);font-size:9px;letter-spacing:1px}
.status-chip strong{display:block;color:#f4f7fb;font-size:14px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip-icon{color:var(--cyan);font-size:19px}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:0 0 auto}.status-dot.online{background:var(--green);box-shadow:0 0 10px rgba(34,197,94,.8)}.status-dot.offline{background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.6)}
.pulse-ring{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(34,197,94,.55);animation:livePulse 1.8s infinite}.refresh-chip{justify-content:flex-start}@keyframes livePulse{70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
.dashboard-grid{padding-top:12px}
.card{overflow:hidden}.table-container{overflow:auto;max-height:560px;scrollbar-width:thin;scrollbar-color:#334155 transparent}.table-container table{min-width:520px}.card h2{position:sticky;top:0;z-index:2;background:rgba(17,24,39,.96);padding:9px 0}
tbody tr{transition:background .15s ease}tbody tr:hover{background:rgba(56,189,248,.07)!important}
.status-page{max-width:1400px;margin:0 auto;padding:10px 20px 30px}.status-hero{display:flex;align-items:center;gap:14px;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 15px 35px rgba(0,0,0,.25)}.status-hero small{color:var(--muted);letter-spacing:1.4px}.status-hero h1{margin:3px 0 0;font-size:28px}.status-time{margin-left:auto;color:var(--muted);font-size:12px}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.status-grid article{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.status-grid small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}.status-grid strong{display:block;margin-top:7px;font-size:20px}.status-note{margin-top:12px;padding:16px;background:rgba(56,189,248,.045);border:1px solid rgba(56,189,248,.12);border-radius:14px;color:#b8c4d3}.status-note strong{color:#e7edf5}.status-note p{margin:6px 0 0;line-height:1.5}
@media(max-width:1100px){.dashboard-statusbar{grid-template-columns:repeat(3,1fr)}.status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.dashboard-statusbar{grid-template-columns:1fr 1fr;padding:8px 10px 0}.dashboard-grid{padding:8px 10px}.modules-nav{top:4px;gap:5px}.modules-nav a{padding:7px 9px;font-size:12px}.status-grid{grid-template-columns:1fr}.status-page{padding:8px 10px 20px}.status-hero{align-items:flex-start;flex-wrap:wrap}.status-time{width:100%;margin-left:24px}.header-logo{height:70px!important;left:10px}.main-header{height:78px!important}.modules-title{font-size:17px!important;padding:0 70px}}
@media(max-width:420px){.dashboard-statusbar{grid-template-columns:1fr}.status-chip{min-height:52px}}
