:root{
  /* marca */
  --marino:#17263F;
  --marino-2:#223651;
  --dorado:#D9B26A;
  --dorado-2:#B8914A;

  /* superficies */
  --papel:#ffffff;
  --fondo:#EEF2F7;
  --fondo-2:#F7F9FC;
  --linea:#D9E1EC;
  --tinta:#16202E;
  --tinta-suave:#5A6A80;

  /* operativos */
  --verde:#137A5F;
  --verde-claro:#E1F3ED;
  --azul:#2563C9;
  --azul-claro:#E3ECFB;
  --ambar:#B87209;
  --ambar-claro:#FCF0DC;
  --rojo:#C0392B;
  --rojo-claro:#FBE7E4;
  --violeta:#6A4C9C;
  --violeta-claro:#EEE8F7;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--fondo);
  color:var(--tinta);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  font-variant-numeric:tabular-nums;
}
a{color:var(--verde);text-underline-offset:2px}

/* ---------------------------------------------------------- barra */
.barra{
  background:linear-gradient(180deg,var(--marino-2),var(--marino));
  color:#fff;
  padding:.6rem 1rem;
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:3px solid var(--dorado);
}
.marca{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}
.marca img{display:block;height:46px;width:auto}
.marca-texto{display:flex;flex-direction:column;line-height:1}
.marca-texto b{
  color:var(--dorado);font-size:1.22rem;font-weight:600;
  letter-spacing:.22em;text-indent:.22em;
}
.marca-texto i{
  color:#93A4BC;font-size:.66rem;font-style:normal;font-weight:600;
  letter-spacing:.42em;text-indent:.42em;margin-top:.22rem;
}
@media(max-width:640px){
  .marca img{height:34px}
  .marca-texto b{font-size:1rem;letter-spacing:.16em;text-indent:.16em}
  .marca-texto i{font-size:.58rem}
}

