:root{--bg-deep: #0b0f14;--panel: #131a21;--panel-raised: #1b232c;--border: #263039;--text-primary: #e6edf3;--text-muted: #7c8b99;--accent-signal: #f5a623;--accent-connected: #2dd4bf;--accent-danger: #ef4444;--font-display: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-display);-webkit-font-smoothing:antialiased}button{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent-signal);outline-offset:2px}.app-shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--panel)}.topbar-brand{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.02em}.topbar-brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent-connected);box-shadow:0 0 8px var(--accent-connected)}.topbar-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--text-muted)}.topbar-meta .role-badge{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:4px;border:1px solid var(--border);color:var(--text-primary)}.link-button{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:13px;text-decoration:underline;padding:0}.link-button:hover{color:var(--text-primary)}.tab-nav{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid var(--border);background:var(--panel)}.tab-nav button{background:none;border:none;color:var(--text-muted);padding:12px 14px;font-size:14px;cursor:pointer;border-bottom:2px solid transparent}.tab-nav button.active{color:var(--text-primary);border-bottom-color:var(--accent-signal)}.main{flex:1;padding:32px 24px;max-width:1100px;width:100%;margin:0 auto}.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:32px}.login-card h1{font-size:18px;margin:0 0 4px}.login-card p.sub{color:var(--text-muted);font-size:13px;margin:0 0 24px}.field{margin-bottom:16px}.field label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}.field input,.field select{width:100%;padding:10px 12px;background:var(--bg-deep);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:14px;font-family:var(--font-mono)}.btn-primary{width:100%;padding:11px 16px;background:var(--accent-signal);color:#1a1204;font-weight:600;border:none;border-radius:6px;cursor:pointer;font-size:14px}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:9px 14px;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:13px}.btn-secondary:hover{border-color:var(--accent-signal)}.error-banner{background:#ef44441f;border:1px solid var(--accent-danger);color:#fca5a5;padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:16px}.lookup-wrap{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 130px)}.lookup-card{width:100%;max-width:480px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:40px;text-align:center}.lookup-card .eyebrow{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.lookup-input{width:100%;padding:16px;font-size:22px;font-family:var(--font-mono);text-align:center;background:var(--bg-deep);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);letter-spacing:.03em;margin-bottom:18px}.signal-line{height:3px;border-radius:2px;margin:20px 0;background:var(--border);position:relative;overflow:hidden}.signal-line.dialing{background:linear-gradient(90deg,transparent 0%,var(--accent-signal) 50%,transparent 100%);background-size:200% 100%;animation:signal-sweep .9s linear infinite}.signal-line.connected{background:var(--accent-connected);box-shadow:0 0 10px var(--accent-connected)}.signal-line.failed{background:var(--accent-danger)}@keyframes signal-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.result-number{font-family:var(--font-mono);font-size:34px;font-weight:600;letter-spacing:.02em;margin:4px 0 18px;word-break:break-all}.result-status{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);margin-bottom:18px}.copy-confirm{font-size:12px;color:var(--accent-connected);margin-top:8px;min-height:16px}.panel-block{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px}.panel-block h2{font-size:15px;margin:0 0 16px}.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:20px}.inline-form .field{margin-bottom:0;min-width:160px}table{width:100%;border-collapse:collapse;font-size:13px}thead th{text-align:left;color:var(--text-muted);font-weight:500;text-transform:uppercase;font-size:11px;letter-spacing:.05em;padding:8px 10px;border-bottom:1px solid var(--border)}tbody td{padding:10px;border-bottom:1px solid var(--border);font-family:var(--font-mono)}tbody tr:hover{background:var(--panel-raised)}.status-pill{font-family:var(--font-mono);font-size:11px;padding:2px 8px;border-radius:100px;border:1px solid var(--border);text-transform:lowercase}.status-pill.reserved{color:var(--accent-connected);border-color:var(--accent-connected)}.status-pill.error,.status-pill.no-target{color:var(--accent-danger);border-color:var(--accent-danger)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.muted{color:var(--text-muted);font-size:13px}
