/* M10 · Despachos y Retiros — hoja de estilos PROPIA del módulo (06-10-2026).
   Archivo NUEVO: lo carga solo pages/despachos.html, después de modulo.css. No se toca modulo.css de
   producción (antes este bloque iba pegado al final de modulo.css; se separó para no pisar cambios
   hechos en el VPS después del 01-10). Todo va dentro de [data-modulo="M10"] o con prefijo .dsp-:
   ningún otro módulo cambia. Secciones: base y cromado del shell · Configuración · Flete y Resumen ·
   Pedir y Ficha · Agenda y diálogo Programar (ex despachos-agenda.css) · Correcciones del QA final. */

/* ═══════════════════ M10 · Despachos y Retiros (06-10-2026) ═══════════════════
   Acento AMARILLO SEÑALÉTICA del diseño aprobado de Claude Design («M10 Despachos
   Indutecnica.html» → estilos.css). Regla del diseño: NUNCA texto blanco sobre el amarillo:
   --on-accent (casi negro) para lo que va ENCIMA del amarillo y --accent-text (marrón)
   para el texto «de acento» sobre fondo claro. Todo queda dentro de [data-modulo="M10"]:
   ningún otro módulo cambia. Las piezas propias del módulo llevan el prefijo .dsp-. */
[data-modulo="M10"]{
  --text-2:#62696e;--text-3:#8a9094;--border-strong:rgba(0,0,0,0.16);
  --shadow-lg:0 18px 50px -18px rgba(0,0,0,0.30);--topbar:rgba(255,255,255,0.86);--track:#e7e9eb;
  --accent:#E3A400;--accent-soft:rgba(227,164,0,0.15);--accent-line:rgba(227,164,0,0.6);
  --on-accent:#1d1a12;--accent-text:#7f5b00;
  --desp:#2c67ad;--desp-soft:rgba(44,103,173,0.11);
  --ret:#1f7a5a;--ret-soft:rgba(31,122,90,0.12);
  --tras:#7350a8;--tras-soft:rgba(115,80,168,0.12);
  --good-text:#23705a;--good-soft:rgba(47,143,111,0.12);
  --warn-text:#875f10;--warn-soft:rgba(194,144,44,0.16);
  --alert-text:#a63d1d;--alert-soft:rgba(203,79,43,0.12);--on-alert:#ffffff;
  --late:#a83232;--late-text:#8f2b2b;--late-soft:rgba(168,50,50,0.11);
}
[data-theme="dark"] [data-modulo="M10"],[data-modulo="M10"][data-theme="dark"]{
  --surface-2:#25282b;--text-2:#a4aab0;--text-3:#8b9197;--border-strong:rgba(255,255,255,0.22);
  --shadow-lg:0 22px 60px -18px rgba(0,0,0,0.8);--topbar:rgba(30,32,34,0.86);--track:#2f3337;
  --accent:#F5B800;--accent-soft:rgba(245,184,0,0.16);--accent-line:rgba(245,184,0,0.55);
  --on-accent:#17150f;--accent-text:#f5c435;
  --desp:#86b4ea;--desp-soft:rgba(134,180,234,0.15);
  --ret:#5cc49a;--ret-soft:rgba(92,196,154,0.15);
  --tras:#b89ae8;--tras-soft:rgba(184,154,232,0.16);
  --good-text:#5cc49a;--good-soft:rgba(82,184,143,0.16);
  --warn-text:#e0b752;--warn-soft:rgba(216,171,67,0.18);
  --alert-text:#ec8c69;--alert-soft:rgba(224,115,76,0.16);--on-alert:#141517;
  --late:#d06060;--late-text:#e89090;--late-soft:rgba(208,96,96,0.17);
}
@keyframes m10rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes m10in{from{opacity:0}to{opacity:1}}
@keyframes m10pop{from{opacity:0;margin-top:8px}to{opacity:1;margin-top:0}}
@keyframes m10live{0%,100%{box-shadow:0 0 0 0 rgba(47,143,111,.5)}70%{box-shadow:0 0 0 5px rgba(47,143,111,0)}}

/* --- cromado del shell en el M10: texto oscuro sobre el amarillo, marrón como «texto acento» --- */
[data-modulo="M10"] ::selection{background:rgba(227,164,0,.30)}
[data-modulo="M10"] .memblema{width:42px;height:42px;background:var(--accent);color:var(--on-accent)}
[data-modulo="M10"] .mtop-l .t{font-size:17.5px}
[data-modulo="M10"] .mnav-link{position:relative;padding:11px 12px}
[data-modulo="M10"] .mnav-link.activo{background:var(--accent-soft);color:var(--text);font-weight:700;box-shadow:inset 3px 0 0 var(--accent)}
[data-modulo="M10"] .mnav-link.activo .mnav-caret,[data-modulo="M10"] .mnav-sublink.activo,
[data-modulo="M10"] .mnav-grouphead.aqui,[data-modulo="M10"] .mnav-grouphead.aqui .mnav-caret,
[data-modulo="M10"] .mbtn:hover,[data-modulo="M10"] .ghostbtn:hover,[data-modulo="M10"] .fbtn:hover,
[data-modulo="M10"] .chip.acc,[data-modulo="M10"] .dtable .folio,[data-modulo="M10"] .uchip,
[data-modulo="M10"] .iconbtn.on,[data-modulo="M10"] .iconbtn-ayuda,[data-modulo="M10"] .ay-tab.on,
[data-modulo="M10"] .ay-emb,[data-modulo="M10"] .ay-nov .nb,[data-modulo="M10"] .fd-btn,
[data-modulo="M10"] .mfresc[data-nuevo="1"],[data-modulo="M10"] .seg .acc button:hover,
[data-modulo="M10"] .sb-toggle:hover{color:var(--accent-text)}
[data-modulo="M10"] .ay-tab.on{border-bottom-color:var(--accent)}
[data-modulo="M10"] .bprim,[data-modulo="M10"] .bteal,[data-modulo="M10"] .seg button.on,
[data-modulo="M10"] .fbtn.on,[data-modulo="M10"] .utoggle.on,[data-modulo="M10"] .umh .badge,
[data-modulo="M10"] .ay-tab .cnt,[data-modulo="M10"] .fd-btn:hover:not(:disabled){color:var(--on-accent)}
[data-modulo="M10"] .bprim{font-weight:800}
[data-modulo="M10"] .bteal{box-shadow:0 6px 16px -6px rgba(227,164,0,.7)}
[data-help="on"] [data-modulo="M10"] .minfo{color:var(--text-3)}
[data-help="on"] [data-modulo="M10"] .minfo:hover{color:var(--accent-text)}
/* toast del diseño: borde izquierdo amarillo de 4 px (el de error conserva su rojo) */
[data-modulo="M10"] .m-toast:not(.err){border-color:var(--border);border-left:4px solid var(--accent)}
/* sello HVR del topbar: el punto verde late como en el diseño */
[data-modulo="M10"] .mfresc[data-estado="fresco"] .pt{animation:m10live 2.4s ease-out infinite}
/* avatar sin color propio: el shell deja «background:undefined» → amarillo con iniciales oscuras */
[data-modulo="M10"] .mtop .avatar[style*="undefined"]{background:var(--accent);color:var(--on-accent)}
/* topbar como el diseño: título en UNA línea y subtítulo con «…». Con muchos módulos en «Ir a» (admin)
   o nombres largos, la barra se compacta en vez de salirse de la pantalla (antes: +18 px en 1440). */
[data-modulo="M10"] .mtop-in{padding:12px 22px;gap:14px}
[data-modulo="M10"] .mtop-l{flex:1 1 0;min-width:230px}   /* base 0: lo que sobre es del título; la pila de «Ir a» cede primero */
[data-modulo="M10"] .mtop-l>div{min-width:0}
[data-modulo="M10"] .mtop-l .t,[data-modulo="M10"] .mtop-l .s{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-modulo="M10"] .mtop-r{flex:0 1 auto;min-width:0;gap:8px}
[data-modulo="M10"] .mnav-mods{flex:0 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;padding-right:10px}
[data-modulo="M10"] .mnav-mods::-webkit-scrollbar{display:none}
[data-modulo="M10"] .mnav-mod{flex:none}
[data-modulo="M10"] .mtop-user .n{max-width:150px;overflow:hidden;text-overflow:ellipsis}
/* campana: el contador va sobre el ícono desde el inicio (el shell solo trae su estilo al abrir el panel) */
[data-modulo="M10"] .m-camp-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;line-height:18px;padding:0 4px;
  border-radius:9px;background:var(--alert);color:var(--on-alert);font-family:Heebo,system-ui,sans-serif;font-size:10.5px;font-weight:800;text-align:center}
@media(max-width:1600px){[data-modulo="M10"] .mfresc .nx,[data-modulo="M10"] .mnav-mods-lbl{display:none}}
@media(max-width:1400px){[data-modulo="M10"] .mtop-user{display:none}}
@media(max-width:1180px){[data-modulo="M10"] .mbtn span{display:none}[data-modulo="M10"] .mtop-l{min-width:200px}}
@media(max-width:1100px){[data-modulo="M10"] .mnav-mods{display:none}}
@media(max-width:980px){[data-modulo="M10"] .mfresc .tx{display:none}[data-modulo="M10"] .mfresc{padding:7px 9px}}
@media(max-width:760px){
  [data-modulo="M10"] .mtop-in{flex-wrap:wrap;padding:10px 16px;gap:8px}
  [data-modulo="M10"] .mtop-l{flex:1 1 100%;min-width:0}
  [data-modulo="M10"] .mtop-r{flex:1 1 100%;justify-content:flex-end;gap:6px}
}
[data-modulo="M10"] .mmain{padding:22px 24px 80px}
[data-modulo="M10"] .mmain a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}
[data-modulo="M10"] .mmain a:hover{color:var(--text)}
@media(max-width:900px){[data-modulo="M10"] .mmain{padding:16px 16px 64px}}

/* --- contador del menú lateral (Agenda: fuerte/rojo · Flete: neutro) --- */
.dsp-navcnt{margin-left:auto;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;min-width:20px;
  text-align:center;padding:3px 6px;border-radius:6px;background:var(--surface-2);color:var(--text-2);flex:none;line-height:1.25}
.dsp-navcnt.fuerte{background:var(--alert);color:var(--on-alert,#fff)}
@media(min-width:901px){   /* sidebar contraído: el contador de la Agenda queda como punto rojo sobre el ícono */
  .sb-mini .mnav-link>.dsp-navcnt.fuerte{display:block;position:absolute;top:6px;right:9px;min-width:0;width:8px;height:8px;padding:0;
    border-radius:50%;font-size:0}
}

/* --- vista y cabecera --- */
.dsp-vista{display:flex;flex-direction:column;gap:18px;min-width:0;animation:m10rise .3s ease both}
.dsp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.dsp-head-t{min-width:0}
.dsp-head-r{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.dsp-chipsec{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--text-2)}
.dsp-chipsec.acc{color:var(--accent-text);font-weight:600}
.dsp-h1{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:4px 0 0;line-height:1.2;color:var(--text)}
.dsp-fuente{font-size:12.5px;color:var(--text-2);margin-top:3px;line-height:1.45}
.dsp-mono{font-family:'IBM Plex Mono',monospace}
.dsp-txt{min-width:0;overflow-wrap:anywhere}
.dsp-i{display:inline-flex;vertical-align:middle;cursor:help;color:var(--text-3);margin-left:2px}
.dsp-i:hover,.dsp-i:focus{color:var(--accent-text);outline:none}

/* --- tarjeta con barra superior de 3 px del color del dato --- */
.dsp-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;min-width:0}
.dsp-card::before{content:"";display:block;height:3px;background:var(--barra,transparent)}
.dsp-card.sinbarra::before{display:none}
.dsp-card.clic{cursor:pointer;transition:border-color .15s}
.dsp-card.clic:hover,.dsp-card.clic:focus-visible{border-color:var(--border-strong);outline:none}
.dsp-card-h{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--border)}
.dsp-card-h.plg{cursor:pointer;user-select:none}
.dsp-card-t{font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--text)}
.dsp-card-hr{margin-left:auto;font-size:12.5px;color:var(--text-2)}
.dsp-card-b{padding:16px 18px}
.dsp-chev{display:inline-flex;color:var(--text-2);transition:transform .2s ease}
.dsp-plegable.open>.dsp-card-h .dsp-chev{transform:rotate(90deg)}
.dsp-plegable:not(.open)>.dsp-card-h{border-bottom-color:transparent}
.dsp-plegable:not(.open)>.dsp-card-c{display:none}
.dsp-b-accent{--barra:var(--accent)}.dsp-b-alert{--barra:var(--alert)}.dsp-b-late{--barra:var(--late)}
.dsp-b-desp{--barra:var(--desp)}.dsp-b-ret{--barra:var(--ret)}.dsp-b-tras{--barra:var(--tras)}
.dsp-b-good{--barra:var(--good)}.dsp-b-warn{--barra:var(--warn)}

