/* =====================================================================
   NS WMS · Tema profesional (capa visual final)
   Solo apariencia: colores, tipografía, bordes, sombras y espaciado.
   No mueve ni reordena elementos. Se carga al final de todos los CSS.
   Paleta: NewSupport (azul marino + verde lima del logo) con azul NS WMS.
   ===================================================================== */
:root{
  --ns-navy-950:#07111f;
  --ns-navy-900:#0b1a30;
  --ns-navy-800:#10243f;
  --ns-navy-700:#173356;
  --ns-blue-600:#1b5fd6;
  --ns-blue-500:#2a6ff0;
  --ns-blue-50:#eef4ff;
  --ns-lime-500:#8cc63f;
  --ns-lime-600:#6fa82b;
  --ns-lime-50:#f1f8e6;
  --ns-amber-500:#e8a317;
  --ns-amber-50:#fff7e6;
  --ns-red-600:#d64545;
  --ns-red-50:#fdf0f0;
  --ns-ink-900:#14213a;
  --ns-ink-700:#33435e;
  --ns-ink-500:#64748b;
  --ns-ink-400:#8a97ab;
  --ns-line:#e2e7ef;
  --ns-line-strong:#cfd7e3;
  --ns-surface:#ffffff;
  --ns-surface-2:#f7f9fc;
  --ns-bg:#f2f5f9;
  --ns-radius:10px;
  --ns-radius-sm:7px;
  --ns-shadow-sm:0 1px 2px rgba(16,36,63,.06);
  --ns-shadow:0 1px 2px rgba(16,36,63,.05),0 4px 14px rgba(16,36,63,.06);
  --ns-shadow-lg:0 18px 48px rgba(7,17,31,.22);
  --ns-font:"Inter","Segoe UI","SF Pro Text",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  --ns-focus:0 0 0 3px rgba(42,111,240,.22);
}

