:root{--bg:#eef2f8;--surface:#fff;--fg:#0e1f45;--muted:#5d6b88;--line:#d3ddeb;--accent:#1d4aa8;--accent-soft:#e7eefb;--danger:#b42318;--ok:#1a7f37;--warn:#b54708;color:var(--fg);background:var(--bg);font-family:"Source Sans 3",Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.45}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-family:Montserrat,Segoe UI,sans-serif;line-height:1.2}.muted{color:var(--muted)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:12px;font-weight:700}button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:6px;padding:9px 16px;font-weight:700}button:disabled{opacity:.6;cursor:default}button.link,button.secundario{color:var(--accent);background:0 0;border-color:#0000;padding:4px 0;font-weight:600}button.secundario{border-color:var(--line);padding:6px 12px}input,select{font:inherit;border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:9px 11px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error{color:var(--danger);margin:0}.aviso{color:var(--ok);margin:0}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:10px;width:min(400px,100%);padding:32px;display:grid}.login-card h1{font-size:24px}.login-form{gap:10px;margin-top:12px;display:grid}.login-form label{font-size:14px;font-weight:600}#codigo{letter-spacing:6px;text-align:center;font-size:22px}.top{background:var(--fg);color:#fff}.top-in{flex-wrap:wrap;align-items:center;gap:20px;max-width:1280px;margin:0 auto;padding:10px 20px;display:flex}.top .marca{color:#fff;font-family:Montserrat,sans-serif;font-weight:700}.top nav{flex-wrap:wrap;flex:1;gap:4px;display:flex}.top nav a{color:#c9d5ee;border-radius:6px;padding:6px 10px;font-size:14px}.top nav a:hover,.top nav a[aria-current=page]{color:#fff;background:#ffffff1f}.top .quien{color:#c9d5ee;align-items:center;gap:10px;font-size:13px;display:flex}.top .quien button{background:0 0;border-color:#ffffff4d;padding:4px 10px;font-size:13px}.pagina{gap:20px;max-width:1280px;margin:0 auto;padding:24px 20px 48px;display:grid}.titulo{gap:4px;display:grid}.titulo h1{font-size:24px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px}.panel h2{margin-bottom:12px;font-size:16px}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:4px;padding:14px 16px;display:grid}.kpi .v{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.kpi .l{color:var(--muted);font-size:13px}.grid-tableros{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.tablero{background:var(--surface);border:1px solid var(--line);color:var(--fg);border-radius:10px;gap:6px;padding:16px;display:grid}.tablero:hover{border-color:var(--accent)}.tablero .cod{color:var(--accent);font-size:12px;font-weight:700}.tablero.pronto{opacity:.6;pointer-events:none}table.datos{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}table.datos th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:12px;font-weight:600}table.datos td{border-bottom:1px solid #edf1f7;padding:7px 10px}table.datos td.n,table.datos th.n{text-align:right}.tabla-scroll{overflow-x:auto}.chip{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.chip.ok{color:var(--ok);background:#e6f4ea}.chip.mal{color:var(--danger);background:#fdecea}.chip.warn{color:var(--warn);background:#fff4e5}.filtros{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.filtros label{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}.dos-col{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:16px;display:grid}.barras{gap:6px;display:grid}.barra-fila{grid-template-columns:minmax(110px,34%) 1fr auto;align-items:center;gap:10px;font-size:13px;display:grid}.barra-et{text-overflow:ellipsis;white-space:nowrap;color:var(--fg);overflow:hidden}.barra-pista{height:16px;display:flex}.barra{background:#2a78d6;border-radius:0 4px 4px 0;min-width:2px;height:100%}.barra-pista.apilada{gap:2px}.seg{color:#fff;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;overflow:hidden}.seg:last-child{border-radius:0 4px 4px 0}.barra-v{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;min-width:40px}.leyenda{color:var(--muted);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:12px;display:flex}.leyenda i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.matriz-wrap{overflow-x:auto}.matriz{grid-template-columns:34px repeat(24,minmax(16px,1fr));gap:2px;min-width:520px;display:grid}.matriz .mh{color:var(--muted);font-size:10px}.matriz .md{color:var(--muted);align-self:center;font-size:11px}.matriz .mc{border-radius:2px;height:18px}.matriz .mc.noche{box-shadow:inset 0 -2px #eda100}.nota{color:var(--muted);margin:8px 0 0;font-size:12px}details.viajes summary{cursor:pointer;color:var(--accent);font-weight:600}
