.hidden{display:none!important;} #modalBox{
  background:#1e1e1e;
  color:#f0f0f0;
  border-radius:12px;
  padding:20px;
  box-shadow:0 8px 30px rgba(0,0,0,.6);
  max-width:520px;
  min-width:280px;
}
.role-admin { background:#1e3a8a; color:#fff !important; }
.role-dist  { background:#166534; color:#fff !important; }
.role-vend  { background:#374151; color:#fff !important; }


/* Mejora visual: estatus del número en recarga individual */
.sim-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:6px 0 0 2px;
  padding:4px 10px;
  border-radius:999px;
  font-size:0.75rem;
  border:1px solid #1f2937;
  background:rgba(15,23,42,0.85);
  color:var(--mut);
}
:root[data-theme="light"] .sim-status{
  background:#f1f5f9;
  border-color:#cbd5f5;
}
.sim-status::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--mut);
  box-shadow:0 0 0 2px rgba(148,163,184,0.4);
}
.sim-status--ok{
  color:var(--ok);
  background:rgba(34,197,94,0.12);
  border-color:rgba(34,197,94,0.55);
}
.sim-status--ok::before{
  background:var(--ok);
  box-shadow:0 0 0 2px rgba(34,197,94,0.45);
}
.sim-status--danger{
  color:var(--danger);
  background:rgba(239,68,68,0.12);
  border-color:rgba(239,68,68,0.55);
}
.sim-status--danger::before{
  background:var(--danger);
  box-shadow:0 0 0 2px rgba(239,68,68,0.45);
}
.sim-status--warn{
  color:#f59e0b;
  background:rgba(245,158,11,0.12);
  border-color:rgba(245,158,11,0.55);
}
.sim-status--warn::before{
  background:#f59e0b;
  box-shadow:0 0 0 2px rgba(245,158,11,0.4);
}
.sim-status--muted{
  color:var(--mut);
}


/* Filas de stock según estado (vencida / vendida-activada) */
.card table tr.sim-row-vencida{
  background:rgba(239,68,68,0.40) !important;
}
.card table tr.sim-row-vendida{
  background:rgba(37,99,235,0.35) !important;
}
:root[data-theme="light"] .card table tr.sim-row-vencida{
  background:rgba(248,113,113,0.35) !important;
}
:root[data-theme="light"] .card table tr.sim-row-vendida{
  background:rgba(59,130,246,0.30) !important;
}

    .security-check-card{
      margin-top:12px;
      padding:14px;
      border:1px solid rgba(148,163,184,.38);
      border-radius:14px;
      background:rgba(15,23,42,.38);
      box-shadow:0 10px 24px rgba(0,0,0,.12);
    }
    .security-check-head{
      display:flex;
      align-items:flex-start;
      gap:10px;
      margin-bottom:10px;
    }
    .security-check-title{
      font-weight:800;
      color:var(--text);
      letter-spacing:.2px;
      margin-bottom:3px;
    }
    .security-check-desc{
      color:var(--muted);
      font-size:13px;
      line-height:1.35;
    }
    .turnstile-wrap{
      display:flex;
      width:320px;
      max-width:100%;
      min-height:84px;
      padding:8px;
      border-radius:12px;
      background:rgba(2,6,23,.25);
      border:1px solid rgba(148,163,184,.22);
      overflow:visible;
      align-items:center;
      justify-content:flex-start;
    }
    #turnstileWidget{
      width:300px;
      min-width:300px;
      min-height:65px;
    }
    @media (max-width:420px){
      .turnstile-wrap{ width:100%; overflow:auto; }
      #turnstileWidget{ min-width:300px; }
    }
    .security-check-footer{
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
      margin-top:10px;
      font-size:12px;
    }
    [data-theme="light"] .security-check-card{
      background:rgba(248,250,252,.86);
      border-color:rgba(148,163,184,.55);
    }
    [data-theme="light"] .turnstile-wrap{
      background:rgba(241,245,249,.78);
    }


/* Fix visual: modales de usuarios centrados, no tipo panel lateral */
#modal:not(.hidden){
  align-items:center !important;
  justify-content:center !important;
}
#modalBox{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* ===== Estilos dinámicos extraídos de recursos/javascript/nucleo/modales.js — V1.2.10 ===== */
.estilo-modales-babd7118{display:flex;gap:6px;align-items:center;}
.estilo-modales-3c7b325d{background:none;border:none;font-size:16px;cursor:pointer;}
.estilo-modales-e797c72a{background:none;border:none;font-size:18px;cursor:pointer;}
.estilo-modales-40eee6f1{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.estilo-modales-1da9facb{margin:0;}
