/* 🎛 APP DEL CHOFER · Diseño 09 "Tablero" (ámbar sobre negro, Chakra Petch) en TODAS las páginas (body.xe-d9).
   Mismos colores/medidas que app_relevo_d9.css (relevo, body.rv-d9, que no usa este archivo). Solo visual: sin cambios de funciones.
   Un solo tema (oscuro): el selector claro/oscuro de Ajustes sigue guardando la preferencia pero ya no cambia el aspecto. */
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/ChakraPetch-Regular.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:600;font-display:swap;src:url(/static/fonts/ChakraPetch-SemiBold.woff2) format("woff2")}
@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:700;font-display:swap;src:url(/static/fonts/ChakraPetch-Bold.woff2) format("woff2")}

html:has(body.xe-d9){background:#0B0A08;color-scheme:dark}
body.xe-d9{
 --bg:#0B0A08;--card:#120F0C;--ink:#F5E6C4;--mut:#B8912E;--acc:#FFB000;--acc2:#FFB000;--bd:#2A2420;
 --ok:#22C55E;--okbg:#0D1A10;--warn:#FFB000;--warnbg:#1A1408;--bad:#FF3B30;--badbg:#1F0D0B;--chip:#1C1813;--shadow:none;
 background:#0B0A08;color:#F5E6C4;font-family:"Chakra Petch","Arial Narrow",Arial,sans-serif;font-size:16px;line-height:1.35;-webkit-font-smoothing:antialiased;
 max-width:480px;padding:env(safe-area-inset-top) 0 calc(96px + env(safe-area-inset-bottom))}
.xe-d9 a{color:#FFB000}
.xe-d9 svg{display:block}
.xe-d9 .ico{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.xe-d9 .muted{color:#B8912E}
.xe-d9 .b{font-weight:700}

/* encabezado: XPRESS ELITE · UNIDAD N, tarjeta del chofer y título */
.xe-d9 .xhd{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px 0;font-size:13px;font-weight:700;letter-spacing:.1em;color:#B8912E;text-transform:uppercase;min-height:40px}
.xe-d9 .xhd .x{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.xe-d9 .xback{border:1.5px solid #FFB000;color:#FFB000;padding:3px 8px;border-radius:3px;font-size:11px;letter-spacing:.1em;font-weight:700;white-space:nowrap;flex:none;text-decoration:none}
.xe-d9 .xhd .bell{color:#FFB000;display:block;padding:2px;margin-right:-2px}
.xe-d9 .bell .bdg{background:#FF3B30;color:#0B0A08;top:-4px;right:-6px;font-family:inherit}
.xe-d9 .xdrv{margin:6px 18px 0;display:flex;align-items:center;gap:10px;border:1.5px solid #3A3028;border-radius:8px;background:#120F0C;padding:5px 12px}
.xe-d9 .xdrv>.ico{color:#FFB000;stroke-width:2.2}
.xe-d9 .xdrv .who{min-width:0;flex:1}
.xe-d9 .xdrv .w{font-size:11px;letter-spacing:.14em;color:#8A6D2B;font-weight:700;line-height:1;white-space:nowrap;text-transform:uppercase}
.xe-d9 .xdrv .n{font-size:18px;font-weight:700;color:#F5E6C4;line-height:1.1;margin-top:2px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xe-d9 .xdrv .toggle{flex:none;gap:8px}
.xe-d9 .xdrv .toggle .sm{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#B8912E}
.xe-d9 .xsub{display:flex;align-items:center;gap:12px;margin:10px 18px 0}
.xe-d9 .xsub .tt{min-width:0}
.xe-d9 .xsub .lbl{font-size:12px;letter-spacing:.14em;color:#8A6D2B;font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xe-d9 .xsub .pos{font-size:24px;font-weight:700;letter-spacing:.06em;line-height:1.1;text-transform:uppercase;color:#FFB000;overflow-wrap:anywhere}
.xe-d9 .xsub .en{font-size:13px;color:#8A6D2B;font-weight:600;letter-spacing:.03em;line-height:1.2}
.xe-d9 .d9en{display:block;font-size:12px;color:inherit;opacity:.72;font-weight:700;letter-spacing:.1em;margin-top:2px}

/* contenido */
.xe-d9 .wrap{padding:12px 18px}
.xe-d9 .card{background:#120F0C;border:2px solid #2A2420;border-radius:10px;padding:12px 14px;margin:0 0 12px;box-shadow:inset 0 0 0 1px #1C1813}
.xe-d9 .card .big{font-size:22px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#FFB000}
.xe-d9 .btn{background:#FFB000;color:#0B0A08;border-radius:8px;min-height:56px;font-family:inherit;font-size:18px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:0}
.xe-d9 .btn .bl{display:flex;flex-direction:column;align-items:center;line-height:1.05}
.xe-d9 .btn .d9en{color:#0B0A08;margin-top:3px}
.xe-d9 .btn.sec{background:transparent;color:#FFB000;border:1.5px solid #8A6D2B}
.xe-d9 .btn.warn{background:#1F0D0B;color:#FF3B30;border:1.5px solid #FF3B30}
.xe-d9 .btn.sm{min-height:44px;font-size:14px;letter-spacing:.05em;padding:8px 12px}
.xe-d9 .btn:disabled{opacity:.45}
.xe-d9 .unitcard .unitbtn{min-height:66px;font-size:18px}
.xe-d9 .unitcard,.xe-d9 .rvhome{border-left:2px solid #FFB000}
.xe-d9 .rvhome .b.sm,.xe-d9 .rvhome .muted.sm.b{color:#B8912E;letter-spacing:.06em}
.xe-d9 input,.xe-d9 select{background:#0B0A08;color:#F5E6C4;border:1.5px solid #3A3028;border-radius:8px;font-family:inherit;font-size:17px;min-height:50px}
.xe-d9 input:focus,.xe-d9 select:focus{outline:none;border-color:#FFB000}
.xe-d9 input[type=checkbox]{accent-color:#FFB000}
.xe-d9 input::placeholder{color:#5A4A2A}
.xe-d9 label{font-size:12px;font-weight:700;letter-spacing:.14em;color:#8A6D2B;text-transform:uppercase}
.xe-d9 label.toggle{text-transform:none;letter-spacing:0;color:#F5E6C4;font-size:15px}
.xe-d9 .chip{border-radius:4px;font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#1C1813;color:#B8912E;border:1px solid #3A3028;padding:2px 8px}
.xe-d9 .chip.ok{background:#0D1A10;color:#22C55E;border-color:#14401F}
.xe-d9 .chip.warn{background:#1A1408;color:#FFB000;border-color:#5A4A2A}
.xe-d9 .chip.bad{background:#1F0D0B;color:#FF3B30;border-color:#5A1A14}
.xe-d9 .chip.acc{background:#FFB000;color:#0B0A08;border-color:#FFB000}
.xe-d9 .pill{background:#1C1813;color:#FFB000;border:1px solid #3A3028;border-radius:4px;letter-spacing:.06em}
.xe-d9 .err{background:#1F0D0B;color:#FF3B30;border:1.5px solid #FF3B30;border-radius:8px}
.xe-d9 .ok-note{background:#0D1A10;color:#22C55E;border:1.5px solid #22C55E;border-radius:8px}
.xe-d9 details summary{cursor:pointer;color:#B8912E;letter-spacing:.04em}

/* pestañas de arriba */
.xe-d9 .tabs{background:#0B0A08;border:0;position:static;margin:12px 18px 0;padding:0;gap:6px}
.xe-d9 .tabs a{border:1.5px solid #2A2420;border-radius:8px;background:#120F0C;color:#8A6D2B;font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding:11px 4px}
.xe-d9 .tabs a.on{border-color:#FFB000;color:#FFB000;background:#1A1408}
.xe-d9 .tabs a .n{background:#FFB000;color:#0B0A08;border-radius:3px;font-size:12px}

/* tarjetas de viaje y paradas */
.xe-d9 .trip .num{font-size:20px;font-weight:700;color:#FFB000;letter-spacing:.04em}
.xe-d9 .od .dot{background:#FFB000;box-shadow:0 0 10px rgba(255,176,0,.6)}
.xe-d9 .od .line .b{color:#F5E6C4;font-size:18px}
.xe-d9 .metrics{color:#8A6D2B;font-size:14px}.xe-d9 .metrics b{color:#FFB000}
.xe-d9 .stop{background:#120F0C;border:2px solid #2A2420;border-radius:10px;padding:12px 14px;box-shadow:inset 0 0 0 1px #1C1813}
.xe-d9 .stop .st{font-size:18px;color:#FFB000;letter-spacing:.06em;text-transform:uppercase}
.xe-d9 .stop>.b{font-size:19px;color:#F5E6C4}
.xe-d9 .dropdocs{border-top:1px dashed #3A3028}
.xe-d9 .ddbtn .ddlbl{text-transform:none;letter-spacing:.02em;color:#FFB000}
.xe-d9 .ddbtn{font-size:12px}
.xe-d9 .thumb,.xe-d9 .ddthumbs .thumb{background:#1A1816;border-color:#3A3028}
.xe-d9 canvas.scan{border:2px solid #2A2420}
.xe-d9 .filterbar button{background:#120F0C;color:#B8912E;border:1.5px solid #2A2420;border-radius:6px;font-family:inherit;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.xe-d9 .filterbar button.on{background:#FFB000;color:#0B0A08;border-color:#FFB000}

/* mapa (Leaflet) sobre fondo oscuro */
.xe-d9 #map{border:2px solid #2A2420;border-radius:10px;height:230px;background:#0B0A08}
.xe-d9 .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) saturate(.55)}
.xe-d9 .leaflet-container{background:#0B0A08;font-family:inherit}
.xe-d9 .leaflet-overlay-pane path.leaflet-interactive{stroke:#FFB000}
.xe-d9 .leaflet-bar a,.xe-d9 .leaflet-bar a:hover{background:#120F0C;color:#FFB000;border-bottom:1px solid #3A3028}
.xe-d9 .leaflet-bar{border:1.5px solid #3A3028;box-shadow:none}
.xe-d9 .leaflet-control-attribution{background:rgba(11,10,8,.75);color:#8A6D2B}
.xe-d9 .leaflet-control-attribution a{color:#B8912E}
.xe-d9 .leaflet-popup-content-wrapper,.xe-d9 .leaflet-popup-tip{background:#120F0C;color:#F5E6C4;border:1px solid #3A3028}

/* interruptor disponible */
.xe-d9 .sw{background:#2A2420}.xe-d9 .sw.on{background:#FFB000}
.xe-d9 .sw b{background:#F5E6C4}.xe-d9 .sw.on b{background:#0B0A08}

/* barra de pestañas de abajo (se queda, oscura/ámbar) */
.xe-d9 .nav{max-width:480px;background:#0B0A08;border-top:2px solid #2A2420;padding-bottom:env(safe-area-inset-bottom);z-index:40}
.xe-d9 .nav a{color:#8A6D2B;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:9px 2px 10px;display:flex;flex-direction:column;align-items:center;gap:3px}
.xe-d9 .nav a.on{color:#FFB000}
.xe-d9 .nav a.on .ico{filter:drop-shadow(0 0 6px rgba(255,176,0,.5))}

/* Mi B1 */
.xe-d9 .daynav .btn{min-height:48px}
.xe-d9 .daychips a{background:#120F0C;border:1.5px solid #2A2420;border-radius:6px;color:#B8912E;text-transform:uppercase;letter-spacing:.06em;font-size:12px}
.xe-d9 .daychips a.on{background:#FFB000;color:#0B0A08;border-color:#FFB000}
.xe-d9 .b1row{background:#120F0C;border:2px solid #2A2420;border-left:6px solid #2A2420;border-radius:10px;box-shadow:inset 0 0 0 1px #1C1813}
.xe-d9 .b1row .lbl{color:#F5E6C4;font-size:17px}
.xe-d9 .b1row .val{text-transform:uppercase;letter-spacing:.04em}
.xe-d9 .b1row.ok{border-left-color:#22C55E}.xe-d9 .b1row.warn{border-left-color:#FFB000}.xe-d9 .b1row.bad{border-left-color:#FF3B30}
.xe-d9 .b1row.info .val{color:#F5E6C4}

/* login */
.xe-d9 .login-hero{background:#0B0A08}
.xe-d9 .login-hero__overlay{background:none}
.xe-d9 .login-brand__headline{color:#FFB000;font-size:26px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-shadow:none}
.xe-d9 .login-brand__sub{color:#B8912E;text-shadow:none}
.xe-d9 .login-card{background:#120F0C;border:2px solid #2A2420;border-radius:10px;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px #1C1813}
.xe-d9 .login-card .big{color:#FFB000}
.xe-d9 .login-card .muted{color:#B8912E}
.xe-d9 .login-card label{color:#8A6D2B}
.xe-d9 .login-card input{background:#0B0A08;border:1.5px solid #3A3028;color:#F5E6C4}
.xe-d9 .login-card input:focus{border-color:#FFB000;background:#0B0A08}
.xe-d9 .login-card__foot{color:#8A6D2B;letter-spacing:.1em;text-transform:uppercase}
.xe-d9 .login-hero .btn .d9en{margin-top:3px}
.xe-d9 a.btn,.xe-d9 a.trip,.xe-d9 .tabs a,.xe-d9 .nav a,.xe-d9 .daychips a{text-decoration:none}
.xe-d9 .trip .hd .num{white-space:nowrap}
.xe-d9 .trip .hd .muted{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Mi B1: selector Día / Semana / Mes y chips de días del periodo (31-oct-2026) */
.xe-d9 .b1per{display:flex;gap:6px;margin-bottom:10px}
.xe-d9 .b1per a{flex:1;text-align:center;padding:12px 6px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#120F0C;border:1.5px solid #2A2420;border-radius:8px;color:#B8912E;text-decoration:none}
.xe-d9 .b1per a.on{background:#FFB000;color:#0B0A08;border-color:#FFB000}
.xe-d9 .daychips.wrapchips{flex-wrap:wrap;overflow:visible}
