/* =========================================================
   Agroindustrial Experts — portal del taller
   Paleta tomada del logo: negro carbón, gris metal y verde.
   ========================================================= */

:root{
  --navy:#1b1e22;
  --navy-deep:#111315;
  --naranja:#8cbb45;          /* verde de la marca (acento) */
  --naranja-texto:#4e7f1d;    /* verde legible sobre blanco */

  --fondo:#f3f4f2;
  --papel:#ffffff;
  --papel-2:#fafbf9;
  --linea:#dfe2de;
  --linea-suave:#e9ebe8;
  --tinta:#1b1e22;
  --tinta-2:#43484f;
  --tinta-3:#7b8189;
  --crema:#f1f7e8;
  --verde:#2f7d32;
  --rojo:#a12a1d;
  --rojo-suave:#fae5e2;
  --verde-suave:#e6f2df;
  --ambar:#b26a00;
  --ambar-suave:#fdf1dc;

  --et-entrada:#7b8189;
  --et-diagnostico:#b26a00;
  --et-reparacion:#5f9427;
  --et-pruebas:#2f6fb0;
  --et-listo:#17745a;

  --disp:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --ui:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  --sombra:0 1px 2px rgba(17,19,21,.06), 0 4px 14px rgba(17,19,21,.05);
  --radio:8px;
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --navy:#15171a; --navy-deep:#0c0d0f;
    --naranja:#9ccc55; --naranja-texto:#a6d465;
    --fondo:#101214; --papel:#181b1e; --papel-2:#1d2024;
    --linea:#2d3136; --linea-suave:#25292d;
    --tinta:#e8eae7; --tinta-2:#b3b8b2; --tinta-3:#8d938c;
    --crema:#1d2616; --verde:#7cc46f; --rojo:#e08a7f;
    --rojo-suave:#2c1a18; --verde-suave:#16241a;
    --ambar:#e0a44a; --ambar-suave:#2b2112;
    --et-entrada:#8d938c; --et-diagnostico:#e0a44a; --et-reparacion:#9ccc55;
    --et-pruebas:#7fb0e6; --et-listo:#5cc4a2;
    --sombra:0 1px 2px rgba(0,0,0,.32), 0 4px 14px rgba(0,0,0,.24);
  }
}

*{box-sizing:border-box}
body{
  margin:0;background:var(--fondo);color:var(--tinta);
  font-family:var(--ui);font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--naranja-texto)}
.env{max-width:1320px;margin:0 auto;padding-inline:16px}
.env.estrecho{max-width:920px}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--naranja);outline-offset:2px}

