:root{--bg: #12161c;--surface: #1a2029;--surface-raised: #202836;--border: #2a323d;--text: #e8ecf1;--text-muted: #8a94a3;--text-dim: #5a6472;--accent: #e8a33d;--accent-dim: #4a3a1f;--status-active: #3fb8a6;--status-active-bg: #163330;--status-transit: #4c8dff;--status-transit-bg: #172a4a;--status-repair: #e8a33d;--status-repair-bg: #3a2c14;--status-critical: #e85d5d;--status-critical-bg: #3a1f1f;--status-inactive: #5a6472;--status-inactive-bg: #232a33;--radius: 6px;--font-ui: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--font-mono);letter-spacing:.02em}.data-chip{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;background:var(--surface-raised);border:1px solid var(--border);border-radius:4px;padding:2px 8px;color:var(--text)}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);font-weight:500;transition:border-color .15s ease,background .15s ease}.btn:hover{border-color:var(--text-dim)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#16130a;font-weight:600}.btn-primary:hover{filter:brightness(1.08)}.btn-danger{border-color:var(--status-critical);color:var(--status-critical);background:transparent}.btn-danger:hover{background:var(--status-critical-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;padding:8px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text)}.input:focus-visible{border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px}.label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