/* --- KPI --- */
.dsp-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.dsp-kpi-l{display:flex;align-items:center;gap:7px}
.dsp-kpi-v{font-family:'IBM Plex Mono',monospace;font-size:38px;font-weight:600;letter-spacing:-.02em;margin-top:6px;line-height:1.15;color:var(--text);
  display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.dsp-kpi-v .u{font-family:Heebo,system-ui,sans-serif;font-size:14px;font-weight:700;letter-spacing:0;color:var(--text)}
.dsp-kpi-v .x{font-family:Heebo,system-ui,sans-serif;font-size:13px;font-weight:400;letter-spacing:0;color:var(--text-2)}
.dsp-kpi-v.sk{color:var(--text-3)}
.dsp-kpi-s{font-size:12.5px;color:var(--text-2)}

/* --- botones (alto 42 cabecera · 38 fila · 48 acción principal) --- */
.dsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:11px;
  border:1px solid transparent;background:var(--accent);color:var(--on-accent);font-family:Heebo,system-ui,sans-serif;
  font-size:13.5px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);text-decoration:none;
  transition:filter .15s,background .15s,border-color .15s,color .15s}
.dsp-btn:hover:not(:disabled){filter:brightness(1.05)}
.dsp-btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.dsp-btn:disabled{background:var(--track);color:var(--text-3);box-shadow:none;cursor:default;border-color:transparent}
.dsp-btn.sec{background:var(--surface);color:var(--text);border-color:var(--border-strong);box-shadow:none}
.dsp-btn.sec:hover:not(:disabled){background:var(--surface-2);filter:none}
.dsp-btn.fila{height:38px;min-width:100px;padding:0 14px;border-radius:10px;font-size:13px}
.dsp-btn.grande{height:48px;border-radius:12px;font-size:15px;width:100%}
.dsp-btn.ok{background:var(--good);color:#fff}
.dsp-btn.peligro{background:var(--late);color:#fff}
.dsp-btn.rechazo{background:transparent;color:var(--late-text);border-color:var(--late);box-shadow:none}
.dsp-btn.hecho{background:var(--surface-2);color:var(--text-3);box-shadow:none;cursor:default}
.dsp-enlace{border:none;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:600;color:var(--accent-text);
  text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* --- chips --- */
.dsp-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;white-space:nowrap;
  background:var(--bb,var(--surface-2));color:var(--bf,var(--text-2));line-height:1.45}
.dsp-req{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--alert);
  color:var(--alert-text);white-space:nowrap;line-height:1.45}
.dsp-req.suave{border-style:dashed}
.dsp-prio{display:inline-flex;align-items:center;justify-content:center;width:44px;font-family:'IBM Plex Mono',monospace;font-size:13px;
  font-weight:700;padding:5px 0;border-radius:8px}
.dsp-prio.p2{background:var(--alert);color:var(--on-alert)}
.dsp-prio.p1{background:var(--warn-soft);color:var(--warn-text)}
.dsp-prio.p0{background:var(--surface-2);color:var(--text-2)}
.dsp-cita{display:inline-flex;align-items:center;font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;letter-spacing:.3px;
  padding:1px 6px;border-radius:5px;background:var(--accent);color:var(--on-accent);white-space:nowrap}
.dsp-cnt{display:inline-flex;align-items:center;justify-content:center;min-width:22px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;
  font-weight:600;padding:2px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-2)}
.dsp-cnt.alerta{background:var(--alert-soft);color:var(--alert-text)}
.dsp-t-despacho{--tc:var(--desp);--tcs:var(--desp-soft)}
.dsp-t-retiro{--tc:var(--ret);--tcs:var(--ret-soft)}
.dsp-t-traslado{--tc:var(--tras);--tcs:var(--tras-soft)}
.dsp-t-otro{--tc:var(--text-2);--tcs:var(--surface-2)}
.dsp-tipo{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:9px;background:var(--tcs);color:var(--tc)}
.dsp-tipo.m{width:40px;height:40px;border-radius:11px}
.dsp-tipo.l{width:44px;height:44px;border-radius:13px}
.dsp-tipotx{font-size:12px;font-weight:700;color:var(--tc)}
.dsp-folio{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;color:var(--tc,var(--text-2));white-space:nowrap}
.dsp-placa{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:16px;font-weight:600;letter-spacing:1px;
  border:2px solid var(--text);border-radius:8px;padding:1px 8px;color:var(--text);white-space:nowrap}
.dsp-semaf{display:inline-flex;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;white-space:nowrap}
.dsp-semaf.vencido{background:var(--late);color:var(--on-alert)}
.dsp-semaf.d7{background:var(--late-soft);color:var(--late-text)}
.dsp-semaf.d15{background:var(--alert-soft);color:var(--alert-text)}
.dsp-semaf.d30{background:var(--warn-soft);color:var(--warn-text)}
.dsp-semaf.d60{background:var(--accent-soft);color:var(--accent-text)}
.dsp-semaf.aldia{background:var(--good-soft);color:var(--good-text)}
.dsp-semaf.gris{background:var(--surface-2);color:var(--text-2)}
.dsp-sinperm{color:var(--text-3);font-size:12px;font-weight:500}
.dsp-sello{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:0 10px;height:30px}
.dsp-sello .pt{width:7px;height:7px;border-radius:50%;background:var(--text-3);flex:none}
.dsp-sello[data-estado="fresco"] .pt{background:var(--good);animation:m10live 2.4s ease-out infinite}
.dsp-sello[data-estado="atrasado"] .pt{background:var(--warn)}
.dsp-sello[data-estado="error"] .pt{background:var(--alert)}
.dsp-sello .tx{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;color:var(--text-2);white-space:nowrap}

/* --- buscador, pestañas y chips-botón de elección --- */
.dsp-buscar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border-strong);border-radius:11px;
  padding:0 12px;height:42px;width:340px;max-width:100%;color:var(--text-2)}
.dsp-buscar:focus-within{border-color:var(--accent)}
.dsp-buscar input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:Heebo,system-ui,sans-serif;font-size:13.5px;color:var(--text)}
.dsp-tabs{display:inline-flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:3px;flex-wrap:wrap;max-width:100%}
.dsp-tab{border:none;background:transparent;border-radius:8px;padding:0 14px;height:38px;display:inline-flex;align-items:center;gap:7px;
  font-family:Heebo,system-ui,sans-serif;font-size:13px;font-weight:700;color:var(--text-2);cursor:pointer;white-space:nowrap}
.dsp-tab:hover{color:var(--text)}
.dsp-tab.on{background:var(--accent);color:var(--on-accent)}
.dsp-tab .n{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;padding:1px 6px;border-radius:6px;background:rgba(0,0,0,.12)}
.dsp-elegir{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);
  background:var(--surface);color:var(--text);font-family:Heebo,system-ui,sans-serif;font-size:13.5px;font-weight:500;cursor:pointer;text-align:left}
.dsp-elegir:hover{border-color:var(--accent)}
.dsp-elegir.on{background:var(--accent-soft);border-color:var(--accent);font-weight:700}
.dsp-elegir.alto{flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:56px;padding:8px 14px}
.dsp-elegir .b{font-size:11.5px;font-weight:500;color:var(--text-2)}
.dsp-elegir:disabled{opacity:.55;cursor:not-allowed}

/* --- filas, pares etiqueta|valor --- */
.dsp-fila{display:grid;gap:14px;align-items:center;padding:12px 18px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s}
.dsp-fila:first-child{border-top:none}
.dsp-fila:hover{background:var(--surface-2)}
.dsp-par{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 12px;font-size:13px;line-height:1.5}
.dsp-par>dt{color:var(--text-2)}
.dsp-par>dd{margin:0;min-width:0;overflow-wrap:anywhere}

/* --- estados: vacío, error, carga y «en construcción» --- */
.dsp-vacio{border:1px dashed var(--border-strong);border-radius:13px;padding:18px;text-align:center;color:var(--text-2);font-size:13px;line-height:1.5}
.dsp-error{background:var(--alert-soft);border:1px solid var(--alert);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.dsp-error .t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--alert-text)}
.dsp-error .d{font-size:13px;color:var(--text);line-height:1.5}
.dsp-sk{display:flex;flex-direction:column;gap:10px;padding:14px 18px}
.dsp-sk i{display:block;height:44px;border-radius:10px;background:var(--skeleton);background-size:300% 100%;animation:shimmer 1.5s infinite}
.dsp-obra{border-style:dashed;border-color:var(--border-strong)}
.dsp-obra .dsp-card-b{padding:26px 26px 28px}
.dsp-obra h2{font-size:18px;font-weight:800;margin:12px 0 6px;color:var(--text)}
.dsp-obra p{font-size:13.5px;color:var(--text-2);line-height:1.55;margin:0;max-width:640px}
.dsp-obra-chip{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;letter-spacing:1.2px;
  padding:4px 9px;border-radius:6px;background:var(--accent);color:var(--on-accent)}
.dsp-obra-api{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:16px}
.dsp-obra-api code{font-family:'IBM Plex Mono',monospace;font-size:11px;background:var(--surface-2);color:var(--text-2);border-radius:6px;padding:3px 7px;overflow-wrap:anywhere}
.dsp-obra-modal{padding:6px 2px 4px}
.dsp-obra-modal p{font-size:13.5px;color:var(--text-2);line-height:1.55;margin:12px 0 0}
@media (prefers-reduced-motion:reduce){
  .dsp-vista{animation:none}
  .dsp-sello .pt,[data-modulo="M10"] .mfresc[data-estado="fresco"] .pt{animation:none}
  .dsp-chev{transition:none}
}
@media(max-width:560px){
  .dsp-h1{font-size:21px}
  .dsp-kpi-v{font-size:32px}
  .dsp-buscar{width:100%}
  .dsp-par{grid-template-columns:1fr}
}

/* ═══════════ M10 · Configuración (despachos-config.js · 06-10-2026) ═══════════
   Seis pestañas: Vehículos · Choferes · Transportistas · Lugares de entrega · Lista de excepciones ·
   Parámetros. Medidas del diseño (ESPEC §4.7): tarjeta de vehículo con barra amarilla, tabla de
   documentos 1fr|96|130, tablas con encabezado mono 9,5 y filas 13 px. Todo con prefijo .dsp-. */
.dsp-cfg-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dsp-cfg-intro{font-size:12.5px;color:var(--text-2);line-height:1.5}
.dsp-cfg-tool{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:space-between}
.dsp-cfg-tool .izq{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:1 1 auto}
.dsp-cfg-panel{display:flex;flex-direction:column;gap:14px;min-width:0}
.dsp-btn.mini{height:34px;padding:0 12px;border-radius:9px;font-size:12.5px;font-weight:700;gap:6px;box-shadow:none}
.dsp-quitar{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;border:none;
  background:transparent;color:var(--text-2);cursor:pointer;flex:none}
.dsp-quitar:hover,.dsp-quitar:focus-visible{background:var(--late-soft);color:var(--late-text);outline:none}
.dsp-quitar.ed:hover,.dsp-quitar.ed:focus-visible{background:var(--accent-soft);color:var(--accent-text)}
.dsp-quitar:disabled{opacity:.4;cursor:default;background:transparent;color:var(--text-3)}
.dsp-candado{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-3);white-space:nowrap}
.dsp-aviso{display:flex;align-items:flex-start;gap:9px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;
  padding:11px 14px;font-size:12.5px;line-height:1.5;color:var(--text-2)}
.dsp-aviso>svg{margin-top:2px;color:var(--text-3)}
.dsp-aviso b{color:var(--text)}
.dsp-clamp2,.dsp-clamp3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.dsp-clamp2{-webkit-line-clamp:2}.dsp-clamp3{-webkit-line-clamp:3}
.dsp-sec{color:var(--text-2)}
.dsp-ter{color:var(--text-3);font-size:12px}

/* --- Vehículos: tarjeta con barra amarilla, placa, documentos con semáforo --- */
.dsp-vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;align-items:start}
.dsp-vcard .dsp-card-b{display:flex;flex-direction:column;gap:12px}
.dsp-vtop{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dsp-vtop .dsp-placa{padding:4px 10px}
.dsp-vtop .km{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text-2);margin-left:auto;white-space:nowrap}
.dsp-vtipo{font-size:13px;line-height:1.45;overflow-wrap:anywhere}
.dsp-vtipo strong{font-weight:700}
.dsp-vnota{font-size:12px;color:var(--text-2);line-height:1.45;overflow-wrap:anywhere}
.dsp-vdocs{border:1px solid var(--border);border-radius:11px;overflow:hidden}
.dsp-vdoc{display:grid;grid-template-columns:minmax(0,1fr) 96px 130px;gap:10px;align-items:center;padding:8px 12px;
  border-bottom:1px solid var(--border);font-size:12.5px}
