/* lavanderia.css — piezas de los módulos de lavandería industrial (js/lavanderia.js). */

/* Plazo y etapas */
.plazo { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 99px; font-size: 11.5px; font-weight: 650; white-space: nowrap; }
.plazo.is-ok { background: color-mix(in oklab, #17803D 11%, white); color: #17803D; }
.plazo.is-warn { background: #FEF3E2; color: #B45309; }
.plazo.is-late { background: color-mix(in oklab, #C2312F 11%, white); color: #C2312F; }
.etapa-pill { display: inline-block; padding: 3px 9px; border-radius: 99px; font-size: 11.5px; font-weight: 650; white-space: nowrap; background: var(--brand-soft); color: var(--brand-ink); }
.etapa-pill.e0 { background: #EEF0F3; color: var(--ink-2); }
.etapa-pill.e4 { background: #FEF3E2; color: #B45309; }
.etapa-pill.e5 { background: color-mix(in oklab, #17803D 11%, white); color: #17803D; }
.tag.is-bad { background: color-mix(in oklab, #C2312F 10%, white); color: #C2312F; font-weight: 600; }
.tag.is-warn { background: #FEF3E2; color: #B45309; font-weight: 600; }
.tag.is-good { background: color-mix(in oklab, #17803D 10%, white); color: #17803D; font-weight: 600; }
.mov-ic.is-task { background: #FEF3E2; color: #B45309; }
.late { color: #C2312F; font-weight: 600; }
.lav-note { margin: 10px 2px 0; font-size: 12.5px; }
.lav-h2 { font-size: 16px; font-weight: 650; margin: 26px 0 12px; }
.nowrap { white-space: nowrap; }
.cell-sub { display: block; color: var(--mute); font-size: 12px; margin-top: 2px; font-weight: 400; }
.btn-icon-sm.is-neutral:hover { background: #F0F2F5; color: var(--ink); }

/* Planta hoy: barras de kilos por día */
.lav-bars { display: flex; align-items: flex-end; gap: 6px; height: 210px; padding-top: 16px; }
.lav-bar-col { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 5px; }
.lav-bar { display: block; width: min(30px, 100%); border-radius: 6px 6px 2px 2px; background: color-mix(in oklab, var(--brand) 24%, white); transition: background .2s; }
.lav-bar-col:hover .lav-bar, .lav-bar-col.is-last .lav-bar { background: var(--brand); }
.lav-bar-val { font-size: 10px; font-weight: 600; color: var(--ink-2); font-variant-numeric: tabular-nums; min-height: 13px; white-space: nowrap; }
.lav-bar-lbl { font-size: 10.5px; color: var(--mute); white-space: nowrap; }
.lav-progress { margin: 0 0 12px; font-size: 13px; color: var(--mute); }
.lav-progress b { color: var(--ink); font-size: 15px; }
.lav-progress span { display: block; height: 7px; border-radius: 99px; background: #EEF0F3; overflow: hidden; margin-top: 6px; }
.lav-progress i { display: block; height: 100%; background: var(--brand); border-radius: 99px; }
.lav-alerts .empty { list-style: none; }

/* Producción */
.lav-board { grid-auto-columns: minmax(220px, 1fr); }
.lav-card { cursor: grab; }
.lav-card[draggable="false"] { cursor: default; }
.lav-card-meta { font-size: 12.5px; color: var(--mute); }
.lav-card .deal-foot { gap: 6px; }
.lav-card .btn-sm .ic { width: 14px; height: 14px; }

/* Remitos */
.lav-select { height: 32px; border: 1px solid var(--line-2); border-radius: 99px; padding: 0 12px; background: var(--card); font-size: 13px; font-weight: 500; color: var(--ink-2); }
.table tbody tr[data-lav] { cursor: pointer; }
.modal-card.is-wide { width: min(760px, 100%); }
.lav-qty-wrap { border: 1px solid var(--line); border-radius: 12px; padding: 12px; background: #FAFBFC; }
.lav-qty-head { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; font-size: 13px; }
.lav-qty { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.lav-qty-item { display: flex; flex-direction: column; gap: 4px; padding: 8px 10px; border-radius: 9px; background: #fff; border: 1px solid var(--line); font-size: 12.5px; font-weight: 550; color: var(--ink-2); }
.lav-qty-item.has-val { border-color: var(--brand-line); }
.lav-qty-item input { height: 34px; border: 1px solid var(--line-2); border-radius: 7px; padding: 0 9px; font-size: 15px; font-weight: 600; width: 100%; outline: 0; }
.lav-qty-item input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.lav-rem-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.lav-rem-top > div { display: flex; flex-direction: column; gap: 2px; }
.lav-rem-top b { font-size: 16px; }
.lav-kv { grid-template-columns: 1fr 1fr; gap: 10px 22px; margin-bottom: 14px; }
.lav-kv dd { display: flex; align-items: center; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }
.lav-lines { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.lav-lines th, .lav-lines td { padding: 9px 12px; }
.lav-lines tbody tr { cursor: default; }
.lav-lines tr.is-bad td { background: color-mix(in oklab, #C2312F 6%, white); }
.lav-in { width: 74px; height: 32px; border: 1px solid var(--line-2); border-radius: 7px; padding: 0 8px; text-align: right; font-weight: 600; outline: 0; }
.lav-in:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.lav-hint { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 10px 12px; border-radius: 9px; background: var(--brand-soft); color: var(--brand-ink); font-size: 13px; font-weight: 500; }
.lav-hint .ic { width: 16px; height: 16px; flex-shrink: 0; }
.lav-obs { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; padding: 9px 12px; border-radius: 9px; background: #FEF3E2; color: #B45309; font-size: 13px; }
.lav-obs .ic { width: 15px; height: 15px; flex-shrink: 0; }

/* Recorridos */
.lav-routes { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 14px; }
.lav-route-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.lav-route-head > div { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.lav-route-head .muted { font-size: 12.5px; }
.lav-route-head .btn .ic { width: 14px; height: 14px; }
.lav-stops { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lav-stop { display: grid; grid-template-columns: 46px auto 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; }
.lav-stop.is-done { background: #F7F8FA; }
.lav-stop.is-done .lav-stop-main b { color: var(--mute); }
.lav-stop.is-late { border-color: color-mix(in oklab, #C2312F 35%, white); }
.lav-stop-hora { font-weight: 650; font-variant-numeric: tabular-nums; font-size: 13px; }
.lav-stop-tipo { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 3px 7px; border-radius: 6px; }
.lav-stop-tipo.t-retiro { background: color-mix(in oklab, #17803D 11%, white); color: #17803D; }
.lav-stop-tipo.t-entrega { background: var(--brand-soft); color: var(--brand-ink); }
.lav-stop-main { display: flex; flex-direction: column; min-width: 0; }
.lav-stop-main b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.lav-stop-main .muted { font-size: 12px; }
.lav-done { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: #17803D; white-space: nowrap; }
.lav-done .ic { width: 14px; height: 14px; }

/* Insumos */
.lav-stock { display: grid; grid-template-columns: 110px auto auto; align-items: center; gap: 4px 10px; }
.lav-stock > span { position: relative; height: 8px; border-radius: 99px; background: #EEF0F3; overflow: hidden; }
.lav-stock i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 99px; background: #17803D; }
.lav-stock i.is-bad { background: #C2312F; }
.lav-stock em { position: absolute; top: 0; bottom: 0; width: 2px; background: rgba(16, 18, 22, .35); }
.lav-stock b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.lav-stock small { font-size: 11.5px; white-space: nowrap; }
.table tr.is-low td { background: color-mix(in oklab, #C2312F 4%, white); }
.lav-maqs { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.lav-maq { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.lav-maq-top { display: flex; align-items: center; gap: 10px; }
.lav-maq-top > div { display: flex; flex-direction: column; }
.lav-maq p { margin: 0; font-size: 12.5px; }
.lav-maq .btn .ic { width: 14px; height: 14px; }

/* Ficha del hotel */
.lav-ficha .mini-deal .etapa-pill { margin-top: 2px; }

@media (max-width: 860px) {
  .lav-routes { grid-template-columns: 1fr; }
  .lav-stop { grid-template-columns: 42px 1fr; }
  .lav-stop-tipo { grid-column: 2; justify-self: start; }
  .lav-stop-main { grid-column: 1 / -1; }
  .lav-stop > .btn, .lav-stop > .lav-done, .lav-stop > .muted, .lav-stop > .etapa-pill { grid-column: 1 / -1; justify-self: start; }
  .lav-kv { grid-template-columns: 1fr; }
  .lav-bars { gap: 3px; }
  .lav-bar-val { display: none; }
  .lav-stock { grid-template-columns: 70px auto; }
  .lav-stock small { display: none; }
}
.lav-card .deal-foot { flex-wrap: wrap; justify-content: space-between; }
.lav-card .deal-foot .btn-sm { height: 28px; padding: 0 9px; font-size: 12px; margin-left: auto; }
/* Quién está a cargo de cada etapa (Producción) */
.lav-resp { display: flex; flex-wrap: wrap; gap: 4px; margin: -4px 0 10px; }
.lav-resp span { display: inline-flex; align-items: center; gap: 5px; padding: 2px 8px 2px 2px; border-radius: 99px; background: rgba(255, 255, 255, .85); font-size: 11.5px; font-weight: 600; color: var(--ink-2); }
.lav-resp .avatar { width: 20px; height: 20px; font-size: 8.5px; }

/* Solo choferes: avisos y acciones de reparto */
.lav-hint.is-info { background: #EEF0F3; color: var(--ink-2); }
.lav-route.is-mine { border-color: var(--brand-line); box-shadow: 0 0 0 3px var(--brand-soft); }
.lav-stop-acts { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.lav-stop-acts .link { font-size: 11.5px; }
.lav-espera { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; font-weight: 600; color: #B45309; }
.lav-espera .ic { width: 13px; height: 13px; }

/* Productos y máquinas */
.lav-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 99px; background: #C2312F; color: #fff; font-size: 11px; font-weight: 700; }
.lav-pend { margin-bottom: 14px; border-color: #F3D9B1; background: #FFFBF3; }
.lav-pend h2 { display: flex; align-items: center; gap: 8px; }
.lav-pend h2 .ic { width: 17px; height: 17px; color: #B45309; }
.lav-pend-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lav-pend-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 10px; background: #fff; border: 1px solid #F3E3C6; flex-wrap: wrap; }
.lav-pend-list li > div { display: flex; flex-direction: column; min-width: 0; }
.lav-pend-list .muted { font-size: 12.5px; }
.lav-pend-acts { display: inline-flex; align-items: center; gap: 4px; }
.lav-ticket { width: 38px; height: 46px; padding: 0; border: 1px solid var(--line-2); border-radius: 6px; overflow: hidden; background: #fff; cursor: zoom-in; display: block; }
.lav-ticket img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lav-foto-big { display: block; max-width: 100%; max-height: 70vh; margin: 0 auto; border-radius: 10px; border: 1px solid var(--line); }
.lav-file { position: relative; display: flex; align-items: center; gap: 10px; padding: 14px; border-radius: 10px; border: 1.5px dashed var(--brand-line); background: var(--brand-soft); color: var(--brand-ink); font-weight: 600; font-size: 13px; cursor: pointer; }
.lav-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.lav-file .ic { width: 20px; height: 20px; flex-shrink: 0; }
.lav-file.has-file { border-style: solid; }
.lav-maq.is-down { border-color: color-mix(in oklab, #C2312F 30%, white); }
.lav-orden { display: flex; flex-direction: column; gap: 2px; padding: 9px 11px; border-radius: 9px; background: color-mix(in oklab, #C2312F 6%, white); width: 100%; font-size: 13px; }
.lav-orden .muted { font-size: 12px; }

/* Propuestas: tablero simple */
.pp-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(220px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 10px; align-items: start; }
.pp-col { background: #ECEEF1; border-radius: 12px; padding: 10px; display: flex; flex-direction: column; gap: 8px; min-height: 200px; }
.pp-col.is-won { background: color-mix(in oklab, #17803D 8%, white); }
.pp-col.is-lost { background: color-mix(in oklab, #C2312F 6%, white); }
.pp-col-head { display: flex; justify-content: space-between; align-items: center; padding: 2px 4px 4px; font-weight: 650; font-size: 13px; }
.pp-col-head span { display: inline-flex; align-items: center; gap: 5px; }
.pp-col-head .ic { width: 14px; height: 14px; }
.pp-col-head b { font-size: 12px; color: var(--mute); background: rgba(255, 255, 255, .85); padding: 1px 8px; border-radius: 99px; }
.pp-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; display: flex; flex-direction: column; gap: 6px; box-shadow: var(--shadow); }
.pp-hotel { font-size: 14.5px; font-weight: 650; line-height: 1.3; }
.pp-meta { font-size: 12.5px; color: var(--mute); }
.pp-meta b { color: var(--ink); }
.pp-acts { display: flex; align-items: center; justify-content: space-between; gap: 6px; flex-wrap: wrap; padding-top: 6px; border-top: 1px solid var(--line); }
.pp-acts .btn-sm { height: 28px; padding: 0 9px; font-size: 12px; }
.pp-acts .btn-sm .ic { width: 13px; height: 13px; }
.pp-caido { display: inline-flex; align-items: center; gap: 3px; border: 0; background: none; padding: 4px 2px; color: #C2312F; font-size: 11.5px; font-weight: 600; cursor: pointer; }
.pp-caido .ic { width: 12px; height: 12px; }
.pp-caido:hover { text-decoration: underline; }
.pp-card.is-lost .tag { align-self: flex-start; }
.pp-nota { font-size: 12px; color: var(--ink-2); }
.pp-fecha { font-size: 11.5px; color: var(--mute); }
.pp-card .link { align-self: flex-start; font-size: 12px; }
.pp-empty { text-align: center; color: var(--mute); font-size: 13px; padding: 16px 0; }

/* Recorridos: elegir fecha */
.lav-fecha { gap: 6px; }
.lav-fecha-in { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 6px 0 12px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--card); font-weight: 600; font-size: 13px; }
.lav-fecha-in input { border: 0; outline: 0; background: transparent; font: inherit; font-weight: 500; color: var(--ink-2); cursor: pointer; }
.lav-card .lav-done { font-size: 11.5px; }
.lav-col-nota { display: inline-flex; color: var(--mute); } .lav-col-nota .ic { width: 13px; height: 13px; }

/* Responsable fijo: el usuario que entró */
.lav-yo { display: flex; align-items: center; gap: 9px; height: 38px; padding: 0 10px 0 4px; border-radius: 8px; border: 1px solid var(--line); background: #F7F8FA; }
.lav-yo .avatar { width: 28px; height: 28px; font-size: 10.5px; }
.lav-yo b { font-weight: 600; white-space: nowrap; }
.lav-yo .muted { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lav-yo-lock { margin-left: auto; display: inline-flex; color: var(--mute); }
.lav-yo-lock .ic { width: 14px; height: 14px; }

/* Factura electrónica (simulación ARCA) */
.arca-demo { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; padding: 10px 12px; border-radius: 9px; background: #FEF3E2; color: #B45309; font-size: 13px; font-weight: 600; }
.arca-demo .ic { width: 16px; height: 16px; flex-shrink: 0; }
.arca-pasos { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.arca-paso { display: flex; align-items: center; gap: 10px; color: var(--mute); font-weight: 500; transition: color .2s; }
.arca-paso-ic { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--line-2); display: grid; place-items: center; flex-shrink: 0; }
.arca-paso-ic .ic { width: 13px; height: 13px; stroke-width: 2.6; }
.arca-paso.is-run { color: var(--ink); }
.arca-paso.is-run .arca-paso-ic { border-color: var(--brand); border-top-color: transparent; animation: arcaGira .7s linear infinite; }
.arca-paso.is-ok { color: var(--ink); }
.arca-paso.is-ok .arca-paso-ic { background: #17803D; border-color: #17803D; color: #fff; }
@keyframes arcaGira { to { transform: rotate(360deg); } }
.modal-foot .btn .ic { width: 15px; height: 15px; }
.modal-card.is-factura { width: min(820px, 100%); }
.fe-acts { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.fe { position: relative; border: 1px solid #C9CDD4; border-radius: 6px; padding: 18px 20px; background: #fff; color: #111; font-size: 12.5px; overflow: hidden; }
.fe-marca { position: absolute; top: 46%; left: 50%; transform: translate(-50%, -50%) rotate(-18deg); font-size: 34px; font-weight: 800; letter-spacing: .06em; color: rgba(194, 49, 47, .13); white-space: nowrap; pointer-events: none; }
.fe-head { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: start; padding-bottom: 12px; border-bottom: 1px solid #C9CDD4; }
.fe-emisor, .fe-num { display: flex; flex-direction: column; gap: 2px; }
.fe-emisor b { font-size: 18px; }
.fe-num { text-align: right; }
.fe-num b { font-size: 16px; }
.fe-tipo { width: 58px; height: 58px; border: 2px solid #111; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.fe-tipo b { font-size: 28px; line-height: 1; }
.fe-tipo span { font-size: 9px; }
.fe-cliente { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; padding: 10px 0; border-bottom: 1px solid #C9CDD4; }
.fe-tabla { width: 100%; border-collapse: collapse; margin: 10px 0; }
.fe-tabla th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; background: #F3F4F6; padding: 6px 8px; }
.fe-tabla td { padding: 6px 8px; border-bottom: 1px solid #EEF0F3; }
.fe-tabla .num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fe-pie { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; padding-top: 10px; flex-wrap: wrap; }
.fe-qr { display: flex; align-items: center; gap: 12px; }
.fe-qr > div:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 11.5px; }
.fe-qr-box { width: 96px; height: 96px; display: grid; place-items: center; }
.fe-qr-box svg { width: 96px; height: 96px; }
.arca-qr-ph { width: 96px; height: 96px; display: grid; place-items: center; border: 2px dashed #999; font-weight: 700; }
.fe-tot { margin: 0; min-width: 240px; }
.fe-tot div { display: flex; justify-content: space-between; gap: 20px; padding: 3px 0; }
.fe-tot dt { color: #444; } .fe-tot dd { margin: 0; font-variant-numeric: tabular-nums; }
.fe-tot .is-total { border-top: 2px solid #111; margin-top: 4px; padding-top: 6px; font-size: 15px; font-weight: 700; }
.fe-nota { margin: 12px 0 0; font-size: 11px; color: #666; }
@media (max-width: 620px) { .fe-head { grid-template-columns: 1fr auto; } .fe-num { grid-column: 1 / -1; text-align: left; } .fe-cliente { grid-template-columns: 1fr; } }
/* "+" para cargar un ingreso desde la columna Recibido de Producción */
.lav-col-mas { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; margin-left: auto; border: 0; border-radius: 7px; background: var(--brand); color: #fff; cursor: pointer; flex: none; }
.lav-col-mas .ic { width: 15px; height: 15px; }
.lav-col-mas + .col-count { margin-left: 6px; }
.lav-col-mas:hover { filter: brightness(1.1); }

/* Firma en el celular y remito en PDF */
.lav-firma { position: relative; display: grid; gap: 8px; padding: 12px; border: 1px dashed var(--line-2); border-radius: 12px; background: var(--card); }
.lav-firma-head { display: flex; justify-content: space-between; align-items: center; font-size: 13.5px; }
.lav-firma-cv { width: 100%; height: 150px; border-radius: 10px; background: #FAFAF7; border: 1px solid var(--line); touch-action: none; cursor: crosshair; }
.lav-firma-ayuda { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -6px); color: #B5B5AE; font-size: 13px; pointer-events: none; }
.lav-firma.is-firmado .lav-firma-ayuda { display: none; }
.lav-firma input { height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-2); font: inherit; }
.lav-rem-acc { display: inline-flex; gap: 6px; flex-wrap: wrap; }
.lav-listo { display: flex; align-items: center; gap: 14px; padding: 6px 0 16px; }
.lav-listo > div { display: flex; flex-direction: column; }
.lav-listo b { font-size: 17px; }
.lav-listo-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #DCFCE7; color: #16A34A; flex: none; }
.lav-listo-ic .ic { width: 22px; height: 22px; }
.lav-listo-acc { display: grid; gap: 8px; }
.lav-listo-acc .btn { justify-content: center; min-height: 48px; font-size: 15px; }
/* Paradas extra en Recorridos */
.lav-stop-tipo.t-mandado { background: #F3E8FF; color: #7E22CE; }
.lav-extra { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 99px; background: #FEF3C7; color: #92400E; font-size: 10.5px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; vertical-align: 2px; }
.lav-stop-acts .muted { font-size: 12.5px; }
@media (max-width: 860px) {
  .lav-stop > .lav-stop-acts { grid-column: 1 / -1; justify-self: start; flex-direction: row; align-items: center; gap: 14px; }
}

/* Resumen de remitos del mes */
.lav-res-head { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.lav-res th.num, .lav-res td.num { white-space: nowrap; }
.lav-res th { font-size: 12px; }
.lav-res tbody tr[data-lav] { cursor: pointer; }
.lav-res-tot td { background: #F6F7F9; border-top: 2px solid var(--line, #E3E6EA); }
.lav-res-sel { display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 13px; }
.lav-res-tabla { max-height: 42vh; overflow: auto; border: 1px solid var(--line, #E3E6EA); border-radius: 10px; margin-bottom: 14px; }
.lav-res-tabla thead th { position: sticky; top: 0; background: var(--card, #fff); z-index: 1; }
.lav-res tr.is-fact td { color: var(--ink-3, #8A9099); }
.lav-chk { width: 18px; height: 18px; accent-color: #2F6FDB; cursor: pointer; }
.lav-chk:disabled { cursor: not-allowed; }
.modal-card.lav-res-modal { width: min(980px, 100%); }
.lav-vista-rem { margin-left: 4px; }
@media (max-width: 720px) { .lav-res-tabla, .lav-res-head + .card { overflow-x: auto; } }
.lav-res-tabla .lav-res td, .lav-res-tabla .lav-res th { padding: 6px 10px; }
.lav-res .cell-sub { white-space: nowrap; }

/* Facturación: elegir remitos */
.lav-mes-fac { display: inline-flex; align-items: center; gap: 8px; font-weight: 550; font-size: 13px; }
.lav-fac-sel { padding: 16px; margin-bottom: 18px; }
.lav-fac-sel-h { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; }
.lav-fac-sel-h h3 { margin: 0 0 2px; font-size: 15px; }
.lav-fac-sel-h .muted { font-size: 13px; }
.lav-fac-sel-f { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.lav-fac-sel .lav-res-tabla { max-height: 46vh; margin-bottom: 0; }
.lav-fac-row { cursor: pointer; }
.lav-fac-row.is-sel td { background: color-mix(in oklab, #2F6FDB 7%, white); }
.lav-fac-bar { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-top: 12px; padding: 12px 14px; border-radius: 10px; background: #F6F7F9; font-size: 14px; }
.lav-fac-h { margin: 6px 0 10px; font-size: 15px; }
.lav-lote .arca-paso { display: flex; gap: 10px; align-items: center; }
.lav-lote .lav-lote-n { flex: 1; }

/* Remitos: ingresos y egresos */
.lav-io-h { display: flex; align-items: center; gap: 8px; margin: 18px 0 10px; font-size: 15px; }
.lav-io-h .muted { font-weight: 500; font-size: 13px; }
.lav-io { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; }
.lav-io svg { width: 15px; height: 15px; }
.lav-io.in { background: #E6F4EA; color: #1E7B3A; }
.lav-io.out { background: #E8F0FD; color: #2F6FDB; }

/* Remitos por hotel: retiro / entrega */
.lav-rem-tools { flex-wrap: wrap; gap: 10px; }
.lav-rem-sel { display: flex; flex-wrap: wrap; gap: 8px; }
.lav-mas { display: flex; gap: 12px; align-items: center; justify-content: center; margin: 12px 0; }
/* Firma del chofer */
.lav-mi-firma { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; font-size: 13px; }
.lav-mi-firma img { max-width: 260px; height: 70px; object-fit: contain; border: 1px solid #E3E6EA; border-radius: 8px; background: #fff; }

/* Parada: dirección y cantidades para el chofer */
.lav-stop-dir { display: inline-flex; align-items: center; gap: 4px; margin-top: 3px; font-size: 12.5px; color: var(--brand-ink, #2F6FDB); text-decoration: none; }
.lav-stop-dir svg { width: 13px; height: 13px; flex-shrink: 0; }
.lav-stop-qty { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; font-size: 12.5px; color: var(--ink-2, #444); }
.lav-stop-qty em { font-style: normal; font-weight: 650; color: var(--ink, #111); }
.lav-stop-qty span b { font-weight: 650; }

/* Facturación: tres opciones con los remitos elegidos */
.lav-fac-acc { display: flex; flex-wrap: wrap; gap: 8px; }
.lav-bonif-ops { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 12px; }

/* Empresa real: servicio de cada hotel, facturas anotadas, avisos */
.lav-dias { display: flex; flex-wrap: wrap; gap: 6px 16px; padding-top: 4px; }
.lav-stop-dir.is-falta { color: #B45309; }
.lav-lote-real { border-top: 1px solid var(--line); margin-top: 10px; padding-top: 4px; }
.item[data-item-edit] { cursor: pointer; }
.item.is-oculto { opacity: .55; }