/* ---------------- barra superior ---------------- */
.barra{background:var(--navy-deep);border-bottom:3px solid var(--naranja)}
.barra .env{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-block:12px}
.marca{display:flex;align-items:center;gap:14px;margin-right:auto;text-decoration:none;min-width:0}
.marca img{height:40px;width:auto}
.barra-sep{width:1px;height:20px;background:rgba(255,255,255,.18)}
.rotulo{font-family:var(--disp);font-weight:500;font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;color:#9aa0a6;white-space:nowrap}
.nav{display:flex;gap:16px;flex-wrap:wrap}
.nav a{color:#c9cdd2;text-decoration:none;font-size:13px;font-weight:500}
.nav a:hover{color:#fff}
.quien{font-family:var(--mono);font-size:11.5px;color:#9aa0a6}
.salir{color:#9aa0a6;font-size:12px;text-decoration:none}
.salir:hover{color:#fff}

/* ---------------- cinta de conteos ---------------- */
.cinta{background:var(--navy)}
.cinta .env{display:flex;flex-wrap:wrap;margin:0 auto}
.conteo{padding:10px 18px 10px 0;margin-right:18px;
  border-right:1px solid rgba(255,255,255,.12);display:flex;align-items:baseline;gap:8px}
.conteo:last-child{border-right:0}
.conteo dt{margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:#9aa0a6}
.conteo dd{margin:0;font-family:var(--disp);font-weight:600;font-size:21px;
  color:#fff;font-variant-numeric:tabular-nums}
.conteo dd.rojo{color:#ef9a8d}

/* ---------------- avisos ---------------- */
.aviso{margin:14px 0 0;padding:10px 14px;border-radius:var(--radio);font-size:13px;
  border:1px solid var(--linea);background:var(--crema);color:var(--naranja-texto)}
.aviso.ok{background:var(--verde-suave);color:var(--verde);border-color:var(--verde)}
.aviso.mal{background:var(--rojo-suave);color:var(--rojo);border-color:var(--rojo)}

/* ---------------- tablero ---------------- */
.scroll{overflow-x:auto;padding-block:18px 6px}
.tablero{display:grid;grid-template-columns:repeat(5,minmax(246px,1fr));gap:14px;align-items:start}
.columna{background:var(--papel-2);border:1px solid var(--linea-suave);
  border-radius:var(--radio);display:flex;flex-direction:column;min-height:150px}
.columna.et-entrada{--et:var(--et-entrada)}
.columna.et-reparacion{--et:var(--et-reparacion)}
.columna.et-diagnostico{--et:var(--et-diagnostico)}
.columna.et-pruebas{--et:var(--et-pruebas)}
.columna.et-listo{--et:var(--et-listo)}
.cab{padding:12px 14px;border-bottom:1px solid var(--linea-suave);
  border-top:3px solid var(--et);border-radius:var(--radio) var(--radio) 0 0;
  display:flex;align-items:center;gap:9px}
.cab h3{margin:0;font-family:var(--disp);font-weight:600;font-size:16px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--et)}
.cab .n{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--tinta-3);
  background:var(--papel);border:1px solid var(--linea);border-radius:20px;padding:1px 9px}
.pila{display:flex;flex-direction:column;gap:10px;padding:12px}
.vacia{padding:20px 14px;text-align:center;color:var(--tinta-3);font-size:12.5px;margin:0}

.tarjeta{background:var(--papel);border:1px solid var(--linea);border-left:3px solid var(--et);
  border-radius:6px;box-shadow:var(--sombra);padding:11px 12px 10px}
.tarjeta.detenida{border-left-color:var(--rojo);background:var(--rojo-suave)}
.fila-serie{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.serie{font-family:var(--mono);font-weight:600;font-size:13.5px;letter-spacing:.07em;
  color:var(--tinta);text-decoration:none}
.serie:hover{text-decoration:underline}
.dias{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--tinta-3);white-space:nowrap}
.dias.alerta{color:var(--ambar);font-weight:600}
.veh{font-weight:600;font-size:13.5px;line-height:1.3}
.meta{font-size:11.5px;color:var(--tinta-2);margin-top:3px;font-family:var(--mono)}
.trabajo{font-size:12px;color:var(--tinta-2);margin:7px 0 0;padding-top:7px;border-top:1px dashed var(--linea)}

.chip{display:inline-block;font-family:var(--mono);font-size:10.5px;padding:2px 7px;
  border-radius:3px;margin:6px 4px 0 0;border:1px solid}
.chip.alto{background:var(--rojo-suave);color:var(--rojo);border-color:var(--rojo)}
.chip.tarde{background:var(--ambar-suave);color:var(--ambar);border-color:var(--ambar)}
.chip.si{background:var(--verde-suave);color:var(--verde);border-color:var(--verde)}
.chip.no{background:transparent;color:var(--tinta-3);border-color:var(--linea)}

.acciones{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.mover{appearance:none;cursor:pointer;font-family:var(--ui);font-size:11.5px;font-weight:600;
  background:transparent;color:var(--tinta-2);border:1px solid var(--linea);
  border-radius:5px;padding:4px 9px}
.mover:hover{background:var(--papel-2);border-color:var(--tinta-3)}
.mover.m-entrada{color:var(--et-entrada)}
.mover.m-reparacion{color:var(--et-reparacion)}
.mover.m-diagnostico{color:var(--et-diagnostico)}
.mover.m-pruebas{color:var(--et-pruebas)}
.mover.m-listo{color:var(--et-listo)}
.mover.alto{margin-left:auto;color:var(--tinta-3)}
.mover.fin{background:var(--et-listo);border-color:var(--et-listo);color:#fff}
.mover.fin:hover{filter:brightness(.93)}

/* ---------------- entregados ---------------- */
.entregados{margin-block:22px 40px}
.entregados summary{cursor:pointer;font-family:var(--disp);font-weight:500;font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2);
  padding:10px 0;border-top:1px solid var(--linea)}
.tabla-env{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:12.5px;margin-top:6px}
th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tinta-3);padding:7px 10px;
  border-bottom:1px solid var(--linea);font-weight:500;white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid var(--linea-suave)}
tbody tr:hover{background:var(--papel-2)}

/* ---------------- títulos y paneles ---------------- */
.titulo{font-family:var(--disp);font-weight:600;font-size:25px;letter-spacing:.01em;
  margin:22px 0 6px;text-wrap:balance}
.bajada{color:var(--tinta-2);font-size:13.5px;margin:0 0 18px;max-width:70ch}
.panel{background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio);
  padding:16px 18px;margin-bottom:16px;box-shadow:var(--sombra)}
.panel.destacado{border-left:3px solid var(--naranja)}
.panel h2{font-family:var(--disp);font-weight:500;font-size:14px;letter-spacing:.08em;
  text-transform:uppercase;margin:0 0 12px;color:var(--tinta)}
.nota{font-size:12px;color:var(--tinta-3)}
.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:40px}

.cabecera-ficha{display:flex;justify-content:space-between;align-items:flex-end;
  gap:18px;flex-wrap:wrap;border-bottom:2px solid var(--linea);padding-bottom:12px;margin-bottom:4px}
.folio-ficha{font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--naranja-texto);margin:20px 0 0}
.acciones-ficha{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:4px}
.linea-detener{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0}
.datos > div{min-width:0}
.datos > div.ancho{grid-column:1/-1}
.datos dt{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tinta-3);margin-bottom:2px}
.datos dd{margin:0;font-size:13.5px;overflow-wrap:anywhere}

/* ---------------- formularios ---------------- */
.hoja fieldset{border:1px solid var(--linea);border-radius:var(--radio);
  background:var(--papel);padding:14px 18px 18px;margin:0 0 16px}
.hoja fieldset.destacado{border-left:3px solid var(--naranja)}
.hoja legend{font-family:var(--disp);font-weight:500;font-size:13px;letter-spacing:.08em;
  text-transform:uppercase;padding:0 8px;color:var(--tinta)}
.campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.campo{display:flex;flex-direction:column;gap:5px;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-3);min-width:0}
.campo.ancho{grid-column:1/-1}
.campo.ancho2{grid-column:span 2}
.campo.casilla{flex-direction:row;align-items:center;gap:8px;font-family:var(--ui);
  font-size:13px;letter-spacing:0;text-transform:none;color:var(--tinta)}
.campo input,.campo select,.campo textarea{
  font-family:var(--ui);font-size:13.5px;letter-spacing:0;text-transform:none;
  color:var(--tinta);background:var(--papel-2);border:1px solid var(--linea);
  border-radius:6px;padding:8px 10px;width:100%}
.campo input.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em}
.campo textarea{resize:vertical}
.campo input[type=checkbox]{width:auto}
.ayuda{text-transform:none;letter-spacing:0;color:var(--tinta-3);font-family:var(--ui);font-size:11px}
.req{color:var(--naranja-texto)}
.con-boton{display:flex;gap:6px}
.btn-mini{white-space:nowrap;font-family:var(--ui);font-size:12px;padding:0 10px;
  border:1px solid var(--linea);background:var(--papel-2);color:var(--tinta-2);
  border-radius:6px;cursor:pointer}