.dsp-vdoc:last-child{border-bottom:none}
.dsp-vdoc .f{font-family:'IBM Plex Mono',monospace;font-size:12px}
.dsp-vdoc .dsp-semaf{justify-content:center;width:100%;padding:3px 8px;font-size:11.5px;white-space:normal;text-align:center}
.dsp-vdoc .n{min-width:0;overflow-wrap:anywhere}
.dsp-vmant{font-size:12.5px;color:var(--text-2);line-height:1.5}
.dsp-vmant b{color:var(--late-text)}
.dsp-vmotivos{display:flex;flex-wrap:wrap;gap:6px}
.dsp-vacc{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:12px}
.dsp-vnuevo{border:1.5px dashed var(--border-strong);border-radius:16px;background:transparent;padding:22px 20px;display:flex;flex-direction:column;
  gap:10px;align-items:flex-start;justify-content:center;min-height:180px;color:var(--text-2);font-size:12.5px;line-height:1.5}
.dsp-vnuevo .t{font-size:15px;font-weight:800;color:var(--text)}
.dsp-leyenda{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-2);flex-wrap:wrap}
.dsp-leyenda>b{font-weight:600;color:var(--text)}
.dsp-leyenda .dsp-semaf{font-size:12px}

/* --- tablas de los maestros (encabezado mono, filas 13 px; bajo 980 px pasan a fichas) --- */
.dsp-tr{display:grid;grid-template-columns:var(--cols);gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);font-size:13px;min-width:0}
.dsp-tr:last-child{border-bottom:none}
.dsp-tr.th{padding:10px 18px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2);font-weight:500}
.dsp-tr.top{align-items:start}
.dsp-tr.inactivo>*:not(.acc){opacity:.55}
.dsp-tr>*{min-width:0;overflow-wrap:anywhere}
.dsp-tr .nom{font-weight:700}
.dsp-tr .acc{display:flex;gap:4px;justify-content:flex-end;align-items:center}
.dsp-tr .lin{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:4px}
.dsp-in{height:38px;width:100%;min-width:0;border:1px solid var(--border-strong);border-radius:9px;padding:0 10px;background:var(--surface);
  color:var(--text);font-family:Heebo,system-ui,sans-serif;font-size:12.5px;outline:none;transition:border-color .15s,box-shadow .15s}
.dsp-in.mono{font-family:'IBM Plex Mono',monospace}
.dsp-in:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.dsp-in:disabled,.dsp-in[readonly]{background:var(--surface-2);color:var(--text-2)}
.dsp-in:disabled{cursor:not-allowed}
.dsp-in.err{border-color:var(--alert);box-shadow:0 0 0 3px var(--alert-soft)}
.dsp-in.ok{border-color:var(--good)}
.dsp-pat{display:inline-flex;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;padding:2px 7px;border-radius:6px;
  border:1px solid var(--border-strong);color:var(--text);white-space:nowrap}
.dsp-filtros{display:flex;gap:6px;flex-wrap:wrap}
.dsp-filtro{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);
  font-family:Heebo,system-ui,sans-serif;font-size:12.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dsp-filtro:hover{color:var(--text);border-color:var(--accent)}
.dsp-filtro.on{background:var(--accent-soft);border-color:var(--accent);color:var(--text);font-weight:700}
.dsp-filtro .n{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--text-2)}
.dsp-mas{display:flex;justify-content:center;padding:12px;border-top:1px solid var(--border)}

/* --- Lista de excepciones (tarjeta máx. 880, barra verde) --- */
.dsp-exc{max-width:880px}
.dsp-exc-h{padding:14px 18px;border-bottom:1px solid var(--border)}
.dsp-exc-h .t{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;flex-wrap:wrap}
.dsp-exc-h .t .dsp-cnt{margin-left:2px}
.dsp-exc-add{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.dsp-exc-add .dsp-in{flex:1;min-width:200px;height:42px;border-radius:10px;padding:0 12px;font-size:13.5px}
.dsp-exc-add .dsp-btn{height:42px;border-radius:10px;font-size:13px;box-shadow:none}
.dsp-exc-r{display:grid;grid-template-columns:minmax(0,1fr) 190px 100px 40px;gap:12px;align-items:center;padding:9px 18px;
  border-bottom:1px solid var(--border);font-size:13.5px}
.dsp-exc-r:last-child{border-bottom:none}
.dsp-exc-r>*{min-width:0;overflow-wrap:anywhere}
.dsp-exc-r .nom{font-weight:700}
.dsp-exc-r .sub{font-size:12px;color:var(--text-2);margin-top:2px;line-height:1.45}
.dsp-exc-r .by{font-size:12.5px;color:var(--text-2);line-height:1.4}
.dsp-exc-r .f{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text-2)}
.dsp-exc-r.quitada .nom,.dsp-exc-r.quitada .by,.dsp-exc-r.quitada .f{opacity:.6}

/* --- Parámetros (filas máx. 820: clave · valor en cápsula) --- */
.dsp-par-card{max-width:820px}
.dsp-par-r{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border);font-size:13.5px}
.dsp-par-r:last-child{border-bottom:none}
.dsp-par-r>*{min-width:0}
.dsp-par-r .d{font-size:12px;color:var(--text-2);margin-top:2px;line-height:1.45;overflow-wrap:anywhere}
.dsp-par-r .who{font-size:11px;color:var(--text-3);margin-top:2px}
.dsp-par-r>.acc{display:flex;justify-content:center}
.dsp-capsula{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;padding:5px 10px;border-radius:8px;background:var(--surface-2);
  border:1px solid var(--border);color:var(--text);white-space:nowrap;max-width:340px;overflow:hidden;text-overflow:ellipsis;display:inline-block}
.dsp-capsula.off{color:var(--text-2)}

/* --- formularios de los modales --- */
.dsp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.dsp-campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.dsp-campo.ancho{grid-column:1/-1}
.dsp-campo>label,.dsp-campo>.lbl{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2);font-weight:500}
.dsp-campo .req{color:var(--alert-text)}
.dsp-campo .dsp-in{height:42px;border-radius:10px;padding:0 12px;font-size:13.5px}
.dsp-campo textarea.dsp-in{height:auto;min-height:76px;padding:10px 12px;resize:vertical;line-height:1.45}
.dsp-campo select.dsp-in{cursor:pointer}
.dsp-fila-in{display:flex;gap:8px;min-width:0}
.dsp-fila-in .dsp-in{flex:1}
.dsp-fila-in .dsp-btn{height:42px;border-radius:10px;box-shadow:none;flex:none}
.dsp-ayuda{font-size:12px;color:var(--text-2);line-height:1.45}
.dsp-elegir.chico{min-height:36px;padding:0 12px;font-size:13px}
.dsp-elegirs{display:flex;gap:7px;flex-wrap:wrap}
.dsp-form-pie{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap;align-items:center}
.dsp-form-pie .izq{margin-right:auto}
.dsp-form-err{grid-column:1/-1;background:var(--alert-soft);border:1px solid var(--alert);color:var(--text);border-radius:10px;padding:9px 12px;font-size:12.5px;line-height:1.45}
.dsp-form-err:empty{display:none}
.dsp-hallado{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:10px 12px;font-size:12.5px;line-height:1.45}
.dsp-hallado:empty{display:none}
.dsp-hallado b{font-size:13.5px}
.dsp-minitabla{border:1px solid var(--border);border-radius:11px;overflow:hidden}
.dsp-minitabla .dsp-tr{padding:9px 12px;font-size:12.5px;gap:10px}
.dsp-minitabla .dsp-tr.th{padding:8px 12px;font-size:9.5px}
.dsp-minitabla .dsp-tr.anulado>*:not(.acc){text-decoration:line-through;opacity:.55}
.dsp-evento{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12.5px;line-height:1.45}
.dsp-evento:last-child{border-bottom:none}
.dsp-evento .f{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--text-2)}
.dsp-evento>div{min-width:0;overflow-wrap:anywhere}
.dsp-bloque{display:flex;flex-direction:column;gap:8px}
.dsp-bloque+.dsp-bloque{margin-top:18px}
.dsp-bloque-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dsp-bloque-h .dsp-chipsec{margin-right:auto}
.dsp-cand{display:flex;flex-direction:column;max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:11px}
.dsp-cand:empty{display:none}
.dsp-cand button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;border:none;border-bottom:1px solid var(--border);background:var(--surface);
  padding:9px 12px;cursor:pointer;font-family:Heebo,system-ui,sans-serif;font-size:13px;color:var(--text)}
.dsp-cand button:last-child{border-bottom:none}
.dsp-cand button:hover,.dsp-cand button.on{background:var(--accent-soft)}
.dsp-cand button small{font-size:11.5px;color:var(--text-2)}
.dsp-motivo-ov{z-index:360}
.dsp-motivo-ov .mmodal{max-width:460px}
.dsp-motivo-ov .mmodal-b{padding:22px}
.dsp-motivo-ov h3{margin:0 0 6px;font-size:16px;font-weight:800;color:var(--text)}
.dsp-motivo-ov p{margin:0 0 12px;font-size:13px;color:var(--text-2);line-height:1.5}
.dsp-motivo-ov textarea.dsp-in{height:auto;min-height:84px;padding:10px 12px;font-size:13.5px;resize:vertical;line-height:1.45}
@media(max-width:980px){
  .dsp-tr.th{display:none}
  .dsp-tr{grid-template-columns:1fr !important;gap:6px;padding:12px 16px}
  .dsp-tr>[data-l]::before{content:attr(data-l);display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:1.1px;
    text-transform:uppercase;color:var(--text-3);margin-bottom:2px}
  .dsp-tr .acc{justify-content:flex-start}
  .dsp-exc-r{grid-template-columns:minmax(0,1fr) 40px;gap:4px 10px}
  .dsp-exc-r>div:first-child{grid-column:1}
  .dsp-exc-r .by,.dsp-exc-r .f{grid-column:1}
  .dsp-exc-r>.dsp-quitar{grid-column:2;grid-row:1}
}
@media(max-width:560px){
  .dsp-form{grid-template-columns:1fr}
  .dsp-vdoc{grid-template-columns:minmax(0,1fr) 84px}
  .dsp-vdoc .dsp-semaf{grid-column:1/-1;width:auto;justify-self:start}
  .dsp-par-r{grid-template-columns:minmax(0,1fr) 34px;gap:8px 12px}
  .dsp-par-r .dsp-capsula{grid-column:1;grid-row:2;justify-self:start;max-width:100%}
  .dsp-par-r>.acc{grid-column:2;grid-row:1}
  .dsp-evento{grid-template-columns:1fr;gap:2px}
  .dsp-tabs .dsp-tab{padding:0 11px}
  .dsp-cfg .dsp-in,.mov .dsp-campo .dsp-in,.dsp-motivo-ov .dsp-in{font-size:16px}   /* el teléfono no hace zoom al escribir */
}

/* ═══════════ M10 · Flete y Resumen (despachos-flete.js · despachos-resumen.js · despachos-desglose.js · 06-10-2026) ═══════════
   Medidas del diseño (ESPEC §4.5, §4.6 y §4.8). Reutiliza las piezas comunes (.dsp-card, .dsp-tabs, .dsp-aviso,
   .dsp-form, .dsp-exc-r…); aquí solo lo propio: tarjeta del flete por autorizar, decisiones, tabla del cobro,
   paneles del Resumen con su gráfico SVG y el panel lateral de desglose. Prefijos .dsp-flc-/.dsp-fl-/.dsp-cob-/
   .dsp-rs-/.dsp-dg-. */
.dsp-tab:not(.on) .n{background:var(--surface-2)}
.dsp-flete>.dsp-tabs{align-self:flex-start}   /* diseño: el segmentado mide lo que sus pestañas (width:fit-content) */
.dsp-fl-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.dsp-aviso.warn{background:var(--warn-soft);border-color:transparent;color:var(--text)}
.dsp-aviso.warn>svg{color:var(--warn-text)}
.dsp-aviso.chico{padding:8px 11px;font-size:12px;border-radius:10px}
.dsp-flete>.dsp-aviso,.dsp-fl-col>.dsp-aviso{font-size:13px}

