/* Server edition: critical state, rack art, counts and history. */
.status-dot.critical{background:var(--red);box-shadow:0 0 0 3px #fa898933}
.badge.critical{background:#3d2224;color:#ffb3b3;border-color:#6a3439}
.device-card.status-critical,.device-card.status-offline{border-color:#6a3439}
.device-card.status-warning{border-color:#51402c}
.auth-login{display:block;text-align:center;margin:22px 0 12px;padding:13px 16px;font-size:15px}
#login-error{color:var(--red);font-size:13px;min-height:1em}
.device-glyph{font-size:18px;text-align:center}
.top-actions a.icon-button{color:var(--muted);font-size:17px}
.rack-front{max-height:190px}
.rack-art{width:100%;height:auto;max-height:560px}
.rack-fan{animation:rack-spin 2s linear infinite;transform-box:fill-box;transform-origin:center}
.rack-led{animation:rack-pulse 2.4s ease-in-out infinite}
@keyframes rack-spin{to{transform:rotate(360deg)}}
@keyframes rack-pulse{50%{opacity:.45}}
@media(prefers-reduced-motion:reduce){.rack-fan,.rack-led{animation:none}}
.component-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.component-links a{font-size:12px}
.history-panel{margin-top:20px;padding:0 0 18px}
.history-panel .section-head label,.availability-panel .section-head label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.history-panel .chart-wrap{padding:0 22px}
.history-panel select{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:5px 8px}
.container-counts,.backup-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:4px 22px 16px}
.container-counts div,.backup-tiles div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px}
.container-counts strong,.backup-tiles strong{font-size:22px;font-weight:560}
.container-counts small,.backup-tiles small{grid-column:1/-1}
.backup-overview .notice-row{margin:0 22px}
.drive-list{padding:0 22px 18px}
.backup-panel,.docker-panel,.availability-panel,.server-catalog{margin-top:20px}
@media(max-width:650px){.container-counts,.backup-tiles{margin:4px 14px 14px;gap:8px}.history-panel .chart-wrap{padding:0 12px}.backup-overview .notice-row,.drive-list{margin:0;padding:0 14px 14px}}
/* Usage rings (from the original storage view). */
.usage-ring{display:inline-block;width:48px;height:48px;flex:0 0 48px;vertical-align:middle;overflow:visible}
.usage-ring circle{fill:none;stroke-width:5;transform:rotate(-90deg);transform-origin:24px 24px}
.usage-ring-track{stroke:#385368}.usage-ring-used{stroke:#b9e97b}.usage-ring-reserved{stroke:#a8b9c9}
.usage-ring text{fill:#dbe5f0;font:650 10px ui-sans-serif,sans-serif;font-variant-numeric:tabular-nums}
.usage-ring-warning .usage-ring-used{stroke:#f1ba68}
.usage-ring-unknown .usage-ring-track{stroke:#536474;stroke-dasharray:3 3}
.reading-value,.disk-heading{display:flex;align-items:center;gap:12px;min-width:0}
.reading-value .usage-ring{width:34px;height:34px;flex-basis:34px}
.reading-value strong{white-space:nowrap}
.sensor-with-ring{display:grid;grid-template-columns:minmax(0,1fr) 48px;column-gap:10px;align-content:center}
.sensor-with-ring>.usage-ring{grid-column:2;grid-row:1/4;align-self:center}
.sensor-with-ring>span,.sensor-with-ring>strong,.sensor-with-ring>small{grid-column:1;overflow-wrap:anywhere}
.disk-heading{flex:1}.disk-heading strong{overflow-wrap:anywhere}
.card-usage{display:flex;gap:20px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.card-usage>span{display:flex;align-items:center;gap:8px;font-size:12px}
.card-usage .usage-ring{width:38px;height:38px;flex-basis:38px}
.card-usage small{display:block;font-size:10px;color:var(--muted);margin-top:3px}
@media(max-width:600px){.sensor-with-ring{grid-template-columns:minmax(0,1fr) 40px;column-gap:5px}.sensor-with-ring>.usage-ring{width:40px;height:40px;flex-basis:40px}.card-usage{flex-wrap:wrap;gap:8px}.card-usage .usage-ring{width:34px;height:34px;flex-basis:34px}}
/* Rack cutaway sizing: use the full stage and keep hotspots interactive. */
.machine-stage .rack-art{pointer-events:auto;width:100%;height:auto;max-width:1100px;max-height:none;min-height:0}