/* ---------- Base ---------- */
html body{font-family:var(--ns-font)!important;color:var(--ns-ink-900);background:var(--ns-bg)!important;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"tnum" 1,"cv11" 1}
html body h1,html body h2,html body h3,html body h4{font-family:var(--ns-font)!important;letter-spacing:-.01em;color:var(--ns-ink-900)}
html body .small,html body small,html body .muted{color:var(--ns-ink-500)}
html body ::selection{background:rgba(42,111,240,.18)}
html body *{scrollbar-width:thin;scrollbar-color:#c3cbd8 transparent}
html body ::-webkit-scrollbar{width:10px;height:10px}
html body ::-webkit-scrollbar-thumb{background:#c9d1dd;border-radius:10px;border:2px solid transparent;background-clip:content-box}
html body ::-webkit-scrollbar-thumb:hover{background:#aeb8c7;background-clip:content-box}

/* ---------- Encabezado superior ---------- */
html body .topbar{background:var(--ns-navy-900)!important;background-image:linear-gradient(90deg,var(--ns-navy-950) 0%,var(--ns-navy-800) 100%)!important;
  border:1px solid rgba(255,255,255,.06)!important;border-radius:var(--ns-radius)!important;box-shadow:var(--ns-shadow)!important;
  position:relative;overflow:hidden}
html body .topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--ns-lime-500),var(--ns-blue-500) 55%,transparent)}
html body .topbar h1{color:#fff!important;font-weight:700!important;letter-spacing:-.01em!important}
html body .topbar p,html body .topbar p strong{color:#b8c5d9!important;font-weight:500!important}
html body .topbar .brand-dev{color:var(--ns-lime-500)!important;font-weight:500!important}
html body .topbar .brand-logo{border-radius:50%;box-shadow:0 0 0 2px rgba(140,198,63,.55),0 4px 12px rgba(0,0,0,.35)}
html body .topbar .top-actions button{border-radius:var(--ns-radius-sm)!important;font-weight:600!important;letter-spacing:0!important;
  box-shadow:none!important;border:1px solid rgba(255,255,255,.16)!important}
html body .topbar .top-actions .btn-light{background:rgba(255,255,255,.08)!important;color:#e9eef7!important}
html body .topbar .top-actions .btn-light:hover{background:rgba(255,255,255,.16)!important}
html body .topbar .top-actions .btn-success{background:rgba(140,198,63,.16)!important;color:#d9f0b8!important;border-color:rgba(140,198,63,.45)!important}
html body .topbar .top-actions .btn-danger{background:rgba(214,69,69,.16)!important;color:#ffd5d5!important;border-color:rgba(214,69,69,.45)!important}
html body .topbar .top-actions .btn-danger:hover{background:var(--ns-red-600)!important;color:#fff!important}

/* ---------- Navegación lateral ---------- */
html body .ns-desktop-nav{background:var(--ns-navy-950)!important;background-image:linear-gradient(180deg,var(--ns-navy-900),var(--ns-navy-950))!important;
  border-right:1px solid rgba(255,255,255,.06)!important}
html body .ns-desktop-nav .ns-nav-group-title{color:#7f8ea6!important;font-size:10.5px!important;letter-spacing:.09em!important;font-weight:700!important}
html body .ns-desktop-nav .ns-nav-item{border-radius:8px!important;color:#c9d4e4!important;transition:background .15s,color .15s}
html body .ns-desktop-nav .ns-nav-item:hover{background:rgba(255,255,255,.06)!important;color:#fff!important}
html body .ns-desktop-nav .ns-nav-item.active{background:linear-gradient(90deg,rgba(42,111,240,.28),rgba(42,111,240,.10))!important;color:#fff!important;
  box-shadow:inset 3px 0 0 var(--ns-lime-500)!important}
html body .ns-desktop-nav .ns-nav-item.active .ns-nav-icon{background:var(--ns-blue-500)!important;color:#fff!important}
html body .ns-desktop-nav .ns-user-card{background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.07)!important;border-radius:10px!important}
html body .ns-desktop-nav .ns-user-meta strong{color:#fff!important}
html body .ns-desktop-nav .ns-user-meta span{color:var(--ns-lime-500)!important;font-weight:600}
html body .ns-desktop-nav .ns-nav-brand strong{color:#fff!important;letter-spacing:.02em}
html body .ns-desktop-nav .ns-nav-brand span{color:#8ea0bb!important}

/* ---------- Indicadores superiores ---------- */
html body .stat-grid .stat{background:var(--ns-surface)!important;border:1px solid var(--ns-line)!important;border-radius:var(--ns-radius)!important;
  box-shadow:var(--ns-shadow-sm)!important;position:relative;overflow:hidden}
html body .stat-grid .stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ns-blue-500)}
html body .stat-grid .stat:nth-child(2)::before{background:var(--ns-lime-500)}
html body .stat-grid .stat:nth-child(3)::before{background:#5b7bd5}
html body .stat-grid .stat:nth-child(4)::before{background:var(--ns-amber-500)}
html body .stat-grid .stat:nth-child(5)::before{background:var(--ns-navy-700)}
html body .stat-grid .stat span{color:var(--ns-ink-500)!important;text-transform:uppercase;letter-spacing:.06em;font-weight:600!important}
html body .stat-grid .stat strong{color:var(--ns-ink-900)!important;font-weight:700!important;font-variant-numeric:tabular-nums}

/* ---------- Tarjetas y paneles ---------- */
html body .card,html body .config-card,html body .config-flat-card,html body .mpos-card,html body .report-simple-panel,
html body .cot-bloque,html body .nspos-pos-alta-card{background:var(--ns-surface)!important;border:1px solid var(--ns-line)!important;
  border-radius:var(--ns-radius)!important;box-shadow:var(--ns-shadow-sm)!important}
html body .card-header,html body .compact-header{border-bottom:1px solid var(--ns-line)!important;background:transparent!important}
html body .card-header h2,html body .card-header h3,html body .card h2,html body .card h3{font-weight:650!important;color:var(--ns-ink-900)!important}
html body .card-header p,html body .card-header .small{color:var(--ns-ink-500)!important}
html body .notice{border-radius:var(--ns-radius-sm)!important;border:1px solid #f1d38a!important;background:var(--ns-amber-50)!important;color:#7a5200!important}

/* Cabeceras de módulo con fondo oscuro (Configuración, etc.) */
html body .config-module-header{background:linear-gradient(110deg,var(--ns-navy-900),var(--ns-navy-700))!important;border-radius:var(--ns-radius)!important;
  box-shadow:var(--ns-shadow)!important;border:1px solid rgba(255,255,255,.06)!important;position:relative;overflow:hidden}
html body .config-module-header::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:linear-gradient(90deg,var(--ns-lime-500),transparent 60%)}

/* ---------- Botones ---------- */
html body button,html body .btn-primary,html body .btn-light,html body .btn-success,html body .btn-danger{font-family:var(--ns-font)!important}
html body .btn-primary,html body .btn-light,html body .btn-success,html body .btn-danger,html body .tab{
  border-radius:var(--ns-radius-sm)!important;font-weight:600!important;letter-spacing:0!important;transition:background .15s,border-color .15s,box-shadow .15s,color .15s!important}
html body .btn-primary{background:var(--ns-blue-600)!important;background-image:none!important;color:#fff!important;border:1px solid var(--ns-blue-600)!important;
  box-shadow:0 1px 2px rgba(27,95,214,.25)!important}
html body .btn-primary:hover{background:#174fb6!important;border-color:#174fb6!important}
html body .btn-primary:focus-visible,html body .btn-light:focus-visible{outline:none!important;box-shadow:var(--ns-focus)!important}
html body .btn-light{background:#fff!important;background-image:none!important;color:var(--ns-ink-700)!important;border:1px solid var(--ns-line-strong)!important;box-shadow:var(--ns-shadow-sm)!important}
html body .btn-light:hover{background:var(--ns-surface-2)!important;border-color:#b9c3d2!important;color:var(--ns-ink-900)!important}
html body .btn-success{background:var(--ns-lime-600)!important;background-image:none!important;color:#fff!important;border:1px solid var(--ns-lime-600)!important;box-shadow:0 1px 2px rgba(111,168,43,.3)!important}
html body .btn-success:hover{background:#5e9223!important}
/* Botón de eliminar: discreto en tablas, rojo sólido solo al pasar el mouse */
html body .btn-danger{background:#fff!important;background-image:none!important;color:var(--ns-red-600)!important;border:1px solid #efc2c2!important;box-shadow:none!important}
html body .btn-danger:hover{background:var(--ns-red-600)!important;color:#fff!important;border-color:var(--ns-red-600)!important}
html body .btn-danger.solid-danger{background:var(--ns-red-600)!important;color:#fff!important}
html body button:disabled,html body .btn-primary:disabled{opacity:.55!important;cursor:not-allowed!important;box-shadow:none!important}

/* Pestañas internas de cada módulo (Documentos / Envíos SII / …) */
html body .tabs .tab,html body .fe-tabs button,html body .config-subnav button,html body .mpos-tabs button{
  background:#fff!important;color:var(--ns-ink-700)!important;border:1px solid var(--ns-line)!important;box-shadow:none!important}
html body .tabs .tab:hover,html body .fe-tabs button:hover,html body .config-subnav button:hover{border-color:var(--ns-line-strong)!important;color:var(--ns-ink-900)!important}
html body .tabs .tab.active,html body .fe-tabs button.active,html body .config-subnav button.active,html body .mpos-tabs button.active{
  background:var(--ns-navy-800)!important;color:#fff!important;border-color:var(--ns-navy-800)!important;box-shadow:inset 0 -2px 0 var(--ns-lime-500)!important}

/* ---------- Formularios ---------- */
html body input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),html body select,html body textarea{
  font-family:var(--ns-font)!important;border:1px solid var(--ns-line-strong)!important;border-radius:var(--ns-radius-sm)!important;
  background:#fff!important;color:var(--ns-ink-900)!important;transition:border-color .15s,box-shadow .15s}
html body input:not([type=checkbox]):not([type=radio]):hover,html body select:hover,html body textarea:hover{border-color:#b6c1d1!important}
html body input:not([type=checkbox]):not([type=radio]):focus,html body select:focus,html body textarea:focus{
  outline:none!important;border-color:var(--ns-blue-500)!important;box-shadow:var(--ns-focus)!important}
html body input::placeholder,html body textarea::placeholder{color:#9aa6b8!important}
html body input[readonly],html body input:disabled,html body select:disabled{background:var(--ns-surface-2)!important;color:var(--ns-ink-500)!important}
html body label{color:var(--ns-ink-700)}
html body input[type=checkbox],html body input[type=radio]{accent-color:var(--ns-blue-600)}

/* ---------- Tablas ---------- */
html body table{border-collapse:separate!important;border-spacing:0!important;font-variant-numeric:tabular-nums}
html body .main-table,html body .fe-tabla,html body .comprobantes-table,html body .table-wrap table,html body .card table{background:#fff}
html body table thead th,html body .fe-tabla th,html body .main-table th{background:var(--ns-surface-2)!important;color:var(--ns-ink-500)!important;
  font-size:11.5px!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--ns-line)!important;
  position:sticky;top:0;z-index:1}
html body table tbody td{border-bottom:1px solid #edf1f6!important;color:var(--ns-ink-900)}
html body table tbody tr{transition:background .12s}
html body table tbody tr:hover td{background:#f6f9fe!important}
html body table tbody tr:last-child td{border-bottom:none!important}
html body .table-wrap,html body .comprobantes-table-wrap{border:1px solid var(--ns-line)!important;border-radius:var(--ns-radius)!important;overflow:auto}
/* Botones dentro de tablas: más compactos */
html body table td .btn-light,html body table td .btn-primary,html body table td .btn-danger,html body table td .btn-success{
  padding:5px 10px!important;font-size:12.5px!important;min-height:0!important;line-height:1.35!important}

/* ---------- Etiquetas de estado ---------- */
html body .fe-badge,html body .cli-badge,html body .badge,html body .pill{border-radius:999px!important;font-weight:600!important;letter-spacing:.01em}
html body .fe-badge.ok{background:var(--ns-lime-50)!important;color:#3f6e12!important;border:1px solid #d5ebb6!important}
html body .fe-badge.mal{background:var(--ns-red-50)!important;color:#a32b2b!important;border:1px solid #f3cccc!important}
html body .fe-badge.aviso{background:var(--ns-amber-50)!important;color:#8a5a00!important;border:1px solid #f3dca6!important}
html body .fe-badge.neutro{background:#eef2f7!important;color:var(--ns-ink-700)!important;border:1px solid var(--ns-line)!important}

/* ---------- Ventanas modales ---------- */
html body .ns-modal-overlay,html body .nspos-delete-confirm-overlay{background:rgba(7,17,31,.52)!important;backdrop-filter:blur(3px)}
html body .ns-modal,html body .nspos-delete-confirm-card{border-radius:14px!important;border:1px solid var(--ns-line)!important;box-shadow:var(--ns-shadow-lg)!important}
html body .ns-modal-header{border-bottom:1px solid var(--ns-line)!important;background:#fff!important}
html body .ns-modal-header h3{font-weight:650!important}
html body .ns-modal-footer{border-top:1px solid var(--ns-line)!important;background:var(--ns-surface-2)!important}
html body .ns-modal-close{border-radius:8px!important}

/* ---------- Inicio (panel) ---------- */
html body #tab-inicio .cot-header-actions .btn-light{border-radius:999px!important;font-weight:600!important}
html body #tab-inicio [class*="kpi"],html body #tab-inicio .nsb-kpi,html body #tab-inicio .nsb-card{border-radius:var(--ns-radius)!important;box-shadow:var(--ns-shadow-sm)!important}

/* ---------- Punto de venta ---------- */
html body #tab-punto_venta .card,html body #tab-punto_venta [class*="panel"]{border-radius:var(--ns-radius)!important}

/* ---------- Superadministrador (superadmin.html) ---------- */
html body.ns-superadmin{background:var(--ns-bg)!important}

/* ---------- Accesibilidad: movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){html body *{transition:none!important}}

/* ---------- Ajustes v2 ---------- */
html body.ns-adaptive-ready .stat-grid .stat{padding:5px 12px 5px 15px!important;display:flex!important;flex-direction:column;justify-content:center}
html body .stat-grid .stat span{font-size:10px!important;display:block;line-height:1.2}
html body .stat-grid .stat strong{font-size:17px!important;margin-top:1px!important;line-height:1.15!important}
/* Íconos del menú lateral: uniformes y sobrios (sin bloques de colores) */
html body .ns-desktop-nav .ns-nav-item .ns-nav-icon{background:rgba(255,255,255,.05)!important;color:#c3cfe0!important;
  border:1px solid rgba(255,255,255,.06)!important;box-shadow:none!important}
html body .ns-desktop-nav .ns-nav-item:hover .ns-nav-icon{background:rgba(255,255,255,.10)!important;color:#fff!important}
html body .ns-desktop-nav .ns-nav-item.active .ns-nav-icon{background:var(--ns-blue-500)!important;color:#fff!important;border-color:transparent!important;
  box-shadow:0 4px 12px rgba(42,111,240,.45)!important}
html body .ns-desktop-nav .ns-nav-icon svg{color:inherit!important}
/* Tablas compactas tipo ERP */
html body .main-table td,html body .fe-tabla td,html body .comprobantes-table td,html body .report-table td,html body .report-mini-table td{padding:9px 12px!important;font-size:13.5px!important}
html body .main-table th,html body .fe-tabla th,html body .comprobantes-table th,html body .report-table th,html body .report-mini-table th{padding:9px 12px!important;
  background:var(--ns-surface-2)!important;color:var(--ns-ink-500)!important}
html body .main-table tr:nth-child(even) td,html body .comprobantes-table tr:nth-child(even) td,html body .report-table tr:nth-child(even) td{background:#fbfcfe!important}
html body .table-wrap,html body .report-table-wrap{border-radius:var(--ns-radius)!important}

/* Nombre del usuario en Configuración (estaba en blanco sobre blanco) */
html body #tab-config .ns-user-title strong,html body .config-view .ns-user-title strong{color:var(--ns-ink-900)!important}

/* =====================================================================
   v3 · Cobertura completa de módulos
   ===================================================================== */
/* Subpestañas de Bodega, Arriendos y similares */
html body .nsb-subnav button,html body .report-simple-tab-buttons button{background:#fff!important;color:var(--ns-ink-700)!important;
  border:1px solid var(--ns-line)!important;border-radius:var(--ns-radius-sm)!important;font-weight:600!important;box-shadow:none!important}
html body .nsb-subnav button:hover,html body .report-simple-tab-buttons button:hover{border-color:var(--ns-line-strong)!important;color:var(--ns-ink-900)!important}
html body .nsb-subnav button.active,html body .report-simple-tab-buttons button.active,html body .report-simple-tab-buttons button[aria-selected="true"]{
  background:var(--ns-navy-800)!important;color:#fff!important;border-color:var(--ns-navy-800)!important;box-shadow:inset 0 -2px 0 var(--ns-lime-500)!important}
html body .btn-dark{background:var(--ns-navy-800)!important;color:#fff!important;border:1px solid var(--ns-navy-800)!important;border-radius:var(--ns-radius-sm)!important;font-weight:600!important}
html body .btn-dark:hover{background:var(--ns-navy-700)!important}
/* Todas las cabeceras de tabla (incluye tablas sin thead y reportes) */
html body th{background:var(--ns-surface-2)!important;color:var(--ns-ink-500)!important;font-weight:700!important;font-size:11.5px!important;
  text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--ns-line)!important}
html body .nsb-table-wrap,html body .cot-lineas-wrap,html body .stock-low-table-wrap{border:1px solid var(--ns-line)!important;border-radius:var(--ns-radius)!important}
/* Cabecera de cada módulo (título + descripción + acción principal) */
html body .cot-header.card h2,html body .card-header h2{font-size:clamp(19px,1.6vw,23px)!important;font-weight:700!important}
html body .cot-header.card p{color:var(--ns-ink-500)!important}
/* Tarjetas de selección (Entrada/Salida, medios de pago, Boleta/Factura) */
html body .payment-method-card{border:1px solid var(--ns-line-strong)!important;border-radius:var(--ns-radius)!important;background:#fff!important;box-shadow:none!important}
html body .payment-method-card:hover{border-color:var(--ns-blue-500)!important}
html body .payment-method-card.active,html body .payment-method-card.selected{border-color:var(--ns-blue-500)!important;background:var(--ns-blue-50)!important;
  box-shadow:0 0 0 3px rgba(42,111,240,.15)!important}
/* Tarjetas de indicadores dentro de módulos (Inicio, OC, Proveedores, Arriendos, Reportes) */
html body .reporte-kpi,html body [class*="-kpi"]:not([class*="kpis"]),html body .nsb-kpi{border-radius:var(--ns-radius)!important;border:1px solid var(--ns-line)!important;
  box-shadow:var(--ns-shadow-sm)!important;background-image:none!important}
html body .reporte-kpi span,html body [class*="-kpi"] > span:first-child{color:var(--ns-ink-500)!important;letter-spacing:.06em!important;font-weight:700!important}
/* Avisos informativos */
html body .reporte-live,html body .fe-alerta,html body .info-box,html body .hint{border-radius:var(--ns-radius-sm)!important}
/* Detalles plegables y enlaces */
html body a{color:var(--ns-blue-600)}
html body details summary{color:var(--ns-navy-700)!important;font-weight:600}
/* Inicio de sesión */
html body .ns-auth-overlay{background:radial-gradient(circle at 18% 12%,#1b5fd6 0,var(--ns-navy-900) 45%,var(--ns-navy-950) 100%)!important}
html body .ns-auth-card{border-radius:16px!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:var(--ns-shadow-lg)!important}
html body .ns-auth-card button[type=submit],html body .ns-auth-card .ns-auth-submit{background:var(--ns-blue-600)!important;border-radius:var(--ns-radius-sm)!important;font-weight:600!important}

/* ---------- Versión móvil (control interno en celular) ---------- */
@media (max-width:900px){
  html body .mpos-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--ns-line)!important}
  html body .mpos-card{border-radius:12px!important;border:1px solid var(--ns-line)!important;box-shadow:var(--ns-shadow-sm)!important}
  html body .mpos-card button:not(.btn-primary):not(.btn-success):not(.btn-danger),html body .mpos-actions-row button:not(.btn-primary):not(.btn-success){
    background:#fff!important;border:1px solid var(--ns-line-strong)!important;color:var(--ns-ink-700)!important;border-radius:10px!important;font-weight:600!important}
  html body .mpos-bottom-nav{border-top:1px solid var(--ns-line)!important;box-shadow:0 -6px 20px rgba(16,36,63,.06)!important}
  html body .mpos-bottom-nav button{color:var(--ns-ink-500)!important;font-weight:700!important}
  html body .mpos-bottom-nav button.active{background:var(--ns-blue-50)!important;color:var(--ns-blue-600)!important;box-shadow:inset 0 2px 0 var(--ns-lime-500)!important}
}

/* Estado de venta en Inicio */
html body #tab-inicio .pos-statusbar{display:flex;align-items:center;gap:14px;margin:12px 0;padding:10px 14px;border:1px solid var(--ns-line);border-radius:var(--ns-radius);background:#fff;box-shadow:var(--ns-shadow-sm);min-width:0}
html body #tab-inicio .pos-status-title{display:flex;flex-direction:column;min-width:150px}
html body #tab-inicio .pos-status-title strong{font-size:13px;color:var(--ns-ink-900)}
html body #tab-inicio .pos-status-title small{font-size:11px;color:var(--ns-ink-500)}
html body #tab-inicio .pos-status-items{display:flex;flex-wrap:wrap;gap:6px;flex:1}
html body #tab-inicio .pos-status{border:0;border-radius:999px;padding:6px 11px;white-space:nowrap;font-size:12px;font-weight:700;cursor:pointer}
html body #tab-inicio .pos-status.ok{background:var(--ns-lime-50);color:#3f6e12}
html body #tab-inicio .pos-status.bad{background:var(--ns-red-50);color:#a32b2b}
html body #tab-inicio .pos-status.warn{background:var(--ns-amber-50);color:#8a5a00}
html body #tab-inicio .pos-status:hover{filter:brightness(.96)}

/* Punto de venta · buscador: estado vacío centrado, "Más vendidos" y atajos */
html body #tab-punto_venta .pos-catalogo{display:flex!important;flex-direction:column}
html body #tab-punto_venta .pos-resultados .pos-vacio{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 12px 14px;
  color:var(--ns-ink-500);font-size:13px;line-height:1.45;text-align:center;max-width:260px;margin:0 auto}
html body #tab-punto_venta .pos-vacio-ico{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--ns-blue-50);color:var(--ns-blue-600);font-size:20px}
html body #tab-punto_venta .pos-sugeridos{grid-column:1/-1;display:flex;flex-direction:column;gap:2px;margin-top:4px;border-top:1px solid var(--ns-line);padding-top:10px}
html body #tab-punto_venta .pos-sug-tit{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ns-ink-400);margin:0 2px 4px}
html body #tab-punto_venta .pos-sug{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 9px;border:0;border-radius:7px;
  background:transparent;cursor:pointer;text-align:left;font-size:12.5px;color:var(--ns-ink-700)}
html body #tab-punto_venta .pos-sug span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html body #tab-punto_venta .pos-sug strong{color:var(--ns-ink-900);font-size:12.5px;font-variant-numeric:tabular-nums;flex:none}
html body #tab-punto_venta .pos-sug:hover{background:var(--ns-blue-50);color:var(--ns-blue-600)}
html body #tab-punto_venta .pos-sug.sin{opacity:.5}
html body #tab-punto_venta .pos-atajos{margin-top:auto;padding-top:10px;border-top:1px dashed var(--ns-line);display:flex;flex-wrap:wrap;gap:6px 12px;
  font-size:11px;color:var(--ns-ink-400)}
html body #tab-punto_venta .pos-atajos kbd{font-family:var(--ns-font);font-size:10.5px;font-weight:700;color:var(--ns-ink-700);background:var(--ns-surface-2);
  border:1px solid var(--ns-line-strong);border-bottom-width:2px;border-radius:5px;padding:1px 5px;margin-right:3px}
html body #tab-punto_venta .pos-resultados{align-content:start!important}
html body #tab-punto_venta .pos-sug{font-weight:500!important}
html body #tab-punto_venta .pos-sug strong{font-weight:700!important}
html body #tab-punto_venta .pos-vacio-ico{font-size:22px;font-weight:700}

/* POS: producto no registrado + confirmación de venta */
html body .pos-noreg{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:22px 14px;border:1px dashed var(--ns-blue-600,#1b5fd6);border-radius:10px;background:rgba(27,95,214,.05)}
html body .pos-noreg-ico{font-size:26px;line-height:1}
html body .pos-noreg strong{color:var(--ns-navy-900,#0b1a30);font-size:15px}
html body .pos-noreg small{color:#5b6b82;max-width:340px}
html body .pos-noreg .btn-primary{margin-top:6px}
html body .pos-alta-ayuda{margin:0 0 10px;color:#5b6b82;font-size:13px}
html body .pos-confirmar .pos-conf-total{display:flex;justify-content:space-between;align-items:baseline;background:var(--ns-navy-900,#0b1a30);color:#fff;border-radius:8px;padding:10px 14px;margin-bottom:10px}
html body .pos-confirmar .pos-conf-total small{color:#c9d6ea;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
html body .pos-confirmar .pos-conf-total strong{font-size:24px;color:var(--ns-lime-500,#8cc63f)}
html body .pos-confirmar .pos-conf-tabla{width:100%;border-collapse:collapse;font-size:14px}
html body .pos-confirmar .pos-conf-tabla td{padding:5px 2px;border-bottom:1px solid #e6ebf2}
html body .pos-confirmar .pos-conf-tabla td:first-child{color:#5b6b82;width:40%}
html body .pos-confirmar .pos-conf-tabla td:last-child{text-align:right;font-weight:600}
html body .pos-confirmar p{margin:10px 0 0;font-size:13px;color:#5b6b82}

/* Movimientos: máquinas y herramientas de arriendo */
html body .nsme-titulo{margin:12px 0 6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-navy-900,#0b1a30)}
html body .nsme-item{border-left:3px solid var(--ns-blue-600,#1b5fd6)}
html body .nsme-item.nsme-arrendado{border-left-color:#1b5fd6}
html body .nsme-item.nsme-disponible{border-left-color:var(--ns-lime-500,#8cc63f)}
html body .nsme-item.nsme-reservado{border-left-color:#e0a800}
html body .nsme-item.nsme-mantencion{border-left-color:#e8761a}
html body .nsme-item.nsme-baja{border-left-color:#6b7280;opacity:.8}
html body .nsme-ficha{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin-bottom:12px;border-radius:8px;background:#f2f6fc;border:1px solid #dbe4f0}
html body .nsme-ficha strong{color:var(--ns-navy-900,#0b1a30);font-size:15px}
html body .nsme-ficha span{color:#5b6b82;font-size:12.5px}
html body .nsme-opciones p{margin:6px 0;font-size:13.5px;color:#334155}
html body .nsme-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
html body .nsme-grid .fe-span2{grid-column:span 2}
html body .nsme-grid .nsme-span4{grid-column:1/-1}
html body .nsme-ayuda{display:block;color:#5b6b82;font-size:12px;margin-top:4px}
@media (max-width:700px){html body .nsme-grid{grid-template-columns:1fr 1fr}html body .nsme-grid .fe-span2{grid-column:1/-1}}
html body .fe-modal-caja:has(.nsme-grid){max-width:820px}

/* POS · ventana "Nuevo producto" */
html body .fe-modal-caja:has(.pa-wrap){max-width:640px}
html body .pa-wrap{display:flex;flex-direction:column;gap:14px}
html body .pa-intro{margin:0;color:#5b6b82;font-size:13px}
html body .pa-codigo{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,var(--ns-navy-900,#0b1a30),#16325c);color:#fff}
html body .pa-barras{flex:0 0 46px;height:34px;border-radius:4px;background:#fff repeating-linear-gradient(90deg,#0b1a30 0 2px,transparent 2px 4px,#0b1a30 4px 5px,transparent 5px 8px,#0b1a30 8px 11px,transparent 11px 13px);background-clip:content-box;padding:4px;box-sizing:border-box}
html body .pa-codigo-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
html body .pa-codigo-txt small{color:#a9bcd8;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
html body .pa-codigo-txt input{background:transparent!important;border:0!important;border-bottom:1px dashed rgba(255,255,255,.35)!important;border-radius:0!important;color:#fff!important;font:600 19px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace!important;letter-spacing:.06em;padding:2px 0!important;box-shadow:none!important;width:100%}
html body .pa-codigo-txt input:focus{border-bottom-color:var(--ns-lime-500,#8cc63f)!important;outline:none}
html body .pa-chip{background:var(--ns-lime-500,#8cc63f);color:#0b1a30;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:999px}
html body .pa-campo{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:#334155;min-width:0}
html body .pa-campo>span{line-height:1.2}
html body .pa-campo small{font-weight:500;color:#7a889c;font-size:11.5px}
html body .pa-campo input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #cfd8e3;border-radius:9px;font-size:14.5px;background:#fff;transition:border-color .15s,box-shadow .15s}
html body .pa-campo input:focus{outline:none;border-color:var(--ns-blue-600,#1b5fd6);box-shadow:0 0 0 3px rgba(27,95,214,.15)}
html body .pa-nombre input{font-size:16px;font-weight:600;padding:12px 14px}
html body .pa-sec{border:1px solid #e3e9f1;border-radius:12px;padding:12px 14px 14px;background:#f8fafd}
html body .pa-sec h5{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ns-navy-900,#0b1a30)}
html body .pa-sec h5 i{font-style:normal;font-size:14px}
html body .pa-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
html body .pa-pref{position:relative}
html body .pa-pref b{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#7a889c;font-weight:700;pointer-events:none}
html body .pa-pref input{padding-left:26px}
html body .pa-destacado input{border-color:var(--ns-blue-600,#1b5fd6);font-weight:700;font-size:16px;color:var(--ns-navy-900,#0b1a30)}
html body .pa-margen{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;padding:8px 12px;border-radius:8px;background:#eef2f7;color:#5b6b82;font-size:12.5px}
html body .pa-margen b{color:#0b1a30}
html body .pa-margen.pa-bien{background:#eef8e3;color:#3d6b12}
html body .pa-margen.pa-medio{background:#fff5df;color:#8a5a00}
html body .pa-margen.pa-mal{background:#fde8e8;color:#a61b1b}
html body .pa-stepper{display:flex;align-items:stretch;border:1px solid #cfd8e3;border-radius:9px;overflow:hidden;background:#fff}
html body .pa-stepper:focus-within{border-color:var(--ns-blue-600,#1b5fd6);box-shadow:0 0 0 3px rgba(27,95,214,.15)}
html body .pa-stepper input{border:0!important;box-shadow:none!important;border-radius:0;text-align:center;font-weight:700;font-size:16px;-moz-appearance:textfield}
html body .pa-stepper input::-webkit-outer-spin-button,html body .pa-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
html body .pa-stepper button{flex:0 0 40px;border:0;background:#eef2f7;color:#0b1a30;font-size:18px;font-weight:700;cursor:pointer}
html body .pa-stepper button:hover{background:#dfe7f2}
@media (max-width:560px){html body .pa-fila{grid-template-columns:1fr}}
html body #paCodigo,html body #paCodigo:hover,html body #paCodigo:focus{background:transparent!important;border:0!important;border-bottom:1px dashed rgba(255,255,255,.35)!important;border-radius:0!important;color:#fff!important;box-shadow:none!important;font:600 19px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace!important;padding:2px 0!important}
html body #paCodigo:focus{border-bottom-color:var(--ns-lime-500,#8cc63f)!important}
html body #paStock,html body #paMin,html body #paStock:focus,html body #paMin:focus,html body #paStock:hover,html body #paMin:hover{border:0!important;box-shadow:none!important;border-radius:0!important;padding:8px 4px!important}
html body .pa-wrap{gap:10px}
html body .pa-sec{padding:10px 12px 12px}
html body .pa-sec h5{margin-bottom:8px}
html body .pa-campo input{padding:8px 11px}
html body .pa-nombre input{padding:10px 12px}
html body .pa-pref input{padding-left:26px!important}
html body .pa-margen{margin-top:8px;padding:6px 10px}
html body .pa-codigo{padding:10px 14px}
html body .nsme-emitir{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;background:#eef8e3;border:1px solid #cfe7b1;font-weight:500!important;color:#2f4f10!important;cursor:pointer}
html body .nsme-emitir input{margin-top:3px;width:18px;height:18px;flex:0 0 18px}
html body .nsme-guia{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
html body .nsme-guia.hidden,html body .nsme-emitir.hidden{display:none!important}
html body .nsb-subnav .nsb-imprimir-vista{margin-left:auto!important;background:#fff!important;border:1px solid var(--ns-line-strong,#cfd8e3)!important;color:var(--ns-navy-900,#0b1a30)!important}
/* Arriendos · modelos de contrato y cláusulas */
html body .arr-modal.arr-modal-ancho{max-width:900px!important;width:96vw}
html body .arr-cl-lista{display:flex;flex-direction:column;gap:10px;margin:12px 0}
html body .arr-cl{border:1px solid #e3e9f1;border-radius:10px;background:#f8fafd;padding:10px 12px}
html body .arr-cl-cab{display:flex;align-items:center;gap:8px;margin-bottom:6px}
html body .arr-cl-num{flex:0 0 auto;font-size:10.5px;font-weight:800;letter-spacing:.05em;color:#fff;background:var(--ns-navy-900,#0b1a30);border-radius:6px;padding:4px 8px}
html body .arr-cl-tit{flex:1;min-width:0;font-weight:700!important}
html body .arr-cl-cond{flex:0 0 230px;font-size:12.5px!important}
html body .arr-cl-acc{display:flex;gap:4px}
html body .arr-cl-acc button{width:30px;height:30px;border:1px solid #cfd8e3;border-radius:7px;background:#fff;cursor:pointer;font-weight:700;color:#334155}
html body .arr-cl-acc button:disabled{opacity:.35;cursor:default}
html body .arr-cl-acc .arr-cl-del{color:#b42318}
html body .arr-cl textarea{width:100%;box-sizing:border-box;font-size:13.5px;line-height:1.45;resize:vertical}
html body .arr-cl-add{margin-bottom:6px}
html body .arr-modelos-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}
html body .arr-modelos-cab h3{margin:0 0 4px}
html body .arr-modelos-cab p{max-width:760px}
html body .arr-modelos-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;align-items:start}
html body .arr-modelos-pie{justify-content:flex-end;margin-top:10px}
html body .arr-vars{position:sticky;top:12px;border:1px solid #e3e9f1;border-radius:12px;padding:12px;background:#fff;max-height:78vh;overflow:auto}
html body .arr-vars h4{margin:0 0 4px;font-size:13px}
html body .arr-var{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;text-align:left;border:0;border-bottom:1px solid #eef2f7;background:none;padding:6px 4px;cursor:pointer}
html body .arr-var:hover{background:#f2f6fc}
html body .arr-var code{color:var(--ns-blue-600,#1b5fd6);font-weight:700;font-size:12.5px}
html body .arr-var span{color:#5b6b82;font-size:11.5px}
@media (max-width:980px){html body .arr-modelos-grid{grid-template-columns:1fr}html body .arr-vars{position:static}html body .arr-cl-cab{flex-wrap:wrap}html body .arr-cl-cond{flex:1 1 100%}}
@media print{.arr-print-enc{text-align:justify;margin:8px 0 10px}.arr-print-clausulas p{text-align:justify;margin:0 0 7px;line-height:1.4}.arr-firmas small{font-weight:400}}
/* Impresión de documentos (actas, contratos, kardex…): app.css oculta todo con visibility para el ticket térmico;
   aquí se vuelve visible el área de impresión cuando se imprime un documento. */
@media print{
  body.nsb-imprimiendo #nsbPrintArea,body.nsb-imprimiendo #nsbPrintArea *{visibility:visible!important}
  body.nsb-imprimiendo #nsbPrintArea{position:static!important}
  html body.nsb-imprimiendo,html:has(body.nsb-imprimiendo){background:#fff!important}
}
/* Facturación · ficha del documento */
html body .fe-doc-ok{background:#eef8e3!important;border-color:#cfe7b1!important;color:#2f4f10!important;margin-bottom:10px}
html body .fe-doc-pie{margin-top:10px;color:#7a889c}
html body .fe-campo-modal{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}
html body .fe-campo-modal input{padding:9px 11px}
html body .fe-doc-anulada{margin-top:10px;background:#fdecec!important;border-color:#f5c2c2!important;color:#8a1c1c!important}
/* Cobranza y pagos */
html body .cob-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 12px}
html body .cob-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#fff;border:1px solid #e3e9f1;border-left:4px solid #cfd8e3;border-radius:10px;padding:10px 12px;cursor:pointer;min-width:0}
html body .cob-kpi:hover{border-color:#b6c1d1}
html body .cob-kpi small{font-size:11px;font-weight:700;color:#5b6b82;text-transform:uppercase;letter-spacing:.04em}
html body .cob-kpi strong{font-size:19px;color:var(--ns-navy-900,#0b1a30)}
html body .cob-kpi span{font-size:11.5px;color:#7a889c}
html body .cob-kpi.azul{border-left-color:var(--ns-blue-600,#1b5fd6)}html body .cob-kpi.navy{border-left-color:var(--ns-navy-900,#0b1a30)}
html body .cob-kpi.rojo{border-left-color:#d92d20}html body .cob-kpi.rojo strong{color:#b42318}html body .cob-kpi.amarillo{border-left-color:#e0a800}
html body .cob-aging{margin-bottom:14px}
html body .cob-aging-tit{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ns-navy-900,#0b1a30);margin-bottom:6px}
html body .cob-aging-barra{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#eef2f7;gap:2px}
html body .cob-aging-barra span{display:block}
html body .cob-aging-leyenda{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px;font-size:12.5px;color:#5b6b82}
html body .cob-aging-leyenda div{display:flex;align-items:center;gap:6px}html body .cob-aging-leyenda b{color:#0b1a30}
html body .cob-aging-leyenda i{width:10px;height:10px;border-radius:3px;display:inline-block}
html body .cob-aging .ok{background:#8cc63f}html body .cob-aging .aviso{background:#f5c542}html body .cob-aging .naranjo{background:#f08a24}html body .cob-aging .mal{background:#e5484d}html body .cob-aging .grave{background:#8a1c1c}html body .cob-aging .vacio{background:#eef2f7}
html body .cob-filtros{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:12px}
html body .cob-filtros label{display:block;font-size:12.5px;font-weight:700;margin-bottom:4px}
html body .cob-filtros .cob-agrupar{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-weight:600}
html body .cob-btns{display:flex;gap:6px}
html body .cob-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
html body .cob-badge.ok{background:#eef8e3;color:#3d6b12}html body .cob-badge.aviso{background:#fff5df;color:#8a5a00}html body .cob-badge.mal{background:#fde8e8;color:#a61b1b}
html body .cob-badge.neutro{background:#eef2f7;color:#334155}html body .cob-badge.gris{background:#e5e7eb;color:#4b5563}
html body .cob-tabla .right{text-align:right}html body .cob-tabla tfoot th{background:#f8fafd;font-weight:800}
html body .cob-fila-vencida td:first-child{box-shadow:inset 3px 0 0 #e5484d}
html body .cob-vacio{text-align:center;padding:26px!important;color:#5b6b82}
html body .cob-nota{color:#7a889c;margin-top:8px}
html body .cob-form2{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
html body .cob-form2 .cob-span2{grid-column:1/-1}
html body .cob-form2 small{font-weight:500;color:#7a889c;font-size:11.5px}
html body .cob-total-doc{display:flex;flex-direction:column;justify-content:flex-end;padding:8px 12px;border-radius:9px;background:var(--ns-navy-900,#0b1a30);color:#fff}
html body .cob-total-doc small{color:#a9bcd8;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
html body .cob-total-doc strong{font-size:20px;color:var(--ns-lime-500,#8cc63f)}
html body .cob-det h4{margin:12px 0 6px}html body .cob-saldo{font-size:17px;color:var(--ns-navy-900,#0b1a30)}
html body .cob-pagos .cob-anulado td{color:#9aa6b8;text-decoration:line-through}html body .cob-pagos .cob-anulado td small{text-decoration:none}
html body .cob-mini{padding:3px 8px!important;font-size:12px!important}
html body .fe-modal-caja:has(.cob-form2),html body .fe-modal-caja:has(.cob-det){max-width:720px}
@media (max-width:1200px){html body .cob-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){html body .cob-kpis{grid-template-columns:1fr 1fr}html body .cob-form2{grid-template-columns:1fr}}
/* Facturación · bandeja de compras (documentos recibidos) */
html body .cr-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 12px}
html body .cob-kpi.aviso{border-left-color:#e0a800}
html body .cob-kpi.mal{border-left-color:#d64545}
html body .cr-tabla tr.cr-urgente td{background:#fff6f6}
html body .cr-tabla tr.cr-urgente td:first-child{box-shadow:inset 3px 0 0 #d64545}
html body .cr-pie{margin-top:10px}
html body .fe-li-neutro{color:#5b6b82}
@media (max-width:760px){html body .cr-kpis{grid-template-columns:1fr}}
html body .cr-filtros{display:grid!important;grid-template-columns:220px 200px minmax(160px,1fr) auto;gap:10px;align-items:center}
@media (max-width:760px){html body .cr-filtros{grid-template-columns:1fr}}
html body .cr-correo{margin:0 0 10px;padding:8px 12px;border-radius:8px;font-size:13px;background:#eef2f7;color:#334155}
html body .cr-correo.ok{background:#eef8e3;color:#2f4f10}
html body .cr-correo.error{background:#fdecec;color:#8a1c1c}
html body .cr-correo:empty{display:none}
html body .cr-sinxml{margin-top:16px;padding:12px 14px;border:1px solid #f1d39a;border-radius:10px;background:#fffaf0}
html body .cr-sinxml h4{margin:0 0 4px;color:#8a5a00}
html body #cfgRecepcionCard .touch-toggle{margin:4px 0 10px}
/* Bandeja de compras · cruce con OC y bodega */
html body .cr-cruce{display:inline-block;margin-top:3px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:#eef2f7;color:#334155}
html body .cr-cruce.ok{background:#eef8e3;color:#3d6b12}
html body .cr-cruce.aviso{background:#fff5df;color:#8a5a00}
html body .cr-cruce.mal{background:#fde8e8;color:#a61b1b}
html body .ns-modal.cr-cruce-modal{max-width:1180px!important;width:96vw}
html body .cr-oc-sel{max-width:560px;margin-bottom:4px}
html body .cr-cruce-tabla td{vertical-align:top}
html body .cr-cruce-tabla tr.cr-dif td{background:#fff6f6}
html body .cr-asoc{display:flex;gap:6px;margin-top:6px}
html body .cr-asoc input{flex:1;min-width:150px;padding:6px 8px!important;font-size:12.5px}
html body .cr-asoc button{padding:4px 8px;font-size:12px}
html body .cr-falta{color:#a61b1b;font-weight:700}
html body .cr-q{width:90px;text-align:right}
html body .cr-bodega{max-width:220px}
/* Notas de venta */
html body .nv-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
html body .nv-barra{display:inline-block;width:70px;height:7px;border-radius:99px;background:#e8edf3;overflow:hidden;vertical-align:middle;margin-right:6px}
html body .nv-barra span{display:block;height:100%;background:#3b82f6;border-radius:99px}
html body .nv-barra.fact span{background:#65a30d}
html body .nv-tabla small{color:#64748b}
html body .ns-modal.nv-modal{max-width:1080px!important;width:96vw}
html body .nv-cab{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:10px}
html body .nv-avance{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#475569}
html body .nv-avance .nv-barra{width:110px}
html body .nv-datos{grid-template-columns:max-content 1fr max-content 1fr!important}
html body .nv-items td.nv-pend{color:#b45309;font-weight:700}
html body .nv-items td.nv-ok{color:#3f6e12}
html body .nv-h4{margin:16px 0 6px}
html body .nv-pie{flex-wrap:wrap;gap:8px}
html body .nv-q-tabla input{width:100px;text-align:right}
html body .nv-op{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;margin-top:10px}
html body .nv-op .fe-campo-modal{min-width:200px}
html body .nv-alerta{background:#fff7e6;border:1px solid #f3dca6;color:#7a4b00;border-radius:8px;padding:8px 10px;margin-top:8px;font-size:13px}
html body .nv-barra-acc{display:flex;justify-content:flex-end;margin:0 0 10px}
html body .nv-bloqueado .fe-items,html body .nv-bloqueado .fe-pie button{pointer-events:none;opacity:.6}
html body .nv-print-datos,html body .nv-print-items{width:100%;border-collapse:collapse;margin:8px 0;font-size:12px}
html body .nv-print-datos th,html body .nv-print-datos td,html body .nv-print-items th,html body .nv-print-items td{border:1px solid #cbd5e1;padding:4px 6px;text-align:left}
html body .nv-print-items th{background:#f1f5f9}
@media (max-width:900px){html body .nv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}html body .nv-datos{grid-template-columns:max-content 1fr!important}}
/* Listas de precios */
html body .ns-modal.lp-modal{max-width:1180px!important;width:96vw}
html body .lp-cuerpo{display:grid;grid-template-columns:270px 1fr;gap:16px;min-height:420px}
html body .lp-lado{display:flex;flex-direction:column;gap:6px;border-right:1px solid #e3e9f1;padding-right:14px}
html body .lp-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#fff;border:1px solid #e3e9f1;border-radius:10px;padding:9px 11px;cursor:pointer}
html body .lp-item strong{font-size:14px;color:#0b1a30}
html body .lp-item small{font-size:11.5px;color:#64748b}
html body .lp-item.activo{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
html body .lp-item.inactiva{opacity:.6}
html body .lp-nueva{margin-top:8px}
html body .lp-cab{grid-template-columns:repeat(4,minmax(0,1fr))!important}
html body .lp-cab .fe-span4{grid-column:1/-1}
html body .lp-activa span:last-child{display:flex;align-items:center;gap:6px;padding:8px 0;font-weight:500}
html body .lp-acc{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin:8px 0}
html body .lp-buscar{flex:1;max-width:420px}
html body .lp-explica{background:#f5f8fc;border:1px solid #e3e9f1;border-radius:8px;padding:8px 10px;color:#475569}
html body .lp-tabs{margin:10px 0 8px}
html body .lp-tabla input{width:140px}
html body .lp-tabla .lp-vprod{width:100%;min-width:240px}
html body .lp-dif{color:#3f6e12;font-weight:700}
html body .lp-vacio{padding:30px;color:#475569}
html body .lp-regla{display:block;color:#2563eb!important;font-weight:600}
html body .lp-card-header{display:flex;justify-content:space-between;align-items:center;gap:10px}
@media (max-width:800px){html body .lp-cuerpo{grid-template-columns:1fr}html body .lp-lado{border-right:0;padding-right:0}}
html body .lp-activa input{width:auto!important;height:auto!important;margin:0}
/* Reportes de gestión */
html body .gs-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
html body .gs-kpis .cob-kpi{cursor:default}
html body .gs-filtros{align-items:flex-end;flex-wrap:wrap}
html body .gs-rapidos{display:flex;gap:6px;align-items:flex-end}
html body .gs-graf{display:flex;gap:10px;align-items:flex-end;height:170px;padding:10px 4px 0;margin:6px 0 14px;border-bottom:1px solid #e3e9f1;overflow-x:auto}
html body .gs-barra{flex:1;min-width:54px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px}
html body .gs-barra span{width:70%;max-width:46px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);border-radius:6px 6px 0 0}
html body .gs-barra span.neg{background:#dc2626}
html body .gs-barra small{font-size:11px;color:#64748b}
html body .gs-barra b{font-size:10.5px;color:#334155;white-space:nowrap}
html body .gs-part{display:inline-block;width:80px;height:7px;background:#e8edf3;border-radius:99px;overflow:hidden;vertical-align:middle;margin-right:6px}
html body .gs-part span{display:block;height:100%;background:#0f2a4a}
html body .gs-aging td{font-size:14px}
html body .gs-resumen{margin-bottom:14px}
@media (max-width:900px){html body .gs-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
