:root{--ac:#FF6A13;--ac2:#E5311B;--nv:#0E1A2B;--bg:#F2F4F8;--card:#fff;--tx:#1B2430;--mut:#667386;--line:#E2E7EF}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--tx)}.centro{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px}.tarjeta{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px #141e320a}.login{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.aviso{max-width:420px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center}.marca{display:flex;align-items:center;gap:10px}.marca b{display:block;font-size:20px;letter-spacing:.4px;line-height:1}.marca small{font-size:11px;letter-spacing:1.5px;color:var(--mut)}.marca .llama{font-size:30px}.marca.chica b{font-size:16px}.marca.chica .llama{font-size:24px}label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--mut)}input{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--tx)}input:focus{outline:2px solid rgba(255,106,19,.35);border-color:var(--ac)}.btn{font:inherit;font-weight:700;font-size:14px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--tx);cursor:pointer;min-height:42px}.btn.primario{background:linear-gradient(90deg,var(--ac),var(--ac2));color:#fff;border:0}.btn:disabled{opacity:.45;cursor:not-allowed}.error{color:#b01818;font-size:13px;font-weight:600}.barra{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--nv);color:#fff}.barra .marca small{color:#9fb3cc}.cuerpo{max-width:1000px;margin:0 auto;padding:18px 16px 40px}h1{font-size:22px;margin-bottom:12px}.titulo-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.titulo-fila h1{margin:0}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px;padding:6px 8px;border-bottom:1px solid var(--line)}td{padding:10px 8px;border-bottom:1px solid #EEF1F6}.vacio{color:var(--mut);text-align:center;padding:22px}.nota{color:var(--mut);font-size:13px;margin-top:14px}.chip{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;background:#e8ecf2;color:#556274;text-transform:capitalize}.chip.activa{background:#dcf5e6;color:#0e7a38}.chip.prueba{background:#dde8fd;color:#1b49b8}.chip.vencida,.chip.suspendida{background:#fddcdc;color:#b01818}.cinta{padding:10px 16px;font-size:14px}.cinta.mala{background:#fddcdc;color:#a31515}.cinta.aviso-c{background:#fdebcb;color:#8a4f03}@media (max-width:640px){.cuerpo{padding:12px 10px}table{font-size:13px}.tarjeta{overflow-x:auto}td,th{white-space:nowrap}}.menu{display:flex;gap:6px;padding:10px 16px 0;background:var(--bg);overflow-x:auto}.menu button{font:inherit;font-weight:700;font-size:14px;padding:9px 16px;border-radius:10px 10px 0 0;border:1px solid var(--line);border-bottom:0;background:#fff;color:var(--mut);cursor:pointer;white-space:nowrap}.menu button.on{background:var(--nv);color:#fff;border-color:var(--nv)}.formulario{margin-bottom:14px}.formulario h2{font-size:17px;margin-bottom:10px}.grilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.grilla .ancho{grid-column:1/-1}select,textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--tx);background:#fff}.fila-botones{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.buscador{flex:1;min-width:200px}.check{flex-direction:row;align-items:center;gap:6px;font-weight:600}.check input{width:18px;height:18px}tr.apagado td{opacity:.55}td.acciones{white-space:nowrap;text-align:right}td.acciones .btn{padding:6px 12px;min-height:34px;margin-left:6px}.sub{font-size:18px}.enlace{background:none;border:0;font:inherit;font-size:14px;font-weight:700;color:var(--ac2);cursor:pointer;padding:6px}.ok-msg{color:#0e7a38;font-size:13px;font-weight:600}.turnstile{min-height:65px;display:flex;justify-content:center}.dos-columnas{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width:900px){.dos-columnas{grid-template-columns:1fr}}.chico{font-size:12px;color:var(--mut);font-weight:500}.fila-doc{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #EEF1F6;flex-wrap:wrap}.fila-doc .acciones{display:flex;gap:6px}.fila-doc .btn{padding:6px 12px;min-height:34px}tr.clic{cursor:pointer}tr.clic:hover td{background:#f7f9fc}tr.sel td{background:#fff3ea}.btn.peligro{color:#b01818;border-color:#f3b1b1}.chip.amarillo{background:#fdebcb;color:#8a4f03}.asignacion{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.asignacion h3{font-size:15px;margin-bottom:8px}.asignacion h3 small{font-weight:500;color:var(--mut);font-size:12px}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal .h{font-size:11px;font-weight:700;color:var(--mut);text-align:center;padding:2px}.cal .d{background:#fff;border:1px solid var(--line);border-radius:9px;min-height:92px;padding:4px 5px;overflow:hidden;cursor:pointer}.cal .d b{font-size:12px}.cal .d.o{opacity:.45}.cal .d.today{border-color:var(--ac);box-shadow:inset 0 0 0 1px var(--ac)}.cal .d.sel{background:#fff3ea;border-color:var(--ac2)}.ev{display:block;font-size:10.5px;font-weight:700;padding:2px 5px;border-radius:5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.fila-semana{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:10px 6px;border-bottom:1px solid #EEF1F6;cursor:pointer}.fila-semana.sel{background:#fff3ea}.fila-semana .item{margin-bottom:4px;font-size:14px}.punto{display:inline-block;width:10px;height:10px;border-radius:50%}@media (max-width:640px){.cal .d{min-height:60px}.cal .ev{font-size:9px}}.lineas{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.linea{display:grid;grid-template-columns:minmax(0,3fr) 80px 130px 110px 44px;gap:8px;align-items:center}.linea.cab{font-size:11px;font-weight:700;color:var(--mut);text-transform:uppercase}.linea input{width:100%;min-width:0;padding:8px 10px;font-size:15px}.linea .btn{padding:6px;min-height:36px}.totales{text-align:right;margin-top:10px;font-size:14px;color:var(--mut)}.totales .total{font-size:22px;font-weight:800;color:var(--tx)}@media (max-width:700px){.linea{grid-template-columns:1fr 70px 100px}.linea.cab{display:none}.linea b{grid-column:1/3}}.barra-der{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.avisos-boton{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.avisos-boton .btn{padding:6px 12px;min-height:34px;font-size:13px}.chico.claro{color:#9fb3cc}.avisos-boton .chico.claro{max-width:240px;text-align:right}.insignia{background:#e5311b;color:#fff;border-radius:10px;font-size:11px;padding:1px 7px;margin-left:6px}.toast{position:fixed;top:12px;right:12px;z-index:50;background:var(--nv);color:#fff;border-radius:12px;padding:12px 16px;max-width:340px;box-shadow:0 10px 30px #0000004d;cursor:pointer;border-left:4px solid var(--ac)}.fila-doc.nuevo{background:#fff6ee;margin:0 -8px;padding-left:8px;padding-right:8px}.viaje-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px}.viaje-card.siguiente{border:2px solid var(--ac);box-shadow:0 6px 18px #ff6a132e}.viaje-card.hecho{opacity:.6}.viaje-cab{display:flex;justify-content:space-between;align-items:center}.viaje-cab .hora{font-size:26px}.viaje-titulo{font-size:18px;font-weight:800}.instr{background:#fff6ee;border-radius:10px;padding:8px 10px;font-size:14px}.btn-grande{font:inherit;font-weight:800;font-size:18px;padding:18px;border-radius:14px;border:0;color:#fff;cursor:pointer;margin-top:6px;min-height:60px}.btn-grande.verde{background:#15a34a}.btn-grande.rojo{background:#dc2626}.btn-grande:disabled{opacity:.5;cursor:not-allowed}.sync{font-size:13px;font-weight:700;padding:3px 10px;border-radius:20px}.sync.ok{background:#dcf5e6;color:#0e7a38}.sync.pend{background:#fdebcb;color:#8a4f03}.sync.off{background:#e8ecf2;color:#556274}.pend{color:#8a4f03}
