:root{--background:#071019;--surface:#0e1a26;--surface-raised:#122232;--border:#203447;--text:#f2f6f8;--muted:#91a7b7;--green:#23cc86;--green-soft:#23cc861f;--red:#fb6875;--red-soft:#fb687521;--accent:#59c3ff}*{box-sizing:border-box}html,body{min-height:100vh;margin:0}body{color:var(--text);background:radial-gradient(circle at 80% 5%, #23cc8617, transparent 33rem), radial-gradient(circle at 6% 90%, #59c3ff12, transparent 38rem), var(--background);font-family:Arial,Helvetica,sans-serif}p,h1,h2,dt,dd{margin:0}.dashboard{flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem);min-height:100vh;padding:clamp(1.5rem,3vw,3.25rem);display:flex}.topbar{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.branding{gap:0;display:grid}.brand-logo{width:clamp(150px,18vw,250px);max-width:min(260px,42vw);height:auto;margin-bottom:clamp(1.2rem,2vw,1.75rem);display:block}.eyebrow{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.7rem;font-size:clamp(.7rem,1vw,.82rem);font-weight:700}h1{letter-spacing:-.055em;font-size:clamp(2.35rem,4.5vw,4.6rem);line-height:1}.overview{justify-items:end;gap:.45rem;display:grid}.overall{border-radius:999px;align-items:center;gap:.55rem;padding:.55rem .9rem;font-size:clamp(.85rem,1vw,1rem);font-weight:600;display:inline-flex}.overall.good{background:var(--green-soft);color:var(--green)}.overall.attention{background:var(--red-soft);color:var(--red)}.clock{font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:clamp(2.2rem,4vw,4rem);font-weight:700}.date{color:var(--muted);text-transform:capitalize;font-size:clamp(.9rem,1.1vw,1rem)}.error-banner{background:var(--red-soft);color:#ff98a1;border:1px solid #fb687559;border-radius:.8rem;padding:.85rem 1rem}.cards{flex:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-content:start;gap:clamp(1rem,1.5vw,1.35rem);display:grid}.service-card{background:linear-gradient(130deg, var(--surface-raised), var(--surface));border:1px solid var(--border);border-radius:1.15rem;flex-direction:column;gap:clamp(.9rem,1.3vw,1.2rem);min-height:245px;padding:clamp(1.15rem,2vw,1.55rem);display:flex;container-type:inline-size}.service-card.online{box-shadow:inset 0 2px #23cc86a6}.service-card.offline{background:linear-gradient(130deg, #241924, var(--surface));border-color:#fb68756b;box-shadow:inset 0 2px #fb6875bf}.service-heading{justify-content:space-between;gap:1rem;display:flex}.category{color:var(--muted);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.45rem;font-size:.73rem;font-weight:700}.service-heading h2{letter-spacing:-.035em;font-size:clamp(1.25rem,1.8vw,1.5rem);line-height:1.15}.hostname{color:var(--muted);margin-top:.38rem;font-size:.86rem}.status{flex-shrink:0;align-items:center;gap:.45rem;font-size:.86rem;font-weight:700;display:flex}.online .status{color:var(--green)}.offline .status{color:var(--red)}.status-dot{background:currentColor;border-radius:100%;width:.56rem;height:.56rem;display:inline-block;box-shadow:0 0 .7rem}.metrics{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.metrics dt{color:var(--muted);margin-bottom:.38rem;font-size:clamp(.7rem,.8vw,.76rem)}.metrics dd{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.05rem,1.6vw,1.3rem);font-weight:700}.trend{color:var(--muted)}.trend-heading{justify-content:space-between;margin-bottom:.4rem;font-size:.7rem;display:flex}.sparkline{width:100%;height:44px;display:block;overflow:visible}.sparkline-grid{fill:none;opacity:.3;stroke:var(--border);stroke-width:1px}.sparkline-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.sparkline-point{fill:var(--green)}.sparkline-point.failed{fill:var(--red)}.trend-empty{border-bottom:1px dashed var(--border);color:var(--muted);align-items:center;height:44px;font-size:.73rem;display:flex}.card-footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;margin-top:auto;padding-top:.9rem;font-size:.79rem;display:flex}.loading{color:var(--muted);align-self:start;padding:1rem 0;font-size:1rem}.footer{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;padding-top:1.1rem;font-size:clamp(.75rem,1vw,.86rem);display:flex}@container (max-width:310px){.metrics{grid-template-columns:repeat(2,1fr);gap:.75rem 1rem}}@media (max-width:680px){.topbar,.footer{flex-direction:column}.overview{justify-items:start}.brand-logo{max-width:220px}.metrics{grid-template-columns:repeat(2,1fr)}}
