.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--background);padding:20px;position:relative}.auth-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 50%,rgba(0,61,130,.05) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(227,30,36,.03) 0,transparent 50%);pointer-events:none}[data-theme=light] .auth-container:before{background:radial-gradient(circle at 20% 50%,rgba(0,61,130,.03) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(227,30,36,.02) 0,transparent 50%)}.auth-card{width:100%;max-width:480px;background:var(--background-secondary);border-radius:20px;padding:48px 40px;box-shadow:0 4px 6px rgba(0,0,0,.07),0 10px 20px rgba(0,0,0,.1);border:1px solid var(--border-color);animation:slideUp .4s cubic-bezier(.16,1,.3,1);position:relative;z-index:1}[data-theme=light] .auth-card{box-shadow:0 4px 6px rgba(0,61,130,.04),0 10px 20px rgba(0,61,130,.08)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-logo{display:flex;justify-content:center;margin-bottom:32px}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{font-size:1.875rem;font-weight:700;margin-bottom:8px;color:var(--foreground);letter-spacing:-.025em}.auth-subtitle{color:var(--foreground-secondary);font-size:.9375rem;line-height:1.5}.auth-tabs{display:flex;gap:6px;margin-bottom:28px;background:var(--background);padding:4px;border-radius:12px;border:1px solid var(--border-color)}.auth-tab{flex:1;padding:10px 16px;background:transparent;border:none;color:var(--foreground-secondary);cursor:pointer;border-radius:8px;transition:all .2s ease;font-weight:500;font-size:.9375rem;text-decoration:none;text-align:center;display:block}.auth-tab.active{background:var(--accent-blue);color:white;box-shadow:0 2px 8px rgba(0,82,204,.25)}[data-theme=light] .auth-tab.active{box-shadow:0 2px 8px rgba(0,61,130,.2)}.auth-tab:hover:not(.active){background:var(--background-tertiary);color:var(--foreground)}.auth-form{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--foreground);font-weight:500;font-size:.875rem}.form-group input{width:100%;padding:12px 16px;background:var(--background);border:1.5px solid var(--border-color);border-radius:10px;color:var(--foreground);font-size:.9375rem;transition:all .2s ease;box-sizing:border-box}.form-group input::placeholder{color:var(--foreground-tertiary)}.form-group input:focus{outline:none;border-color:var(--accent-blue);background:var(--background-secondary);box-shadow:0 0 0 3px rgba(0,82,204,.1)}[data-theme=light] .form-group input:focus{box-shadow:0 0 0 3px rgba(0,61,130,.08)}.form-group input:disabled{opacity:.5;cursor:not-allowed}.auth-btn{width:100%;padding:13px;border:none;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px}.auth-btn-primary{background:var(--accent-blue);color:white}.auth-btn-primary:hover:not(:disabled){background:var(--brand-primary);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,82,204,.3)}[data-theme=light] .auth-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px rgba(0,61,130,.25)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-message{margin-top:20px;padding:12px 16px;border-radius:10px;font-size:.875rem;animation:slideDown .3s ease;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-message.success{background:rgba(16,200,131,.12);color:var(--accent-green);border:1.5px solid rgba(16,200,131,.3)}[data-theme=light] .auth-message.success{background:rgba(16,200,131,.08);border:1.5px solid rgba(16,200,131,.25)}.auth-message.error{background:rgba(227,30,36,.12);color:var(--accent-red);border:1.5px solid rgba(227,30,36,.3)}[data-theme=light] .auth-message.error{background:rgba(227,30,36,.08);border:1.5px solid rgba(227,30,36,.25)}.loading-spinner{display:inline-block;width:20px;height:20px;border:2.5px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:600px){.auth-card{padding:32px 24px}.auth-header h1{font-size:1.5rem}.auth-logo{margin-bottom:24px}}