.auth-root{min-height:100svh;display:flex;font-family:Inter,system-ui,-apple-system,sans-serif}.auth-left{flex:0 0 52%;background:#0f172a;display:flex;align-items:stretch;position:relative;overflow:hidden}.auth-left:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(59,130,246,.12) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(196,181,253,.08) 0,transparent 60%);pointer-events:none}.auth-left-inner{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;padding:36px 48px 40px}.auth-left-logo{display:flex;align-items:center;gap:10px;margin-bottom:48px;text-decoration:none;cursor:pointer}.auth-left-brand{font-size:17px;font-weight:700;color:#ffffff;letter-spacing:-.02em}.auth-left-content{flex:1 1;display:flex;align-items:center;justify-content:center}.auth-anim-wrap{width:100%;max-width:520px;font-family:SF Pro Text,Helvetica Neue,sans-serif;display:flex;flex-direction:column;gap:14px;color:rgba(255,255,255,.8)}.auth-left-tagline{font-size:13px;color:rgba(255,255,255,.35);line-height:1.6;margin-top:32px;max-width:360px}.auth-right{flex:1 1;background:#ffffff;display:flex;align-items:center;justify-content:center;padding:48px 32px}.auth-form-wrap{width:100%;max-width:360px;display:flex;flex-direction:column}.auth-mobile-logo{display:none;margin-bottom:32px;text-decoration:none}.auth-heading{margin:0 0 6px;font-size:24px;font-weight:700;color:#0f172a;letter-spacing:-.02em}.auth-subheading{margin:0 0 20px;font-size:14px;color:#64748b}.auth-error-slot{min-height:20px;margin-bottom:4px}.auth-error{font-size:13px;color:#ef4444}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#ffffff;color:#0f172a;font-size:14px;font-weight:500;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.auth-google-btn:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 6px rgba(0,0,0,.08)}.auth-google-btn:disabled{opacity:.65;cursor:default}.auth-spinner{width:18px;height:18px;border:2.5px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:auth-spin .7s linear infinite;flex-shrink:0}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#94a3b8;font-size:13px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:#e2e8f0}.auth-fields{display:flex;flex-direction:column;gap:10px}.auth-input{width:100%;padding:11px 14px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#0f172a;background:#f8fafc;outline:none;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.auth-input:focus{border-color:transparent;outline:2px solid #2563eb;outline-offset:1px;background:#ffffff}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:hover{-webkit-text-fill-color:#ffffff;-webkit-box-shadow:inset 0 0 0 1000px #404c61;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.auth-input:disabled{opacity:.45;cursor:not-allowed;background:#f1f5f9}.auth-submit-btn{width:100%;padding:11px 16px;border:none;border-radius:10px;background:#0f172a;color:#ffffff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease;margin-top:2px;display:flex;align-items:center;justify-content:center;gap:8px}.auth-submit-btn:hover:not(:disabled){background:#1e293b}.auth-submit-btn:disabled{opacity:.4;cursor:not-allowed}.auth-field-note{margin:0;font-size:12px;color:#94a3b8;text-align:center}.auth-footer{margin-top:24px;display:flex;flex-direction:column;gap:10px;align-items:center}.auth-footer-text{margin:0;font-size:12px;color:#94a3b8;text-align:center;line-height:1.6}.auth-link{color:#2563eb;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-switch{font-size:13px;color:#64748b;text-align:center}.auth-switch a{color:#2563eb;text-decoration:none;font-weight:500}.auth-switch a:hover{text-decoration:underline}.auth-input-reveal{position:relative;display:flex;align-items:center}.auth-input-reveal .auth-input{padding-right:40px}.auth-reveal-btn{position:absolute;right:12px;background:none;border:none;padding:0;cursor:pointer;color:#94a3b8;display:flex;align-items:center;line-height:1;transition:color .15s ease}.auth-reveal-btn:hover{color:#475569}.auth-password-row{display:flex;flex-direction:column;gap:6px}.auth-forgot-link{background:none;border:none;padding:0;font-size:12px;color:#2563eb;cursor:pointer;text-align:right;align-self:flex-end;line-height:1}.auth-forgot-link:hover:not(:disabled){text-decoration:underline}.auth-forgot-link:disabled{opacity:.5;cursor:default}.auth-spinner--dark{border-color:#ffffff rgba(255,255,255,.3) rgba(255,255,255,.3)}.auth-success{font-size:13px;color:#16a34a}.auth-confirm-screen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px 0}.auth-confirm-icon{font-size:40px;line-height:1;margin-bottom:4px}.auth-confirm-btn{margin-top:8px;text-decoration:none;width:100%;box-sizing:border-box}.auth-magic-code{font-size:42px;font-weight:700;letter-spacing:.15em;color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:20px 32px;text-align:center;margin:24px 0 4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auth-copy-confirm{font-size:13px;color:#16a34a;text-align:center;min-height:20px;margin-bottom:4px}.auth-input--code{text-align:center;font-size:22px;font-weight:600;letter-spacing:.2em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1024px){.auth-left{flex:0 0 45%}.auth-left-inner{padding:28px 32px 32px}}@media (max-width:768px){.auth-root{flex-direction:column}.auth-left{display:none}.auth-right{flex:1 1;padding:60px 24px 40px;align-items:flex-start}.auth-form-wrap{max-width:100%}.auth-mobile-logo{display:block}}@media (max-width:400px){.auth-right{padding:48px 20px 32px}.auth-heading{font-size:22px}}