/* NS POS Control Interno · Gestión de bodega */
.nsb-page{display:grid;gap:12px}
.nsb-card{padding:16px 18px!important}
.nsb-card h3{margin:0 0 6px}
.nsb-subnav{display:flex;flex-wrap:wrap;gap:6px}
.nsb-subnav button{border:1px solid #dbe3ee;background:#fff;border-radius:999px;padding:7px 13px;font-weight:700;font-size:13px;cursor:pointer;color:#0f2a4a}
.nsb-subnav button.active{background:#1e4f8f;color:#fff;border-color:#1e4f8f}
.nsb-subnav-sm{margin:10px 0}
.nsb-form-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:10px 0}
.nsb-form-row label{display:block;font-size:12.5px;font-weight:700;color:#334155;margin-bottom:3px}
.nsb-grow{flex:1 1 220px}
.nsb-grow input,.nsb-grow select{width:100%;box-sizing:border-box}
.nsb-head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.nsb-acciones{display:flex;gap:6px;flex-wrap:wrap}
.nsb-table-wrap{overflow:auto;max-height:62vh;border:1px solid #e2e8f0;border-radius:12px}
.nsb-table{min-width:720px}
.nsb-table td,.nsb-table th{padding:7px 9px!important;font-size:13px}
.nsb-num{width:90px!important;text-align:right}
.nsb-ubic{width:100px!important;text-transform:uppercase}
.nsb-unidad{width:100px!important}
.nsb-kpis{margin:10px 0}
.nsb-scan{display:flex;gap:8px;margin:10px 0}
.nsb-scan #nsbScan{flex:1;font-size:16px;padding:10px 12px}
.nsb-scan #nsbScanCant{width:80px}
.nsb-filtros{display:flex;gap:8px;align-items:center;margin:8px 0}
.nsb-filtros input{flex:1 1 auto;min-width:200px}
.nsb-filtros select{flex:0 0 200px;width:200px}
.nsb-cargando{padding:24px;text-align:center;color:#64748b}
.nsb-total{text-align:right}.nsb-total span,.nsb-total small{display:block;color:#64748b;font-size:12px}.nsb-total strong{font-size:22px}
.nsb-bodegas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin:8px 0}
.nsb-bodega{border:1px solid #e2e8f0;border-radius:12px;padding:12px;display:grid;gap:6px}
.nsb-bodega.inactiva{opacity:.6}.nsb-bodega small{display:block;color:#64748b}
.nsb-bodega-num{display:flex;justify-content:space-between;align-items:baseline}
.nsb-porbodega{font-size:12px;color:#475569}
.nsb-saldo td{background:#f8fafc}
.nsb-clase{display:inline-block;width:24px;text-align:center;border-radius:6px;font-weight:800;color:#fff}
.nsb-clase-A{background:#15803d}.nsb-clase-B{background:#d97706}.nsb-clase-C{background:#64748b}
.nsb-pre{white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px;font-size:12.5px;max-height:50vh;overflow:auto}
.nsb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.nsb-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:3px 4px 3px 10px;font-size:12.5px}
.nsb-chip button{border:0;background:transparent;cursor:pointer;font-weight:800}
.nsb-et-preview{display:flex;flex-wrap:wrap;gap:8px}
.nsb-etiqueta{width:62mm;height:30mm;box-sizing:border-box;border:1px dashed #cbd5e1;padding:2mm 3mm;display:flex;flex-direction:column;justify-content:center;background:#fff;overflow:hidden}
.nsb-et-nombre{font-size:9pt;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nsb-barcode{width:100%;height:12mm;display:block}
.nsb-et-cod{text-align:center;font:9pt monospace;letter-spacing:1px}
.nsb-et-pie{display:flex;justify-content:space-between;font-size:8.5pt}
.nsb-recepcion{width:min(1100px,calc(100vw - 32px))!important;max-width:none!important}
.nsb-recepcion label{font-weight:700;font-size:12.5px;display:block;margin:10px 0 3px}
.nsb-recepcion #nsbRecObs{width:100%;box-sizing:border-box}
.nsci-lote-row{display:flex;gap:4px;margin-top:4px}
.nsci-lote-row input{width:50%!important;padding:3px 6px!important;font-size:12px!important;height:auto!important}
#nsbPrintArea{display:none}
@media print{
  body.nsb-imprimiendo>*:not(#nsbPrintArea){display:none!important}
  body.nsb-imprimiendo #nsbPrintArea{display:block!important}
  .nsb-print-doc{font:10pt Arial,sans-serif;color:#000}
  .nsb-print-doc table{width:100%;border-collapse:collapse}
  .nsb-print-doc th,.nsb-print-doc td{border:1px solid #999;padding:4px 6px;text-align:left}
  .nsb-print-doc .nsb-blank{width:22%}
  .nsb-firmas{display:flex;justify-content:space-around;margin-top:40px}.nsb-firmas div{border-top:1px solid #000;width:35%;text-align:center;padding-top:4px}
  .nsb-print-et.a4{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
  .nsb-print-et.a4 .nsb-etiqueta{width:100%;height:34mm;border:0}
  .nsb-print-et.rollo .nsb-etiqueta{width:50mm;height:25mm;border:0;page-break-after:always;padding:1.5mm 2mm}
}

/* ===== Arriendo de equipos ===== */
.arr-modal{width:min(1100px,calc(100vw - 32px))!important;max-width:none!important;max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.arr-modal .ns-modal-body{overflow:auto}
.arr-modal label{font-weight:700;font-size:12.5px;display:block;margin:6px 0 3px}
.arr-modal input,.arr-modal select,.arr-modal textarea{width:100%;box-sizing:border-box}
.arr-modal .nsb-num{width:90px!important}
.arr-h4{margin:14px 0 6px;color:#0f2a4a;font-size:14px}
.arr-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}
.arr-item{border-left:3px solid #2563eb;padding:6px 10px;margin:6px 0;background:#f8fafc;border-radius:6px;cursor:pointer;font-size:13px}
.arr-item:hover{background:#eff6ff}
.arr-click{cursor:pointer}
.arr-det{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.arr-acciones{margin:12px 0}
.arr-accion{margin-top:12px;border:2px solid #bfdbfe!important}
.arr-ep-sim{max-width:520px}
.arr-cal{border-collapse:collapse;font-size:11px}
.arr-cal th,.arr-cal td{border:1px solid #e2e8f0;min-width:22px;height:30px;text-align:center;padding:0}
.arr-cal tbody th{text-align:left;padding:3px 8px;min-width:170px;background:#fff;position:sticky;left:0}
.arr-cal td{cursor:pointer}
.arr-libre:hover{background:#ecfdf3}
.arr-hoy{outline:2px solid #2563eb;outline-offset:-2px}
.arr-b-res{background:#c7d2fe}.arr-b-act{background:#60a5fa}.arr-b-fin{background:#cbd5e1}.arr-b-man{background:#fdba74}
.arr-ley{display:inline-block;width:14px;height:10px;border-radius:2px;margin:0 3px 0 10px;vertical-align:middle}
.arr-bar{display:inline-block;width:60px;height:7px;background:#e2e8f0;border-radius:4px;margin-right:6px;vertical-align:middle;overflow:hidden}
.arr-bar span{display:block;height:100%;background:#16a34a}
@media print{
  .arr-print-cab{display:flex;justify-content:space-between;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:10px}
  .arr-print-num{text-align:right;font-size:13pt}
  .arr-print table th{width:28%;background:#f1f5f9}
  .arr-print-tot{margin-top:12px}.arr-print-tot td:last-child,.arr-print-tot th:last-child{text-align:right;width:25%}
}
@media (max-width:800px){.arr-det{grid-template-columns:1fr}}
.arr-grupo td{background:#f1f5f9;font-size:13px}
.arr-span{grid-column:1/-1}
.arr-et-cod{font-size:13pt!important;font-weight:800}
@media print{.arr-print-items{margin-top:8px}.arr-print-items th{background:#f1f5f9}}

.ns-version-aviso{position:fixed;top:0;left:0;right:0;z-index:2147483600;background:#b91c1c;color:#fff;padding:10px 18px;font-size:14px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.25)}
.ns-version-tag{font-size:11px;color:#94a3b8;text-align:center;padding:4px 0}
body.ns-nav-collapsed .ns-version-tag{display:none}

.arr-evid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0;padding:10px;border:1px dashed #cbd5e1;border-radius:10px}
.arr-firma{width:100%;max-width:460px;height:150px;border:1px solid #94a3b8;border-radius:8px;background:#fff;touch-action:none;display:block}
.arr-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.arr-thumbs img{height:84px;border-radius:6px;border:1px solid #e2e8f0;object-fit:cover}
.arr-thumbs a{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#475569;text-decoration:none}
.arr-thumbs .arr-firma-mini{background:#fff;object-fit:contain;width:150px}
.arr-acc{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:12px}
.ins-kpi{cursor:pointer}.ins-kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.plat-modulos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 14px;margin:8px 0}
.plat-off{opacity:.55}
@media print{.arr-print-evid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.arr-print-evid figure{margin:0;width:31%}.arr-print-evid img{width:100%;max-height:150px;object-fit:contain;border:1px solid #999}.arr-print-evid figcaption{font-size:8pt}}
@media (max-width:800px){.arr-evid{grid-template-columns:1fr}}