/* --- Por autorizar: tarjeta (barra --warn), pares 120 px, Aprobar / Rechazar con motivo --- */
.dsp-flc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px;align-items:start}
.dsp-flc-b{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.dsp-flc-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.dsp-flc-folio{display:block;border:none;background:none;padding:0;text-align:left;cursor:pointer;font-family:'IBM Plex Mono',monospace;
  font-size:12px;font-weight:600;color:var(--desp);line-height:1.45;overflow-wrap:anywhere}
.dsp-flc-folio:hover,.dsp-flc-folio:focus-visible{text-decoration:underline;text-underline-offset:2px;outline:none}
.dsp-flc-cli{font-size:16px;font-weight:800;margin-top:3px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
.dsp-flc-monto{font-family:'IBM Plex Mono',monospace;font-size:15px;font-weight:600;white-space:nowrap;color:var(--text);flex:none}
.dsp-flc-monto .dsp-mono{font-size:15px}
.dsp-flc-pares{display:grid;grid-template-columns:120px minmax(0,1fr);gap:6px 12px;font-size:13px;margin:0;line-height:1.45}
.dsp-flc-pares>dt{color:var(--text-2)}
.dsp-flc-pares>dd{margin:0;min-width:0;overflow-wrap:anywhere;color:var(--text)}
.dsp-flc-mudo{color:var(--text-3);font-size:12.5px}
.dsp-flc-late{color:var(--late-text);font-weight:800}
.dsp-flc-pie{font-size:12px;color:var(--text-2);line-height:1.5;border-top:1px dashed var(--border-strong);padding-top:10px;overflow-wrap:anywhere}
.dsp-flc-pie b{font-weight:700}
.dsp-flc-acc{display:flex;gap:9px;flex-wrap:wrap}
.dsp-flc-acc .dsp-btn{flex:1;min-width:140px;height:46px;border-radius:11px;font-size:14px;box-shadow:none}
.dsp-flc-acc .dsp-btn.ok:disabled{background:var(--track);color:var(--text-3)}
.dsp-flc-rech{display:flex;flex-direction:column;gap:8px}
.dsp-flc-rech[hidden]{display:none}
.dsp-flc-rech textarea{width:100%;min-height:60px;border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;background:var(--surface);
  color:var(--text);font-family:Heebo,system-ui,sans-serif;font-size:13px;line-height:1.45;outline:none;resize:vertical}
.dsp-flc-rech textarea:focus{border-color:var(--late);box-shadow:0 0 0 3px var(--late-soft)}
.dsp-flc-rech .dsp-btn{align-self:flex-end;height:40px;border-radius:10px;font-size:13px;box-shadow:none}
[data-theme="dark"] [data-modulo="M10"] .dsp-flc-acc .dsp-btn.ok:not(:disabled),
[data-theme="dark"] [data-modulo="M10"] .dsp-flc-rech .dsp-btn.peligro:not(:disabled),
[data-theme="dark"] [data-modulo="M10"] .dsp-form-pie .dsp-btn.peligro:not(:disabled){color:#141517}

/* --- Últimas decisiones: fila 96 | 1.2fr | 1.6fr | 1fr --- */
.dsp-fl-decf{display:grid;grid-template-columns:96px minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:center;width:100%;
  padding:11px 18px;border:none;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer;
  font-family:Heebo,system-ui,sans-serif;font-size:13px;color:var(--text)}
.dsp-fl-decf:last-child{border-bottom:none}
.dsp-fl-decf:hover,.dsp-fl-decf:focus-visible{background:var(--surface-2);outline:none}
.dsp-fl-decf>.dsp-badge{justify-content:center;font-size:11.5px;padding:3px 8px}
.dsp-fl-decf .c{display:block;font-weight:700;overflow-wrap:anywhere}
.dsp-fl-decf .f{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-fl-decf .m{color:var(--text-2);min-width:0;overflow-wrap:anywhere;line-height:1.45}
.dsp-fl-decf .q{font-size:12px;color:var(--text-2);min-width:0;overflow-wrap:anywhere;line-height:1.45}
.dsp-fl-decf .dsp-fl-decfm{display:block;margin-top:2px;font-size:12px}
.dsp-nowrap{white-space:nowrap}

/* --- Por cobrar: tabla 1.6fr | 1fr | 110 | 120 | 110 | 100 | auto (bajo 980 px pasa a fichas) --- */
.dsp-cob-cab,.dsp-cob-fila{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) 110px 120px 110px 100px 84px;gap:12px;align-items:center;padding:11px 18px;
  border-bottom:1px solid var(--border)}
.dsp-cob-cab{padding:9px 18px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-2)}
.dsp-cob-fila{font-size:13px;color:var(--text)}
.dsp-cob-fila:last-child{border-bottom:none}
.dsp-cob-fila>*{min-width:0;overflow-wrap:anywhere}
.dsp-cob .der{text-align:right}
.dsp-cob-cli{display:block;border:none;background:none;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.dsp-cob-cli .c{display:block;font-weight:700;line-height:1.35}
.dsp-cob-cli .f{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--text-2);margin-top:1px}
.dsp-cob-cli:hover .c,.dsp-cob-cli:focus-visible .c{text-decoration:underline;text-underline-offset:2px}
.dsp-cob-cli:focus-visible{outline:none}
.dsp-cob-sm{font-size:12px}
.dsp-cob-dias{font-weight:700;color:var(--late-text)}
.dsp-cob-btn{height:36px;padding:0 12px;border-radius:9px;font-size:12.5px;font-weight:700}
.dsp-fl-nota{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--text-2);line-height:1.5;padding:0 4px}
.dsp-fl-nota>svg{margin-top:2px;color:var(--text-3)}
.dsp-cobm{display:flex;flex-direction:column;gap:14px}
.dsp-cobm-l{display:flex;flex-direction:column;gap:6px}
.dsp-cobm-li{font-size:12px;background:var(--surface-2);border-radius:8px;padding:6px 10px;overflow-wrap:anywhere}
.dsp-cobm .dsp-form-pie{margin-top:2px}
@media(max-width:980px){
  .dsp-cob-cab{display:none}
  .dsp-cob-fila{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px;padding:12px 16px}
  .dsp-cob-fila>.dsp-cob-cli{grid-column:1/-1}
  .dsp-cob-fila>[data-l]::before{content:attr(data-l);display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:1.1px;
    text-transform:uppercase;color:var(--text-3);margin-bottom:2px;font-weight:500}
  .dsp-cob .der{text-align:left}
  .dsp-cob-btn{grid-column:1/-1;justify-self:start}
  .dsp-fl-decf{grid-template-columns:96px minmax(0,1fr);gap:4px 12px}
  .dsp-fl-decf .m,.dsp-fl-decf .q{grid-column:2}
}
@media(max-width:560px){
  .dsp-flc-pares{grid-template-columns:1fr;gap:1px}
  .dsp-flc-pares>dd{margin-bottom:6px}
  .dsp-flc-top{flex-direction:column;gap:4px}
  .dsp-fl-decf{grid-template-columns:1fr}
  .dsp-fl-decf .m,.dsp-fl-decf .q{grid-column:1}
  .dsp-fl-decf>.dsp-badge{justify-self:start}
}
/* lista de excepciones de la vista Flete (mismas clases que Configuración + buscador) */
.dsp-flx-sug:not(:empty){margin-top:8px}
.dsp-flx-sugm{padding:9px 12px;font-size:12.5px;color:var(--text-2);background:var(--surface)}
.dsp-flx-ayuda{margin-top:8px}

/* --- Resumen: paneles (minmax 480), título 17/800, total mono 30, mini-KPI radio 12 --- */
.dsp-rs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:16px;align-items:start}
.dsp-resumen>[data-rs-cuerpo]{display:flex;flex-direction:column;gap:16px;min-width:0}
.dsp-rs-pb{padding:18px 20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.dsp-rs-t{font-size:17px;font-weight:800;color:var(--text);display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.dsp-rs-tsub{font-size:12.5px;font-weight:500;color:var(--text-2)}
.dsp-rs-total{font-family:'IBM Plex Mono',monospace;font-size:30px;font-weight:600;letter-spacing:-.01em;margin-top:4px;color:var(--text);line-height:1.2}
.dsp-rs-total .dsp-sinperm{font-family:Heebo,system-ui,sans-serif;font-size:15px}
.dsp-rs-sub{font-size:12px;color:var(--text-2);line-height:1.45}
.dsp-rs-mes{display:inline-flex;align-items:center;gap:6px}
.dsp-rs-mes .dsp-btn.fila.dsp-rs-mesb{min-width:34px;width:34px;height:34px;padding:0;border-radius:9px}
.dsp-rs-mest{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;min-width:118px;text-align:center;color:var(--text);text-transform:capitalize}
.dsp-rs-mk2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dsp-rs-mk3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.dsp-rs-mk4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.dsp-mk{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid var(--border);border-radius:12px;padding:12px 14px;
  background:var(--surface);text-align:left;font-family:Heebo,system-ui,sans-serif;color:var(--text);min-width:0;width:100%}
button.dsp-mk{cursor:pointer;transition:border-color .15s}
button.dsp-mk:hover:not(:disabled),button.dsp-mk:focus-visible{border-color:var(--border-strong);outline:none}
button.dsp-mk:disabled{cursor:default}
.dsp-mk-w{display:flex;flex-direction:column;gap:6px;min-width:0}
.dsp-mk-w>.dsp-mk{flex:1}
.dsp-mk-l{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.35;color:var(--text)}
.dsp-mk-v{font-family:'IBM Plex Mono',monospace;font-size:24px;font-weight:600;line-height:1.25;color:var(--text);margin-top:2px;overflow-wrap:anywhere}
.dsp-mk-v.late{color:var(--late-text)}
.dsp-mk-s{font-size:12px;color:var(--text-2);line-height:1.4;overflow-wrap:anywhere}
.dsp-mk-s .dsp-mono{font-size:12px}
.dsp-rs-her{align-self:flex-start;border:1px dashed var(--border-strong);background:transparent;border-radius:999px;padding:3px 10px;cursor:pointer;
  font-family:Heebo,system-ui,sans-serif;font-size:11.5px;font-weight:600;color:var(--text-2)}
.dsp-rs-her:hover,.dsp-rs-her:focus-visible{border-color:var(--late);color:var(--late-text);outline:none}
/* gráfico de barras (SVG al ancho real del contenedor) */
.dsp-rs-graf{width:100%;min-width:0;margin-top:-4px}
.dsp-rs-graf svg{display:block;overflow:visible}
.dsp-rs-eje{stroke:var(--border);stroke-width:1}
.dsp-rs-hit{fill:transparent;cursor:pointer}
.dsp-rs-bar{fill:var(--accent-line);transition:fill .15s}
.dsp-rs-bar.ult{fill:var(--accent)}
.dsp-rs-bar.curso{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 3}
.dsp-rs-m{cursor:pointer}
.dsp-rs-m:hover .dsp-rs-bar{fill:var(--accent)}
.dsp-rs-m:hover .dsp-rs-bar.curso{fill:var(--accent-soft)}
.dsp-rs-vl{font-family:'IBM Plex Mono',monospace;font-size:10px;fill:var(--text-2)}
.dsp-rs-ml{font-family:'IBM Plex Mono',monospace;font-size:10.5px;fill:var(--text-2);letter-spacing:.3px}
.dsp-rs-m.sel .dsp-rs-ml{fill:var(--accent-text);font-weight:700}
.dsp-rs-m.sel .dsp-rs-vl{fill:var(--text);font-weight:600}
/* barra apilada «Quién mueve la carga» (SVG 1000×16 estirado; extremos redondeados por el contenedor) */
.dsp-rs-stack{height:16px;border-radius:8px;overflow:hidden;margin-top:10px;background:var(--track)}
.dsp-rs-stack svg{display:block}
.dsp-rs-seg{cursor:pointer}
.dsp-rs-seg.f-flota,.dsp-rs-ley .cu.f-flota{fill:var(--accent);background:var(--accent)}
.dsp-rs-seg.f-courier,.dsp-rs-ley .cu.f-courier{fill:var(--desp);background:var(--desp)}
.dsp-rs-seg.f-cliente,.dsp-rs-ley .cu.f-cliente{fill:var(--ret);background:var(--ret)}
.dsp-rs-seg.f-sin,.dsp-rs-ley .cu.f-sin{fill:var(--track);background:var(--track)}
.dsp-rs-ley{display:flex;flex-direction:column;gap:2px;margin-top:10px}
.dsp-rs-leyf{display:flex;align-items:center;gap:9px;font-size:13px;border:none;background:transparent;border-radius:8px;padding:4px 6px;margin:0 -6px;
  cursor:pointer;text-align:left;font-family:Heebo,system-ui,sans-serif;color:var(--text);width:calc(100% + 12px)}
.dsp-rs-leyf:hover,.dsp-rs-leyf:focus-visible{background:var(--surface-2);outline:none}
.dsp-rs-ley .cu{width:10px;height:10px;border-radius:3px;flex:none}
.dsp-rs-ley .nm{flex:1;min-width:0;overflow-wrap:anywhere}
.dsp-rs-ley .nn{font-size:12px;color:var(--text-2);white-space:nowrap}
.dsp-rs-ley .pc{font-family:'IBM Plex Mono',monospace;font-weight:600;min-width:62px;text-align:right;white-space:nowrap}
@media(max-width:700px){
  .dsp-rs-mk3{grid-template-columns:1fr}
  .dsp-rs-mk2{grid-template-columns:1fr}
}
@media(max-width:560px){
  .dsp-rs-pb{padding:16px}
  .dsp-rs-total{font-size:26px}
  .dsp-rs-mest{min-width:100px}
}

/* --- Panel de desglose (lateral derecho min(640px,100vw), barra amarilla 4 px, velo) --- */
.dsp-dg-velo{position:fixed;inset:0;z-index:250;background:rgba(10,12,14,.4);animation:m10in .15s ease both}
.dsp-dg{position:fixed;top:0;right:0;bottom:0;width:min(640px,100vw);z-index:251;background:var(--surface);box-shadow:var(--shadow-lg);
  overflow-y:auto;overscroll-behavior:contain;animation:m10rise .2s ease both;border-top:4px solid var(--accent);color:var(--text)}
.dsp-dg-h{position:sticky;top:0;z-index:1;background:var(--surface);padding:16px 20px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:flex-start}
.dsp-dg-ht{flex:1;min-width:0}
.dsp-dg-t{font-size:17px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}
.dsp-dg-t .n{font-weight:800}
.dsp-dg-d{font-size:12.5px;color:var(--text-2);margin-top:3px;line-height:1.5}
.dsp-dg-x{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--text);display:inline-flex;align-items:center;
  justify-content:center;cursor:pointer;flex:none}
.dsp-dg-x:hover,.dsp-dg-x:focus-visible{background:var(--surface-2);outline:none}
.dsp-dg-fila{display:flex;gap:11px;align-items:flex-start;width:100%;padding:12px 20px;border:none;border-bottom:1px solid var(--border);background:transparent;
  text-align:left;cursor:pointer;font-family:Heebo,system-ui,sans-serif;color:var(--text)}
.dsp-dg-fila:hover,.dsp-dg-fila:focus-visible{background:var(--surface-2);outline:none}
.dsp-dg-c{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.dsp-dg-l1{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.dsp-dg-cli{font-size:13.5px;font-weight:700;overflow-wrap:anywhere;line-height:1.35}
.dsp-dg-l3{font-size:12px;color:var(--text-2);overflow-wrap:anywhere;line-height:1.45}
.dsp-dg-l3 .dsp-mono{font-size:11.5px}
.dsp-dg-venc{color:var(--late-text);font-weight:700}
.dsp-dg-chev{color:var(--text-3);margin-top:6px;flex:none}
.dsp-dg-pie{padding:12px 20px;font-size:12px;color:var(--text-2)}
@media (prefers-reduced-motion:reduce){.dsp-dg,.dsp-dg-velo{animation:none}.dsp-rs-bar{transition:none}}

/* ─────────────── M10 · Pedir y Ficha de la operación (06-10-2026) ───────────────
   Formulario «Pedir» (tarjetas por paso + panel «Antes de guardar») y la Ficha (modal ancho
   1100 con cabecera fija). Medidas del diseño de Claude Design (plantilla.html §pedir y §ficha). */
/* controles de formulario del M10 */
.dsp-pf-in{height:44px;border:1px solid var(--border-strong);border-radius:10px;padding:0 12px;background:var(--surface);color:var(--text);
  font-family:Heebo,system-ui,sans-serif;font-size:14px;outline:none;min-width:0;max-width:100%}
.dsp-pf-in.mono{font-family:'IBM Plex Mono',monospace;font-size:15px}
.dsp-pf-in:focus,.dsp-pf-ta:focus{border-color:var(--accent)}
.dsp-pf-in.ancho,.dsp-pf-ta{width:100%}
.dsp-pf-ta{border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;background:var(--surface);color:var(--text);
  font-family:Heebo,system-ui,sans-serif;font-size:14px;line-height:1.5;outline:none;resize:vertical;min-height:72px}
.dsp-pf-lbl{display:block;font-size:12.5px;font-weight:600;color:var(--text);min-width:0}
.dsp-pf-lbl>.dsp-pf-in,.dsp-pf-lbl>.dsp-pf-ta{display:block;margin-top:5px}
.dsp-pf-lbl>.dsp-pf-chips{margin-top:5px}
.dsp-pf-lbl .opc{font-weight:400;color:var(--text-3)}
.dsp-pf-lt{font-size:12.5px;font-weight:600;margin-top:14px;color:var(--text)}
.dsp-pf-fila{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px;align-items:flex-end}
.dsp-pf-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.dsp-pf-av{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:12.5px;line-height:1.45;font-weight:600;
  background:var(--surface-2);color:var(--text-2);margin-top:10px}
.dsp-pf-av svg{margin-top:1px}
.dsp-pf-av.warn{background:var(--warn-soft);color:var(--warn-text)}
.dsp-pf-av.good{background:var(--good-soft);color:var(--good-text)}
.dsp-pf-av.alert{background:var(--alert-soft);color:var(--alert-text)}
.dsp-pf-av.acc{background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--text)}
.dsp-pf-av .x{margin-left:auto;border:none;background:none;color:inherit;cursor:pointer;padding:0 2px;font-size:15px;line-height:1}
.dsp-pf-av ul{margin:4px 0 0;padding-left:16px;font-weight:500}
.dsp-pf-chip{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 13px;border-radius:999px;border:1px solid var(--border-strong);
  background:var(--surface);color:var(--text);font-family:Heebo,system-ui,sans-serif;font-size:13px;font-weight:500;cursor:pointer}
.dsp-pf-chip:hover{border-color:var(--accent)}
.dsp-pf-chip.on{background:var(--accent-soft);border-color:var(--accent);font-weight:700}
.dsp-pf-chip .ck{display:none;color:var(--accent-text)}
.dsp-pf-chip.on .ck{display:inline-flex}
.dsp-pf-ins{font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:600;letter-spacing:.5px;padding:2px 5px;border-radius:5px;
  background:var(--accent-soft);color:var(--accent-text);white-space:nowrap}
.dsp-pf-ins.hvr{background:var(--good-soft);color:var(--good-text);letter-spacing:1px;padding:2px 7px}
.dsp-pf-ins.gris{background:var(--surface-2);color:var(--text-2)}
.dsp-pf-ins.alert{background:var(--alert-soft);color:var(--alert-text)}

/* --- Pedir --- */
.dsp-pd{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.dsp-pd-col{display:flex;flex-direction:column;gap:14px;min-width:0}
.dsp-pd-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px;min-width:0}
.dsp-pd-sub{font-size:12.5px;color:var(--text-2);margin-top:4px;line-height:1.45}
.dsp-pd-tipos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.dsp-pd-tipo{display:flex;align-items:center;gap:12px;padding:14px;border-radius:13px;border:1px solid var(--border-strong);background:var(--surface);
  color:var(--text);cursor:pointer;min-height:68px;text-align:left;font-family:Heebo,system-ui,sans-serif}
.dsp-pd-tipo:hover{border-color:var(--tc)}
.dsp-pd-tipo.on{border:2px solid var(--tc);background:var(--tcs);padding:13px}
.dsp-pd-tipo .ic{width:40px;height:40px;flex:none;border-radius:11px;background:var(--surface);border:1px solid var(--border);color:var(--tc);
  display:inline-flex;align-items:center;justify-content:center}
.dsp-pd-tipo .t{font-size:15px;font-weight:800}
.dsp-pd-tipo .s{font-size:12px;color:var(--text-2)}
.dsp-pd-buscar{margin-top:12px;display:flex;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:11px;padding:0 13px;height:46px;
  background:var(--surface);color:var(--text-2)}
.dsp-pd-buscar:focus-within{border-color:var(--accent)}
.dsp-pd-buscar input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:14px;font-family:'IBM Plex Mono',monospace;color:var(--text)}
.dsp-pd-buscar .est{font-size:11.5px;color:var(--text-3);white-space:nowrap}
.dsp-pd-res{margin-top:8px;border:1px solid var(--border);border-radius:11px;overflow:hidden}
.dsp-pd-resf{display:flex;align-items:center;gap:12px;width:100%;padding:10px 13px;border:none;border-bottom:1px solid var(--border);background:var(--surface);
  color:var(--text);cursor:pointer;text-align:left;font-family:Heebo,system-ui,sans-serif}
.dsp-pd-resf:last-child{border-bottom:none}
.dsp-pd-resf:hover,.dsp-pd-resf:focus-visible{background:var(--surface-2);outline:none}
.dsp-pd-resf .k{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;width:96px;flex:none}
.dsp-pd-resf .c{font-size:13px;font-weight:600;flex:1;min-width:0;overflow-wrap:anywhere}
.dsp-pd-resf .v{font-size:12px;color:var(--text-2);text-align:right;max-width:40%;overflow-wrap:anywhere}
.dsp-pd-nores{margin-top:8px;font-size:12.5px;color:var(--text-2);line-height:1.5}
.dsp-pd-doc{margin-top:12px;border:1px solid var(--border-strong);border-radius:13px;padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:12px;align-items:start}
.dsp-pd-doc .k{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:600}
.dsp-pd-doc .cli{font-size:15px;font-weight:800;margin-top:4px;overflow-wrap:anywhere}
.dsp-pd-meta{display:flex;gap:6px 18px;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:var(--text-2)}
.dsp-pd-meta strong{color:var(--text)}
.dsp-pd-meta .m{font-family:'IBM Plex Mono',monospace;color:var(--text)}
.dsp-pd-cambiar{font-size:12.5px;font-weight:700;color:var(--text-2);cursor:pointer;padding:6px 10px;border-radius:8px;border:1px solid var(--border);
  background:var(--surface);font-family:Heebo,system-ui,sans-serif;white-space:nowrap}
.dsp-pd-cambiar:hover{background:var(--surface-2);color:var(--text)}
.dsp-pd-otros{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.dsp-pd-otro{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border:1px solid var(--border);border-radius:10px;font-size:12.5px}
.dsp-pd-otro .k{font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12.5px}
.dsp-pd-otro .c{flex:1 1 200px;min-width:0;overflow-wrap:anywhere;color:var(--text-2)}
.dsp-pd-otro .dsp-pd-cambiar{margin-left:auto}
.dsp-pd-mas{margin-top:10px}
.dsp-pd-lugares{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;margin-top:10px}
.dsp-pd-lugar{display:flex;gap:10px;padding:12px 13px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);
  cursor:pointer;min-height:56px;text-align:left;font-family:Heebo,system-ui,sans-serif;min-width:0}
.dsp-pd-lugar:hover{border-color:var(--accent)}
.dsp-pd-lugar.on{background:var(--accent-soft);border-color:var(--accent)}
.dsp-pd-lugar .rd{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--border-strong);display:inline-flex;align-items:center;
  justify-content:center;margin-top:1px}
