.auth-overlay{position:fixed;inset:0;background:#05060fcc;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}
.auth-overlay[hidden]{display:none}
.auth-modal{position:relative;width:100%;max-width:480px;background:radial-gradient(ellipse at 20% 0%,#4a3470aa,transparent 60%),radial-gradient(ellipse at 100% 100%,#2a2f6d88,transparent 55%),#141024;border:1px solid #7F6FFF55;border-radius:24px;padding:44px 40px;box-shadow:0 0 60px #4a2f8f55}
.auth-close{position:absolute;top:20px;right:20px;background:none;border:0;color:#e6e4eb;font-size:22px;cursor:pointer;line-height:1;padding:6px}
.auth-eyebrow{text-align:center;font-size:10px;letter-spacing:.25em;color:#c9b6f3;display:flex;align-items:center;gap:14px}
.auth-eyebrow:before,.auth-eyebrow:after{content:'';flex:1;height:1px;background:#77708c}
.auth-modal h2{text-align:center;font:32px Cormorant,Georgia,serif;margin:18px 0 10px}
.auth-modal h2 em{color:#c4b2f4;font-style:italic}
.auth-modal .sub{text-align:center;font-size:13px;color:#e6e4eb;line-height:1.7;margin-bottom:28px}
.auth-field{margin-top:18px}
.auth-field label{display:block;font-size:13px;color:#e6e4eb;margin-bottom:8px}
.auth-input-wrap{display:flex;align-items:center;gap:10px;border:1px solid #7F6FFF66;border-radius:30px;padding:12px 18px;background:#0f0c1c}
.auth-input-wrap svg{flex:none;opacity:.7}
.auth-input-wrap input{flex:1;background:none;border:0;color:#fff;font:inherit;font-size:14px}
.auth-input-wrap input:focus{outline:0}
.auth-input-wrap button{background:none;border:0;color:#c9b6f3;cursor:pointer;padding:4px}
.auth-submit{width:100%;margin-top:26px;padding:16px;border:0;border-radius:30px;background:linear-gradient(120deg,#dfd0ff,#baa0f2);color:#17122a;font:15px/1 Manrope,Arial,sans-serif;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px}
.auth-submit:disabled{opacity:.6;cursor:wait}
.auth-switch{text-align:center;margin-top:22px;font-size:13px;color:#e6e4eb}
.auth-switch button{background:none;border:0;color:#c4b2f4;font:inherit;font-weight:600;cursor:pointer;text-decoration:underline}
.auth-status{margin-top:16px;font-size:13px;text-align:center;min-height:18px}
.auth-status.error{color:#f2a3a3}
.auth-status.ok{color:#a7e3b0}
@media(max-width:520px){.auth-modal{padding:32px 22px}}
