.auth-root{background-color:#f8fafc;color:#0f172a;font-family:var(--font-body,"Inter"),system-ui,sans-serif}.auth-card{background:#ffffff;border:1px solid rgb(226 232 240/.7);border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.05)}.auth-field{width:100%;min-height:44px;padding:0 14px 0 44px;border-radius:12px;font-size:14px;background:#ffffff;border:1px solid rgb(226 232 240/.9);color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.auth-field::-moz-placeholder{color:#94a3b8}.auth-field::placeholder{color:#94a3b8}.auth-field:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.4)}.auth-field[aria-invalid=true]{border-color:rgba(244,63,94,.5)}.auth-field[aria-invalid=true]:focus{box-shadow:0 0 0 2px rgba(244,63,94,.35)}.auth-icon{color:#94a3b8;transition:color .15s ease}.auth-field-wrap:focus-within .auth-icon{color:#2563eb}.auth-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;font-size:14px;font-weight:600;background:#2563eb;color:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05);transition:background-color .15s ease,opacity .15s ease}.auth-btn:hover:not(:disabled){background:#1d4ed8}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(59,130,246,.4),0 0 0 4px #fff}.auth-link{font-weight:600;color:#2563eb;text-underline-offset:4px;transition:color .15s ease}.auth-link:hover{color:#1d4ed8;text-decoration:underline}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}@keyframes auth-shake-x{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}.auth-shake{animation:auth-shake-x .45s cubic-bezier(.36,.07,.19,.97)}@keyframes auth-rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-in{opacity:0;animation:auth-rise-in .5s cubic-bezier(.16,1,.3,1) forwards}@media (prefers-reduced-motion:reduce){.auth-root *,.auth-root :after,.auth-root :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.auth-in{opacity:1!important;transform:none!important}}