.dsp-pd-lugar.on .rd{border-color:var(--accent)}
.dsp-pd-lugar.on .rd::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}
.dsp-pd-lugar .n{font-size:13.5px;font-weight:500;overflow-wrap:anywhere}
.dsp-pd-lugar.on .n{font-weight:700}
.dsp-pd-lugar .d{font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-pd-lugar .h{font-size:11.5px;color:var(--text-3);overflow-wrap:anywhere}
.dsp-pd-nuevo{margin-top:12px;border:1px dashed var(--border-strong);border-radius:12px;padding:12px 14px}
.dsp-pd-nuevo .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:8px}
.dsp-pd-dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:5px}
.dsp-pd-opcs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin-top:10px}
.dsp-pd-opc{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;padding:12px 14px;border-radius:12px;
  border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;min-height:56px;text-align:left;
  font-family:Heebo,system-ui,sans-serif;min-width:0}
.dsp-pd-opc:hover{border-color:var(--accent)}
.dsp-pd-opc.on{background:var(--accent-soft);border-color:var(--accent)}
.dsp-pd-opc .t{font-size:14px;font-weight:500}
.dsp-pd-opc.on .t{font-weight:700}
.dsp-pd-opc .s{font-size:12px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-pd-pagas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;margin-top:10px}
.dsp-pd-paga{display:flex;gap:11px;padding:12px 13px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);
  cursor:pointer;min-height:64px;text-align:left;font-family:Heebo,system-ui,sans-serif;min-width:0}
.dsp-pd-paga:hover{border-color:var(--accent)}
.dsp-pd-paga.on{background:var(--accent-soft);border-color:var(--accent)}
.dsp-pd-paga .ic{width:32px;height:32px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent-text);display:inline-flex;
  align-items:center;justify-content:center}
.dsp-pd-paga .t{font-size:13.5px;font-weight:500}
.dsp-pd-paga.on .t{font-weight:700}
.dsp-pd-paga .s{font-size:12px;color:var(--text-2);line-height:1.4}
.dsp-pd-adj{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 13px;border-radius:10px;border:1px dashed var(--border-strong);
  font-size:13px;font-weight:700;color:var(--text-2);cursor:pointer;background:var(--surface)}
.dsp-pd-adj:hover,.dsp-pd-adj:focus-within{background:var(--surface-2)}
.dsp-pd-adj input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dsp-pd-arch{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:11.5px;padding:5px 9px;border-radius:7px;
  background:var(--surface-2);border:1px solid var(--border);max-width:100%;overflow-wrap:anywhere}
