/* Rapidito · panel. Tokens en :root; modo oscuro por preferencia del sistema. */
:root{--fondo:#f5f6f4;--panel:#fff;--texto:#1e2a2b;--suave:#5b6b6c;--linea:#dfe4e2;--acento:#0f5257;--ok:#2e7d32;--warn:#a86b00;--mal:#b3261e;--info:#1565c0;--r:10px;--s:8px;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--fondo:#121718;--panel:#1b2223;--texto:#e6eceb;--suave:#9aabab;--linea:#2c3637;--acento:#4fb3b8}}
*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fondo);color:var(--texto)}
a{color:var(--acento)}main{max-width:1280px;margin:0 auto;padding:16px}.angosto{max-width:460px;margin:8vh auto}
.barra{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--linea)}
.marca{font-weight:800;font-size:1.15em;text-decoration:none;color:var(--acento)}.barra nav{display:flex;flex-wrap:wrap;gap:12px;flex:1}.barra nav a{text-decoration:none;color:var(--texto)}
.barra nav a[aria-current]{color:var(--acento);font-weight:700}.quien{display:flex;gap:8px;align-items:center;font-size:.9em;color:var(--suave)}
.panel{background:var(--panel);border:1px solid var(--linea);border-radius:var(--r);padding:16px}.mt{margin-top:16px}
.cabeza{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}h1{margin:0;font-size:1.4em}h2{margin:0 0 10px;font-size:1.1em}
.tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tarjetas small{display:block;color:var(--suave)}.tarjetas strong{font-size:1.3em}
.dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end}.campos .ancho{grid-column:1/-1}
.pila{display:flex;flex-direction:column;gap:8px}.fila{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
label{font-size:.88em;color:var(--suave);display:block}.check{display:flex;gap:6px;align-items:center;color:var(--texto)}
input,select,textarea{font:inherit;width:100%;padding:8px 10px;border:1px solid var(--linea);border-radius:8px;background:var(--panel);color:var(--texto)}
.fila input,.fila select{width:auto;flex:1}input[type=checkbox]{width:auto}
button,.boton{font:inherit;cursor:pointer;padding:8px 14px;border-radius:8px;border:1px solid var(--acento);background:var(--acento);color:#fff;text-decoration:none;display:inline-block}
button:disabled{opacity:.5;cursor:not-allowed}.secundario{background:var(--panel);color:var(--acento)}.peligro{background:var(--panel);color:var(--mal);border-color:var(--mal)}.chico{padding:4px 8px;font-size:.85em}
.tabla{width:100%;border-collapse:collapse}.tabla th,.tabla td{padding:8px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}.tabla th{font-size:.85em;color:var(--suave)}
.num{text-align:right!important;white-space:nowrap}.desplaza{overflow-x:auto}tr[data-href]{cursor:pointer}tr[data-href]:hover{background:color-mix(in srgb,var(--acento) 6%,transparent)}
.vacio{color:var(--suave);text-align:center;padding:18px}.suave{color:var(--suave)}
.estado{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.82em;border:1px solid currentColor}.ok{color:var(--ok)}.warn{color:var(--warn)}.mal{color:var(--mal)}.info{color:var(--info)}
.aviso{background:color-mix(in srgb,var(--acento) 10%,var(--panel));border:1px solid var(--acento);padding:10px 14px;border-radius:var(--r)}.error{color:var(--mal)}
.mapa{height:420px;border-radius:var(--r);border:1px solid var(--linea);background:var(--fondo)}
.paradas{padding-left:20px;display:flex;flex-direction:column;gap:12px}.parada{border:1px solid var(--linea);border-radius:var(--r);padding:12px}
.sugerencias{list-style:none;margin:4px 0 0;padding:0;border:1px solid var(--linea);border-radius:8px;max-height:220px;overflow:auto;background:var(--panel)}
.sugerencias:empty{display:none}.sugerencias li{padding:8px 10px;cursor:pointer}.sugerencias li:hover,.sugerencias li:focus{background:color-mix(in srgb,var(--acento) 10%,transparent)}
.paradas-ver li{margin-bottom:8px}.tiempo{padding-left:18px}.moto{background:var(--panel);color:var(--texto);border:2px solid var(--acento);border-radius:999px;padding:2px 8px;font-size:12px;white-space:nowrap}
.moto[data-turno=fuera]{opacity:.6}code{background:var(--fondo);padding:1px 5px;border-radius:5px;word-break:break-all}
@media (max-width:640px){main{padding:12px}.mapa{height:300px}}
