:root{--bg: #0a0d13;--panel: #11161f;--panel2: #171e2a;--borde: #232c3b;--texto: #e6edf6;--texto2: #8b97a8;--acento: #00e0ff;--ok: #34d399;--peligro: #ef4444;--alerta: #fbbf24}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 70% -10%,#101a2b 0%,var(--bg) 55%);color:var(--texto);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px}a{color:var(--acento);text-decoration:none}button{font-family:inherit}.topbar{display:flex;align-items:center;gap:20px;padding:10px 20px;border-bottom:1px solid var(--borde);background:#0a0d13e6;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{font-weight:800;letter-spacing:2px;font-size:18px}.brand span{color:var(--acento)}.topbar nav{display:flex;gap:4px;flex:1}.topbar nav a{color:var(--texto2);padding:7px 12px;border-radius:8px;font-weight:600;font-size:13.5px}.topbar nav a:hover{color:var(--texto);background:var(--panel2)}.topbar nav a.activo{color:var(--acento);background:#00e0ff14}.chip-user{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--texto2)}.chip-user b{color:var(--texto)}.dot{width:10px;height:10px;border-radius:3px;display:inline-block}.contenido{max-width:1400px;margin:0 auto;padding:22px 20px 60px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--borde);border-radius:12px;padding:16px}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:1.4px;color:var(--texto2);margin-bottom:12px}.panel h3{font-size:15px;margin-bottom:8px}.btn{background:var(--acento);color:#00222b;border:0;border-radius:8px;padding:9px 16px;font-weight:700;cursor:pointer;font-size:14px}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.4;cursor:default}.btn.sec{background:var(--panel2);color:var(--texto);border:1px solid var(--borde)}.btn.mini{padding:5px 10px;font-size:12.5px;border-radius:6px}.btn.peligro{background:var(--peligro);color:#fff}.campo{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.campo label{font-size:12.5px;color:var(--texto2);font-weight:600}.campo input,.campo select{background:var(--panel2);color:var(--texto);border:1px solid var(--borde);border-radius:8px;padding:9px 10px;font-size:14px;outline:none}.campo input:focus,.campo select:focus{border-color:var(--acento)}.statbar{display:grid;grid-template-columns:110px 1fr 30px;align-items:center;gap:8px;font-size:12.5px;margin-bottom:5px}.statbar .pista{height:7px;background:var(--panel2);border-radius:4px;overflow:hidden}.statbar .valor{height:100%;background:linear-gradient(90deg,#0e7490,var(--acento));border-radius:4px}.statbar span:last-child{text-align:right;color:var(--texto2);font-variant-numeric:tabular-nums}.tabla{width:100%;border-collapse:collapse;font-size:13.5px}.tabla th{text-align:left;color:var(--texto2);font-size:11.5px;text-transform:uppercase;letter-spacing:1px;padding:6px 8px;border-bottom:1px solid var(--borde)}.tabla td{padding:7px 8px;border-bottom:1px solid rgba(35,44,59,.5);font-variant-numeric:tabular-nums}.tabla tr:hover td{background:#171e2a80}.chip{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.5px}.chip.verde{background:#34d39926;color:var(--ok)}.chip.amarillo{background:#fbbf2426;color:var(--alerta)}.chip.gris{background:var(--panel2);color:var(--texto2)}.chip.rojo{background:#ef444426;color:var(--peligro)}.chip.cyan{background:#00e0ff1f;color:var(--acento)}.login-wrap{min-height:100vh;display:grid;place-items:center}.login-card{width:380px;max-width:92vw}.login-card .brand{font-size:30px;text-align:center;display:block;margin-bottom:6px}.login-card .sub{text-align:center;color:var(--texto2);font-size:13px;margin-bottom:22px}.tabs{display:flex;gap:6px;margin-bottom:16px}.tabs button{flex:1;background:var(--panel2);border:1px solid var(--borde);color:var(--texto2);padding:8px;border-radius:8px;font-weight:700;cursor:pointer}.tabs button.activo{color:var(--acento);border-color:var(--acento)}.error{color:var(--peligro);font-size:13px;margin-top:8px}.live-grid{display:grid;grid-template-columns:330px 1fr 330px;gap:14px;align-items:start}.live-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.live-head h1{font-size:20px}.flag-chip{padding:4px 14px;border-radius:8px;font-weight:800;letter-spacing:1px;font-size:13px}.flag-VERDE{background:#34d39926;color:var(--ok)}.flag-SC,.flag-VSC{background:#fbbf2433;color:var(--alerta);animation:pulso 1s infinite}.flag-CUADROS{background:#fff;color:#000}@keyframes pulso{50%{opacity:.55}}.canvas-box{position:relative;background:#0c1018;border:1px solid var(--borde);border-radius:12px;overflow:hidden}.canvas-box canvas{width:100%;display:block}.canvas-box.sc{border-color:var(--alerta);box-shadow:0 0 24px #fbbf2440 inset}.tower{font-size:12.8px}.tower .fila{display:grid;grid-template-columns:24px 6px 46px 1fr 58px 44px 34px;gap:6px;align-items:center;padding:4px 6px;border-radius:6px;transition:background .3s}.tower .fila:nth-child(odd){background:#171e2a73}.tower .pos{font-weight:800;text-align:center;color:var(--texto2)}.tower .banda{width:5px;height:16px;border-radius:2px}.tower .sig{font-weight:700}.tower .nom{color:var(--texto2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tower .gap,.tower .lap{text-align:right;font-variant-numeric:tabular-nums;color:var(--texto2)}.tower .neum{text-align:center;font-weight:800;font-size:11px}.tower .estado-pit{color:var(--alerta);font-size:10.5px;font-weight:800}.tower .estado-dnf{color:var(--peligro);font-size:10.5px;font-weight:800}.tower .estado-mom{color:var(--acento);font-size:10.5px;font-weight:800}.coche-card{border:1px solid var(--borde);border-radius:10px;padding:12px;margin-bottom:12px;background:var(--panel2)}.coche-card .cabeza{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.coche-card .cabeza .pos{font-size:22px;font-weight:800;color:var(--acento)}.coche-card .cabeza .nombre{font-weight:700}.medidor{display:grid;grid-template-columns:78px 1fr 44px;gap:8px;align-items:center;font-size:12px;margin-bottom:6px;color:var(--texto2)}.medidor .pista{height:8px;background:#0c1018;border-radius:4px;overflow:hidden}.medidor .valor{height:100%;border-radius:4px;transition:width .4s}.medidor span:last-child{text-align:right;font-variant-numeric:tabular-nums}.botonera{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.botonera .tag{font-size:10.5px;color:var(--texto2);width:100%;text-transform:uppercase;letter-spacing:1px}.botonera button{background:#0c1018;border:1px solid var(--borde);color:var(--texto2);border-radius:6px;padding:5px 9px;font-size:12px;font-weight:700;cursor:pointer}.botonera button:hover{color:var(--texto)}.botonera button.on{background:#00e0ff1f;border-color:var(--acento);color:var(--acento)}.botonera button.mom{border-color:var(--acento)}.botonera button.mom:disabled{opacity:.35;cursor:default}.botonera button.mom.listo{background:var(--acento);color:#00222b;animation:pulso .8s infinite}.box-zona{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}.box-zona select{background:#0c1018;color:var(--texto);border:1px solid var(--borde);border-radius:6px;padding:5px 8px;font-size:12px}.box-zona label{font-size:12px;color:var(--texto2);display:flex;align-items:center;gap:4px}.ticker{max-height:220px;overflow-y:auto;font-size:12.8px;display:flex;flex-direction:column;gap:4px}.ticker .ev{padding:5px 8px;border-left:3px solid var(--borde);background:#171e2a80;border-radius:0 6px 6px 0;color:var(--texto2)}.ticker .ev.SC,.ticker .ev.VSC{border-color:var(--alerta);color:var(--alerta)}.ticker .ev.DNF,.ticker .ev.CONTACTO{border-color:var(--peligro);color:#fca5a5}.ticker .ev.ADELANTAMIENTO{border-color:var(--ok);color:var(--texto)}.ticker .ev.MOM{border-color:var(--acento)}.ticker .ev.CUADROS{border-color:#fff;color:#fff;font-weight:700}.countdown{font-size:42px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--acento)}.compound-C1,.compound-C2{color:#e5e7eb}.compound-C3{color:#fde047}.compound-C4{color:#fbbf24}.compound-C5{color:#fb923c}.compound-C6{color:#ef4444}.compound-INTER{color:#34d399}.compound-WET{color:#38bdf8}@media (max-width: 1100px){.live-grid,.grid2{grid-template-columns:1fr}}
