/* Componente aislado: no comparte estructura ni reglas con .modal global.
   Mismo lenguaje visual que birthday-modal.css, pero SIN botón de cerrar ni
   "Ahora no" -- este modal es obligatorio a propósito (ver
   promptCredentialsCompletion en public/js/vsg-auth-system.js). */
.vsg-credentials-modal{position:fixed;z-index:25060;inset:0;display:grid;place-items:center;padding:clamp(16px,3vw,32px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.vsg-credentials-modal.is-visible{opacity:1;pointer-events:auto}
.vsg-credentials-modal__backdrop{position:absolute;inset:0;background:rgba(2,6,23,.82);width:min(100%,470px);max-height:calc(100vh - 32px);overflow-y:auto;padding:clamp(24px,4vw,38px);color:#edf7ff;border:1px solid rgba(74,214,255,.38);border-radius:24px;background:radial-gradient(circle at 88% 6%,rgba(196,102,255,.22),transparent 38%),radial-gradient(circle at 0% 100%,rgba(34,211,238,.16),transparent 40%),linear-gradient(145deg,#101d3a 0%,#0a1127 56%,#11102b 100%);box-shadow:0 24px 70px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.09);transform:translateY(14px) scale(.985);transition:transform .22s cubic-bezier(.22,.8,.25,1)}
.vsg-credentials-modal.is-visible .vsg-credentials-modal__panel{transform:translateY(0) scale(1)}
.vsg-credentials-modal__brand{display:inline-flex;align-items:center;gap:9px;color:#8bdcff;font-size:10px;font-weight:900;letter-spacing:.15em}
.vsg-credentials-modal__brand img{width:34px;height:34px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px rgba(81,215,255,.15)}
.vsg-credentials-modal__eyebrow{margin:24px 0 7px;color:#f7a7d8;font-size:11px;font-weight:900;letter-spacing:.13em}
.vsg-credentials-modal h2{max-width:390px;margin:0;color:#fff;font-size:clamp(22px,4.4vw,30px);line-height:1.08;letter-spacing:-.03em}
.vsg-credentials-modal__lead{max-width:400px;margin:13px 0 20px;color:#b9c8df;font-size:14px;line-height:1.55}
.vsg-credentials-modal__field{display:grid;gap:7px;margin-bottom:14px;color:#cae2f8;font-size:12px;font-weight:800}
.vsg-credentials-modal__field input{min-height:44px;padding:0 12px;color-scheme:dark;color:#fff;border:1px solid rgba(121,190,255,.32);border-radius:11px;outline:none;background:rgba(2,9,28,.68);font:inherit;width:100%;box-sizing:border-box}
.vsg-credentials-modal__field input:focus{border-color:#42c8ff;box-shadow:0 0 0 3px rgba(66,200,255,.15)}
.vsg-credentials-modal__captcha{margin:6px 0 4px;transform:scale(.92);transform-origin:left top}
.vsg-credentials-modal__error{margin:4px 0 0;padding:10px 12px;color:#fca5a5;border:1px solid rgba(248,113,113,.28);border-radius:10px;background:rgba(127,29,29,.22);font-size:12px;line-height:1.4}
.vsg-credentials-modal__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.vsg-credentials-modal__save{min-height:44px;padding:0 20px;color:#fff;border:1px solid rgba(104,230,255,.48);border-radius:10px;background:linear-gradient(135deg,#0ea5e9,#2563eb);box-shadow:0 9px 22px rgba(14,165,233,.24);font-size:13px;font-weight:850;cursor:pointer;width:100%}
.vsg-credentials-modal__save:disabled{cursor:wait;opacity:.65}
.vsg-credentials-modal__logout{display:block;margin:14px auto 0;padding:0;color:#8098b8;border:none;background:transparent;font-size:12px;text-decoration:underline;cursor:pointer}
.vsg-credentials-modal__logout:disabled{cursor:wait;opacity:.65}
@media(max-width:480px){
    .vsg-credentials-modal{align-items:end;padding:12px}
    .vsg-credentials-modal__panel{border-radius:21px}
}
