/* =====================================================================
   RDMP · Módulo de Inventario
   ===================================================================== */
.inv-kpis { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
.inv-kpis .kpi span { display: flex; align-items: center; gap: 6px; }
.inv-kpis .kpi.is-on { box-shadow: 0 0 0 2px var(--blue), var(--shadow); }
.kpi--static { cursor: default; }
.kpi--static:hover { transform: none; box-shadow: var(--shadow); }
.inv-ico { width: 15px; height: 15px; fill: currentColor; vertical-align: -3px; opacity: .75; flex: none; }

.filters .inv-tools { display: flex; gap: 8px; }

.inv-wrap { max-height: calc(100vh - 290px); overflow: auto; }
table.inv-grid { min-width: 1900px; font-size: 13px; }
.inv-grid th, .inv-grid td { padding: 8px 9px; }
.inv-grid thead th { z-index: 2; }
.inv-grid td.num { text-align: right; font-variant-numeric: tabular-nums; }
.inv-grid td.nowrap { white-space: nowrap; }
.inv-grid td b { font-weight: 600; }
.inv-grid tr.is-off td { color: var(--muted); }
.inv-grid tr.is-off td:first-child { box-shadow: inset 4px 0 0 #9CA3AF; }
.inv-grid tfoot td {
  position: sticky; bottom: 0; background: #FAFAFB; border-top: 1px solid var(--line);
  font-size: 12px; color: var(--muted); font-weight: 600;
}
.inv-grid tfoot td.num b { color: var(--ink); font-size: 13px; }
.mono, .inv-grid .mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; }

.secret { display: inline-flex; align-items: center; gap: 2px; }
.secret code { background: var(--line-2); letter-spacing: 1px; color: var(--muted); min-width: 70px; display: inline-block; }
.secret code.is-shown { color: var(--ink); letter-spacing: 0; background: var(--yellow-50); user-select: all; }
.icon-btn--xs { width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; }
.icon-btn svg { width: 16px; height: 16px; fill: currentColor; }

/* Modal */
.modal--wide { width: min(980px, calc(100vw - 32px)); }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px 14px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 14px; }
#inv-form fieldset { margin-top: 10px; }
.pw-row { display: flex; gap: 6px; align-items: center; }
.pw-row input { flex: 1; }
.pw-row .icon-btn { flex: none; width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); }

/* Importación */
.tag-ok { display: inline-block; background: #E7F7EE; color: #075E33; border-radius: 4px; padding: 0 6px; margin: 2px 0; font-size: 11.5px; font-weight: 600; }
.ii-table { max-height: 300px; overflow: auto; box-shadow: none; border: 1px solid var(--line); }
.ii-table table.grid { min-width: 0; font-size: 12px; }
.ii-table .grid th, .ii-table .grid td { padding: 5px 8px; white-space: nowrap; cursor: default; }
.ii-table td.is-bad { background: var(--red-50); color: #8A0B0C; font-weight: 600; }
.ii-err td { color: #8A0B0C; font-size: 12px; background: #FFFAFA; }
#ii-errors ul { margin: 6px 0 0; padding-left: 18px; }

@media (max-width: 900px) {
  .grid-3, .grid-4 { grid-template-columns: 1fr 1fr; }
  .inv-wrap { max-height: none; }
}
@media (max-width: 560px) {
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .filters .inv-tools { width: 100%; }
}

/* v1.2: modos Equipos / Celulares y BAM */
.inv-modes { margin-bottom: 14px; background: #fff; box-shadow: var(--shadow); }
.inv-modes button { height: 36px; padding: 0 16px; }
.inv-modes small { font-weight: 700; opacity: .6; margin-left: 4px; }
.inv-modes button.is-active small { opacity: .8; }
.inv-grid td.inv-model { max-width: 320px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.inv-grid--tel { min-width: 1750px; }
.inv-note {
  display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 4px;
  border-radius: 50%; background: var(--yellow); color: #4A3B00; font: 700 10px var(--font); cursor: help; vertical-align: 1px;
}
.inv-grid tfoot td { vertical-align: top; }
.inv-kpis .kpi--money strong { font-size: 21px; letter-spacing: -.3px; margin-top: 9px; white-space: nowrap; }