:root{--bg: #07110e;--panel: #0d1a15;--ink: #e8f5ef;--muted: #7f9b8d;--accent: #2dd4bf;--line: #1c2f27;--font: "Sora", system-ui, sans-serif;--mono: "IBM Plex Mono", monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(ellipse 60% 40% at 80% 0%,#123528,transparent),var(--bg);min-height:100vh}.shell{max-width:1100px;margin:0 auto;padding:1.25rem}header h1{margin:0;letter-spacing:-.03em}header p{margin:.25rem 0 1rem;color:var(--muted)}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem}@media (max-width: 900px){.grid{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem}.map{padding:.5rem;overflow:hidden}label{display:grid;gap:.25rem;font-size:.8rem;color:var(--muted);margin-bottom:.55rem}input,button{font:inherit;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:.55rem .7rem}.actions{display:flex;gap:.5rem;margin:.75rem 0}button{background:var(--accent);color:#04201a;border:none;font-weight:700;cursor:pointer}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.fare,.trip{margin-top:.75rem;font-size:.95rem}.live{margin-top:.4rem;font-family:var(--mono);color:#fbbf24}.drivers{list-style:none;padding:0;margin:.5rem 0 0}.drivers li{display:flex;align-items:center;gap:.5rem;padding:.3rem 0}.on,.off{width:8px;height:8px;border-radius:50%}.on{background:#34d399}.off{background:#64748b}h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
