/* Distribuidora López · almacén profesional v17 */
#v-alm{padding-top:13px}
#v-alm .kpis.compactas{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-bottom:12px}
#v-alm .kpis.compactas .kpi{padding:11px 12px;min-height:92px}
#v-alm .kpis.compactas .eyebrow{margin-bottom:6px;font-size:9.5px}
#v-alm .kpis.compactas .val{font-size:18px}
#v-alm .kpis.compactas .sub{font-size:10.5px;margin-top:4px}
.alm-toolbar-v17{padding:13px 15px!important;gap:10px}
.alm-filtros-v17{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(170px,.75fr) minmax(170px,.75fr) auto;gap:8px;align-items:center;flex:1}
.alm-filtros-v17 .scan-wrap{min-width:0}
.alm-filtros-v17 .inp,.alm-filtros-v17 .btn{height:40px}
.rail .almacen-accion-v17{color:rgba(255,255,255,.72)}
.rail .almacen-accion-v17:hover{color:#fff;background:rgba(255,255,255,.1)}
.rail .almacen-accion-v17 .pedido-lateral-v17{background:var(--verde);border-color:var(--tinta)}

/* Base compacta para todos los formularios y modales del sistema. */
.modal.formulario-compacto-v17{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 30px);overflow:hidden}
.modal.formulario-compacto-v17.wide{width:min(780px,calc(100vw - 28px))}
.formulario-compacto-v17 .modal-head{padding:14px 18px 10px}
.formulario-compacto-v17 .modal-head h3{font-size:18px}
.formulario-compacto-v17 .modal-head p{font-size:11.5px;margin-top:3px}
.formulario-compacto-v17 .modal-body{padding:14px 18px;overflow-x:hidden}
.formulario-compacto-v17 .modal-foot{padding:10px 18px}
.formulario-compacto-v17 .f2,.formulario-compacto-v17 .f3{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.formulario-compacto-v17 .field{min-width:0;margin-bottom:8px}
.formulario-compacto-v17 .f{font-size:11px;margin-bottom:4px}
.formulario-compacto-v17 .inp,.formulario-compacto-v17 select.inp,.formulario-compacto-v17 textarea.inp{width:100%;min-width:0;min-height:38px;padding:8px 10px;font-size:13px}
.formulario-compacto-v17 textarea.inp{min-height:68px;resize:vertical}
.formulario-compacto-v17 .card.pad{padding:11px}
.formulario-compacto-v17 .tbl-wrap{max-width:100%;overflow-x:hidden}
.formulario-compacto-v17 table{width:100%;table-layout:fixed}
.formulario-compacto-v17 th,.formulario-compacto-v17 td{white-space:normal;overflow-wrap:anywhere}
.formulario-compacto-v17 .row{max-width:100%}

/* Formulario heredado "Registrar compra o gasto". */
.modal.compra-gasto-v17{width:min(700px,calc(100vw - 28px))}
.compra-gasto-v17 #cpProductos{margin-bottom:9px!important}
.compra-gasto-v17 #cpLineas{display:grid;gap:7px}
.compra-gasto-v17 #cpLineas>.row{display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr);gap:7px!important;margin-bottom:0!important}
.compra-gasto-v17 #cpLineas>.row>.inp{width:100%!important;min-width:0!important;max-width:none!important;flex:none!important}
.compra-gasto-v17 #cpLineas>.row>.btn{grid-column:2;justify-self:end}

.modal.modal-vertical-v17{width:min(700px,calc(100vw - 28px));max-height:calc(100dvh - 32px)}
.modal.modal-vertical-v17 .modal-head{padding:15px 18px 11px}
.modal.modal-vertical-v17 .modal-body{padding:15px 18px;overflow-x:hidden}
.modal.modal-vertical-v17 .modal-foot{padding:11px 18px}
.modal.operacion-almacen-v17{width:min(760px,calc(100vw - 28px))}
.modal.familia-compacta-v17{width:min(680px,calc(100vw - 28px))}
.modal.pedidos-compactos-v17{width:min(720px,calc(100vw - 28px))}

.modal.compra-modal-v15.compra-compacta-v17{width:min(760px,calc(100vw - 28px));height:auto;max-height:calc(100dvh - 30px)}
.compra-compacta-v17 .modal-head{padding:14px 18px 10px}
.compra-compacta-v17 .modal-body{padding:14px 18px;overflow-x:hidden}
.compra-compacta-v17 .compra-cab-grid-v15{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.compra-compacta-v17 .compra-cab-grid-v15 .span-2,.compra-compacta-v17 .compra-cab-grid-v15 .span-4{grid-column:1/-1}
.compra-compacta-v17 .field{margin-bottom:0}
.compra-compacta-v17 .inp{min-height:39px;padding:8px 11px}
.compra-compacta-v17 .compra-resumen-v15{padding:10px 13px}
.compra-compacta-v17 .compra-resumen-v15 strong{font-size:21px}

.capa-compra-v15 .capa-caja.detalle-vertical-v17{width:min(620px,calc(100vw - 28px));padding:15px;overflow-x:hidden}
.detalle-vertical-v17>div:first-child{margin-bottom:9px!important}
.detalle-vertical-v17>div:first-child h3{font-size:18px}
.detalle-vertical-v17>div:first-child p{font-size:11.5px!important}
.detalle-vertical-v17 .compra-bloque{padding:10px;margin-bottom:9px}
.detalle-vertical-v17 .compra-resultados:empty{display:none}
.detalle-vertical-v17 .compra-producto-head{display:none}
.detalle-vertical-v17 .compra-resultados{display:grid;gap:8px;max-height:none;overflow:visible}
.compra-producto-v17{display:block;background:#fff;border:1px solid var(--linea);border-radius:13px;padding:11px}
.compra-producto-v17.seleccionado-v15{border-color:var(--verde);box-shadow:0 0 0 2px rgba(14,107,84,.1);background:var(--verde-50)}
.compra-producto-cab-v17{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.compra-producto-cab-v17 input{width:17px;height:17px;accent-color:var(--verde)}
.compra-producto-cab-v17 small{display:block;color:var(--tinta-45);font-size:10.5px}
.compra-campos-v17{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.compra-campos-v17 label{font-size:10.5px;font-weight:700;color:var(--tinta-45)}
.compra-campos-v17 .inp{display:block;margin-top:4px;padding:8px 9px;min-width:0}
.compra-total-v17{margin-top:9px;padding-top:8px;border-top:1px solid var(--linea);display:flex;justify-content:space-between;font-size:12px}

.modal.formulario-compacto-v17.traslado-angosto-v17{width:min(620px,calc(100vw - 28px))}
.traslado-angosto-v17 .modal-body>.f3{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}
.traslado-angosto-v17 .modal-body>.f3 .field{margin-bottom:3px}
.traslado-angosto-v17 #trLista .empty{padding:18px 10px;min-height:0}
.traslado-angosto-v17 #trLista .empty b{margin-bottom:3px}

.hist-filtros-v17{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end;padding:12px;border:1px solid var(--linea);border-radius:13px;background:var(--papel);margin-bottom:13px}
.hist-filtros-v17 .field{margin:0}.hist-grupos-v17{display:grid;gap:13px}.hist-grupo-v17{border:1px solid var(--linea);border-radius:14px;overflow:hidden}.hist-grupo-cab-v17{padding:10px 12px;background:var(--papel);display:flex;justify-content:space-between;align-items:center}.hist-grupo-cab-v17 h4{font-size:13px}.hist-grupo-cab-v17 span{font-size:10.5px;color:var(--tinta-45)}
.hist-tabla-v17{width:100%;table-layout:fixed}.hist-tabla-v17 th{padding:8px 9px;font-size:9px;white-space:normal}.hist-tabla-v17 td{padding:9px;font-size:11.5px;overflow-wrap:anywhere}.hist-tabla-v17 th:nth-child(1){width:18%}.hist-tabla-v17 th:nth-child(2){width:24%}.hist-tabla-v17 th:nth-child(3){width:12%}.hist-tabla-v17 th:nth-child(4){width:32%}.hist-tabla-v17 th:nth-child(5){width:14%}

@media(max-width:900px){.alm-filtros-v17{grid-template-columns:1fr 1fr}.alm-filtros-v17 .scan-wrap{grid-column:1/-1}.compra-campos-v17{grid-template-columns:1fr 1fr}}
@media(max-width:600px){#v-alm{padding-top:10px}.alm-filtros-v17{grid-template-columns:1fr}.alm-filtros-v17 .scan-wrap{grid-column:1}.alm-toolbar-v17>.btn{width:100%}.modal.formulario-compacto-v17,.modal.formulario-compacto-v17.wide{width:100vw;height:100dvh;max-height:none;border-radius:0}.formulario-compacto-v17 .f2,.formulario-compacto-v17 .f3,.compra-gasto-v17 #cpLineas>.row,.traslado-angosto-v17 .modal-body>.f3{grid-template-columns:1fr}.compra-gasto-v17 #cpLineas>.row>.btn{grid-column:1}.capa-compra-v15 .capa-caja.detalle-vertical-v17{width:100vw;max-width:none;min-height:100dvh;border-radius:0}.modal.compra-modal-v15.compra-compacta-v17{width:100vw;height:100dvh;max-height:none;border-radius:0}.compra-compacta-v17 .compra-cab-grid-v15{grid-template-columns:1fr}.compra-campos-v17{grid-template-columns:1fr}.hist-filtros-v17{grid-template-columns:1fr}.hist-tabla-v17{table-layout:auto}.hist-tabla-v17 th:nth-child(n){width:auto}}
