/* Page de surveillance du relais ; la base vient de /style.css. */
.relay-shell{max-width:1500px;margin:0 auto;padding:0 32px}
.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:20px}
.summary div{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:16px 18px}
.summary strong{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums;margin-top:4px}
.relay-table{min-width:980px}
.relay-table td{vertical-align:middle;font-variant-numeric:tabular-nums}
.relay-table small{display:block;color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--muted)}
.dot.ok{background:var(--accent)}.dot.bad{background:var(--red)}.dot.warn{background:var(--yellow)}
svg.spark{width:180px;height:34px;display:block}
svg.spark polyline{fill:none;stroke:var(--accent);stroke-width:1.5}
svg.spark polyline.second{stroke:var(--muted);stroke-dasharray:3 2}
svg.spark rect{fill:var(--red)}
.alarm-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.alarm-list li{display:flex;gap:12px;align-items:center}
@media(max-width:760px){.relay-shell{padding:0 16px}}
