.noscript-message{padding:2rem;background:var(--dark-surface);color:var(--text-secondary);text-align:center;margin:2rem auto;max-width:480px;border-radius:12px;border:1px solid var(--dark-surface-elevated)}.noscript-message h2{color:var(--text-primary);margin-bottom:.5rem}.recaptcha-attribution{text-align:center;padding:.75rem;font-size:.7rem;color:var(--text-muted)}.recaptcha-attribution a{color:var(--text-secondary)}.auth-container{height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--dark-bg);padding:1rem;overflow:hidden}body:has(.auth-container){overflow:hidden}.auth-container-active,.auth-container-active body{overflow:hidden}.auth-card{background:var(--gradient-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-soft);width:100%;max-width:720px;animation:fadeInUp .6s ease-out;margin:.5rem;max-height:calc(100vh - 2rem);overflow-y:auto}.auth-card:hover{border-color:var(--primary-green);box-shadow:var(--shadow-glow)}.auth-card:has(#payment-gate:not(.hidden)),.auth-card.payment-gate-active{max-width:900px;background:transparent;border-color:transparent;box-shadow:none;padding:.5rem}.auth-card:has(#payment-gate:not(.hidden)):hover,.auth-card.payment-gate-active:hover{border-color:transparent;box-shadow:none}.auth-header{text-align:center;margin-bottom:.5rem}.auth-logo{display:inline-block;margin-bottom:.375rem}.auth-logo .logo-image{height:36px;width:auto;transition:transform .3s ease}.auth-logo:hover .logo-image{transform:scale(1.05)}.auth-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.25rem;background:linear-gradient(135deg,var(--text-primary) 0%,var(--primary-green) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--text-secondary);font-size:.9rem;margin:0}.auth-form{width:100%;transition:opacity .2s ease}.auth-card .form-group{margin-bottom:.5rem}.form-group label{display:block;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem;font-size:.9rem}.form-input{width:100%;padding:.625rem .875rem;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all .3s ease;font-family:inherit}.form-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px var(--primary-green-soft);background:var(--dark-surface)}.form-input::placeholder{color:var(--text-muted)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--dark-surface-elevated) inset;transition:background-color 5000s ease-in-out 0s}.form-input:invalid:not(:placeholder-shown){border-color:var(--error-color)}.btn-large{padding:1rem 2rem;font-size:1.1rem;font-weight:600;width:100%;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.btn-large:disabled{opacity:.7;cursor:not-allowed}.btn-text{transition:opacity .3s ease}.btn-loader{display:none;align-items:center;gap:.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{width:18px;height:18px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.auth-error{background:#ff47571a;border:1px solid var(--error-color);color:var(--error-color);padding:1rem;border-radius:var(--radius-md);margin-top:.75rem;font-size:.9rem;text-align:center;display:none;animation:shake .5s ease-in-out}.auth-footer{text-align:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.auth-footer p{margin:.25rem 0;color:var(--text-secondary);font-size:.9rem}.auth-footer a{color:var(--primary-green);text-decoration:none;font-weight:500;transition:color .3s ease}.auth-footer a:hover{color:var(--primary-green-bright);text-decoration:underline}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-size:.9rem;line-height:1.4;margin-bottom:.75rem}.checkbox-label input[type=checkbox]{margin:0;flex-shrink:0;margin-top:.1rem}.checkbox-label span{color:var(--text-secondary)}.checkbox-label a{color:var(--primary-green);text-decoration:none;font-weight:500}.checkbox-label a:hover{color:var(--primary-green-bright);text-decoration:underline}.loading-overlay{position:fixed;inset:0;background:#0a0b0ff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:var(--z-modal-backdrop, 1040);display:flex;align-items:center;justify-content:center}.loading-content{text-align:center;color:var(--text-primary)}.loading-content h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.loading-content p{color:var(--text-secondary);font-size:1rem}.loading-spinner-large{margin-bottom:1rem}.spinner-ring{width:48px;height:48px;border:4px solid var(--border-subtle);border-top:4px solid var(--primary-green);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:3rem}.password-toggle{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.75rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.password-toggle:hover{color:var(--text-primary)}.password-toggle:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px;border-radius:4px}.password-toggle svg{width:20px;height:20px}input[type=password].password-visible{-webkit-text-security:none;text-security:none}.password-requirements{margin-top:.5rem}.password-requirements small{color:var(--text-muted);font-size:.8rem;font-style:italic}.password-requirements .requirement{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--text-muted);padding:.1rem 0;transition:color .2s ease}.password-requirements .requirement .req-icon:before{content:"○";font-size:.7rem}.password-requirements .requirement.met{color:var(--primary-green)}.password-requirements .requirement.met .req-icon:before{content:"✓"}.password-requirements .requirement.unmet{color:var(--error-color)}.password-requirements .requirement.unmet .req-icon:before{content:"✗"}.field-error{color:var(--error-color);font-size:.8rem;margin-top:.375rem;animation:fadeIn .2s ease}.field-error-input{border-color:var(--error-color)!important}.pwd-reset-success{background:#00ff8914;border:1px solid var(--primary-green);border-radius:var(--radius-md);padding:1rem;margin:.75rem 0;text-align:center;animation:fadeIn .3s ease}.pwd-reset-success .reset-email{color:var(--primary-green);font-weight:600}.pwd-reset-success .reset-hint{color:var(--text-muted);font-size:.85rem;margin-top:.25rem}.resend-verification{text-align:center;padding:1rem;margin-top:1rem;border-top:1px solid var(--border-subtle)}.resend-verification p{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.resend-verification .btn{display:block;width:100%;max-width:280px;margin:0 auto}.auth-trust-signals{display:flex;justify-content:center;gap:1.5rem;padding:.75rem 0;margin-top:.25rem}.trust-badge{display:flex;align-items:center;gap:.375rem;color:var(--text-muted);font-size:.75rem}.trust-icon{width:14px;height:14px;color:var(--primary-green);flex-shrink:0}.email-typo-hint{font-size:.8rem;color:var(--text-muted);margin-top:.375rem;animation:fadeIn .3s ease}.email-typo-suggestion{background:none;border:none;color:var(--primary-green);font-weight:600;font-size:inherit;cursor:pointer;padding:0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.email-typo-suggestion:hover{color:var(--primary-green-bright);text-decoration-style:solid}.email-typo-dismiss{background:none;border:none;color:var(--text-muted);font-size:inherit;cursor:pointer;padding:0;opacity:.7;transition:opacity .2s ease}.email-typo-dismiss:hover{opacity:1}.trust-badge a{color:var(--text-muted);text-decoration:none;transition:color .2s ease}.trust-badge a:hover{color:var(--primary-green)}.success-message{background:#00ff891a;border:1px solid var(--primary-green);color:var(--primary-green);padding:1rem;border-radius:var(--radius-md);margin-top:1rem;font-size:.9rem;text-align:center;animation:fadeIn .5s ease-out}.sso-divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0;color:var(--text-muted);font-size:.9rem}.sso-divider:before,.sso-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.sso-buttons{display:flex;flex-direction:column;gap:.75rem}.sso-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 1rem;background:var(--dark-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer}.sso-btn img{width:20px;height:20px;flex-shrink:0}.sso-btn.google{background:#fff;color:#333;border-color:#dadce0}.sso-btn.google:hover{background:#f8f9fa;border-color:#dadce0;transform:translateY(-1px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.password-requirements{scroll-margin-bottom:8rem}@media (max-width: 768px){.auth-container{align-items:flex-start;padding:1rem;overflow-y:auto}.auth-card{padding:1rem;margin:0;max-height:none}.auth-header h2{font-size:1.5rem}.form-input{padding:.75rem .875rem;min-height:48px}.btn-large{padding:.875rem 1.5rem;font-size:1rem;min-height:48px}.sso-btn{min-height:48px}}@media (max-width: 480px){.auth-card{padding:.875rem;border-radius:var(--radius-lg)}.auth-header{margin-bottom:.75rem}.auth-header h2{font-size:1.375rem}.auth-logo .logo-image{height:40px}.checkbox-label{font-size:.85rem}.loading-content h3{font-size:1.25rem}.spinner-ring{width:40px;height:40px}.auth-trust-signals{flex-direction:column;align-items:center;gap:.5rem}}@media (max-height: 800px){.auth-container{align-items:flex-start;padding-top:1rem;overflow-y:auto}.auth-card{padding:1rem;max-height:none}}@media (max-height: 600px){.auth-container{padding-top:.5rem;overflow-y:auto}.auth-card{padding:.75rem;max-height:none}}@media (min-height: 900px){.auth-card{padding:1.5rem}}@media (prefers-color-scheme: dark){.form-input{background:var(--dark-surface-elevated)}.checkbox-label input[type=checkbox]{background:var(--dark-surface-elevated);border-color:var(--border-subtle)}}.form-input:focus-visible,.btn:focus-visible,.sso-btn:focus-visible{outline:2px solid var(--primary-green);outline-offset:2px}@media (prefers-contrast: high){.auth-card,.form-input,.btn{border:2px solid var(--text-primary)}}.modal{position:fixed;inset:0;z-index:var(--z-modal, 1050);display:flex;align-items:center;justify-content:center;padding:1rem}.modal-overlay{position:absolute;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;background:var(--dark-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;max-width:420px;width:100%;box-shadow:0 20px 60px #00000080;animation:modalFadeIn .3s ease;transform-origin:center center}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{text-align:center;margin-bottom:2rem}.modal-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.modal-header p{color:var(--text-secondary);font-size:.875rem}.modal-body{margin-bottom:1.5rem}.mfa-input-container{display:flex;justify-content:center;margin-bottom:1rem}.mfa-code-input{width:100%;max-width:240px;padding:1rem;font-size:2rem;text-align:center;letter-spacing:.5rem;background:var(--dark-surface-elevated);border:2px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:Courier New,monospace;transition:all .3s ease}.mfa-code-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.mfa-code-input::placeholder{letter-spacing:.5rem;opacity:.3}.modal-footer{display:flex;gap:1rem;justify-content:center}.modal-footer .btn{flex:1;max-width:150px}.modal-help{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.modal-help a{color:var(--primary);text-decoration:none;font-size:.875rem;transition:opacity .2s ease}.modal-help a:hover{opacity:.8;text-decoration:underline}#recaptcha-container{position:fixed;bottom:-100px;right:-100px;z-index:var(--z-critical-modal, 10000);visibility:hidden;pointer-events:none}@media (prefers-reduced-motion: reduce){.auth-card,.auth-error,.success-message,.modal-content{animation:none}.spinner,.spinner-ring{animation:spin 4s linear infinite}.form-input,.btn,.sso-btn,.auth-logo .logo-image{transition:none}}.grecaptcha-badge{visibility:hidden!important;opacity:0!important;transform:scale(0)!important}