.dsp-pd-arch button{border:none;background:none;color:var(--text-3);cursor:pointer;padding:0 0 0 2px;font-size:13px;line-height:1}
.dsp-pd-arch button:hover{color:var(--late-text)}
.dsp-pd-urg{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:600;cursor:pointer;width:fit-content}
.dsp-pd-urg input{width:17px;height:17px;accent-color:var(--accent)}
.dsp-pd-aside{position:sticky;top:90px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.dsp-pd-aside::before{content:"";display:block;height:3px;background:var(--accent)}
.dsp-pd-aside-b{padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.dsp-pd-aside .tt{font-size:15px;font-weight:800}
.dsp-pd-checks{display:flex;flex-direction:column;gap:7px}
.dsp-pd-check{display:flex;align-items:center;gap:9px;font-size:13px}
.dsp-pd-check .o{width:20px;height:20px;flex:none;border-radius:50%;border:2px solid var(--border-strong);color:var(--border-strong);display:inline-flex;
  align-items:center;justify-content:center}
.dsp-pd-check.ok .o{border-color:var(--good);color:var(--good)}
.dsp-pd-falta{padding:11px 12px;border-radius:10px;background:var(--surface-2);font-size:12.5px;line-height:1.5}
.dsp-pd-falta b{display:block;margin-bottom:3px}
.dsp-pd-falta .i{color:var(--text-2)}
.dsp-pd-falta .n{margin-top:6px;color:var(--text-2)}
.dsp-pd-guardar{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;background:var(--accent);color:var(--on-accent);
  font-family:Heebo,system-ui,sans-serif;font-size:14px;font-weight:800;cursor:pointer;text-align:center;padding:8px 12px;border:none;width:100%;
  box-shadow:var(--shadow)}
.dsp-pd-guardar:hover:not(:disabled){filter:brightness(1.05)}
.dsp-pd-guardar:disabled{background:var(--track);color:var(--text-3);cursor:default;box-shadow:none}
.dsp-pd-guardar:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.dsp-pd-limpiar{border:none;background:none;text-align:center;font-family:Heebo,system-ui,sans-serif;font-size:12.5px;color:var(--text-2);cursor:pointer;font-weight:600}
.dsp-pd-limpiar:hover{color:var(--text)}
@media(max-width:1100px){
  .dsp-pd{grid-template-columns:minmax(0,1fr)}
  .dsp-pd-aside{position:static}
}
@media(max-width:560px){
  .dsp-pd-card{padding:16px}
  .dsp-pd-resf{flex-wrap:wrap;gap:4px 10px}
  .dsp-pd-resf .v{max-width:none;text-align:left;width:100%}
  .dsp-pd-doc{grid-template-columns:minmax(0,1fr)}
}

/* --- Ficha (modal ancho y página) --- */
.mov:has(.dsp-fi-modal){padding:3vh 16px}
.mmodal.dsp-fi-modal{background:var(--bg);border-radius:18px;border:none;max-width:1100px}
.mmodal.dsp-fi-modal>.mmodal-h{display:none}
.mmodal.dsp-fi-modal>.mmodal-b{padding:0}
.dsp-fi{min-width:0}
.dsp-fi-h{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:3;border-radius:18px 18px 0 0}
.dsp-fi-pagina .dsp-fi-h{position:static;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.dsp-fi-h .barra{height:4px;background:var(--tc);border-radius:18px 18px 0 0}
.dsp-fi-pagina .dsp-fi-h .barra{border-radius:0}
.dsp-fi-hin{padding:16px 22px;display:flex;gap:14px;align-items:flex-start;position:relative}
.dsp-fi-hm{flex:1;min-width:0}
.dsp-fi-hl{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.dsp-fi-folio{font-family:'IBM Plex Mono',monospace;font-size:19px;font-weight:600;color:var(--text)}
.dsp-fi-est{font-size:12px;font-weight:700;padding:3px 9px;border-radius:7px;background:var(--bb);color:var(--bf);white-space:nowrap}
.dsp-fi-reprog{font-size:12px;font-weight:700;color:var(--warn-text)}
.dsp-fi-hl .dsp-req{font-size:11.5px;padding:2px 9px;white-space:normal;max-width:100%}
.dsp-fi-cli{font-size:16px;font-weight:800;margin-top:4px;overflow-wrap:anywhere}
.dsp-fi-acc{display:flex;gap:8px;flex:none;align-items:center;flex-wrap:wrap;justify-content:flex-end;position:relative}
.dsp-fi-b1{height:40px;padding:0 13px;display:inline-flex;align-items:center;gap:6px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);
  font-family:Heebo,system-ui,sans-serif;font-size:13px;font-weight:700;cursor:pointer;color:var(--text-2);white-space:nowrap}
.dsp-fi-b1:hover{background:var(--surface-2);color:var(--text)}
.dsp-fi-b1.prim{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:800;padding:0 16px}
.dsp-fi-b1.prim:hover{filter:brightness(1.05);background:var(--accent)}
.dsp-fi-b1:disabled{opacity:.6;cursor:default}
.dsp-fi-b1.peligro{background:var(--late);border-color:var(--late);color:#fff;font-weight:800}
.dsp-fi-b1.peligro:hover{background:var(--late);filter:brightness(1.08);color:#fff}
.dsp-fi-x{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:none;color:var(--text)}
.dsp-fi-x:hover{background:var(--surface-2)}
.dsp-fi-menu{position:absolute;top:46px;right:0;z-index:6;min-width:250px;background:var(--surface);border:1px solid var(--border);border-radius:12px;
  box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;animation:m10in .15s ease both}
.dsp-fi-menu button{border:none;background:none;text-align:left;padding:9px 12px;border-radius:8px;font-family:Heebo,system-ui,sans-serif;font-size:13px;
  font-weight:600;color:var(--text);cursor:pointer}
.dsp-fi-menu button:hover,.dsp-fi-menu button:focus-visible{background:var(--surface-2);outline:none}
.dsp-fi-menu .s{display:block;font-size:11.5px;font-weight:400;color:var(--text-2);margin-top:1px}
.dsp-fi-cuerpo{padding:18px 22px 22px;display:flex;flex-direction:column;gap:16px}
.dsp-fi-pagina .dsp-fi-cuerpo{padding:16px 0 0}
.dsp-fi-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}
.dsp-fi-izq{display:flex;flex-direction:column;gap:14px;min-width:0}
.dsp-fi-bl{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:15px 17px;min-width:0}
.dsp-fi-bl>.dsp-chipsec{display:block;margin-bottom:10px}
.dsp-fi-blh{display:flex;align-items:center;gap:6px}
.dsp-fi-blh .dsp-i{margin-left:0}
.dsp-fi-par{display:grid;grid-template-columns:150px minmax(0,1fr);gap:7px 12px;font-size:13px;line-height:1.45;margin:0}
.dsp-fi-par>dt{color:var(--text-2)}
.dsp-fi-par>dd{margin:0;min-width:0;overflow-wrap:anywhere}
.dsp-fi-par .sub{color:var(--text-2)}
.dsp-fi-par .nota{font-size:11.5px;color:var(--text-2)}
.dsp-fi-par .dsp-badge{font-size:12px;padding:3px 9px;border-radius:7px}
.dsp-fi-doc{display:inline-flex;align-items:center;gap:5px;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;padding:3px 8px;border-radius:6px;
  background:var(--surface-2);border:1px solid var(--border);color:var(--text);white-space:nowrap}
.dsp-fi-doc.mal{border-color:var(--alert);color:var(--alert-text)}
.dsp-fi-docs{display:flex;gap:6px;flex-wrap:wrap}
.dsp-fi-paga{display:flex;gap:11px;align-items:flex-start;margin-bottom:10px}
.dsp-fi-paga .ic{width:34px;height:34px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent-text);display:inline-flex;
  align-items:center;justify-content:center}
.dsp-fi-paga .t{font-size:14px;font-weight:800}
.dsp-fi-paga .s{font-size:12px;color:var(--text-2)}
.dsp-fi-dos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.dsp-fi-carga{font-size:13px;line-height:1.7}
.dsp-fi-nota{font-size:12.5px;margin-top:6px;padding:7px 10px;border-radius:8px;background:var(--accent-soft);font-weight:600;overflow-wrap:anywhere;line-height:1.45}
.dsp-fi-evs{display:flex;flex-direction:column;gap:8px}
.dsp-fi-ev{height:96px;border-radius:10px;border:1px solid var(--border);
  background:repeating-linear-gradient(135deg,var(--surface-2) 0 10px,var(--surface) 10px 20px);display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;padding:8px;text-align:center;text-decoration:none;color:var(--text);min-width:0}
[data-modulo="M10"] .dsp-fi a.dsp-fi-ev,[data-modulo="M10"] .mmain a.dsp-fi-ev{color:var(--text);text-decoration:none}
a.dsp-fi-ev:hover{border-color:var(--accent)}
.dsp-fi-ev .n{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;overflow-wrap:anywhere;max-width:100%}
.dsp-fi-ev .s{font-size:11.5px;color:var(--text-2)}
.dsp-fi-ev.chica{height:auto;min-height:52px}
.dsp-fi-ev.anulada{background:var(--surface-2);opacity:.75}
.dsp-fi-ev.anulada .n{text-decoration:line-through}
.dsp-fi-sinev{height:96px;border-radius:10px;border:1px dashed var(--border-strong);display:flex;align-items:center;justify-content:center;text-align:center;
  padding:10px;font-size:12px;color:var(--text-2);line-height:1.45}
.dsp-fi-subir{margin-top:8px}
.dsp-tl{display:flex;flex-direction:column}
.dsp-tl-e{display:grid;grid-template-columns:52px 14px minmax(0,1fr);gap:10px}
.dsp-tl-e.pend{opacity:.5}
.dsp-tl-h{text-align:right}
.dsp-tl-h .h{font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600}
.dsp-tl-h .d{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:var(--text-3)}
.dsp-tl-p{display:flex;flex-direction:column;align-items:center}
.dsp-tl-p .pt{width:11px;height:11px;border-radius:50%;background:var(--text-3);margin-top:4px;flex:none}
.dsp-tl-e.ult .dsp-tl-p .pt{background:var(--accent)}
.dsp-tl-e.pend .dsp-tl-p .pt{background:var(--track)}
.dsp-tl-e.hvr .dsp-tl-p .pt{background:var(--good)}
.dsp-tl-p .ln{flex:1;width:2px;background:var(--border);min-height:18px}
.dsp-tl-e:last-child .dsp-tl-p .ln{background:transparent}
.dsp-tl-c{padding-bottom:14px;min-width:0}
.dsp-tl-c .q{font-size:13px;font-weight:700}
.dsp-tl-c .w{font-size:12px;color:var(--text-2)}
.dsp-tl-c .det{font-size:12px;color:var(--text-2);margin-top:2px;overflow-wrap:anywhere;line-height:1.45}
.dsp-tl-c .ft{font-size:12px;margin-top:2px;overflow-wrap:anywhere}
.dsp-tl-c .ft s{color:var(--text-3)}
.dsp-fi-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;
  animation:m10rise .2s ease both}
.dsp-fi-panel::before{content:"";display:block;height:3px;background:var(--barra,var(--accent))}
.dsp-fi-panel-b{padding:15px 17px}
.dsp-fi-panel .tt{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dsp-fi-panel .tt .dsp-folio{font-size:14px}
.dsp-fi-panel .sb{font-size:12.5px;color:var(--text-2);margin-top:3px;line-height:1.45}
.dsp-fi-pie{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}
.dsp-fi-pie .falta{margin-right:auto;font-size:12.5px;color:var(--text-2)}
.dsp-fi-op{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:9px;margin-top:6px}
.dsp-pf-choque{border:1px solid var(--alert);background:var(--alert-soft);border-radius:13px;padding:13px 15px;margin-top:12px}
.dsp-pf-choque .tt{font-size:14px;font-weight:800;color:var(--alert-text);display:flex;align-items:center;gap:7px}
.dsp-pf-choque .m{font-size:13px;line-height:1.5;margin-top:6px;color:var(--text)}
.dsp-pf-choque .m b{font-weight:700}
.dsp-pf-choque .q{font-size:11.5px;color:var(--text-2)}
.dsp-pf-choque .alt{font-size:12.5px;font-weight:700;margin-top:10px;color:var(--text)}
.dsp-pf-choque .dsp-pf-chips .dsp-elegir{min-height:40px;font-size:13px}
.dsp-pf-choque .adv{font-size:12.5px;color:var(--warn-text);margin-top:6px;font-weight:600}
.dsp-fi-aviso-top{margin:0}
.dsp-fi-legado summary{cursor:pointer;font-size:13px;font-weight:700}
.dsp-fi-legado .f{font-size:12.5px;color:var(--text-2);margin-top:6px;overflow-wrap:anywhere;line-height:1.45}
@media(max-width:900px){
  .dsp-fi-grid{grid-template-columns:minmax(0,1fr)}
  .dsp-fi-hin{flex-wrap:wrap;padding:14px 16px}
  .dsp-fi-hm{padding-right:34px}
  .dsp-fi-acc{width:100%;justify-content:flex-start}
  .dsp-fi-hin>.dsp-fi-x{position:absolute;top:10px;right:8px}
  .dsp-fi-cuerpo{padding:14px 14px 18px}
  .dsp-fi-menu{left:0;right:auto}
}
@media(max-width:640px){
  .dsp-fi-dos{grid-template-columns:minmax(0,1fr)}
  .dsp-fi-par{grid-template-columns:minmax(0,1fr);gap:2px 0}
  .dsp-fi-par>dd{margin-bottom:6px}
  .mov:has(.dsp-fi-modal){padding:0}
  .mmodal.dsp-fi-modal{border-radius:0;min-height:100vh}
  .dsp-fi-h,.dsp-fi-h .barra{border-radius:0}
}
@media (prefers-reduced-motion:reduce){.dsp-fi-panel,.dsp-fi-menu{animation:none}}


/* M10 · Despachos y Retiros — Agenda (inicio) y diálogo «Programar» (06-10-2026).
   Port del diseño aprobado de Claude Design («M10 Despachos Indutecnica.html», vista Agenda y
   diálogo Programar). Lo carga despachos-agenda.js la primera vez que se abre la vista (mismo
   origen: CSP 'self'). Usa los tokens del bloque [data-modulo="M10"] de modulo.css.
   Prefijo propio: .dsp-ag- (agenda) y .dsp-pg- (programar) para no chocar con otras vistas.
   Al desplegar se puede dejar como archivo aparte o pegar al final del bloque M10 de modulo.css. */

/* ───────────── cabecera: buscador + botón «Pedir» ───────────── */
.dsp-ag-buscar input::placeholder{color:var(--text-3)}
.dsp-ag-buscar .lp{display:inline-flex;color:var(--text-2)}
.dsp-ag-buscar .x{border:none;background:none;padding:0;width:22px;height:22px;border-radius:6px;display:none;align-items:center;justify-content:center;color:var(--text-3);cursor:pointer}
.dsp-ag-buscar.con .x{display:inline-flex}
.dsp-ag-buscar .x:hover{background:var(--surface-2);color:var(--text)}

/* ───────────── avisos de la última acción (advertencias del servidor) ───────────── */
.dsp-ag-aviso{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);border:1px solid var(--warn);border-radius:13px;padding:11px 14px;font-size:13px;line-height:1.5;color:var(--text)}
.dsp-ag-aviso .ic{color:var(--warn-text);display:inline-flex;margin-top:1px}
.dsp-ag-aviso ul{margin:2px 0 0;padding-left:18px}
.dsp-ag-aviso .t{font-weight:800;color:var(--warn-text)}
.dsp-ag-aviso .c{margin-left:auto;border:none;background:none;color:var(--text-2);cursor:pointer;padding:2px;border-radius:6px;display:inline-flex}
.dsp-ag-aviso .c:hover{color:var(--text);background:rgba(0,0,0,.05)}
.dsp-ag-aviso.ok{background:var(--good-soft);border-color:var(--good)}
.dsp-ag-aviso.ok .ic,.dsp-ag-aviso.ok .t{color:var(--good-text)}

/* ───────────── franja «Flota hoy» ───────────── */
.dsp-ag-flota{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px;min-width:0}
.dsp-ag-veh{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid var(--border);border-radius:9px;padding:6px 11px;background:var(--surface-2);font-size:12.5px;min-width:0;max-width:100%}
.dsp-ag-veh .pt{width:8px;height:8px;border-radius:50%;background:var(--text-3);flex:none}
.dsp-ag-veh .pt.on{background:var(--accent)}
.dsp-ag-veh .pat{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;color:var(--text)}
.dsp-ag-veh .ok{font-size:12px;color:var(--good-text);font-weight:600}
.dsp-ag-veh .no{font-size:12px;color:var(--alert-text);font-weight:600}
.dsp-ag-veh .det{font-size:12px;color:var(--text-2)}
.dsp-ag-veh .dsp-i{margin-left:0}

/* ───────────── «Por resolver» ───────────── */
.dsp-ag-res{display:grid;grid-template-columns:44px minmax(0,1.6fr) minmax(0,1.3fr) minmax(120px,.7fr) auto;gap:14px;align-items:center;
  padding:12px 18px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s}
.dsp-ag-res:first-child{border-top:none}
.dsp-ag-res:hover{background:var(--surface-2)}
.dsp-ag-res .que{font-size:14px;font-weight:700;line-height:1.35;color:var(--text);overflow-wrap:anywhere}
.dsp-ag-res .fol{font-family:'IBM Plex Mono',monospace;font-size:11px;margin-top:2px;color:var(--tc,var(--text-2))}
.dsp-ag-res .cli{font-size:13px;font-weight:600;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
.dsp-ag-res .docs{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--text-2);margin-top:2px;overflow-wrap:anywhere}
.dsp-ag-res .ext{font-size:12px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-ag-lt{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3)}
.dsp-ag-res .quien{font-size:12.5px;font-weight:600;color:var(--text);overflow-wrap:anywhere}
.dsp-ag-res .dsp-btn{min-width:104px}
.dsp-ag-mas{display:flex;justify-content:center;padding:10px 18px 14px;border-top:1px solid var(--border)}
.dsp-ag-vacio{padding:22px 18px;font-size:13.5px;color:var(--text-2);line-height:1.5}

/* ───────────── «Hoy, por viaje» ───────────── */
.dsp-ag-sec{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:4px}
.dsp-ag-sec .t{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.dsp-ag-sec .s{font-size:12.5px;color:var(--text-2)}
.dsp-ag-viajes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:14px;align-items:start}
.dsp-ag-vh{padding:13px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--border)}
.dsp-ag-vh .t{font-size:15px;font-weight:800;color:var(--text)}
.dsp-ag-vh .pat{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;padding:3px 8px;border-radius:7px;background:var(--accent);color:var(--on-accent);white-space:nowrap}
.dsp-ag-vh .ch{font-size:13px;font-weight:600;color:var(--text)}
.dsp-ag-vh .r{font-size:12.5px;color:var(--text-2);margin-left:auto}
.dsp-ag-vh .est{font-size:11px;font-weight:700;padding:2px 7px;border-radius:6px;background:var(--accent-soft);color:var(--accent-text)}
.dsp-ag-par{display:grid;grid-template-columns:30px 30px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 18px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s}
.dsp-ag-vh+.dsp-ag-par,.dsp-ag-par:first-child{border-top:none}
.dsp-ag-par:hover{background:var(--surface-2)}
.dsp-ag-par .n{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:700;color:var(--text-2);text-align:center}
.dsp-ag-par .cl{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dsp-ag-par .cl b,.dsp-ag-cou .cl{font-size:13.5px;font-weight:700;color:var(--text);overflow-wrap:anywhere;min-width:0}
.dsp-ag-par .dir,.dsp-ag-cou .dir{font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-ag-par .dir .m,.dsp-ag-cou .dir .m{font-family:'IBM Plex Mono',monospace;font-size:11.5px}
.dsp-ag-par .nota{font-size:12px;font-weight:600;margin-top:1px;color:var(--tc,var(--text-2));overflow-wrap:anywhere}
.dsp-ag-par .ops{font-size:11.5px;color:var(--text-2);white-space:nowrap}
.dsp-ag-par .ok{color:var(--good-text);font-weight:700}
.dsp-ag-cou{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 18px;border-top:1px solid var(--border);cursor:pointer;transition:background .12s}
.dsp-ag-cou:first-child{border-top:none}
.dsp-ag-cou:hover{background:var(--surface-2)}
.dsp-ag-cou .how{font-size:12px;font-weight:600;color:var(--desp);margin-top:1px;overflow-wrap:anywhere}
.dsp-ag-cou .how.warn{color:var(--warn-text)}
.dsp-ag-vacio-s{padding:16px 18px;font-size:13px;color:var(--text-2);line-height:1.5}

/* ───────────── fila de operación (Por programar · Mañana · búsqueda · desglose) ───────────── */
.dsp-ag-op{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.3fr) 118px auto;gap:14px;align-items:center;padding:12px 18px;
  border-top:1px solid var(--border);cursor:pointer;transition:background .12s}
.dsp-ag-op:hover{background:var(--surface-2)}
.dsp-ag-op .c1{min-width:0;display:flex;gap:11px;align-items:flex-start}
.dsp-ag-op .c1 .dsp-tipo{margin-top:1px}
.dsp-ag-op .l1{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dsp-ag-op .rep{font-size:11px;color:var(--warn-text);font-weight:600}
.dsp-ag-op .urg{font-size:10px;font-weight:800;letter-spacing:.6px;padding:1px 6px;border-radius:5px;background:var(--alert);color:var(--on-alert)}
.dsp-ag-op .cli{font-size:13.5px;font-weight:700;margin-top:2px;line-height:1.3;color:var(--text);overflow-wrap:anywhere}
.dsp-ag-op .lug{font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-ag-op .lug.falta{color:var(--alert-text);font-weight:600}
.dsp-ag-op .c2{min-width:0}
.dsp-ag-op .docs{font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--text);overflow-wrap:anywhere}
.dsp-ag-op .docs.sin{color:var(--text-2)}
.dsp-ag-op .tr{font-size:12px;color:var(--text-2);margin-top:2px;overflow-wrap:anywhere}
.dsp-ag-op .prog{font-size:12px;color:var(--desp);font-weight:600;margin-top:2px;overflow-wrap:anywhere}
.dsp-ag-op .reqs{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.dsp-ag-op .c3 .f{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:600;color:var(--text)}
.dsp-ag-op .c3 .r{font-size:11.5px;color:var(--text-2)}
.dsp-ag-op .c3 .r.venc{color:var(--late-text);font-weight:700}
.dsp-ag-op .dsp-btn{min-width:100px}
.dsp-ag-lista>.dsp-ag-op:first-child{border-top:none}
.dsp-plegable .dsp-card-c>.dsp-ag-lista>.dsp-ag-op:first-child{border-top:1px solid var(--border)}
.dsp-plegable>.dsp-card-h{border-bottom:none}
.dsp-plegable>.dsp-card-h.plg:hover{background:var(--surface-2)}
.dsp-ag-sub{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:1.3px;text-transform:uppercase;color:var(--text-2);
  padding:12px 18px 6px;border-top:1px solid var(--border);background:var(--surface)}

/* fila de la planilla antigua (búsqueda) */
.dsp-ag-leg{display:grid;grid-template-columns:30px minmax(0,1.4fr) minmax(0,1fr) 190px;gap:11px;align-items:center;padding:10px 18px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-2)}
.dsp-ag-leg b{color:var(--text);font-size:13px;overflow-wrap:anywhere}
.dsp-ag-leg .m{font-family:'IBM Plex Mono',monospace;font-size:11.5px}
.dsp-ag-leg .ic{width:30px;height:30px;border-radius:9px;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center}

/* chip de requisito (texto corto; el largo va en el globo) */
.dsp-ag-req{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--alert);
  color:var(--alert-text);line-height:1.45;max-width:100%;overflow-wrap:anywhere}
.dsp-ag-req.suave{border-style:dashed}

/* ───────────── desglose lateral (drill) ───────────── */
.dsp-ag-velo{position:fixed;inset:0;z-index:290;background:rgba(10,12,14,.4);animation:m10in .15s ease both}
.dsp-ag-panel{position:fixed;top:0;right:0;bottom:0;width:min(640px,100vw);z-index:291;background:var(--surface);box-shadow:var(--shadow-lg);
  overflow-y:auto;animation:m10rise .2s ease both;color:var(--text)}
.dsp-ag-panel::before{content:"";display:block;height:4px;background:var(--accent)}
.dsp-ag-panel .h{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:flex-start;position:sticky;top:0;background:var(--surface);z-index:1}
.dsp-ag-panel .h .t{font-size:17px;font-weight:800}
.dsp-ag-panel .h .d{font-size:12.5px;color:var(--text-2);margin-top:3px;line-height:1.5}
.dsp-ag-x{width:36px;height:36px;border-radius:10px;border:none;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);flex:none}
.dsp-ag-x:hover{background:var(--surface-2)}
.dsp-ag-dr{display:flex;gap:11px;padding:12px 20px;border-bottom:1px solid var(--border);cursor:pointer}
.dsp-ag-dr:hover{background:var(--surface-2)}
.dsp-ag-dr .b{flex:1;min-width:0}
.dsp-ag-dr .cli{font-size:13.5px;font-weight:700;overflow-wrap:anywhere}
.dsp-ag-dr .s{font-size:12px;color:var(--text-2);overflow-wrap:anywhere;line-height:1.45}
.dsp-ag-dr .s .m{font-family:'IBM Plex Mono',monospace}
.dsp-ag-dr .s .venc{color:var(--late-text);font-weight:700}

/* ───────────── diálogo «Programar» ───────────── */
.dsp-pg-velo{position:fixed;inset:0;z-index:300;background:rgba(10,12,14,.5);animation:m10in .15s ease both}
.dsp-pg{position:fixed;top:3vh;left:calc(50% + 125px);transform:translateX(-50%);width:min(760px,calc(100vw - 290px));max-height:94vh;overflow-y:auto;
  z-index:301;background:var(--surface);border-radius:18px;box-shadow:var(--shadow-lg);animation:m10pop .2s ease both;color:var(--text);
  overscroll-behavior:contain}
body:has(.mapp.sb-mini) .dsp-pg{left:calc(50% + 32px);width:min(760px,calc(100vw - 104px))}
.dsp-pg::before{content:"";display:block;height:4px;background:var(--accent)}
.dsp-pg-h{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;gap:12px;align-items:flex-start}
.dsp-pg-h .b{flex:1;min-width:0}
.dsp-pg-h .t{font-size:20px;font-weight:800;line-height:1.3}
.dsp-pg-h .t .f{font-family:'IBM Plex Mono',monospace;font-size:17px;color:var(--tc,var(--text-2));font-weight:600}
.dsp-pg-h .cli{font-size:14px;font-weight:700;margin-top:4px;overflow-wrap:anywhere}
.dsp-pg-h .lug{font-size:12.5px;color:var(--text-2);overflow-wrap:anywhere;line-height:1.5}
.dsp-pg-h .lug .m{font-family:'IBM Plex Mono',monospace}
.dsp-pg-h .cita{display:inline-block;margin-top:6px;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--accent);color:var(--on-accent)}
.dsp-pg-h .cita.falta{background:transparent;color:var(--alert-text);border:1px solid var(--alert)}
.dsp-pg-c{padding:18px 22px;display:flex;flex-direction:column;gap:16px}
.dsp-pg-l{font-size:12.5px;font-weight:700;margin-bottom:7px;color:var(--text)}
.dsp-pg-l .s{font-weight:400;color:var(--text-2)}
.dsp-pg-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dsp-pg-ch{padding:0 14px;height:44px;display:inline-flex;align-items:center;gap:7px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);
  font-family:Heebo,system-ui,sans-serif;font-size:13.5px;font-weight:500;color:var(--text);cursor:pointer;white-space:nowrap}
