.auth-app{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-app:before{content:"";background:radial-gradient(circle at 20% 80%, rgba(var(--accent-rgb), .08) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(var(--accent-rgb), .05) 0%, transparent 50%), radial-gradient(circle at 50% 50%, rgba(var(--accent-rgb), .03) 0%, transparent 70%);pointer-events:none;width:200%;height:200%;animation:15s ease-in-out infinite gradientFloat;position:absolute;top:-50%;left:-50%}@keyframes gradientFloat{0%,to{transform:translate(0)rotate(0)}33%{transform:translate(2%,2%)rotate(1deg)}66%{transform:translate(-1%,1%)rotate(-1deg)}}.auth-card{background:var(--surface);-webkit-backdrop-filter:blur(40px);border:1px solid var(--glass-border);width:100%;max-width:420px;box-shadow:var(--universal-shadow);z-index:1;opacity:0;border-radius:24px;padding:48px 40px;animation:.8s cubic-bezier(.34,1.56,.64,1) forwards cardEnter;position:relative;transform:translateY(32px)scale(.95)}@keyframes cardEnter{to{opacity:1;transform:translateY(0)scale(1)}}:root[data-theme=dark] .auth-card{background:var(--surface);border:1px solid var(--border-subtle)}:root[data-theme=glass] .auth-card{background:var(--surface-glass)}.auth-header{text-align:center;opacity:0;margin-bottom:40px;animation:.6s .2s forwards fadeSlideDown;transform:translateY(-8px)}@keyframes fadeSlideDown{to{opacity:1;transform:translateY(0)}}.auth-logo{width:64px;height:64px;margin:0 auto 24px;position:relative}.auth-logo-image{object-fit:contain;border-radius:20px;width:100%;height:100%;animation:3s ease-in-out infinite logoPulse}@keyframes logoPulse{0%,to{filter:drop-shadow(0 4px 40px rgba(var(--accent-rgb), .2));transform:scale(1)}50%{filter:drop-shadow(0 8px 32px rgba(var(--accent-rgb), .3));transform:scale(1.02)}}.auth-title{color:var(--text-strong);letter-spacing:var(--letter-spacing-heading-1);background:linear-gradient(135deg, var(--text-strong) 0%, var(--text-muted) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:600}.auth-buttons{flex-direction:column;gap:16px;margin-bottom:20px;display:flex}.auth-consent{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:flex-start;gap:10px;margin-bottom:28px;display:flex}.auth-consent__checkbox{width:18px;height:18px;accent-color:var(--accent,#9a4eff);cursor:pointer;flex-shrink:0;margin-top:3px}.auth-consent__text{color:var(--text-muted);font-size:13px;line-height:1.5}.auth-consent__text a{color:var(--accent,#9a4eff);font-weight:500;text-decoration:none}.auth-consent__text a:hover{text-decoration:underline}.auth-btn{border:1px solid var(--border-color);background:var(--surface);width:100%;color:var(--text-strong);font-size:var(--font-size-md);cursor:pointer;box-shadow:var(--elevation-2);opacity:0;border-radius:16px;justify-content:center;align-items:center;gap:12px;padding:16px 24px;font-weight:600;transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:.5s forwards buttonEnter;display:flex;position:relative;overflow:hidden;transform:translateY(40px)}.auth-btn:first-child{animation-delay:.3s}.auth-btn:nth-child(2){animation-delay:.4s}@keyframes buttonEnter{to{opacity:1;transform:translateY(0)}}.auth-btn:before{content:"";background:linear-gradient(90deg, transparent, var(--bg-secondary), transparent);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.auth-btn:hover:before{left:100%}.auth-btn:hover{box-shadow:var(--elevation-1);border-color:rgba(var(--accent-rgb), .3);transform:translateY(-4px)}.auth-btn:active{box-shadow:var(--elevation-2);transform:translateY(-4px)}.auth-btn--email{background:var(--accent);color:var(--accent-foreground);border-color:#0000}.auth-btn--email:hover{background:var(--accent);opacity:.9;box-shadow:0 8px 32px rgba(var(--accent-rgb), .25)}.auth-btn--google{background:var(--surface)}:root[data-theme=dark] .auth-btn--google{background:var(--surface-secondary)}.auth-btn__icon{width:24px;height:24px;font-size:var(--font-size-subtitle);justify-content:center;align-items:center;display:flex}.auth-btn__icon svg{width:100%;height:100%}.auth-footer{text-align:center;opacity:0;animation:.6s .5s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.auth-footer-text{font-size:var(--font-size-base);color:var(--text-muted);margin:0}.auth-link{color:var(--accent);font-weight:600;text-decoration:none;transition:all .2s;position:relative}.auth-link:after{content:"";background:var(--accent);width:0;height:4px;transition:width .3s;position:absolute;bottom:-4px;left:0}.auth-link:hover:after{width:100%}.auth-link:hover{opacity:.8}.auth-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;visibility:hidden;background:#0009;justify-content:center;align-items:center;padding:24px;transition:all .3s;display:flex;position:fixed;inset:0}.auth-modal-overlay.active{opacity:1;visibility:visible}.auth-modal{background:var(--surface);border:1px solid var(--glass-border);width:100%;max-width:420px;box-shadow:var(--elevation-4);border-radius:20px;padding:32px;transition:all .3s cubic-bezier(.34,1.56,.64,1);transform:scale(.9)translateY(40px)}.auth-modal-overlay.active .auth-modal{transform:scale(1)translateY(0)}:root[data-theme=dark] .auth-modal{background:var(--surface);border-color:var(--border-subtle)}.auth-modal__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.auth-modal__title{color:var(--text-strong);margin:0;font-size:24px;font-weight:600}.auth-modal__close{background:var(--bg);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;font-size:22px;transition:all .2s;display:flex}.auth-modal__close:hover{background:var(--bg-secondary);color:var(--text-strong);transform:rotate(90deg)}.auth-form{flex-direction:column;gap:24px;display:flex}.auth-form__group{flex-direction:column;gap:8px;display:flex}.auth-form__group--inline{flex-direction:row;align-items:center;gap:10px}.auth-form__checkbox{width:auto;margin:0}.auth-form__label--light{margin:0;font-weight:400}.auth-form__label{color:var(--text-main);font-size:12px;font-weight:600}.auth-form__required{color:var(--danger);margin-left:4px}.auth-form__input{border:1px solid var(--input-border);background:var(--input-bg);width:100%;color:var(--input-text);font-size:var(--font-size-base);border-radius:12px;outline:none;padding:16px;font-family:inherit;transition:all .2s}.auth-form__input:focus{border-color:var(--accent);background:var(--input-bg-focus);box-shadow:0 0 0 4px rgba(var(--accent-rgb), .1)}.auth-form__input::placeholder{color:var(--input-placeholder)}.auth-form__hint{color:var(--text-muted);margin-top:-4px;font-size:11px}.auth-form__error-message{color:var(--danger);min-height:0;margin:0;font-size:12px;line-height:1.4}.auth-form__error-message:empty{display:none}.auth-form__submit{background:var(--accent);width:100%;color:var(--accent-foreground);font-size:var(--font-size-md);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:12px;margin-top:8px;padding:16px 24px;font-weight:600;transition:all .3s;display:flex}.auth-form__submit:hover:not(:disabled){opacity:.9;box-shadow:0 8px 24px rgba(var(--accent-rgb), .25);transform:translateY(-4px)}.auth-form__submit:active{transform:translateY(0)}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-form__spinner{border:2px solid #ffffff4d;border-top-color:currentColor;border-radius:9999px;width:16px;height:16px;animation:.8s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}.auth-alert{border-radius:12px;padding:16px;font-size:12px;font-weight:500;animation:.3s alertSlide;display:none}@keyframes alertSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.auth-alert:not(:empty){display:block}.auth-alert--error{background:rgba(var(--danger-rgb), .1);color:var(--danger);border:1px solid rgba(var(--danger-rgb), .2)}.auth-alert--success{color:var(--success);background:#10b9811a;border:1px solid #10b98133}.auth-form__forgot{text-align:right;margin-top:-8px}.auth-form__forgot-link{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11px;text-decoration:none;transition:color .2s}.auth-form__forgot-link:hover{color:var(--accent)}@media (width<=480px){.auth-card{border-radius:20px;margin:16px;padding:32px 24px}.auth-logo{width:64px;height:64px}.auth-title{font-size:2rem}.auth-btn{font-size:var(--font-size-base);padding:16px 24px}.auth-modal{margin:16px;padding:24px}}:root[data-theme=dark] .auth-app:before{background:radial-gradient(circle at 20% 80%, var(--bg-secondary) 0%, transparent 50%), radial-gradient(circle at 80% 20%, var(--bg-secondary) 0%, transparent 50%)}:root[data-theme=dark] .auth-btn{box-shadow:var(--elevation-2)}:root[data-theme=dark] .auth-btn:hover{box-shadow:var(--elevation-1)}:root[data-theme=dark] .auth-modal-overlay{background:#000c}.verification-popup-overlay{-webkit-backdrop-filter:blur(12px);z-index:2000;opacity:0;visibility:hidden;background:#000000a6;justify-content:center;align-items:center;padding:24px;transition:all .3s;display:flex;position:fixed;inset:0}.verification-popup-overlay.active{opacity:1;visibility:visible}.verification-popup{background:var(--surface);border:1px solid var(--glass-border);width:100%;max-width:400px;box-shadow:var(--elevation-4);text-align:center;border-radius:24px;padding:40px 32px 32px;transition:all .4s cubic-bezier(.34,1.56,.64,1);transform:scale(.85)translateY(32px)}.verification-popup-overlay.active .verification-popup{transform:scale(1)translateY(0)}:root[data-theme=dark] .verification-popup{background:var(--surface);border-color:var(--border-subtle)}.verification-popup__icon{background:linear-gradient(135deg, rgba(var(--accent-rgb), .12) 0%, rgba(var(--accent-rgb), .05) 100%);width:96px;height:96px;color:var(--accent);border-radius:9999px;justify-content:center;align-items:center;margin:0 auto 24px;animation:.6s cubic-bezier(.34,1.56,.64,1) .2s both iconBounce;display:inline-flex;position:relative}@keyframes iconBounce{0%{opacity:0;transform:scale(0)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.verification-popup__checkmark{background:var(--success,var(--success));width:32px;height:32px;color:var(--color-on-primary);box-shadow:var(--elevation-4);border-radius:9999px;justify-content:center;align-items:center;animation:.4s cubic-bezier(.34,1.56,.64,1) .5s both checkmarkPop;display:flex;position:absolute;bottom:-4px;right:-4px}@keyframes checkmarkPop{0%{transform:scale(0)}to{transform:scale(1)}}.verification-popup__title{color:var(--text-strong);margin:0 0 12px;font-size:1.35rem;font-weight:600}.verification-popup__message{font-size:var(--font-size-base);color:var(--text-main);line-height:var(--line-height-body-md);margin:0 0 8px}.verification-popup__message strong{color:var(--accent);word-break:break-all}.verification-popup__hint{color:var(--text-muted);font-size:12px;line-height:var(--line-height-body-sm);margin:0 0 32px}.verification-popup__btn{background:var(--accent);width:100%;color:var(--accent-foreground);font-size:var(--font-size-md);cursor:pointer;box-shadow:0 4px 16px rgba(var(--accent-rgb), .2);border:none;border-radius:16px;padding:16px 24px;font-weight:600;transition:all .3s}.verification-popup__btn:hover{opacity:.9;box-shadow:0 8px 24px rgba(var(--accent-rgb), .3);transform:translateY(-4px)}.verification-popup__btn:active{box-shadow:0 4px 16px rgba(var(--accent-rgb), .2);transform:translateY(0)}@media (width<=480px){.verification-popup{border-radius:20px;padding:32px 24px 24px}.verification-popup__icon{width:64px;height:64px}.verification-popup__icon svg{width:32px;height:32px}}.google-icon{width:40px;height:40px}
