.auth-overlay{position:fixed;inset:0;background:rgba(8,12,22,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem;animation:authFadeIn .25s ease-out}@keyframes authFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.auth-modal-card{position:relative;background:#0f172a;border:1px solid rgba(56,189,248,.25);box-shadow:0 25px 60px -15px rgba(0,0,0,.8),0 0 40px rgba(56,189,248,.12);border-radius:20px;width:100%;max-width:440px;padding:2.5rem 2.2rem;color:#f8fafc}.auth-close-btn{position:absolute;top:1.25rem;right:1.25rem;background:transparent;border:none;color:#64748b;cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.auth-close-btn:hover{color:#f8fafc;background:rgba(255,255,255,.08)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:linear-gradient(135deg,rgba(56,189,248,.2),rgba(99,102,241,.2));border:1px solid rgba(56,189,248,.35);border-radius:14px;color:#38bdf8;margin-bottom:1rem}.auth-header h2{font-size:1.6rem;font-weight:700;letter-spacing:-.02em;color:#f8fafc;margin-bottom:.4rem}.auth-header p{color:#94a3b8;font-size:.9rem;line-height:1.4}.auth-tabs{display:flex;background:#1e293b;padding:4px;border-radius:12px;margin-bottom:1.8rem;border:1px solid rgba(255,255,255,.06)}.auth-tab-btn{flex:1 1;background:transparent;border:none;color:#94a3b8;padding:8px 14px;font-size:.88rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.auth-tab-btn.active{background:#0f172a;color:#38bdf8;box-shadow:0 2px 8px rgba(0,0,0,.3)}.auth-error-banner{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.35);color:#f87171;border-radius:10px}.auth-error-banner,.auth-success-banner{padding:.75rem 1rem;font-size:.85rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:8px}.auth-success-banner{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.35);color:#34d399;border-radius:10px}.auth-form{gap:1.1rem}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{font-size:.82rem;font-weight:600;color:#cbd5e1;letter-spacing:.02em}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:14px;color:#64748b;pointer-events:none}.auth-input{width:100%;background:#1e293b;border:1px solid #334155;border-radius:10px;padding:10px 14px 10px 42px;color:#f8fafc;font-size:.95rem;outline:none;transition:all .2s ease}.auth-input:focus{border-color:#38bdf8;box-shadow:0 0 0 3px rgba(56,189,248,.15);background:#24334a}.auth-label-row{display:flex;align-items:center;justify-content:space-between}.auth-badge-beta{background:rgba(168,85,247,.2);border:1px solid rgba(192,132,252,.45);color:#d8b4fe;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:12px;text-transform:uppercase;letter-spacing:.4px}.auth-invitation-input{letter-spacing:.08em;font-weight:600;color:#38bdf8}.auth-invitation-input::placeholder{letter-spacing:normal;font-weight:400;color:#64748b}.auth-field-hint{font-size:.74rem;color:#94a3b8;margin-top:1px}.auth-btn-primary{margin-top:.5rem;background:linear-gradient(135deg,#0284c7,#38bdf8);color:#0f172a;font-weight:700;font-size:.98rem;border:none;border-radius:10px;padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .25s ease;box-shadow:0 4px 18px rgba(56,189,248,.3)}.auth-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px rgba(56,189,248,.45);filter:brightness(1.08)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0 1.2rem;color:#64748b;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;border-bottom:1px solid #334155}.auth-divider span{padding:0 12px}.auth-btn-google{width:100%;background:#1e293b;border:1px solid #334155;color:#e2e8f0;font-size:.92rem;font-weight:600;padding:11px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease}.auth-btn-google:hover:not(:disabled){background:#283548;border-color:#64748b;color:#ffffff}.auth-btn-google svg{flex-shrink:0}.auth-footer-help{margin-top:1.25rem;text-align:center}.auth-link-subtle{background:transparent;border:none;color:#94a3b8;font-size:.82rem;cursor:pointer;text-decoration:underline;transition:color .2s}.auth-link-subtle:hover{color:#38bdf8}.turnstile-container-wrapper{align-items:center;margin:.5rem 0;min-height:65px;overflow:hidden;border-radius:8px}.turnstile-container-wrapper,.turnstile-slot{display:flex;justify-content:center}.auth-resend-prompt{display:flex;flex-direction:column;align-items:center;gap:6px;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:10px 14px;margin-bottom:1.25rem;font-size:.85rem;color:#fbbf24;text-align:center}.auth-resend-btn{background:transparent;border:none;color:#38bdf8;font-weight:600;font-size:.86rem;text-decoration:underline;cursor:pointer;padding:2px 6px;transition:color .2s}.auth-resend-btn:hover:not(:disabled){color:#7dd3fc}.auth-resend-btn:disabled{opacity:.6;cursor:not-allowed}.auth-pending-confirmation{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.auth-pending-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:rgba(56,189,248,.12);border:2px solid rgba(56,189,248,.35);border-radius:50%;color:#38bdf8;margin-bottom:1.2rem}.auth-pending-confirmation h3{font-size:1.4rem;font-weight:700;color:#f8fafc;margin:0 0 .5rem}.auth-pending-confirmation p{color:#cbd5e1;font-size:.95rem;line-height:1.5;margin:0 0 1rem}.auth-pending-confirmation p strong{color:#38bdf8}.auth-pending-note{background:rgba(30,41,59,.8);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 16px;font-size:.84rem;color:#94a3b8;line-height:1.45;margin-bottom:1.5rem}