.dsp-pg-ch:hover:not(:disabled){border-color:var(--accent)}
.dsp-pg-ch.on{background:var(--accent-soft);border-color:var(--accent);font-weight:700}
.dsp-pg-ch:disabled{opacity:.5;cursor:not-allowed}
.dsp-pg-ch:focus-visible,.dsp-pg-tr:focus-visible,.dsp-pg-alt:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.dsp-pg-in{height:44px;border:1px solid var(--border-strong);border-radius:10px;padding:0 10px;background:var(--surface);color:var(--text);
  font-family:Heebo,system-ui,sans-serif;font-size:13.5px;outline:none;max-width:100%}
.dsp-pg-in.mono{font-family:'IBM Plex Mono',monospace}
.dsp-pg-in:focus{border-color:var(--accent)}
select.dsp-pg-in{min-width:240px;cursor:pointer}
textarea.dsp-pg-in{height:auto;min-height:64px;padding:9px 11px;width:100%;resize:vertical;line-height:1.45}
.dsp-pg-trs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.dsp-pg-tr{padding:10px 13px;border-radius:11px;border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;min-height:56px;text-align:left;
  font-family:Heebo,system-ui,sans-serif;color:var(--text);display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0}
.dsp-pg-tr:hover{border-color:var(--accent)}
.dsp-pg-tr.on{background:var(--accent-soft);border-color:var(--accent)}
.dsp-pg-tr .a{font-size:13.5px;font-weight:500;overflow-wrap:anywhere}
.dsp-pg-tr.on .a{font-weight:700}
.dsp-pg-tr .b{font-size:12px;color:var(--text-2);overflow-wrap:anywhere}
.dsp-pg-tr .b.no{color:var(--alert-text);font-weight:600}
.dsp-pg-sub{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dsp-pg-nota{font-size:12.5px;color:var(--text-2);padding:9px 12px;border-radius:10px;background:var(--surface-2);line-height:1.5}
.dsp-pg-nota b{color:var(--text)}
.dsp-pg-pre{border:1px dashed var(--warn);background:var(--warn-soft);border-radius:13px;padding:12px 15px;font-size:13px;line-height:1.5}
.dsp-pg-pre .t{font-weight:800;color:var(--warn-text);display:flex;align-items:center;gap:7px}
.dsp-pg-pre .reqs{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
.dsp-pg-choque{border:1px solid var(--alert);background:var(--alert-soft);border-radius:13px;padding:14px 16px}
.dsp-pg-choque .t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--alert-text)}
.dsp-pg-choque .mot{font-size:13px;line-height:1.5;margin-top:6px;color:var(--text)}
.dsp-pg-choque .mot b{font-weight:700}
.dsp-pg-choque .mot .q{color:var(--text-2);font-size:12px}
.dsp-pg-choque .al{font-size:12.5px;font-weight:700;margin-top:10px;color:var(--text)}
.dsp-pg-alts{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}
.dsp-pg-alt{padding:0 13px;min-height:40px;display:inline-flex;align-items:center;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);
  font-family:Heebo,system-ui,sans-serif;font-size:13px;font-weight:700;color:var(--text);cursor:pointer;text-align:left;line-height:1.3;padding-top:6px;padding-bottom:6px}
