/* NV Gestor 8.0 · Pasar a individuales. Usa los colores del tema activo. */
html.nvind-bloq { overflow: hidden; }
.nvind-capa {
  --a: var(--accent, #5B6FE0); --a2: var(--accent2, #8B9AEA); --on-a: var(--nv54-on-accent, #fff);
  --s0: var(--bg, #080810); --s1: var(--bg2, #0d0d17); --s2: var(--bg3, #13131e);
  --ln: color-mix(in srgb, var(--text, #fff) 8%, transparent); --ln2: color-mix(in srgb, var(--text, #fff) 14%, transparent);
  --tx: var(--text, #eeeeff); --tx2: var(--text2, #b8c0de); --tx3: var(--text3, #7880a8);
  --ok: var(--green2, #34d399); --warn: var(--amber2, #fcd34d); --bad: var(--red2, #f87171);
  --fm: 'JetBrains Mono', ui-monospace, monospace; --ez: cubic-bezier(.22, 1, .36, 1);
  position: fixed; inset: 0; z-index: 100025; display: flex; align-items: center; justify-content: center; padding: 24px;
  background: color-mix(in srgb, var(--s0) 62%, transparent); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  opacity: 0; transition: opacity .22s ease; color: var(--tx); font-size: 14px; line-height: 1.45;
}
.nvind-capa[hidden] { display: none !important; }
.nvind-capa.ver { opacity: 1; }
.nvind-capa *, .nvind-capa *::before, .nvind-capa *::after { box-sizing: border-box; }
.nvind-capa button, .nvind-capa input { font-family: inherit; color: inherit; }
.nvind-capa :focus-visible { outline: 2px solid var(--a2); outline-offset: 2px; }
.nvind-capa svg, .nvind-btn-plat svg, .nvind-mini svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }

.nvind-caja { width: min(820px, 100%); max-height: min(760px, 100%); display: flex; flex-direction: column; border-radius: 18px; overflow: hidden; outline: none;
  background: var(--s1); border: 1px solid var(--ln2); box-shadow: 0 40px 110px -30px rgba(0, 0, 0, .8);
  transform: translateY(12px) scale(.98); transition: transform .35s var(--ez); }
.nvind-capa.ver .nvind-caja { transform: none; }
.nvind-cab { display: flex; align-items: center; gap: 12px; padding: 16px 16px 14px 20px; border-bottom: 1px solid var(--ln); }
.nvind-cab > div { flex: 1; min-width: 0; }
.nvind-cab h2 { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.nvind-cab p { margin: 2px 0 0; font-size: 13px; color: var(--tx3); }
.nvind-logo { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; color: var(--a2); background: color-mix(in srgb, var(--a) 14%, transparent); }
.nvind-logo svg { width: 20px; height: 20px; }
.nvind-ico { width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--ln); background: transparent; display: inline-grid; place-items: center; cursor: pointer; color: var(--tx3); }
.nvind-ico:hover { color: var(--tx); background: var(--s2); }

.nvind-cuerpo { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px 20px; scrollbar-width: thin; }
.nvind-barra { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; font-size: 13px; color: var(--tx3); }
.nvind-link { background: none; border: 0; color: var(--a2); font-weight: 600; cursor: pointer; padding: 4px 0; font-size: 13px; }
.nvind-vacio { color: var(--tx3); text-align: center; padding: 30px 0; }

.nvind-acc { border: 1px solid var(--ln); border-radius: 13px; margin-bottom: 8px; background: var(--s0); transition: border-color .2s; }
.nvind-acc.on { border-color: color-mix(in srgb, var(--a) 45%, transparent); }
.nvind-acc-cab { display: flex; align-items: center; gap: 10px; padding: 11px 14px; cursor: pointer; flex-wrap: wrap; }
.nvind-acc-cab input { width: 17px; height: 17px; accent-color: var(--a); cursor: pointer; margin: 0; }
.nvind-acc-mail { font-weight: 600; font-family: var(--fm); font-size: 13px; word-break: break-all; flex: 1 1 200px; }
.nvind-acc-meta { font-size: 12px; color: var(--tx3); }

.nvind-filas { padding: 0 14px 12px; }
.nvind-fila { display: grid; grid-template-columns: 88px 1.1fr 1.6fr 64px 100px; gap: 8px; align-items: center; padding: 7px 0; border-top: 1px solid var(--ln); font-size: 13px; text-align: left !important; }
.nvind-fila > span { text-align: left !important; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nvind-th { font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--tx3); border-top: 0; }
.nvind-fila i { color: var(--tx3); font-style: normal; }
.nvind-mono { font-family: var(--fm); font-size: 12px; }
.nvind-rol { font-size: 11px; font-weight: 600; color: var(--tx2); }
.nvind-rol.pr { color: var(--a2); }
.nvind-desc { color: var(--tx3); opacity: .7; }
.nvind-warn { color: var(--warn); font-weight: 600; display: inline-flex; align-items: center; gap: 4px; }
.nvind-warn svg { width: 13px; height: 13px; }

.nvind-pie { display: flex; align-items: center; gap: 12px; padding: 14px 20px; border-top: 1px solid var(--ln); background: var(--s1); flex-wrap: wrap; }
.nvind-nota { flex: 1 1 300px; margin: 0; font-size: 13px; color: var(--tx2); }
.nvind-conf { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.nvind-conf > span { font-size: 13px; font-weight: 600; color: var(--warn); }
.nvind-btn { min-height: 40px; padding: 0 18px; border-radius: 11px; border: 0; background: var(--a); color: var(--on-a); font-weight: 650; font-size: 14px; cursor: pointer; white-space: nowrap; }
.nvind-btn.sec { background: var(--s2); color: var(--tx); border: 1px solid var(--ln2); }
.nvind-btn:disabled { opacity: .45; cursor: not-allowed; }
.nvind-spin { width: 22px; height: 22px; border-radius: 50%; border: 2.5px solid var(--ln2); border-top-color: var(--a); animation: nvindGira .8s linear infinite; }
@keyframes nvindGira { to { transform: rotate(360deg); } }

.nvind-fin { text-align: center; padding: 26px 10px; }
.nvind-fin h3 { margin: 12px 0 4px; font-size: 18px; }
.nvind-fin p { margin: 0; color: var(--tx2); }
.nvind-fin-ico { width: 52px; height: 52px; border-radius: 50%; display: inline-grid; place-items: center; color: var(--ok); background: color-mix(in srgb, var(--ok) 14%, transparent); }
.nvind-fin-ico.mal { color: var(--warn); background: color-mix(in srgb, var(--warn) 14%, transparent); }
.nvind-fin-ico svg { width: 26px; height: 26px; }
.nvind-fallos { text-align: left; margin: 14px auto 0; max-width: 560px; color: var(--warn); font-size: 13px; padding-left: 18px; }

/* Botones en la página de la plataforma */
.nvind-btn-plat { display: inline-flex !important; align-items: center; gap: 6px; font-size: 12px !important; padding: 5px 11px !important; white-space: nowrap; background: transparent !important; color: var(--text2, #b8c0de) !important; border: 1px solid color-mix(in srgb, var(--text, #fff) 14%, transparent) !important; }
.nvind-btn-plat:hover { color: var(--text, #fff) !important; border-color: color-mix(in srgb, var(--accent, #5B6FE0) 55%, transparent) !important; background: color-mix(in srgb, var(--accent, #5B6FE0) 10%, transparent) !important; }
.tbl-btn.nvind-mini { color: var(--accent2, #8B9AEA); }
.nvind-mini-movil { width: 100%; height: 32px; display: flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-top: 1px solid rgba(255, 255, 255, .05);
  background: color-mix(in srgb, var(--accent, #5B6FE0) 12%, transparent); color: var(--accent2, #8B9AEA); font-size: 11px; font-weight: 600; cursor: pointer; }

@media (max-width: 640px) {
  .nvind-capa { padding: 0; align-items: flex-end; }
  .nvind-caja { border-radius: 18px 18px 0 0; max-height: 92vh; }
  .nvind-fila { grid-template-columns: 1fr auto; row-gap: 2px; }
  .nvind-th { display: none; }
  .nvind-fila > span:nth-child(3) { grid-column: 1 / -1; }
  .nvind-pie .nvind-btn { flex: 1; }
}
.nvind-fila-btns { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px; margin-left: auto; }
.nvind-fila-btns > .nvtxt-btn-plat, .nvind-fila-btns > .nvind-btn-plat { margin-left: 0 !important; flex: 0 0 auto; border-radius: 9px; }
.nvind-mini-card { color: var(--accent2, #8B9AEA) !important; }
