:root{--bg-app: #0b0f12;--bg-panel: #0e1418;--border: #1e2a31;--border-row: #151d23;--border-input: #2a3942;--text-primary: #e6edf1;--text-body: #dbe6ec;--text-secondary: #8aa0ab;--text-muted: #5c707b;--text-faint: #3d4d59;--text-button: #b8c7d0;--accent: #3ec9dd;--accent-hover: #7fdcea;--accent-soft: #8fd8e4;--green: #46c47c;--amber: #e5b04c;--red: #ee6a6a;--gray-state: #7d8f9a;--error-tint-red: #d8a3a3;--error-tint-amber: #d6c290;--scrim: rgba(4, 6, 8, .7);--toast-bg: #16212a;--track: #1c262c;--font-sans: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--dialog-shadow: 0 12px 40px rgba(0, 0, 0, .5);--red-border: rgba(238, 106, 106, .45);--red-border-soft: rgba(238, 106, 106, .35);--red-tint: rgba(238, 106, 106, .06);--red-tint-hover: rgba(238, 106, 106, .12);--amber-border: rgba(229, 176, 76, .4);--amber-tint: rgba(229, 176, 76, .06);--green-border: rgba(70, 196, 124, .3);--green-tint: rgba(70, 196, 124, .07);--accent-border: rgba(62, 201, 221, .3);--fs-label: 10px;--fs-note: 10.5px;--fs-caption: 11px;--fs-mono: 11.5px;--fs-mono-md: 12px;--fs-body: 12.5px;--fs-cell: 13px;--fs-cell-lg: 13.5px;--fs-title: 14px;--fs-heading: 16px;--fs-page: 17px;--fs-stat: 20px}*{box-sizing:border-box}body{margin:0;background:var(--bg-app);font-family:var(--font-sans);color:var(--text-body)}#root{min-height:100vh;min-width:1240px}a{color:var(--accent)}a:hover{color:var(--accent-hover)}input::placeholder,textarea::placeholder{color:var(--text-muted)}button{font-family:var(--font-sans);cursor:pointer}@keyframes ntPulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes ntToast{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.mono{font-family:var(--font-mono)}.btn{font-size:var(--fs-body);font-weight:500;color:var(--text-button);background:transparent;border:1px solid var(--border-input);border-radius:3px;padding:6px 12px}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--text-primary)}.btn-primary{font-size:var(--fs-body);font-weight:600;color:var(--bg-app);background:var(--accent);border:none;border-radius:3px;padding:7px 14px}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{font-size:var(--fs-body);font-weight:500;color:var(--red);background:transparent;border:1px solid var(--red-border);border-radius:3px;padding:6px 12px}.btn-danger:hover:not(:disabled){border-color:var(--red);background:var(--red-tint-hover)}.btn-danger-solid{font-size:var(--fs-body);font-weight:600;color:var(--bg-app);background:var(--red);border:none;border-radius:3px;padding:7px 14px}.btn-green-solid{font-size:var(--fs-body);font-weight:600;color:var(--bg-app);background:var(--green);border:none;border-radius:3px;padding:7px 14px}button:disabled{opacity:.5;cursor:not-allowed}.input{font-family:var(--font-sans);font-size:var(--fs-body);color:var(--text-body);background:var(--bg-panel);border:1px solid var(--border-input);border-radius:3px;padding:6px 10px;outline:none}.input:focus{border-color:var(--accent)}.panel{border:1px solid var(--border);border-radius:4px;background:var(--bg-panel)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-caption);padding:3px 8px;border-radius:3px}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.badge-dot.pulsing{animation:ntPulse 1.4s ease-in-out infinite}.progress-track{width:100px;height:4px;background:var(--track);border-radius:2px;overflow:hidden}.progress-fill{height:100%;border-radius:2px}.crumb{font-size:var(--fs-mono-md);color:var(--text-muted);cursor:pointer}.crumb:hover{color:var(--accent)}.table-row{cursor:pointer}.table-row:hover{background:var(--bg-panel)}.btn-row{font-size:var(--fs-mono);font-weight:500;color:var(--accent-soft);background:transparent;border:1px solid var(--accent-border);border-radius:3px;padding:3px 9px}.btn-row:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-row-x{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--text-muted);background:transparent;border:1px solid var(--border-input);border-radius:3px;padding:3px 8px}.btn-row-x:hover:not(:disabled){color:var(--red);border-color:var(--red-border)}.link-quiet{font-family:var(--font-mono);font-size:var(--fs-caption);color:var(--text-muted);background:transparent;border:none;padding:0}.link-quiet:hover:not(:disabled){color:var(--accent)}