.dsp-pg-alt:hover:not(:disabled){border-color:var(--accent)}
.dsp-pg-alt:disabled{opacity:.55;cursor:not-allowed}
.dsp-pg-adv{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:13px;padding:11px 14px;font-size:12.5px;line-height:1.5;color:var(--text)}
.dsp-pg-adv .t{font-weight:800;color:var(--warn-text);margin-bottom:2px}
.dsp-pg-adv ul{margin:0;padding-left:18px}
.dsp-pg-rev{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:7px}
.dsp-pg-rev .sp{width:12px;height:12px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:dspgira .8s linear infinite}
@keyframes dspgira{to{transform:rotate(360deg)}}
.dsp-pg-exc{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:8px;margin-top:10px}
.dsp-pg-f{padding:14px 22px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;justify-content:flex-end;flex-wrap:wrap;
  position:sticky;bottom:0;background:var(--surface);z-index:1}
.dsp-pg-f .falta{font-size:12.5px;color:var(--text-2);margin-right:auto;min-width:0;flex:1 1 220px}
.dsp-pg-f .falta.err{color:var(--alert-text);font-weight:600}
.dsp-pg-f .dsp-btn{height:44px}
.dsp-pg-ok{padding:0 20px;font-size:14px}

/* ───────────── teléfono y pantallas angostas ───────────── */
@media(max-width:1100px){   /* «Le toca» baja bajo el cliente: no se pierde quién debe actuar */
  .dsp-ag-res{grid-template-columns:44px minmax(0,1fr) minmax(0,1fr) auto;row-gap:4px}
  .dsp-ag-res>:nth-child(1),.dsp-ag-res>:nth-child(2){grid-row:1/span 2}
  .dsp-ag-res>.c3{grid-column:3;grid-row:1}
  .dsp-ag-res>.lt{grid-column:3;grid-row:2;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}
  .dsp-ag-res>:nth-child(5){grid-column:4;grid-row:1/span 2}
}
@media(max-width:900px){
  .dsp-pg,body:has(.mapp.sb-mini) .dsp-pg{left:50%;width:calc(100vw - 24px);top:12px;max-height:calc(100vh - 24px)}
}
@media(max-width:760px){
  .dsp-ag-res{grid-template-columns:44px minmax(0,1fr);gap:8px 12px;padding:12px 16px}
  .dsp-ag-res>:nth-child(1),.dsp-ag-res>:nth-child(2),.dsp-ag-res>.c3,.dsp-ag-res>.lt,.dsp-ag-res>:nth-child(5){grid-row:auto}
  .dsp-ag-res>.c3,.dsp-ag-res>.lt{grid-column:2}
  .dsp-ag-res>.lt{display:block}
  .dsp-ag-res>:nth-child(5){grid-column:1/-1}
  .dsp-ag-res>.dsp-btn{width:100%}
  .dsp-ag-op{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 16px}
  .dsp-ag-op .c1{grid-column:1/-1}
  .dsp-ag-op .c2{grid-column:1/-1;padding-left:41px}
  .dsp-ag-op .c3{padding-left:41px}
  .dsp-ag-par{grid-template-columns:22px 30px minmax(0,1fr);padding:11px 14px}
  .dsp-ag-par .ops{grid-column:3}
  .dsp-ag-cou{grid-template-columns:30px minmax(0,1fr);padding:11px 14px}
  .dsp-ag-cou>.dsp-btn{grid-column:2;justify-self:start}
  .dsp-ag-vh{padding:12px 14px}
  .dsp-ag-vh .r{margin-left:0;flex-basis:100%}
  .dsp-ag-leg{grid-template-columns:30px minmax(0,1fr);padding:10px 14px}
  .dsp-ag-leg>:nth-child(n+3){grid-column:2}
  .dsp-pg-h,.dsp-pg-c{padding-left:16px;padding-right:16px}
  .dsp-pg-f{padding:12px 16px}
  .dsp-pg-f .falta{flex-basis:100%}
  .dsp-pg-exc{grid-template-columns:1fr}
  select.dsp-pg-in{min-width:0;width:100%}
  .dsp-ag-dr{padding:12px 16px}
}
@media (prefers-reduced-motion:reduce){
  .dsp-ag-velo,.dsp-ag-panel,.dsp-pg-velo,.dsp-pg{animation:none}
  .dsp-pg-rev .sp{animation:none}
}


/* ═══════════════════ M10 · Correcciones del QA final (06-10-2026) ═══════════════════ */
/* Ficha modal: centrada en el ÁREA DE CONTENIDO (como el diálogo Programar y el diseño), no sobre el menú lateral */
@media(min-width:901px){
  .mov:has(.dsp-fi-modal){padding-left:266px}
  body:has(.mapp.sb-mini) .mov:has(.dsp-fi-modal){padding-left:80px}
}
.dsp-fi-fuente{margin:0 0 12px;font-size:12.5px}
/* paneles de la ficha: la animación de entrada solo al abrir (no en cada clic de chip) */
.dsp-fi-panel.quieto{animation:none}
/* diálogo Programar: sombra sobre el pie fijo cuando queda contenido más abajo */
.dsp-pg.dsp-pg-mas .dsp-pg-f{box-shadow:0 -10px 18px -10px rgba(0,0,0,.28)}
[data-theme="dark"] .dsp-pg.dsp-pg-mas .dsp-pg-f{box-shadow:0 -10px 18px -8px rgba(0,0,0,.75)}
/* topbar del M10: bajo 1500 px se oculta el subtítulo (se cortaba «…retir…» y el nombre del usuario) */
@media(max-width:1500px){[data-modulo="M10"] .mtop-l .s{display:none}[data-modulo="M10"] .mtop-user .n{max-width:200px}}
/* Resumen · ¿Cumplimos?: «+N heredadas» DENTRO del recuadro de Promesas vencidas (mismo alto que sus vecinos) */
.dsp-mk-w.con-her{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:12px 14px;gap:8px;transition:border-color .15s}
.dsp-mk-w.con-her:has(>.dsp-mk:hover){border-color:var(--border-strong)}
.dsp-mk-w.con-her>.dsp-mk{border:none;padding:0;border-radius:0;flex:none;background:transparent}
/* «Sin transporte»: gris que se distingue del riel en claro y en oscuro */
.dsp-rs-seg.f-sin,.dsp-rs-ley .cu.f-sin{fill:#b4b9be;background:#b4b9be}
[data-theme="dark"] .dsp-rs-seg.f-sin,[data-theme="dark"] .dsp-rs-ley .cu.f-sin{fill:#707780;background:#707780}
/* Configuración · Parámetros: el valor puede ir en dos líneas (antes se cortaba con «…») */
.dsp-par-r .dsp-capsula{white-space:normal;overflow-wrap:break-word;text-align:right;line-height:1.45;max-width:360px}
@media(max-width:760px){.dsp-par-r .dsp-capsula{text-align:left}}
/* Flete · Por autorizar sin monto */
.dsp-flc-pordef{font-family:Heebo,system-ui,sans-serif;font-size:12.5px;font-weight:700;color:var(--warn-text);background:var(--warn-soft);border-radius:7px;padding:3px 8px;white-space:nowrap}
/* Agenda: todas las cabeceras de tarjeta del mismo alto, tengan o no ⓘ/contador (antes 645 vs 649 px en «Hoy, por viaje») */
.dsp-ag .dsp-card-h{min-height:53px}
