.auth-app{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;overflow:hidden}.auth-app:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;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%);animation:gradientFloat 15s ease-in-out infinite;pointer-events:none}@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{width:100%;max-width:420px;background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:24px;padding:48px 40px;border:1px solid var(--glass-border);box-shadow:var(--universal-shadow);position:relative;z-index:1;animation:cardEnter .8s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0;transform:translateY(30px) scale(.95)}@keyframes cardEnter{to{opacity:1;transform:translateY(0) scale(1)}}:root[data-theme=dark] .auth-card{background:var(--surface);border:1px solid rgba(255,255,255,.08)}:root[data-theme=glass] .auth-card{background:var(--surface-glass)}.auth-header{text-align:center;margin-bottom:40px;animation:fadeSlideDown .6s ease .2s forwards;opacity:0;transform:translateY(-10px)}@keyframes fadeSlideDown{to{opacity:1;transform:translateY(0)}}.auth-logo{width:80px;height:80px;margin:0 auto 20px;position:relative}.auth-logo-image{width:100%;height:100%;border-radius:20px;object-fit:contain;animation:logoPulse 3s ease-in-out infinite}@keyframes logoPulse{0%,to{transform:scale(1);filter:drop-shadow(0 4px 20px rgba(var(--accent-rgb),.2))}50%{transform:scale(1.02);filter:drop-shadow(0 8px 30px rgba(var(--accent-rgb),.3))}}.auth-title{margin:0;font-size:2.5rem;font-weight:700;color:var(--text-strong);letter-spacing:-.02em;background:linear-gradient(135deg,var(--text-strong) 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-buttons{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.auth-btn{width:100%;padding:16px 24px;border-radius:14px;border:1px solid var(--border-color);background:var(--surface);color:var(--text-strong);font-size:var(--font-size-md);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 15px #0000000d;position:relative;overflow:hidden;animation:buttonEnter .5s ease forwards;opacity:0;transform:translateY(20px)}.auth-btn:nth-child(1){animation-delay:.3s}.auth-btn:nth-child(2){animation-delay:.4s}@keyframes buttonEnter{to{opacity:1;transform:translateY(0)}}.auth-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.auth-btn:hover:before{left:100%}.auth-btn:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a;border-color:rgba(var(--accent-rgb),.3)}.auth-btn:active{transform:translateY(-1px);box-shadow:0 4px 15px #00000014}.auth-btn--email{background:var(--accent);color:var(--accent-foreground);border-color:transparent}.auth-btn--email:hover{background:var(--accent);opacity:.9;box-shadow:0 8px 30px 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:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:18px}.auth-btn__icon svg{width:100%;height:100%}.auth-footer{text-align:center;animation:fadeIn .6s ease .5s forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}.auth-footer-text{margin:0;font-size:var(--font-size-base);color:var(--text-muted)}.auth-link{color:var(--accent);text-decoration:none;font-weight:600;transition:all .2s ease;position:relative}.auth-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}.auth-link:hover:after{width:100%}.auth-link:hover{opacity:.8}.auth-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease;padding:20px}.auth-modal-overlay.active{opacity:1;visibility:visible}.auth-modal{width:100%;max-width:420px;background:var(--surface);border-radius:20px;padding:32px;border:1px solid var(--glass-border);box-shadow:0 25px 50px #00000040;transform:scale(.9) translateY(20px);transition:all .3s cubic-bezier(.34,1.56,.64,1)}.auth-modal-overlay.active .auth-modal{transform:scale(1) translateY(0)}:root[data-theme=dark] .auth-modal{background:var(--surface);border-color:#ffffff1a}.auth-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.auth-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:700;color:var(--text-strong)}.auth-modal__close{width:36px;height:36px;border-radius:50%;border:none;background:var(--bg);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s ease}.auth-modal__close:hover{background:var(--bg-secondary);color:var(--text-strong);transform:rotate(90deg)}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form__group{display:flex;flex-direction:column;gap:8px}.auth-form__label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-main)}.auth-form__required{color:var(--danger);margin-left:2px}.auth-form__input{width:100%;padding:14px 16px;border:1px solid var(--input-border);border-radius:12px;background:var(--input-bg);color:var(--input-text);font-size:var(--font-size-base);font-family:inherit;outline:none;transition:all .2s ease}.auth-form__input:focus{border-color:var(--accent);background:var(--input-bg-focus);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.auth-form__input::placeholder{color:var(--input-placeholder)}.auth-form__hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:-4px}.auth-form__submit{width:100%;padding:14px 24px;border-radius:12px;border:none;background:var(--accent);color:var(--accent-foreground);font-size:var(--font-size-md);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin-top:8px}.auth-form__submit:hover:not(:disabled){opacity:.9;transform:translateY(-2px);box-shadow:0 8px 25px rgba(var(--accent-rgb),.25)}.auth-form__submit:active{transform:translateY(0)}.auth-form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-form__spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:none}@keyframes spin{to{transform:rotate(360deg)}}.auth-alert{padding:14px 16px;border-radius:12px;font-size:var(--font-size-sm);font-weight:500;display:none;animation:alertSlide .3s ease}@keyframes alertSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-alert:not(:empty){display:block}.auth-alert--error{background:#ef44441a;color:var(--danger);border:1px solid rgba(239,68,68,.2)}.auth-alert--success{background:#10b9811a;color:var(--success);border:1px solid rgba(16,185,129,.2)}.auth-form__forgot{text-align:right;margin-top:-8px}.auth-form__forgot-link{font-size:var(--font-size-xs);color:var(--text-muted);text-decoration:none;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;transition:color .2s ease}.auth-form__forgot-link:hover{color:var(--accent)}@media (max-width: 480px){.auth-card{padding:32px 24px;margin:16px;border-radius:20px}.auth-logo{width:64px;height:64px}.auth-title{font-size:2rem}.auth-btn{padding:14px 20px;font-size:var(--font-size-base)}.auth-modal{padding:24px;margin:16px}}:root[data-theme=dark] .auth-app:before{background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.03) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.02) 0%,transparent 50%)}:root[data-theme=dark] .auth-btn{box-shadow:0 4px 15px #0000004d}:root[data-theme=dark] .auth-btn:hover{box-shadow:0 8px 25px #0006}:root[data-theme=dark] .auth-modal-overlay{background:#000c}.google-icon{width:20px;height:20px}
