/* NAJESA · Diseño «Azul NAJESA» (prototipo A). Se carga después de estilo.css y solo cambia el aspecto. */
:root {
  --navy: #0a2847; --navy-2: #13355c; --navy-3: #1d3f66; --navy-txt: #cfd9e6; --navy-suave: #8fa6c2;
  --naranja: #e08a1e; --turquesa: #52eddf; --verde: #2e8b57; --rojo: #c0392b;
  --fondo: #eef1f5; --tarjeta: #fff; --texto: #0a2847; --suave: #5a6b7d; --borde: #dde3eb; --marca: #0a2847;
  --lateral: 236px;
}
body { font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', sans-serif; background: var(--fondo); color: var(--texto); }
h1 { font-size: 1.6rem; font-weight: 500; letter-spacing: -.01em; text-wrap: balance; }
h2 { font-weight: 500; }

/* ---------- Estructura con menú lateral ---------- */
.con-lateral .contenido { margin-left: var(--lateral); min-height: 100vh; min-width: 0; }
.con-lateral main { max-width: 1280px; padding: 28px 32px 48px; }
.menu-abrir { position: absolute; top: 0; left: 0; width: 0 !important; height: 0; margin: 0 !important; padding: 0; opacity: 0; pointer-events: none; }
.lateral {
  position: fixed; inset: 0 auto 0 0; width: var(--lateral); z-index: 40;
  background: var(--navy); color: var(--navy-txt);
  display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain;
  padding: 18px 10px 12px; scrollbar-width: thin; scrollbar-color: var(--navy-3) transparent;
}
.lateral a.lateral-marca, .lateral a.lateral-marca:hover { display: block; background: none; border-radius: 0; margin: 0 6px 6px; padding: 2px 4px 14px; border-bottom: 1px solid rgba(82,237,223,.25); }
.logo-menu, .lateral a.lateral-marca .logo-menu { display: block; width: 100%; max-width: 190px; aspect-ratio: 280 / 97; background: url("data:image/png;base64,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") left center / contain no-repeat; }
.lateral nav { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 1px; font-size: inherit; }
.lateral-grupo { color: var(--navy-suave); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; padding: 14px 12px 5px; }
.lateral a, .lateral .salir {
  display: flex; align-items: center; gap: 11px; padding: 7px 12px; border-radius: 8px;
  color: var(--navy-txt); text-decoration: none; font-size: .9rem; line-height: 1.3;
}
.lateral a:hover, .lateral .salir:hover { background: var(--navy-2); color: #fff; }
.lateral a.activo { background: var(--navy-3); color: #fff; box-shadow: inset 3px 0 0 var(--turquesa); }
.lateral a span:not(.chat-badge) { flex: 1; min-width: 0; }
.lateral .chat-badge { background: var(--naranja); }
.ico { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.lateral-pie { margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); display: flex; flex-direction: column; gap: 2px; }
.lateral-pie small { display: block; color: var(--navy-suave); font-size: .72rem; }
.lateral-pie form { margin: 0; }
.lateral .salir { width: 100%; background: none; border: 0; font: inherit; font-size: .9rem; cursor: pointer; text-decoration: none; }
.barra-movil, .velo { display: none; }

@media (max-width: 900px) {
  .con-lateral .contenido { margin-left: 0; }
  .con-lateral main { padding: 18px 16px 40px; }
  .barra-movil {
    display: flex; align-items: center; gap: 12px; position: sticky; top: 0; z-index: 30;
    background: var(--navy); color: #fff; padding: 10px 16px; padding-top: max(10px, env(safe-area-inset-top, 0px));
  }
  .marca-movil { color: #fff; text-decoration: none; font-weight: 700; letter-spacing: .06em; font-size: 1.1rem; flex: 1; }
  .boton-menu { display: flex; flex-direction: column; justify-content: center; gap: 4px; width: 38px; height: 38px; margin: 0; padding: 8px; cursor: pointer; border-radius: 8px; }
  .boton-menu span { display: block; height: 2px; background: #fff; border-radius: 2px; }
  .chat-movil { position: relative; color: #fff; display: flex; padding: 6px; }
  .chat-movil .ico { width: 24px; height: 24px; }
  .chat-movil .chat-badge { position: absolute; top: -2px; right: -4px; background: var(--naranja); }
  .lateral { transform: translateX(-100%); transition: transform .2s ease; width: min(280px, 85vw); }
  .menu-abrir:checked ~ .lateral { transform: none; box-shadow: 0 0 40px rgba(0,0,0,.3); }
  .menu-abrir:checked ~ .velo { display: block; position: fixed; inset: 0; z-index: 35; background: rgba(10,40,71,.45); margin: 0; }
}

/* ---------- Componentes ---------- */
.tarjeta { border: 1px solid var(--borde); border-radius: 12px; box-shadow: 0 1px 2px rgba(10,40,71,.04); }
.aviso { border-radius: 10px; }
table { border-collapse: collapse; }
thead th { color: var(--suave); font-weight: 500; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--borde); }
tbody tr:hover > td { background: #f6f8fb; }
.boton, a.boton, .boton-peq.primario { background: var(--navy); border-color: var(--navy); color: #fff; }
.boton:hover, a.boton:hover, .boton-peq.primario:hover { background: var(--navy-3); }
.boton-peq { border-radius: 8px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--navy-3); outline-offset: 1px; }
.chat-badge { background: var(--naranja); }
.chat-cab { background: var(--navy); }
.chat-msg.propio { background: var(--navy); color: #fff; }
.chat-msg.propio .chat-hora { color: #c9d6e6; }
.chat-msg.propio .chat-serv { background: #fff; color: var(--navy); }
.chat-msg.ajeno { background: #e6ebf2; }

@media print { .lateral, .barra-movil, .velo { display: none !important; } .con-lateral .contenido { margin-left: 0; } }

/* ---------- Modo oscuro (botón «Modo oscuro» del menú; se recuerda en este dispositivo) ---------- */
.boton-tema { display: flex; align-items: center; gap: 11px; width: 100%; padding: 7px 12px; border: 0; border-radius: 8px; background: none; color: var(--navy-txt); font: inherit; font-size: .9rem; cursor: pointer; text-align: left; }
.boton-tema:hover { background: var(--navy-2); color: #fff; }
.boton-tema .solo-oscuro { display: none; }
:root[data-theme="dark"] .boton-tema .solo-claro { display: none; }
:root[data-theme="dark"] .boton-tema .solo-oscuro { display: inline; }
.barra .boton-tema { width: auto; padding: 0; color: #fff; font-size: 15px; }
.barra .boton-tema:hover { background: none; }

:root[data-theme="dark"] {
  color-scheme: dark;
  --fondo: #0d1520; --tarjeta: #162131; --texto: #e3eaf3; --suave: #9fb0c3; --borde: #2a3a4f; --marca: #8cc4ff;
  --navy: #081c33; --navy-2: #102a48; --navy-3: #18385d; --error: #ff8a80; --ok: #7fd49a;
}
:root[data-theme="dark"] body { background: var(--fondo); color: var(--texto); }
:root[data-theme="dark"] a { color: #8cc4ff; }
:root[data-theme="dark"] .lateral a, :root[data-theme="dark"] .barra a { color: var(--navy-txt); }
:root[data-theme="dark"] .lateral a.activo, :root[data-theme="dark"] .barra a { color: #fff; }
:root[data-theme="dark"] .lateral { border-right: 1px solid #1d3048; }
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea { background: #0f1a28; color: var(--texto); border-color: var(--borde); }
:root[data-theme="dark"] input:disabled, :root[data-theme="dark"] select:disabled, :root[data-theme="dark"] textarea:disabled { background: #1a2636; color: var(--suave); }
:root[data-theme="dark"] tbody tr:hover > td { background: #1c2a3d; }
:root[data-theme="dark"] th, :root[data-theme="dark"] td { border-color: var(--borde); }
:root[data-theme="dark"] .aviso.error { background: #3b1d1f; color: #ffb4ab; }
:root[data-theme="dark"] .aviso.ok { background: #14301f; color: #9fe0b4; }
:root[data-theme="dark"] .boton-peq { background: transparent; color: #cfe3ff; border-color: #4a6a90; }
:root[data-theme="dark"] .boton-peq:hover { background: #1c2a3d; }
:root[data-theme="dark"] .boton, :root[data-theme="dark"] a.boton, :root[data-theme="dark"] .boton-peq.primario { background: #2a5d94; border-color: #2a5d94; color: #fff; }
:root[data-theme="dark"] .etiqueta { background: #26364a; color: var(--texto); }
:root[data-theme="dark"] .etiqueta.estado-emitida { background: #4d3f0a; color: #ffe08a; }
:root[data-theme="dark"] .etiqueta.estado-aprobada { background: #173d24; color: #a6e9b8; }
:root[data-theme="dark"] .etiqueta.estado-enviada { background: #16324f; color: #a9d0ff; }
:root[data-theme="dark"] .etiqueta.estado-incidencia, :root[data-theme="dark"] .estado-incidencia { background: #4a1d1d; color: #ffb4ab; }
:root[data-theme="dark"] .estado-en_curso { background: #4d3f0a; color: #ffe08a; }
:root[data-theme="dark"] .estado-entregado { background: #173d24; color: #a6e9b8; }
:root[data-theme="dark"] details.rectificar[open] { background: var(--tarjeta); }
:root[data-theme="dark"] .mapa-lista li.clic:hover { background: #1c2a3d; }
:root[data-theme="dark"] .chat-lista, :root[data-theme="dark"] .chat-conversacion { background: var(--tarjeta); border-color: var(--borde); }
:root[data-theme="dark"] .chat-lista li a { color: var(--texto); }
:root[data-theme="dark"] .chat-lista li.activo a, :root[data-theme="dark"] .chat-lista li a:hover { background: #1c2a3d; }
:root[data-theme="dark"] .chat-mensajes { background: #0f1a28; }
:root[data-theme="dark"] .chat-msg.ajeno { background: #24364d; color: var(--texto); }
:root[data-theme="dark"] .chat-msg.propio { background: #2a5d94; }
:root[data-theme="dark"] .chat-adjuntar { background: #0f1a28; border-color: var(--borde); }
:root[data-theme="dark"] .chat-escribir, :root[data-theme="dark"] .chat-cab { border-color: var(--borde); }
:root[data-theme="dark"] .chat-hora, :root[data-theme="dark"] .chat-vacio, :root[data-theme="dark"] .chat-legal, :root[data-theme="dark"] .nota { color: var(--suave); }
:root[data-theme="dark"] #lienzo-firma, :root[data-theme="dark"] .pod-firma, :root[data-theme="dark"] .imagenes-prueba img.firma { background: #fff; }

/* ---------- App del conductor (prototipo A): cabecera azul, pestañas abajo Hoy · Chat · Cobros · Yo ---------- */
.app-conductor { padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px)); }
.app-cab { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: var(--navy); color: #fff; padding: 10px max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px));
  padding-top: max(10px, env(safe-area-inset-top, 0px)); border-bottom: 2px solid var(--turquesa); }
.app-logo { display: block; width: 116px; }
.app-logo .logo-menu { max-width: 116px; }
.app-quien { font-size: .9rem; color: #c9d6e6; text-align: right; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-tabs { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
  background: var(--tarjeta); border-top: 1px solid var(--borde); box-shadow: 0 -2px 10px rgba(10,40,71,.06);
  padding: 6px max(8px, env(safe-area-inset-right, 0px)) calc(6px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px)); }
.app-tabs a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 4px; border-radius: 10px; color: var(--suave); text-decoration: none; font-size: .75rem; font-weight: 500; }
.app-tabs a.activo { color: var(--navy); }
.app-tabs a.activo .app-ico { background: #dff9f6; }
.app-ico { position: relative; display: flex; align-items: center; justify-content: center; width: 52px; height: 30px; border-radius: 15px; }
.app-ico .ico { width: 22px; height: 22px; }
.app-ico .chat-badge { position: absolute; top: -4px; right: 4px; }
.app-conductor main { max-width: 720px; padding: 16px max(16px, env(safe-area-inset-right, 0px)) 24px max(16px, env(safe-area-inset-left, 0px)); }
/* Tarjetas de servicio: franja de color según el estado y botones grandes para usar con el dedo */
.servicio-movil { border-left: 5px solid var(--navy); border-radius: 14px; }
.servicio-movil:has(.estado-en_curso), .servicio-movil:has(.estado-recogido) { border-left-color: var(--naranja); }
.servicio-movil.hecho, .servicio-movil:has(.estado-entregado) { border-left-color: var(--verde); }
.servicio-movil:has(.estado-incidencia) { border-left-color: var(--rojo); }
.servicio-movil .cabeza strong { font-size: 1.05rem; }
.app-conductor .boton-peq { min-height: 44px; padding: 10px 14px; font-size: 1rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; }
.app-conductor .navegar { display: flex; gap: 8px; flex-wrap: wrap; }
.app-conductor .navegar .boton-peq { flex: 1 1 120px; }
.app-conductor .atajos { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.app-conductor .atajos .boton-peq { flex: none; border-radius: 999px; }
.app-conductor .atajos .activo { background: var(--navy); color: #fff; border-color: var(--navy); }
/* Pestaña «Yo» */
.app-perfil { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.app-avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font-size: 1.5rem; font-weight: 700; box-shadow: 0 0 0 3px var(--turquesa); }
.app-lista { display: flex; flex-direction: column; background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 14px; overflow: hidden; }
.app-lista > a, .app-lista > .boton-tema, .app-lista .app-salir { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 56px; padding: 12px 16px;
  color: var(--texto); text-decoration: none; font: inherit; font-size: 1rem; background: none; border: 0; border-bottom: 1px solid var(--borde); border-radius: 0; cursor: pointer; text-align: left; }
.app-lista > a:hover, .app-lista > .boton-tema:hover { background: var(--fondo); color: var(--texto); }
.app-lista span { flex: 1; }
.app-lista b { color: var(--suave); font-size: 1.3rem; font-weight: 400; }
.app-lista form { margin: 0; }
.app-lista .app-salir { color: var(--rojo); border-bottom: 0; }
.app-lista .ico { width: 22px; height: 22px; }
.app-legal { margin-top: 16px; }
:root[data-theme="dark"] .app-tabs a.activo { color: #fff; }
:root[data-theme="dark"] .app-tabs a.activo .app-ico { background: #17414a; }
:root[data-theme="dark"] .app-lista > a, :root[data-theme="dark"] .app-lista > .boton-tema { color: var(--texto); }
:root[data-theme="dark"] .app-lista .app-salir { color: #ff8a80; }
@media print { .app-tabs, .app-cab { display: none !important; } }

/* ---------- Documentación ---------- */
label input[type="checkbox"], label input[type="radio"], .enlinea input[type="checkbox"] { display: inline-block; width: auto; margin: 0 6px 0 0; vertical-align: middle; }
label.enlinea { display: inline-flex; align-items: center; margin: 0 12px 6px 0; font-weight: 400; }
.app-aviso-docs { display: block; margin: 12px max(16px, env(safe-area-inset-left, 0px)) 0; padding: 12px 14px; border-radius: 12px; background: #fff3e0; color: #7a4a00; font-weight: 500; text-decoration: none; border: 1px solid #f0c48a; }
.app-aviso-docs.bloqueo { background: #fdecea; color: #8a1c1c; border-color: #f3b5ae; }
.doc-item { border-left: 5px solid var(--borde); }
.doc-item.doc-ok { border-left-color: var(--verde); }
.doc-item.doc-caduca_pronto, .doc-item.doc-pendiente { border-left-color: var(--naranja); }
.doc-item.doc-falta, .doc-item.doc-rechazado, .doc-item.doc-caducado { border-left-color: var(--rojo); }
.doc-item .cabeza { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; flex-wrap: wrap; }
.doc-item details summary { cursor: pointer; font-weight: 500; color: var(--navy); padding: 6px 0; }
.doc-revisar { background: var(--fondo); border-radius: 10px; padding: 10px 12px; margin: 8px 0; }
.doc-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin: 6px 0; }
.doc-form label { margin: 0; flex: 1 1 220px; }
.doc-subir .boton { width: 100%; }
.app-lista .chat-badge { flex: none; }
:root[data-theme="dark"] .app-aviso-docs { background: #4d3f0a; color: #ffe08a; border-color: #7a6214; }
:root[data-theme="dark"] .app-aviso-docs.bloqueo { background: #3b1d1f; color: #ffb4ab; border-color: #6b2b2b; }
:root[data-theme="dark"] .doc-item details summary { color: #8cc4ff; }

.rgpd-texto p { font-size: .92rem; line-height: 1.55; }
.lienzo-firma-rgpd { display: block; width: 100%; max-width: 600px; height: 200px; background: #fff; border: 2px dashed var(--navy); border-radius: 12px; touch-action: none; }

/* ---------- Dashboard en modo oscuro (tarjetas y gráficas) ---------- */
:root[data-theme="dark"] .kpi { background: var(--tarjeta); border-color: var(--borde); }
:root[data-theme="dark"] .kpi.k-fact, :root[data-theme="dark"] .kpi:not(.k-pago):not(.k-coste):not(.k-benef) { border-left-color: #4f8fd6; }
:root[data-theme="dark"] .kpi-titulo, :root[data-theme="dark"] .kpi-nota { color: var(--suave); }
:root[data-theme="dark"] .kpi-valor { color: var(--texto); }
:root[data-theme="dark"] .g-texto { fill: #b8c6d6; }
:root[data-theme="dark"] .g-rejilla { stroke: #24344a; }
:root[data-theme="dark"] .g-eje { stroke: #4a5d73; }
:root[data-theme="dark"] .s-fact, :root[data-theme="dark"] .s-c1 { fill: #4f8fd6; background: #4f8fd6; }
:root[data-theme="dark"] .kpi.k-pago { border-left-color: #e08a1e; }
:root[data-theme="dark"] .kpi.k-coste { border-left-color: #e0584a; }
:root[data-theme="dark"] .kpi.k-benef { border-left-color: #3fae6e; }

/* ---------- Chat estilo WhatsApp: escribir fijo abajo, solo se mueve la conversación ---------- */
main:has(> .chat-app) { padding-top: 12px; padding-bottom: 0; max-width: 1280px; }
.chat-app { display: grid; grid-template-columns: 1fr; gap: 14px; height: calc(100dvh - 140px); min-height: 320px; max-width: none; }
.chat-app.chat-oficina { grid-template-columns: 280px minmax(0, 1fr); }
.chat-lista { max-height: none; overflow-y: auto; min-height: 0; }
.chat-conversacion { display: flex; flex-direction: column; min-height: 0; height: 100%; overflow: hidden; }
.chat-cab { flex: none; display: flex; align-items: center; gap: 10px; }
.chat-cab strong { flex: 1; min-width: 0; }
.chat-volver { display: none; color: #fff; text-decoration: none; font-size: 1.3rem; line-height: 1; }
.chat-mensajes { flex: 1 1 auto; height: auto !important; min-height: 0; overflow-y: auto; overscroll-behavior: contain;
  background-color: #e9eef4; background-image: radial-gradient(rgba(10,40,71,.05) 1px, transparent 1px); background-size: 14px 14px; }
.chat-cifrado { align-self: center; max-width: 90%; margin: 0 0 6px; padding: 6px 10px; border-radius: 8px; background: #fff7d6; color: #6b5a12; font-size: .75rem; text-align: center; }
.chat-escribir { flex: none; display: flex; flex-direction: column; gap: 6px; padding: 8px; background: var(--tarjeta); border-top: 1px solid var(--borde); }
.chat-escribir select { flex: none !important; width: 100%; height: auto; margin: 0; font-size: .85rem; padding: 6px 8px; }
.chat-fila { flex: none; display: flex; align-items: flex-end; gap: 6px; }
.chat-escribir .chat-emojis { flex: none; }
.chat-fila textarea { flex: 1; min-width: 0; margin: 0; resize: none; min-height: 42px; max-height: 120px; border-radius: 21px; padding: 10px 14px; line-height: 1.35; overflow-y: auto; }
.chat-emoji-btn, .chat-adjuntar { flex: none; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%;
  border: 0; background: transparent; font-size: 1.35rem; cursor: pointer; padding: 0; margin: 0; }
.chat-emoji-btn:hover, .chat-adjuntar:hover { background: var(--fondo); }
.chat-enviar.boton, .chat-escribir .chat-enviar { flex: none; width: 42px; height: 42px; min-height: 0; padding: 0; border-radius: 50%; font-size: 1.1rem; display: inline-flex; align-items: center; justify-content: center; margin: 0; }
.chat-emojis { display: grid; grid-template-columns: repeat(auto-fill, minmax(38px, 1fr)); gap: 2px; max-height: 160px; overflow-y: auto; padding: 4px; border-bottom: 1px solid var(--borde); }
.chat-emojis button { border: 0; background: transparent; font-size: 1.4rem; height: 38px; border-radius: 8px; cursor: pointer; padding: 0; }
.chat-emojis button:hover { background: var(--fondo); }
.chat-error { flex: none; margin: 0; padding: 4px 10px; }
.app-conductor main:has(> .chat-app) { padding-left: 8px; padding-right: 8px; }
.app-conductor .chat-app { height: calc(100dvh - 150px); }
@media (max-width: 700px) {
  .chat-app.chat-oficina { grid-template-columns: 1fr; }
  .chat-app.chat-oficina.con-conversacion .chat-lista { display: none; }
  .chat-app.chat-oficina:not(.con-conversacion) .chat-conversacion { display: none; }
  .chat-volver { display: inline-block; }
  .chat-mensajes { padding: .6rem; }
}
:root[data-theme="dark"] .chat-mensajes { background-color: #0b1520; background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px); }
:root[data-theme="dark"] .chat-cifrado { background: #2e2a12; color: #e8d98a; }
:root[data-theme="dark"] .chat-escribir { background: var(--tarjeta); }
.chat-emojis[hidden] { display: none !important; }
.chat-fila textarea { flex: 1 1 auto !important; width: auto !important; height: 42px; }
.chat-fila button.chat-enviar, .chat-fila button[type="submit"] { flex: none !important; width: 42px !important; height: 42px !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; }
.chat-fila .chat-emoji-btn { width: 42px !important; }
.chat-escribir { align-items: stretch !important; flex-wrap: nowrap !important; }

/* ---------- Libro de comprobantes ---------- */
.pestanas { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 16px; border-bottom: 2px solid var(--borde); }
.pestanas a { padding: 8px 14px; border-radius: 8px 8px 0 0; text-decoration: none; color: var(--suave); font-weight: 500; margin-bottom: -2px; border-bottom: 2px solid transparent; }
.pestanas a:hover { color: var(--texto); background: var(--tarjeta); }
.pestanas a.activa { color: var(--navy); border-bottom-color: var(--turquesa); background: var(--tarjeta); }
:root[data-theme="dark"] .pestanas a.activa { color: #fff; }
.tabla-compacta { font-size: .86rem; }
.tabla-compacta td, .tabla-compacta th { padding: 6px 6px; white-space: nowrap; }
.tabla-compacta td.nota { white-space: normal; min-width: 140px; }
tr.apagada td { opacity: .62; }
tr.total th { border-top: 2px solid var(--navy); background: var(--fondo); }
.rejilla-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0 14px; align-items: end; }
.rejilla-form .ancho-total { grid-column: 1 / -1; }
.rejilla-form button { justify-self: start; }
details.borrar { display: inline-block; }
details.borrar summary { display: inline-block; cursor: pointer; font-size: .8rem; color: var(--rojo); padding: 2px 6px; }
details.borrar form { margin-top: 4px; }
td.botones { white-space: nowrap; }
.filtros { align-items: center; }
.filtros select, .filtros input { width: auto; display: inline-block; margin: 0; }

.compro-adjuntos { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px; margin-bottom: 12px; border: 1px dashed var(--borde); border-radius: 10px; }
.compro-adjuntos .adjunto { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: .9rem; }
.adjuntos-celda { white-space: nowrap; }
.adjuntos-celda .boton-peq { padding: 2px 8px; }

/* ---------- Tablas anchas: como el chat, se desplazan dentro de su recuadro (la barra lateral queda siempre a la vista)
   y la cabecera y la primera columna se quedan fijas ---------- */
.tabla-scroll { max-height: calc(100dvh - 150px); overflow: auto; overscroll-behavior: contain; border-radius: 8px; }
.tabla-scroll > table { margin: 0; }
.tabla-scroll thead th { position: sticky; top: 0; z-index: 2; background: var(--tarjeta); box-shadow: inset 0 -1px 0 var(--borde); }
.tabla-scroll tbody td:first-child, .tabla-scroll tbody th:first-child { position: sticky; left: 0; z-index: 1; background: var(--tarjeta); }
.tabla-scroll thead th:first-child { left: 0; z-index: 3; }
.tabla-scroll tbody tr:hover > td:first-child { background: var(--fondo); }
.tabla-scroll tfoot th, .tabla-scroll tr.total th { position: sticky; bottom: 0; z-index: 2; background: var(--fondo); }
@media (max-width: 700px) { .tabla-scroll { max-height: calc(100dvh - 120px); } }
.resumen-cifras small.filtro-txt { display: block; font-size: .75rem; font-weight: 400; color: var(--suave); margin-top: 2px; }
.tabla-scroll tbody tr:hover > td:first-child { background: #f6f8fb; }
:root[data-theme="dark"] .tabla-scroll tbody tr:hover > td:first-child { background: #1c2a3d; }
.atajos select, .atajos input { width: auto; display: inline-block; margin: 0; }

/* ---------- Resumen claro (4 cifras) ---------- */
.claro { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0 0 14px; }
.claro-caja { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 14px; background: var(--tarjeta); border: 1px solid var(--borde); border-top: 4px solid var(--navy); }
.claro-caja.destacada { border-top-color: var(--turquesa); box-shadow: 0 2px 10px rgba(10,40,71,.08); }
.claro-titulo { font-size: .8rem; text-transform: uppercase; letter-spacing: .05em; color: var(--suave); font-weight: 500; }
.claro-caja strong { font-size: 1.7rem; line-height: 1.15; color: var(--texto); }
.claro-caja strong.rojo { color: var(--rojo); }
.claro-nota { font-size: .78rem; color: var(--suave); line-height: 1.35; }
details.tarjeta > summary, section details > summary { cursor: pointer; padding: 2px 0; }
details.tarjeta[open] > summary { margin-bottom: 10px; }
:root[data-theme="dark"] .claro-caja strong.rojo { color: #ff8a80; }
.boton-pantalla.activa { background: var(--navy-3); color: #fff; }
.ayuda-pantalla { font-size: .75rem; color: var(--navy-suave); margin: 2px 12px 6px; line-height: 1.35; }
/* Panel instalado como aplicación: un poco más de espacio arriba en Windows/Mac */
@media (display-mode: standalone) { .con-lateral main { padding-top: 20px; } }

/* Modo oscuro: los documentos (borrador de factura, liquidación del conductor, justificantes) en oscuro y legibles.
   Solo en pantalla: al imprimir o guardar en PDF siguen saliendo en blanco con letra azul. */
@media screen {
  :root[data-theme="dark"] .hoja { background: #162131; border-color: #2c3e55; }
  :root[data-theme="dark"] .hoja, :root[data-theme="dark"] .hoja *:not(.marca-agua) { color: #e6edf5; }
  :root[data-theme="dark"] .hoja a { color: #7fd3e0; }
  :root[data-theme="dark"] .hoja th { color: #9fb0c6; background: transparent; border-bottom-color: #2c3e55; }
  :root[data-theme="dark"] .hoja td { color: #e6edf5; background: transparent; border-bottom-color: #2c3e55; }
  :root[data-theme="dark"] .hoja tbody tr:hover > td { background: #1d2b3f; }
  :root[data-theme="dark"] .hoja .hoja-cliente { border-color: #2c3e55; }
  :root[data-theme="dark"] .hoja .nota, :root[data-theme="dark"] .hoja .nota * { color: #9fb0c6; }
  :root[data-theme="dark"] .hoja .rojo { color: #ff8a8a; }
  :root[data-theme="dark"] .hoja strong { color: #ffffff; }
}

/* Servicios: buscador por nº de servicio, a la derecha de los atajos */
.buscar-num { float: right; display: inline-flex; gap: 6px; align-items: center; margin: 0 0 6px 8px; order: 99; margin-left: auto; }
.buscar-num input { width: 8.5em; margin: 0; display: inline-block; }
@media (max-width: 600px) { .buscar-num { float: none; display: flex; margin: 0 0 8px 0; order: -1; flex-basis: 100%; } .buscar-num input { flex: 1; width: auto; } }
/* Memoria de direcciones (Nuevo servicio / editar): desplegable bajo Recogida, Entrega y paradas extra */
.con-sugerencias { position: relative; }
.sugerencias { position: absolute; left: 0; right: 0; z-index: 50; margin: 2px 0 0; padding: 4px 0; list-style: none;
  max-height: 280px; overflow-y: auto; background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .15); }
.sugerencias li { padding: 8px 12px; cursor: pointer; color: var(--texto); line-height: 1.3; }
.sugerencias li:hover, .sugerencias li.marcada { background: var(--fondo, rgba(0, 160, 170, .08)); outline: 2px solid var(--turquesa); outline-offset: -2px; }
.sugerencias li .nota { font-size: .85em; }

/* ===== Columnas que no se salen de la pantalla (03/11/2026) ===== */
.dos-columnas > * { min-width: 0; }
/* Apartados uno debajo de otro, a todo el ancho (p. ej. Comprobantes → Deudas clientes) */
.apilado > * + * { margin-top: 20px; }

/* ===== Móvil: tablas como tarjetas, columnas apiladas y formularios cómodos (assets/tablas-movil.js pone las etiquetas) ===== */
@media (max-width: 700px) {
  .dos-columnas, .dos-columnas > * { min-width: 0; }
  .dos-columnas { display: block !important; }
  .dos-columnas > * + * { margin-top: 16px; }
  .tarjeta { min-width: 0; max-width: 100%; box-sizing: border-box; }
  body.con-lateral .tabla-scroll:has(> table.tabla-movil) { overflow-x: visible !important; max-height: none !important; }
  body.con-lateral table.tabla-movil, body.con-lateral table.tabla-movil tbody, body.con-lateral table.tabla-movil tr, body.con-lateral table.tabla-movil td { display: block; width: auto !important; min-width: 0 !important; }
  body.con-lateral table.tabla-movil thead { display: none; }
  body.con-lateral table.tabla-movil tr { border: 1px solid rgba(127, 127, 127, .35); border-radius: 12px; padding: 10px 12px; margin: 0 0 12px; }
  body.con-lateral table.tabla-movil td { border: 0 !important; padding: 3px 0 !important; text-align: right !important; white-space: normal !important; display: flex; gap: 10px; justify-content: space-between; align-items: baseline; }
  body.con-lateral table.tabla-movil td[data-etiqueta]::before { content: attr(data-etiqueta); font-size: .78em; text-transform: uppercase; letter-spacing: .03em; opacity: .65; flex: 0 0 40%; text-align: left; }
  body.con-lateral table.tabla-movil td:first-child { display: block; text-align: left !important; font-weight: 600; font-size: 1.05em; }
  body.con-lateral table.tabla-movil td:first-child::before { display: none; }
  body.con-lateral table.tabla-movil td:empty { display: none; }
  body.con-lateral table.tabla-movil td.celda-ancha { display: block; text-align: left !important; }
  body.con-lateral table.tabla-movil td:last-child:has(.boton-peq, button, form, a.boton) { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start; padding-top: 10px !important; }
  body.con-lateral table.tabla-movil td:last-child:has(.boton-peq, button, form, a.boton)::before { display: none; }
  body.con-lateral table.tabla-movil .boton-peq, body.con-lateral table.tabla-movil td button { min-height: 40px; padding: 8px 14px; }
  body.con-lateral table.tabla-movil tfoot, body.con-lateral table.tabla-movil tfoot tr { display: block; }
  body.con-lateral table.tabla-movil tfoot td { display: flex; }
  body.con-lateral .rejilla-form { grid-template-columns: 1fr !important; }
  body.con-lateral .rejilla-form input:not([type=checkbox]):not([type=radio]), body.con-lateral .rejilla-form select, body.con-lateral .rejilla-form textarea { width: 100%; box-sizing: border-box; min-height: 44px; font-size: 16px; }
}

/* ===== Imprimir / guardar PDF siempre en claro, aunque el panel esté en modo oscuro (03/11/2026) ===== */
@media print {
  :root[data-theme="dark"] { color-scheme: light; --fondo: #fff; --tarjeta: #fff; --texto: #0a2847; --suave: #5a6b7d; --borde: #dde3eb; --marca: #0a2847; --navy: #0a2847; --navy-2: #13355c; --navy-3: #1d3f66; --error: #b3261e; --ok: #1e7b3a; }
  :root[data-theme="dark"] body, :root[data-theme="dark"] main, :root[data-theme="dark"] .contenido, :root[data-theme="dark"] .tarjeta, :root[data-theme="dark"] .hoja { background: #fff !important; border-color: #dde3eb !important; color: #0a2847 !important; }
  :root[data-theme="dark"] .hoja, :root[data-theme="dark"] .hoja :not(.marca-agua) { color: #0a2847 !important; }
  :root[data-theme="dark"] .hoja a, :root[data-theme="dark"] a { color: #0a2847 !important; }
  :root[data-theme="dark"] .hoja th { color: #5a6b7d !important; background: transparent !important; border-bottom-color: #c9d2de !important; }
  :root[data-theme="dark"] .hoja td { color: #0a2847 !important; background: transparent !important; border-bottom-color: #c9d2de !important; }
  :root[data-theme="dark"] .marca-agua { color: rgba(0, 0, 0, .12) !important; }
}

/* ===== PDF sin cortes: nada se sale por la derecha, ninguna fila se parte entre dos hojas y los totales van juntos al final (03/11/2026) ===== */
@media print {
  .tabla-scroll { overflow: visible !important; max-height: none !important; }
  .tabla-scroll thead th, .tabla-scroll tbody td:first-child, .tabla-scroll tbody th:first-child, .tabla-scroll tfoot th, .tabla-scroll tr.total th { position: static !important; }
  .contenido, main, .tarjeta, .hoja { width: auto !important; max-width: none !important; min-width: 0 !important; overflow: visible !important; box-shadow: none !important; }
  table { width: 100% !important; max-width: 100% !important; }
  td { overflow-wrap: break-word; }
  .hoja table.lineas th, .hoja table.lineas td { font-size: 11px; padding: 3px 5px; }
  .hoja table.lineas td * { font-size: inherit !important; }
  .hoja th.num, .hoja td.num, .hoja td:first-child, .hoja th { white-space: nowrap; }
  thead { display: table-header-group; }
  tr, td, th { break-inside: avoid; page-break-inside: avoid; }
  .hoja tfoot { display: table-row-group; }
  .hoja tfoot tr:first-child { break-before: avoid; page-break-before: avoid; }
  .hoja tfoot, .hoja .nota, .hoja-cabeza { break-inside: avoid; page-break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; page-break-after: avoid; }
}

/* ===== Datos de NAJESA (destinatario) en un recuadro separado del borde, para no confundirlos con los del conductor (03/11/2026) ===== */
.hoja-cabeza { align-items: flex-start; gap: 24px; }
.hoja-cabeza > .derecha { margin: 0 8px 0 auto; padding: 10px 16px; border: 1px solid var(--borde); border-radius: 8px; text-align: left; line-height: 1.5; max-width: 55%; }
@media print { .hoja-cabeza > .derecha { margin-right: 4mm; border-color: #c9d2de; } }

/* ===== Presupuestos a clientes (03/11/2026) ===== */
.logo-presupuesto { max-height: 56px; width: auto; margin-bottom: 8px; }
.presupuesto .hoja-cabeza > .derecha { min-width: 220px; }


/* Observación de cada parada en «Nuevo servicio» y en la app (03/11/2026) */
.nota-parada-input { font-size: .92em; }
label + .nota-parada-input { display: block; width: 100%; margin: -4px 0 12px; }
.fila-parada .nota-parada-input { grid-column: 2 / 3; grid-row: 2; margin-top: 0; }
@media (max-width: 560px) { .fila-parada .nota-parada-input { grid-column: 1 / -1; grid-row: auto; } }
.parada .aviso-parada { margin: 4px 0 6px; padding: 6px 10px; }

/* POD con varias entregas (cada una con su foto y su firma) */
.pod-titulo-entregas { margin: 14px 0 6px; }
.pod-entrega { border-top: 1px solid #c9d3e0; margin-top: 10px; padding-top: 8px; break-inside: avoid; page-break-inside: avoid; }
.pod-entrega .pod-imagenes { display: flex; flex-wrap: wrap; gap: 12px; }
.pod-entrega .pod-imagenes figure { margin: 0; }
.pod-entrega .pod-imagenes img { max-height: 200px; max-width: 100%; }

/* Fotos de la oficina en las paradas (ficha del servicio y app del conductor) */
.fotos-parada { display: flex; flex-wrap: wrap; gap: .5rem; margin: .4rem 0; }
.fotos-parada figure { margin: 0; max-width: 132px; }
.fotos-parada img { width: 120px; height: 90px; object-fit: cover; border-radius: 6px; display: block; }
.fotos-parada figcaption { font-size: .8rem; margin-top: .2rem; }

/* App del conductor: servicio plegado; al tocarlo salen los detalles y los botones */
.resumen-movil { margin: .3rem 0 .2rem; }
.servicio-detalle > summary { list-style: none; cursor: pointer; margin: .4rem 0; display: inline-block; }
.servicio-detalle > summary::-webkit-details-marker { display: none; }
.servicio-detalle .si-abierto, .servicio-detalle[open] > summary .si-cerrado { display: none; }
.servicio-detalle[open] > summary .si-abierto { display: inline; }
