:root{--auth-bg-from:#0f172a;--auth-bg-to:#1e293b;--auth-card-bg:#ffffff;--auth-card-shadow:0 25px 50px -12px rgb(0 0 0/0.25);--auth-card-border:#e2e8f0;--auth-card-radius:16px;--auth-input-bg:#f8fafc;--auth-input-border:#cbd5e1;--auth-input-focus:#2563eb;--auth-input-radius:10px;--auth-primary:#2563eb;--auth-primary-hover:#1d4ed8;--auth-text:#1e293b;--auth-text-muted:#64748b;--auth-error:#dc2626;--auth-success:#16a34a;--auth-link:#2563eb;--auth-divider:#e2e8f0}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-bg{position:fixed;inset:0;z-index:0}.auth-bg-gradient{position:absolute;inset:0;background:linear-gradient(135deg,var(--auth-bg-from) 0,var(--auth-bg-to) 100%)}.auth-bg-pattern{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle at 25% 25%,#ffffff 1px,transparent 0),radial-gradient(circle at 75% 75%,#ffffff 1px,transparent 0);background-size:48px 48px}.auth-container{position:relative;z-index:1;width:100%;max-width:440px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:24px;animation:authFadeIn .5s ease-out}@keyframes authFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-logo{margin-bottom:8px}.auth-logo img{height:44px;width:auto;filter:brightness(0) invert(1)}.auth-card{width:100%;background:var(--auth-card-bg);border-radius:var(--auth-card-radius);box-shadow:var(--auth-card-shadow);padding:40px 32px;border:1px solid var(--auth-card-border)}.auth-card-header{text-align:center;margin-bottom:32px}.auth-card-title{font-size:24px;font-weight:700;color:var(--auth-text);margin:0 0 8px;letter-spacing:-.025em}.auth-card-subtitle{font-size:14px;color:var(--auth-text-muted);margin:0;line-height:1.5}.auth-form{gap:20px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-label{font-size:13px;font-weight:600;color:var(--auth-text);letter-spacing:.01em}.auth-input{width:100%;height:44px;padding:0 14px;background:var(--auth-input-bg);border:1.5px solid var(--auth-input-border);border-radius:var(--auth-input-radius);font-size:14px;color:var(--auth-text);transition:border-color .2s,box-shadow .2s,background .2s;outline:none}.auth-input::placeholder{color:var(--auth-text-muted);font-size:13px}.auth-input:hover{border-color:#94a3b8}.auth-input:focus{border-color:var(--auth-input-focus);box-shadow:0 0 0 3px rgb(37 99 235/.12);background:#ffffff}.auth-input.is-error{border-color:var(--auth-error);box-shadow:0 0 0 3px rgb(220 38 38/.1)}.auth-password-wrap{position:relative}.auth-password-wrap .auth-input{padding-right:44px}.auth-password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--auth-text-muted);cursor:pointer;border-radius:8px;transition:color .2s,background .2s}.auth-password-toggle:hover{color:var(--auth-text);background:#f1f5f9}.auth-row{justify-content:space-between;gap:12px}.auth-checkbox-wrap,.auth-row{display:flex;align-items:center}.auth-checkbox-wrap{gap:8px}.auth-checkbox{width:18px;height:18px;accent-color:var(--auth-primary);cursor:pointer}.auth-checkbox-label{font-size:13px;color:var(--auth-text-muted);cursor:pointer}.auth-link{font-size:13px;font-weight:500;color:var(--auth-link);text-decoration:none;transition:color .2s;white-space:nowrap}.auth-link:hover{color:var(--auth-primary-hover);text-decoration:underline}.auth-btn{width:100%;height:46px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--auth-primary);color:#ffffff;font-size:15px;font-weight:600;border:none;border-radius:var(--auth-input-radius);cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;letter-spacing:.01em}.auth-btn:hover{background:var(--auth-primary-hover);box-shadow:0 4px 12px rgb(37 99 235/.3)}.auth-btn:active{transform:scale(.985)}.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-btn-secondary{background:transparent;color:var(--auth-text);border:1.5px solid var(--auth-input-border)}.auth-btn-secondary:hover{background:#f8fafc;box-shadow:none}.auth-divider{display:flex;align-items:center;gap:16px;color:var(--auth-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:var(--auth-divider)}.auth-message{padding:12px 16px;border-radius:10px;font-size:13px;line-height:1.5}.auth-message-error{background:#fef2f2;border:1px solid #fecaca;color:var(--auth-error)}.auth-message-success{background:#f0fdf4;border:1px solid #bbf7d0;color:var(--auth-success)}.auth-card-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--auth-divider);font-size:13px;color:var(--auth-text-muted)}.auth-card-footer a{color:var(--auth-link);font-weight:600;text-decoration:none}.auth-card-footer a:hover{text-decoration:underline}.auth-footer{text-align:center;color:rgba(255,255,255,.5);font-size:12px;display:flex;flex-direction:column;gap:6px}.auth-footer p{margin:0}.auth-footer-links{display:flex;align-items:center;justify-content:center;gap:8px}.auth-footer-links a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}.auth-footer-links a:hover{color:#ffffff}.auth-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffff;border-radius:50%;animation:authSpin .6s linear infinite}@keyframes authSpin{to{transform:rotate(1turn)}}@media (max-width:480px){.auth-card{padding:28px 20px;border-radius:12px}.auth-card-title{font-size:20px}.auth-container{max-width:100%}}