.barra nav{display:flex;gap:.2rem;flex-wrap:wrap;flex:1}
.barra nav a{
  color:#D5DEEA;text-decoration:none;padding:.4rem .7rem;border-radius:4px;font-size:.92rem;
}
.barra nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.barra nav a.activo{background:var(--dorado);color:var(--marino);font-weight:600}
.quien{font-size:.84rem;color:#9FB0C6;white-space:nowrap}
.quien a{color:var(--dorado)}
.barra .idioma{border:1px solid rgba(217,178,106,.5);padding:.12rem .5rem;border-radius:3px;
  color:var(--dorado);font-size:.78rem;text-decoration:none}

/* ---------------------------------------------------------- volver */
.volver-fila{max-width:1080px;margin:0 auto;padding:.7rem 1rem 0}
.volver{
  display:inline-flex;align-items:center;gap:.4rem;
  background:var(--papel);border:1px solid var(--linea);border-radius:20px;
  padding:.35rem .9rem .35rem .7rem;color:var(--tinta-suave);
  text-decoration:none;font-size:.88rem;font-weight:500;cursor:pointer;
  font-family:inherit;
}
.volver:hover{background:var(--marino);border-color:var(--marino);color:#fff}

main{max-width:1080px;margin:0 auto;padding:1rem 1rem 4rem}

h1{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 .25rem}
h2{font-size:1.08rem;letter-spacing:-.01em;margin:2rem 0 .6rem;color:var(--marino)}
.sub{color:var(--tinta-suave);font-size:.92rem;margin:0 0 1.2rem}
.encabezado{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}

/* ---------------------------------------------------------- avisos */
.aviso{padding:.75rem .95rem;border-left:4px solid;margin-bottom:1rem;background:var(--papel);
  font-size:.95rem;border-radius:0 4px 4px 0}
.aviso.ok{border-color:var(--verde);background:var(--verde-claro)}
.aviso.error{border-color:var(--rojo);background:var(--rojo-claro)}

.error-caja{
  background:var(--rojo-claro);border:2px solid var(--rojo);border-radius:6px;
  padding:1rem 1.1rem;margin-bottom:1.2rem;
}
.error-caja h3{margin:0 0 .5rem;color:var(--rojo);font-size:1rem}
.error-caja ul{margin:0;padding-left:1.2rem}
.error-caja li{margin:.2rem 0}

/* ---------------------------------------------------------- resumen */
.resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-radius:6px;overflow:hidden;
  margin-bottom:1.5rem}
.resumen div{background:var(--papel);padding:.9rem 1rem;border-top:3px solid transparent}
.resumen div:nth-child(1){border-top-color:var(--ambar)}
.resumen div:nth-child(2){border-top-color:var(--azul)}
.resumen div:nth-child(3){border-top-color:var(--verde)}
.resumen div:nth-child(4){border-top-color:var(--violeta)}
.resumen div:nth-child(5){border-top-color:var(--dorado-2)}
.resumen b{display:block;font-size:1.65rem;font-weight:650;letter-spacing:-.03em;line-height:1.15}
.resumen small{color:var(--tinta-suave);font-size:.82rem}

.total-general{
  display:block;background:linear-gradient(135deg,var(--marino-2),var(--marino));
  color:#fff;padding:1.15rem 1.25rem;margin-bottom:1.25rem;border-radius:6px;
  border-left:5px solid var(--dorado);text-decoration:none;
}
.total-general small{display:block;color:var(--dorado);font-size:.82rem;letter-spacing:.03em;
  text-transform:uppercase}
.total-general b{display:block;font-size:2.3rem;font-weight:650;letter-spacing:-.03em;line-height:1.15}
.total-general span{display:block;color:#C3CEDD;font-size:.88rem}

.ganancia{
  display:block;background:linear-gradient(135deg,#18856C,var(--verde));color:#fff;
  padding:1.15rem 1.25rem;margin-bottom:1rem;text-decoration:none;border-radius:6px;
}
.ganancia small{display:block;color:#B6E5D8;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
.ganancia b{display:block;font-size:2.4rem;font-weight:650;letter-spacing:-.03em;line-height:1.15}
.ganancia span{display:block;color:#D6F0E8;font-size:.88rem}
.ganancia .ver-detalle{margin-top:.5rem;font-weight:600;color:#fff}

/* ---------------------------------------------------------- listas */
.filtros{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:1rem}
.filtros a{padding:.38rem .8rem;background:var(--papel);border:1px solid var(--linea);
  border-radius:20px;text-decoration:none;color:var(--tinta-suave);font-size:.87rem}
.filtros a.activo{background:var(--marino);color:#fff;border-color:var(--marino)}

.lista{display:flex;flex-direction:column;gap:1px;background:var(--linea);
  border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.item{display:block;background:var(--papel);padding:.85rem .95rem .85rem 1.1rem;
  text-decoration:none;color:inherit;border-left:5px solid var(--linea)}
.item:hover{background:var(--fondo-2)}
.item.Pendiente{border-left-color:#95A2B3}
.item.Asignada{border-left-color:var(--ambar)}
.item.Recogida{border-left-color:var(--azul)}
.item.Entregada{border-left-color:var(--verde)}
.item.Cancelada{border-left-color:#C3CBD6;opacity:.6}

.item-alto{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}
.numero{font-weight:650;font-size:.9rem;color:var(--tinta-suave)}
.item-cliente{font-size:1.05rem;margin:.1rem 0 .15rem;font-weight:600}
.item-ruta{color:var(--tinta-suave);font-size:.88rem}
.item-pie{color:var(--tinta-suave);font-size:.82rem;margin-top:.35rem;display:flex;gap:.9rem;flex-wrap:wrap}
.hora-grande{font-weight:700;color:var(--marino);font-size:1rem}

.etiqueta{font-size:.71rem;font-weight:700;padding:.14rem .5rem;border-radius:20px;
  white-space:nowrap;letter-spacing:.02em}
.etiqueta.Rutina{background:var(--fondo);color:var(--tinta-suave)}
.etiqueta.Urgente{background:var(--ambar-claro);color:var(--ambar)}
.etiqueta.STAT{background:var(--rojo);color:#fff}
.etiqueta.estado{background:var(--fondo);color:var(--tinta-suave)}
.etiqueta.Pendiente{background:#EDF0F4;color:#5A6A80}
.etiqueta.Asignada{background:var(--ambar-claro);color:var(--ambar)}
.etiqueta.Recogida{background:var(--azul-claro);color:var(--azul)}
.etiqueta.Entregada{background:var(--verde-claro);color:var(--verde)}
.etiqueta.Cancelada{background:#EDF0F4;color:#8A94A3}
.etiqueta.contrato{background:var(--violeta-claro);color:var(--violeta)}
.etiqueta.ok{background:var(--verde-claro);color:var(--verde)}

.vacio{background:var(--papel);border:1px dashed var(--linea);padding:2rem 1rem;
  text-align:center;color:var(--tinta-suave);border-radius:6px}
.vacio p{margin:0 0 .8rem}

/* ---------------------------------------------------------- paneles */
.panel{background:var(--papel);border:1px solid var(--linea);padding:1.1rem;
  margin-bottom:1rem;border-radius:6px}
.panel h3{margin:0 0 .7rem;font-size:.85rem;color:var(--marino);font-weight:700;
  text-transform:uppercase;letter-spacing:.04em}

.datos{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;font-size:.95rem;margin:0}
.datos dt{color:var(--tinta-suave);font-size:.88rem}
.datos dd{margin:0}

.dos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:700px){.dos{grid-template-columns:1fr}}

.tramo{border-left:3px solid var(--linea);padding-left:.85rem;margin-bottom:1.1rem}
.tramo.origen{border-left-color:var(--ambar)}
.tramo.destino{border-left-color:var(--verde)}
.tramo b{display:block;font-size:.76rem;color:var(--tinta-suave);font-weight:700;
  text-transform:uppercase;letter-spacing:.04em}
.tramo .nombre{font-size:1.05rem;font-weight:600}
.tramo .dir{color:var(--tinta-suave);font-size:.92rem}

/* ---------------------------------------------------------- GPS */
.gps{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.gps a{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.5rem .85rem;border-radius:6px;text-decoration:none;
  font-size:.88rem;font-weight:600;border:1px solid;
}
.gps .google{background:var(--azul-claro);color:var(--azul);border-color:#BBD0F2}
.gps .apple{background:var(--fondo);color:var(--tinta);border-color:var(--linea)}
.gps a:hover{filter:brightness(.96)}
.gps svg{width:15px;height:15px;flex-shrink:0}

/* ---------------------------------------------------------- historial */
.historial{list-style:none;margin:0;padding:0;font-size:.92rem}
.historial li{padding:.6rem 0;border-bottom:1px solid var(--linea);display:flex;gap:.8rem}
.historial li:last-child{border:0}
.historial time{color:var(--tinta-suave);font-size:.82rem;white-space:nowrap;min-width:8.5rem}
.historial em{font-style:normal;color:var(--tinta-suave)}

.evidencia{display:flex;gap:1rem;flex-wrap:wrap}
.evidencia figure{margin:0;flex:1;min-width:200px}
.evidencia figcaption{font-size:.8rem;color:var(--tinta-suave);margin-bottom:.3rem}
.evidencia img{width:100%;border:1px solid var(--linea);background:#fff;border-radius:4px}

/* ---------------------------------------------------------- formularios */
label{display:block;font-size:.87rem;color:var(--tinta-suave);margin:0 0 .3rem;font-weight:500}
input[type=text],input[type=password],input[type=number],input[type=email],
input[type=tel],input[type=date],input[type=time],input[type=datetime-local],input[type=file],
select,textarea{
  width:100%;padding:.62rem .7rem;border:1px solid var(--linea);border-radius:5px;
  background:var(--papel);color:var(--tinta);font:inherit;font-size:16px;
}
input:focus,select:focus,textarea:focus{outline:2px solid var(--azul);outline-offset:0;
  border-color:var(--azul)}
textarea{min-height:5rem;resize:vertical}
.campo{margin-bottom:1rem}
.fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fila-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}
@media(max-width:640px){.fila,.fila-3{grid-template-columns:1fr}}

.check{display:flex;align-items:center;gap:.5rem;margin-bottom:.6rem}
.check input{width:1.15rem;height:1.15rem;accent-color:var(--verde);flex-shrink:0}
.check label{margin:0;color:var(--tinta);font-size:.98rem;font-weight:400}

.dias{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.dias label{
  display:flex;align-items:center;gap:.35rem;background:var(--papel);
  border:1px solid var(--linea);border-radius:20px;padding:.4rem .8rem;
  cursor:pointer;font-size:.9rem;color:var(--tinta);margin:0;font-weight:500;
}
.dias input{accent-color:var(--verde);margin:0}
.dias input:checked + span{font-weight:700;color:var(--verde)}

.ayuda{font-size:.82rem;color:var(--tinta-suave);margin-top:.3rem}
.ayuda.firma-ok{color:var(--verde);font-weight:600}
.ayuda.firma-falta{color:var(--rojo);font-weight:600}

/* validación de dirección */
.campo-auto{position:relative}
.btn-chico{padding:.62rem .8rem;border:1px solid var(--linea);background:var(--papel);
  border-radius:5px;font:inherit;font-size:.88rem;cursor:pointer;white-space:nowrap;
  color:var(--tinta)}
.btn-chico:hover{background:var(--fondo)}
.sugerencias{
  list-style:none;margin:.3rem 0 0;padding:0;border:1px solid var(--azul);
  border-radius:6px;overflow:hidden;background:var(--papel);
  box-shadow:0 6px 18px rgba(23,38,63,.16);
  position:relative;z-index:8;
}
.sugerencias:empty{display:none;border:0;box-shadow:none}
.sugerencias li{
  padding:.6rem .75rem;border-bottom:1px solid var(--linea);cursor:pointer;
  font-size:.9rem;line-height:1.35;
}
.sugerencias li:last-child{border:0}
.sugerencias li:hover,.sugerencias li.activa{background:var(--azul-claro);color:var(--azul);font-weight:600}
.estado-dir{font-size:.82rem;margin-top:.3rem;font-weight:600}
.estado-dir.ok{color:var(--verde)}
.estado-dir.malo{color:var(--rojo)}
.estado-dir.buscando{color:var(--tinta-suave);font-weight:400}

/* ---------------------------------------------------------- botones */
.btn{
  display:inline-block;padding:.65rem 1.15rem;border-radius:5px;border:1px solid var(--marino);
  background:var(--marino);color:#fff;font:inherit;font-weight:600;font-size:.95rem;
  text-decoration:none;cursor:pointer;text-align:center;
}
.btn:hover{filter:brightness(1.12)}
.btn.verde{background:var(--verde);border-color:var(--verde);color:#fff}
.btn.azul{background:var(--azul);border-color:var(--azul);color:#fff}
.btn.dorada{background:var(--dorado);border-color:var(--dorado-2);color:var(--marino)}
.btn.clara{background:var(--papel);color:var(--tinta);border-color:var(--linea)}
.btn.roja{background:var(--papel);color:var(--rojo);border-color:var(--rojo)}
.btn.ancha{display:block;width:100%;padding:1rem;font-size:1.05rem}
.acciones{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}

/* ---------------------------------------------------------- tablas */
table{width:100%;border-collapse:collapse;background:var(--papel);font-size:.92rem}
th,td{text-align:left;padding:.62rem .75rem;border-bottom:1px solid var(--linea)}
th{font-size:.78rem;color:var(--marino);font-weight:700;background:var(--fondo-2);
  text-transform:uppercase;letter-spacing:.03em}
td.n,th.n{text-align:right}
tfoot td{font-weight:700;border-top:2px solid var(--marino);border-bottom:0;
  background:var(--fondo-2)}
.tabla-scroll{overflow-x:auto;border:1px solid var(--linea);border-radius:6px}

/* ---------------------------------------------------------- firma */
.firma-caja{border:2px dashed var(--linea);background:#fff;border-radius:5px;position:relative}
.firma-caja canvas{display:block;width:100%;height:200px;touch-action:none;cursor:crosshair}
.firma-pista{position:absolute;left:0;right:0;bottom:.6rem;text-align:center;
  color:#AEBACA;font-size:.85rem;pointer-events:none}
.firma-caja.usada{border-style:solid;border-color:var(--verde)}
.firma-caja.usada .firma-pista{display:none}

/* ---------------------------------------------------------- login */
.login{max-width:350px;margin:9vh auto;padding:0 1rem}
.marca-login{display:block;width:200px;height:auto;margin:0 auto .6rem}
.login p.sub{margin-bottom:1.6rem;text-align:center}
.login form{background:var(--papel);border:1px solid var(--linea);padding:1.4rem;
  border-radius:8px;box-shadow:0 2px 14px rgba(23,38,63,.08)}

/* ---------------------------------------------------------- documentos */
.hoja{background:#fff;max-width:820px;margin:0 auto;padding:2.2rem;
  border:1px solid var(--linea);border-radius:6px}
.marca-hoja{display:block;height:64px;width:auto}

/* factura estilo libro contable */
.inv-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;
  margin-bottom:2rem}
.inv-titulo{text-align:right}
.inv-titulo h1{font-size:2.1rem;letter-spacing:.14em;color:var(--tinta-suave);
  font-weight:400;margin:0 0 .3rem;text-transform:uppercase}
.inv-meta{font-size:.88rem;color:var(--tinta-suave)}
.inv-meta b{color:var(--tinta)}
.inv-emisor{font-size:.86rem;color:var(--tinta-suave);line-height:1.45;margin-top:.5rem}

.inv-partes{display:flex;gap:2rem;flex-wrap:wrap;margin-bottom:1.6rem}
.inv-parte{flex:1;min-width:210px}
.inv-parte h4{margin:0 0 .35rem;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--tinta-suave);font-weight:700;
  border-bottom:1px solid var(--linea);padding-bottom:.25rem}
.inv-parte .nom{font-weight:700;font-size:1rem}
.inv-parte div{font-size:.9rem;color:var(--tinta-suave)}

table.inv{border-collapse:collapse;width:100%;margin-bottom:1.2rem}
table.inv thead th{background:var(--marino);color:#fff;font-size:.75rem;
  letter-spacing:.05em;padding:.6rem .75rem;border:0}
table.inv td{padding:.7rem .75rem;border-bottom:1px solid var(--linea);font-size:.92rem}
table.inv tbody tr:nth-child(even){background:var(--fondo-2)}

.inv-totales{display:flex;justify-content:flex-end;margin-bottom:1.6rem}
.inv-totales table{width:290px;background:transparent}
.inv-totales td{border:0;padding:.35rem .75rem;font-size:.93rem}
.inv-totales tr.grande td{border-top:2px solid var(--marino);font-size:1.25rem;
  font-weight:700;padding-top:.6rem}
.inv-totales td.n{text-align:right}

.inv-pie{border-top:1px solid var(--linea);padding-top:1rem;font-size:.85rem;
  color:var(--tinta-suave)}
.inv-pie h4{margin:0 0 .25rem;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.08em;color:var(--tinta)}
.sello{display:inline-block;padding:.35rem .9rem;border-radius:4px;font-weight:700;
  font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.sello.Pendiente{background:var(--ambar-claro);color:var(--ambar);border:2px solid var(--ambar)}
.sello.Pagada{background:var(--verde-claro);color:var(--verde);border:2px solid var(--verde)}

/* ---------------------------------------------------------- impresión */
@media print{
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .barra,.acciones,.no-imprimir,.volver-fila{display:none !important}
  body{background:#fff}
  main{padding:0;max-width:none}
  .hoja{border:0;padding:0;max-width:none;border-radius:0}
  .marca-hoja{height:58px}
  .item,.panel{break-inside:avoid}
}

@media(prefers-reduced-motion:reduce){*{transition:none !important;animation:none !important}}

/* ---------------------------------------------------------- navegación por día */
.dia-nav{
  display:flex;align-items:center;gap:.6rem;background:var(--papel);
  border:1px solid var(--linea);border-radius:8px;padding:.55rem .7rem;margin-bottom:1.1rem;
}
.dia-nav > a{
  flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  background:var(--fondo);border-radius:6px;text-decoration:none;color:var(--marino);
  font-size:1.2rem;font-weight:700;
}
.dia-nav > a:hover{background:var(--marino);color:#fff}
.dia-actual{flex:1;text-align:center;line-height:1.25}
.dia-actual b{display:block;font-size:1.15rem;color:var(--marino);letter-spacing:-.01em}
.dia-actual span{display:block;font-size:.85rem;color:var(--tinta-suave)}

.item-fecha{font-size:.82rem;color:var(--rojo);font-weight:600;margin-top:.15rem}

/* ---------------------------------------------------------- horario semanal */
.semana{display:flex;flex-direction:column;gap:.7rem}
.dia-tarjeta{background:var(--papel);border:1px solid var(--linea);border-radius:8px;overflow:hidden}
.dia-tarjeta.hoy{border-color:var(--verde);border-width:2px}
.dia-cab{
  display:flex;align-items:baseline;gap:.6rem;padding:.6rem .85rem;
  background:var(--fondo-2);border-bottom:1px solid var(--linea);
}
.dia-tarjeta.hoy .dia-cab{background:var(--verde-claro)}
.dia-cab b{font-size:1rem;color:var(--marino)}
.dia-cab span{font-size:.85rem;color:var(--tinta-suave)}
.dia-cab em{margin-left:auto;font-style:normal;font-size:.8rem;color:var(--tinta-suave);font-weight:600}

.dia-lista{list-style:none;margin:0;padding:0}
.dia-lista li{border-bottom:1px solid var(--linea)}
.dia-lista li:last-child{border:0}
.dia-lista a{
  display:flex;align-items:center;gap:.8rem;padding:.65rem .85rem;
  text-decoration:none;color:inherit;
}
.dia-lista a:hover{background:var(--fondo-2)}
.dia-lista .hr{
  flex-shrink:0;font-weight:700;color:var(--marino);font-size:.95rem;
  min-width:5rem;
}
.dia-lista .ds{flex:1;font-size:.92rem;line-height:1.35}
.dia-libre{margin:0;padding:.9rem .85rem;color:var(--tinta-suave);font-size:.9rem}

/* ---------------------------------------------------------- pago por día */
.dia-pago{margin-bottom:1.3rem;border:1px solid var(--linea);border-radius:8px;overflow:hidden}
.dia-pago-cab{
  display:flex;align-items:baseline;gap:.8rem;padding:.65rem .85rem;
  background:var(--marino);color:#fff;
}
.dia-pago-cab b{font-size:1rem}
.dia-pago-cab span{font-size:.85rem;color:#B9C6D8}
.dia-pago-cab .monto{margin-left:auto;font-weight:700;font-size:1.05rem;color:var(--dorado)}
.dia-pago table{margin:0}
.dia-pago .tabla-scroll{border:0;border-radius:0}

@media print{
  .dia-pago{break-inside:avoid}
  .dia-pago-cab{background:var(--fondo-2);color:var(--tinta);border-bottom:2px solid var(--marino)}
  .dia-pago-cab span{color:var(--tinta-suave)}
  .dia-pago-cab .monto{color:var(--tinta)}
}

/* ---------------------------------------------------------- carga que lleva */
.carga{
  display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
  background:var(--ambar-claro);border-left:4px solid var(--ambar);
  padding:.7rem .85rem;border-radius:0 5px 5px 0;margin-top:.4rem;
}
.carga b{font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ambar)}
.carga span{font-size:.95rem;color:var(--tinta)}

/* ---------------------------------------------------------- nómina */
.nom-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  flex-wrap:wrap;margin-bottom:.8rem}
.nom-cab > div:first-child{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.nom-cab b{font-size:1.05rem}
.nom-cab input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--verde)}
.nom-total{text-align:right;line-height:1.2}
.nom-total b{display:block;font-size:1.5rem;color:var(--marino);letter-spacing:-.02em}
.nom-total span{font-size:.82rem;color:var(--tinta-suave)}

.dias-check{display:flex;gap:.4rem;flex-wrap:wrap}
.dia-check{
  flex:1;min-width:64px;text-align:center;border:1px solid var(--linea);
  border-radius:6px;padding:.45rem .3rem;background:var(--fondo-2);
}
.dia-check.si{background:var(--verde-claro);border-color:var(--verde)}
.dia-check.manual{border-style:dashed;border-color:var(--ambar)}
.dc-dia{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;
  color:var(--tinta-suave);font-weight:700}
.dc-num{display:block;font-size:1.1rem;font-weight:650;color:var(--marino)}
.dc-btn{
  display:block;width:100%;margin-top:.25rem;border:0;border-radius:4px;
  background:var(--linea);color:var(--tinta-suave);font:inherit;font-size:.85rem;
  font-weight:700;cursor:pointer;padding:.15rem 0;
}
.dia-check.si .dc-btn{background:var(--verde);color:#fff}
.dc-btn.fijo{cursor:default;background:transparent;color:var(--tinta-suave)}

/* ---------------------------------------------------------- tablero en vivo */
.vivo{background:var(--papel);border:1px solid var(--linea);border-left:5px solid var(--linea);
  border-radius:8px;padding:.95rem 1.05rem;margin-bottom:.8rem}
.vivo.entregando{border-left-color:var(--azul)}
.vivo.en_ruta{border-left-color:var(--ambar)}
.vivo.atrasado{border-left-color:var(--rojo)}
.vivo.terminado{border-left-color:var(--verde)}
.vivo.libre{border-left-color:#AEB8C6;opacity:.8}

.vivo-cab{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.vivo-cab b{font-size:1.1rem}
.vivo-estado{font-size:.72rem;font-weight:700;padding:.15rem .55rem;border-radius:20px;
  margin-left:.5rem;text-transform:uppercase;letter-spacing:.04em}
.vivo-estado.entregando{background:var(--azul-claro);color:var(--azul)}
.vivo-estado.en_ruta{background:var(--ambar-claro);color:var(--ambar)}
.vivo-estado.atrasado{background:var(--rojo);color:#fff}
.vivo-estado.terminado{background:var(--verde-claro);color:var(--verde)}
.vivo-estado.libre{background:var(--fondo);color:var(--tinta-suave)}
.vivo-avance{text-align:right;line-height:1.15}
.vivo-avance b{font-size:1.3rem;color:var(--marino)}
.vivo-avance span{display:block;font-size:.76rem;color:var(--tinta-suave)}

.barra-avance{height:6px;background:var(--fondo);border-radius:3px;overflow:hidden;margin:.6rem 0}
.barra-avance i{display:block;height:100%;background:var(--verde);border-radius:3px}

.vivo-texto{margin:.3rem 0 .6rem;font-size:.95rem;color:var(--tinta)}
.vivo-alerta{margin:.3rem 0 .6rem;font-size:.88rem;color:var(--rojo);font-weight:600}
.vivo-alerta a{color:var(--rojo)}

.vivo-orden{display:block;background:var(--fondo-2);border:1px solid var(--linea);
  border-radius:6px;padding:.55rem .7rem;text-decoration:none;color:inherit;font-size:.9rem}
.vivo-orden:hover{background:var(--azul-claro)}

.vivo-pie{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.65rem;font-size:.82rem;
  color:var(--tinta-suave)}
.vivo-mapa{font-weight:600}

.latido{display:inline-block;width:8px;height:8px;border-radius:50%;background:#C3CBD6;
  margin:0 .4rem 0 .6rem;vertical-align:middle}
.latido.activo{background:var(--verde);box-shadow:0 0 0 4px rgba(19,122,95,.18)}