.pie-hoja{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:40px}
.pie-hoja .nota{margin-right:auto}

.btn{appearance:none;border:0;cursor:pointer;background:#4e7f1d;color:#fff;
  font-family:var(--ui);font-weight:600;font-size:13px;padding:9px 18px;
  border-radius:6px;text-decoration:none;display:inline-block}
.btn:hover{background:#3f6a15}
.btn-sec{appearance:none;background:transparent;border:1px solid var(--linea);
  color:var(--tinta-2);font-family:var(--ui);font-size:13px;font-weight:500;
  padding:8px 14px;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block}
.btn-sec:hover{border-color:var(--tinta-3);color:var(--tinta)}

/* ---------------- protocolo de fotos: un cuadro por toma ---------------- */
.contador{float:right;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
  text-transform:none;color:var(--tinta-3);font-weight:400}
.tomas{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:12px}
.toma{border:1px solid var(--linea);border-radius:8px;background:var(--papel-2);
  padding:10px;display:flex;flex-direction:column;gap:8px;min-height:150px}
.toma.con-foto{background:var(--papel);border-color:var(--verde)}
.toma.falta{border-color:var(--ambar);border-style:dashed;background:var(--ambar-suave)}
.toma-cab{display:flex;align-items:flex-start;gap:6px}
.toma-nombre{font-size:12px;font-weight:600;line-height:1.3}
.toma-marca{margin-left:auto;font-size:12px;line-height:1;color:var(--ambar)}
.toma.con-foto .toma-marca{color:var(--verde)}
.toma-pista{margin:0;font-size:11px;color:var(--tinta-3);flex:1;line-height:1.4}
.toma-fotos{display:flex;flex-wrap:wrap;gap:6px;flex:1;align-content:flex-start}
.toma-mini{position:relative;display:block;width:62px;height:62px}
.toma-mini img{width:62px;height:62px;object-fit:cover;border-radius:5px;
  border:1px solid var(--linea);display:block;background:var(--papel-2)}
.toma-borrar{position:absolute;top:-6px;right:-6px;margin:0}
.toma-borrar button{width:19px;height:19px;line-height:1;padding:0;border-radius:50%;
  border:1px solid var(--linea);background:var(--papel);color:var(--tinta-3);
  font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.toma-borrar button:hover{background:var(--rojo);border-color:var(--rojo);color:#fff}
.toma-subir{margin:0}
.toma-boton{display:block;text-align:center;cursor:pointer;font-size:11.5px;font-weight:600;
  padding:7px 8px;border-radius:6px;border:1px solid var(--linea);
  background:var(--papel);color:var(--naranja-texto)}
.toma-boton:hover{border-color:var(--naranja);background:var(--crema)}
.toma-boton.cargando{opacity:.55;pointer-events:none}
.toma-subir input[type=file]:focus-visible + .toma-boton{outline:2px solid var(--naranja);outline-offset:2px}

/* ---------------- firma ---------------- */
.firma-bloque{margin-top:16px;padding-top:14px;border-top:1px solid var(--linea)}
.firma-rotulo{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tinta-3);margin-bottom:8px}
.firma-lienzo{width:100%;max-width:100%;height:170px;display:block;touch-action:none;
  background:var(--papel);border:1px dashed var(--linea);border-radius:8px;cursor:crosshair}
.firma-pie{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}
.firma-pie .nota{margin-right:auto}
.firma-vista{display:block;max-width:260px;width:100%;height:auto;background:#fff;
  border:1px solid var(--linea);border-radius:6px;padding:4px;margin-bottom:4px}

/* ---------------- bitácora ---------------- */
.bitacora{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bitacora li{display:flex;gap:10px;font-size:12.5px;align-items:baseline;
  border-bottom:1px solid var(--linea-suave);padding-bottom:7px}
.bitacora li span:first-child{color:var(--tinta-3);white-space:nowrap;font-size:11px}
.bitacora li em{margin-left:auto;color:var(--tinta-3);font-style:normal;font-size:11px;white-space:nowrap}

/* ---------------- pantallas sueltas ---------------- */
body.centrado{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px}
.tarjeta-sola{background:var(--papel);border:1px solid var(--linea);border-top:3px solid var(--naranja);
  border-radius:var(--radio);box-shadow:var(--sombra);padding:28px;width:100%;max-width:380px}
.logo-sol{height:52px;width:auto;display:block;margin-bottom:8px;max-width:100%}
.rotulo-sol{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tinta-3);margin:0 0 20px}
.titulo-sol{font-family:var(--disp);font-weight:600;font-size:20px;margin:0 0 16px;text-transform:uppercase;letter-spacing:.04em}
.form-sol{display:flex;flex-direction:column;gap:6px}
.form-sol label{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tinta-3);margin-top:10px}
.form-sol input{font-family:var(--ui);font-size:14px;padding:9px 11px;border:1px solid var(--linea);
  background:var(--papel-2);color:var(--tinta);border-radius:6px}
.form-sol .btn{margin-top:18px}
.nota-sol{font-size:13px;color:var(--tinta-2)}

/* ---------------- pie ---------------- */
.pie{border-top:1px solid var(--linea);margin-top:20px;padding-block:16px 34px;
  color:var(--tinta-3);font-size:11.5px;background:var(--papel)}

/* ---------------- responsivo ---------------- */
@media (max-width:900px){
  .tablero{grid-template-columns:1fr}
  .scroll{overflow-x:visible}
  .dos-columnas{grid-template-columns:1fr}
  .campo.ancho2{grid-column:1/-1}
  .marca{width:100%}
  .nav{width:100%}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------------- zona de peligro ---------------- */
.peligro summary{cursor:pointer;font-size:13px;color:var(--rojo);font-weight:600;padding:4px 0}
.peligro .nota{margin:8px 0 12px;max-width:60ch}
.peligro form{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.btn-peligro{appearance:none;cursor:pointer;background:transparent;border:1px solid var(--rojo);
  color:var(--rojo);font-family:var(--ui);font-size:13px;font-weight:600;
  padding:8px 14px;border-radius:6px}
.btn-peligro:hover{background:var(--rojo);color:#fff}

/* enlace a la hoja imprimible */
.mover.doc{background:var(--navy);border-color:var(--navy);color:#fff;text-decoration:none;
  display:inline-block;padding:5px 11px}
.mover.doc:hover{background:var(--navy);filter:brightness(1.25);color:#fff}

/* ============ navegación ============ */
.globo{display:inline-block;background:#d0452f;color:#fff;border-radius:20px;
  font-family:var(--mono);font-size:10px;padding:0 6px;line-height:15px;vertical-align:1px}
.busca-rapida input{font-family:var(--ui);font-size:12.5px;padding:6px 10px;border-radius:6px;
  border:1px solid #33383f;background:#1d2024;color:#e8eae7;width:180px}
.busca-rapida input::placeholder{color:#7b8189}
a.quien{text-decoration:none}
a.quien:hover{color:#fff}
.conteo dd .de{font-size:12px;color:#8d938c;font-family:var(--mono)}

/* ============ capacidad ============ */
.columna.sobrecargada .cab{background:var(--crema)}
.cab .n.alto{background:var(--rojo);border-color:var(--rojo);color:#fff}
.cap-aviso{margin:0;padding:7px 14px;font-size:11.5px;color:var(--rojo);
  background:var(--rojo-suave);border-bottom:1px solid var(--linea)}

/* ============ ficha ============ */
.contador{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;
  text-transform:none;color:var(--tinta-3);font-weight:400}
.panel h2{display:flex;align-items:baseline;gap:8px}
.barra-etapas{align-items:center;margin:14px 0 4px;padding:10px 14px;background:var(--papel);
  border:1px solid var(--linea);border-radius:var(--radio)}
.copiable{font-size:11.5px;padding:6px 9px;border:1px solid var(--linea);border-radius:6px;
  background:var(--papel-2);color:var(--tinta-2);width:100%}
.acciones-tabla form{display:flex;gap:6px;flex-wrap:wrap}
.en-linea{display:inline-flex;gap:6px;align-items:center;margin:0}
.equis{appearance:none;border:1px solid var(--linea);background:var(--papel);color:var(--tinta-3);
  width:22px;height:22px;border-radius:50%;cursor:pointer;font-size:14px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center}
.equis:hover{background:var(--rojo);border-color:var(--rojo);color:#fff}
.lista-docs{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.lista-docs li{background:var(--papel);padding:8px 12px;display:flex;gap:10px;align-items:center;
  flex-wrap:wrap;font-size:12.5px}
.lista-docs li .nota{margin-left:auto}
.lista-docs li.vacia{justify-content:center;color:var(--tinta-3)}
.lista-simple{margin:6px 0 14px;padding-left:18px;font-size:13px;color:var(--tinta-2)}
.lista-simple li{margin-bottom:3px}
.clave-temporal{font-size:22px;letter-spacing:.08em;background:var(--papel-2);
  border:1px dashed var(--naranja);border-radius:6px;padding:12px 16px;text-align:center;margin:0}

/* ============ avisos al cliente ============ */
.aviso-fila{border:1px solid var(--linea);border-radius:var(--radio);padding:12px 14px;
  margin-bottom:12px;background:var(--papel-2)}
.aviso-cab{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:7px}
.aviso-cab .der{margin-left:auto}
.aviso-texto{margin:0 0 10px;font-size:13px;background:var(--papel);border:1px solid var(--linea);
  border-radius:6px;padding:9px 12px;line-height:1.5;overflow-wrap:anywhere}
.aviso-acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* ============ métricas ============ */
.tarjetas-cifra{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;margin:18px 0}
.cifra{background:var(--papel);border:1px solid var(--linea);border-top:3px solid var(--et-listo);
  border-radius:var(--radio);padding:13px 15px;display:flex;flex-direction:column;gap:3px;
  box-shadow:var(--sombra)}
.cifra.mala{border-top-color:var(--rojo)}
.cifra .rot{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tinta-3)}
.cifra .num{font-family:var(--disp);font-weight:500;font-size:29px;line-height:1.05;
  font-variant-numeric:tabular-nums}
.cifra .num small{font-size:14px;font-weight:400;color:var(--tinta-3)}
.cifra .pie-cifra{font-size:11.5px;color:var(--tinta-3);line-height:1.35}
.barra-dato{display:grid;grid-template-columns:minmax(90px,1.1fr) 2fr auto;gap:10px;
  align-items:center;margin-bottom:8px;font-size:12.5px}
.barra-dato .etiqueta{overflow-wrap:anywhere}
.barra-dato .riel{height:9px;background:var(--papel-2);border:1px solid var(--linea);border-radius:5px;overflow:hidden}
.barra-dato .relleno{display:block;height:100%;background:var(--et-pruebas);border-radius:5px}
.barra-dato .relleno.alto{background:var(--ambar)}
.barra-dato .valor{color:var(--tinta-3);white-space:nowrap;font-size:11.5px}

/* ============ vista pública del cliente ============ */
body.publico .barra{border-bottom-width:3px}
.pasos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.paso{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--linea-suave)}
.paso:last-child{border-bottom:0}
.marca-paso{width:24px;text-align:center;font-size:16px;line-height:1.2;color:var(--tinta-3)}
.paso.listo .marca-paso{color:var(--verde)}
.paso.ahora .marca-paso{color:var(--naranja)}
.cuerpo-paso{display:flex;flex-direction:column;gap:2px}
.cuerpo-paso b{font-size:14px}
.paso.pendiente .cuerpo-paso b{color:var(--tinta-3);font-weight:500}
.cuerpo-paso span{font-size:12.5px;color:var(--tinta-2)}
.paso.ahora{background:var(--crema);margin-inline:-18px;padding-inline:18px;border-radius:6px}

/* ============ línea de tiempo ============ */
.hilo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.hilo > li{display:grid;grid-template-columns:78px 18px 1fr auto auto;gap:10px;
  align-items:start;padding:9px 0;border-bottom:1px solid var(--linea-suave);font-size:12.5px}
.hilo > li:last-child{border-bottom:0}
.hilo .hora{color:var(--tinta-3);font-size:11px;white-space:nowrap;padding-top:1px}
.hilo .punto{text-align:center;color:var(--tinta-3);font-size:13px;line-height:1.3}
.hilo li.com{background:var(--papel-2);margin-inline:-10px;padding-inline:10px;border-radius:6px}
.hilo li.com .punto{color:var(--naranja);font-weight:700}
.hilo .cuerpo{display:flex;flex-direction:column;gap:2px;min-width:0}
.hilo .cuerpo b{font-size:12.5px}
.hilo .etq{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tinta-3)}
.hilo .dicho{color:var(--tinta-2);overflow-wrap:anywhere}
.hilo .paso{font-size:11.5px;margin-top:3px;padding:3px 8px;border-radius:4px;align-self:flex-start}
.hilo .paso.abierto{background:var(--ambar-suave);color:var(--ambar);border:1px solid var(--ambar)}
.hilo .paso.cerrado{background:var(--verde-suave);color:var(--verde);border:1px solid var(--verde)}
.hilo .autor{color:var(--tinta-3);font-size:11px;white-space:nowrap;padding-top:1px}
.hilo li.vacia{display:block;text-align:center}
@media (max-width:700px){
  .hilo > li{grid-template-columns:1fr auto;gap:4px}
  .hilo .hora{grid-column:1;font-size:10.5px}
  .hilo .punto{display:none}
  .hilo .cuerpo{grid-column:1/-1}
  .hilo .autor{grid-column:2;grid-row:1;text-align:right}
}

/* ============ seguimientos ============ */
.sub-panel{font-family:var(--disp);font-weight:500;font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tinta-2);margin:18px 0 8px}
.pendientes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.pendientes li{background:var(--papel);padding:9px 12px;display:flex;gap:12px;
  align-items:flex-start;flex-wrap:wrap;font-size:12.5px}
.pendientes li.vencido{background:var(--rojo-suave)}
.pendientes li.hoy{background:var(--crema)}
.pendientes .cuando{white-space:nowrap;color:var(--tinta-3);font-size:11px;padding-top:2px;min-width:56px}
.pendientes li.vencido .cuando{color:var(--rojo);font-weight:600}
.pendientes .que{flex:1 1 220px;display:flex;flex-direction:column;gap:2px;min-width:0}
.pendientes .dicho{color:var(--tinta-3);font-size:11.5px;overflow-wrap:anywhere}
.panel.destacado-rojo{border-left:3px solid var(--rojo)}

/* ============ tira de resumen del equipo ============ */
.resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-radius:var(--radio);
  overflow:hidden;margin:14px 0 16px}
.resumen .dato{background:var(--papel);padding:9px 13px;display:flex;flex-direction:column;gap:1px;min-width:0}
.resumen .rot{font-family:var(--mono);font-size:9px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tinta-3)}
.resumen .val{font-size:14px;font-weight:600;overflow-wrap:anywhere}
.resumen .accion{font-size:11.5px;color:var(--naranja-texto);text-decoration:none;overflow-wrap:anywhere}
.resumen a.accion:hover{text-decoration:underline}

.dos-columnas.ancha{grid-template-columns:1.35fr 1fr}
@media (max-width:900px){.dos-columnas.ancha{grid-template-columns:1fr}}

/* ============ lista de llamadas ============ */
.llamadas{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.llamadas li{background:var(--papel);padding:9px 12px;display:flex;gap:10px;align-items:flex-start}
.llamadas .flecha{color:var(--naranja);font-weight:700;font-size:14px;line-height:1.3;width:14px;text-align:center}
.llamadas .flecha.ent{color:var(--et-pruebas)}
.llamadas .cuerpo{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.llamadas .quien-linea{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.llamadas .quien-linea b{font-size:13px}
.llamadas .etq{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tinta-3)}
.llamadas .dicho{font-size:12.5px;color:var(--tinta-2);overflow-wrap:anywhere}
.llamadas .cuando{font-size:10.5px;color:var(--tinta-3);white-space:nowrap;padding-top:2px}

/* ============ formularios que se abren solo cuando hacen falta ============ */
.registrar{margin-top:12px;border-top:1px solid var(--linea-suave);padding-top:10px}
.registrar summary{cursor:pointer;font-size:12.5px;font-weight:600;color:var(--naranja-texto);
  padding:4px 0;list-style-position:inside}
.registrar summary:hover{text-decoration:underline}
.registrar .subir{margin-top:10px;border:0;padding:0}

/* ============ cajones que casi nunca hay que abrir ============ */
.cajon{border:1px solid var(--linea);border-radius:var(--radio);background:var(--papel);
  margin-bottom:12px;box-shadow:var(--sombra)}
.cajon > summary{cursor:pointer;padding:13px 18px;font-family:var(--disp);font-weight:500;
  font-size:14px;letter-spacing:.08em;text-transform:uppercase;display:flex;
  align-items:baseline;gap:10px;list-style-position:inside}
.cajon > summary:hover{background:var(--papel-2)}
.cajon[open] > summary{border-bottom:1px solid var(--linea-suave)}
.marca-cajon{margin-left:auto;font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;
  text-transform:none;color:var(--tinta-3);font-weight:400}
.marca-cajon.falta{color:var(--rojo);font-weight:600}
.marca-cajon.ok{color:var(--verde)}
.cajon-cuerpo{padding:16px 18px 18px}
.cajon-cuerpo .dos-columnas{margin-bottom:0}
.cajon:last-of-type{margin-bottom:40px}

/* ============ vista pública del cliente (estado.php) ============ */
.barra-tel{font-family:var(--mono);font-size:13px;color:#c3ccda;text-decoration:none;
  border:1px solid rgba(255,255,255,.22);border-radius:20px;padding:4px 12px;white-space:nowrap}
.barra-tel:hover{color:#fff;border-color:rgba(255,255,255,.5)}

.panel.ahora{border-left:3px solid var(--naranja)}
.ahora-rotulo{margin:0 0 6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tinta-3)}
.ahora-texto{margin:0;font-family:var(--disp);font-weight:500;font-size:20px;line-height:1.3;
  color:var(--tinta)}
.ahora-fecha{margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--linea);
  font-size:13px;color:var(--tinta-2)}
.ahora-fecha b{font-family:var(--mono);color:var(--tinta)}

.suplementos-pub{list-style:none;margin:14px 0 0;padding:0}
.suplementos-pub li{padding:12px 0;border-top:1px solid var(--linea-suave)}
.sup-linea{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.sup-concepto{font-size:14px;color:var(--tinta);flex:1 1 220px}
.sup-monto{margin-left:auto;font-size:15px;font-weight:600;color:var(--tinta);
  font-variant-numeric:tabular-nums;white-space:nowrap}
.chip.espera{background:var(--ambar-suave);color:var(--ambar);border-color:var(--ambar)}

.gestiones{list-style:none;margin:14px 0 0;padding:0}
.gestiones li{display:flex;gap:14px;padding:9px 0;border-top:1px solid var(--linea-suave);
  font-size:13.5px;color:var(--tinta-2);line-height:1.5}
.gest-fecha{flex:0 0 78px;font-size:12px;color:var(--tinta-3);white-space:nowrap;padding-top:1px}

@media (max-width:520px){
  .ahora-texto{font-size:17px}
  .gestiones li{flex-direction:column;gap:2px}
  .gest-fecha{flex:none}
  .sup-monto{margin-left:0}
}

/* ============ bandeja de avisos por canal ============ */
.aviso-canal{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.canal-marca{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 9px;border-radius:3px;border:1px solid}
.canal-marca.correo{background:var(--crema);color:var(--naranja-texto);border-color:var(--naranja)}
.canal-marca.texto{background:var(--verde-suave);color:var(--verde);border-color:var(--verde)}
.aviso-error{margin:10px 0 0;padding:9px 12px;border-radius:var(--radio);font-size:12.5px;
  background:var(--rojo-suave);color:var(--rojo);border:1px solid var(--rojo)}
.correo-apagado{margin:0 0 16px;padding:12px 14px;border-radius:var(--radio);font-size:13px;
  background:var(--crema);color:var(--naranja-texto);border:1px solid var(--naranja)}
.lista-ayuda{margin:12px 0 0;padding-left:20px;font-size:13.5px;line-height:1.65;color:var(--tinta-2)}
.lista-ayuda li{margin-bottom:8px}
.lista-ayuda b{color:var(--tinta)}
.visibilidad{margin-top:5px}
.ojo{appearance:none;cursor:pointer;background:transparent;border:1px solid var(--linea);
  border-radius:3px;padding:1px 7px;font-family:var(--mono);font-size:10px;
  color:var(--tinta-3);letter-spacing:.04em}
.ojo.visible{border-color:var(--verde);color:var(--verde);background:var(--verde-suave)}
.ojo:hover{border-color:var(--naranja);color:var(--naranja-texto)}
.pista{display:block;margin-top:4px;font-size:11.5px;color:var(--tinta-3);font-weight:400;line-height:1.45}

/* ============ avisos enviados y visitas del cliente ============ */
.enviados{list-style:none;margin:12px 0 0;padding:0}
.enviados li{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--linea-suave)}
.enviados li:first-child{border-top:0}
.canal-punto{flex:0 0 26px;height:26px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:12px;border:1px solid}
.canal-punto.correo{background:var(--crema);color:var(--naranja-texto);border-color:var(--naranja)}
.canal-punto.texto{background:var(--verde-suave);color:var(--verde);border-color:var(--verde)}
.enviados .cuerpo{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.enviados .quien-linea{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.enviados .quien-linea b{font-size:13px}
.enviados .etq{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--tinta-3)}
.enviados .dicho{font-size:12.5px;color:var(--tinta-2);overflow-wrap:anywhere}
.enviados .nota{font-size:11px;margin:2px 0 0}
.enviados .cuando{font-size:10.5px;color:var(--tinta-3);white-space:nowrap;padding-top:4px}
.visitas{margin-top:16px;padding-top:14px;border-top:1px dashed var(--linea)}
.casilla-linea{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;
  font-weight:500;font-size:13px;color:var(--tinta);cursor:pointer}
.casilla-linea input{width:auto;margin:0}
.hilo .ojo{margin-left:6px}

/* ---------------- Agroindustrial: agregados ---------------- */
.serie-ficha{margin:2px 0 4px;color:var(--tinta-2);font-size:13.5px}
.serie-ficha b{color:var(--tinta)}
.historial{border-left:3px solid var(--naranja)}
.historial .lista-docs li{flex-wrap:wrap}
.nav a[href="entrada.php"]{color:#111315;background:var(--naranja);padding:3px 10px;border-radius:5px;font-weight:600}
.nav a[href="entrada.php"]:hover{color:#111315;filter:brightness(1.08)}
@media (max-width:560px){
  .marca img{height:32px}
  .marca .barra-sep,.marca .rotulo{display:none}
  .barra .env{gap:10px}
}
