:root{--bg: #f7f7f9;--panel: #ffffff;--text: #101828;--muted: #475467;--border: #d0d5dd;--shadow: 0 8px 24px rgba(16, 24, 40, .08);--row-hover: #eef2ff;--row-focus: #e0e7ff;--inuse-bg: #ecfdf3;--inuse-fg: #027a48;--standby-bg: #f2f4f7;--standby-fg: #344054;--oos-bg: #fef3f2;--oos-fg: #b42318}:root[data-theme=dark]{--bg: #0b1220;--panel: #0f172a;--text: #f8fafc;--muted: #cbd5e1;--border: #1f2a44;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--row-hover: #162038;--row-focus: #1b2a4a;--inuse-bg: rgba(16, 185, 129, .18);--inuse-fg: #34d399;--standby-bg: rgba(148, 163, 184, .18);--standby-fg: #e2e8f0;--oos-bg: rgba(239, 68, 68, .18);--oos-fg: #fca5a5}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial}.wrap{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--bg))}.brand{font-weight:700;letter-spacing:.2px}.spacer{flex:1}.toggle{cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:8px 12px;border-radius:10px;font-weight:600}.toggle:focus{outline:3px solid var(--row-focus);outline-offset:2px}.content{display:flex;flex-direction:column;align-items:center;padding:24px;justify-content:flex-start}.panel{width:100%;max-width:1100px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:16px 20px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.select{background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px}.select:focus{outline:3px solid var(--row-focus);outline-offset:2px}.table-wrap{overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0}thead th{font-weight:600;color:var(--muted);text-align:left;padding:12px 14px;font-size:14px}tbody td{padding:14px;border-top:1px solid var(--border);font-size:15px}tbody tr:hover td{background:var(--row-hover)}tbody tr:focus-within td{background:var(--row-focus);outline:none}tbody tr td:first-child{border-left:1px solid var(--border);border-top-left-radius:8px;border-bottom-left-radius:8px}tbody tr td:last-child{border-right:1px solid var(--border);border-top-right-radius:8px;border-bottom-right-radius:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.chip.inuse{background:var(--inuse-bg);color:var(--inuse-fg);border-color:color-mix(in oklab,var(--inuse-fg) 30%,transparent)}.chip.standby{background:var(--standby-bg);color:var(--standby-fg);border-color:color-mix(in oklab,var(--standby-fg) 20%,transparent)}.chip.oos{background:var(--oos-bg);color:var(--oos-fg);border-color:color-mix(in oklab,var(--oos-fg) 30%,transparent)}.form{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.form .row{display:flex;gap:10px;flex-wrap:wrap}.input{background:var(--panel);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:10px 12px;min-width:180px}.btn{background:#2563eb;color:#fff;border:none;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.6;cursor:not-allowed}.panel+.panel{margin-top:16px}.panel-title{font-weight:600;margin-bottom:10px;color:var(--text);opacity:.9}.form .row{align-items:center}.chart{margin-top:12px}.bar-row{display:flex;align-items:center;gap:8px;margin:6px 0}.bar-label{width:72px;font-weight:500;color:var(--muted)}.bar-track{flex:1;height:10px;background:#0b1220;border:1px solid #1f2937;border-radius:999px;overflow:hidden}.bar-fill{height:100%}.bar-fill.inuse{background:#10b981d9}.bar-fill.standby{background:#94a3b8cc}.bar-fill.oos{background:#ef4444d9}.bar-count{min-width:72px;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.btn.sm{padding:6px 10px;border-radius:8px}.input.sm{min-width:140px}.list-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px dashed var(--border)}td.actions{text-align:right;white-space:nowrap}.bar-track{background:color-mix(in srgb,var(--panel) 70%,var(--bg));border:1px solid var(--border)}.admin-content{gap:4px;padding:12px 24px;min-height:auto}.admin-content .panel+.panel{margin:0;padding:12px 16px}.admin-content .list-row{padding:6px 12px}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto;transition:none!important}}
