.login-page_shell__flQ1L{position:relative;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:hsl(var(--background));overflow:hidden}.login-page_background__XikIy{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.login-page_grid__0J2gV{position:absolute;inset:0;background-image:linear-gradient(hsl(var(--border)) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)) 1px,transparent 1px);background-size:64px 64px;background-position:50%;opacity:.35;mask-image:radial-gradient(circle at center,black,transparent 70%);-webkit-mask-image:radial-gradient(circle at center,black,transparent 70%)}.login-page_blob1__bmMIU,.login-page_blob2__XYS7R,.login-page_blob3__SY3rN{position:absolute;border-radius:9999px;filter:blur(80px);opacity:.55;will-change:transform}.login-page_blob1__bmMIU{width:36rem;height:36rem;background:hsl(var(--primary));top:-10rem;left:-10rem;animation:login-page_drift1__XtV54 140s ease-in-out infinite}.login-page_blob2__XYS7R{width:30rem;height:30rem;background:hsl(var(--accent));bottom:-8rem;right:-6rem;animation:login-page_drift2__KF7iI 180s ease-in-out infinite}.login-page_blob3__SY3rN{width:22rem;height:22rem;background:hsl(var(--primary)/.7);top:30%;left:50%;transform:translate(-50%,-50%);animation:login-page_drift3__Xncin 160s ease-in-out infinite}@keyframes login-page_drift1__XtV54{0%,to{transform:translate(0) scale(1)}25%{transform:translate(7rem,5rem) scale(1.08)}50%{transform:translate(4rem,10rem) scale(1.04)}75%{transform:translate(10rem,3rem) scale(1.1)}}@keyframes login-page_drift2__KF7iI{0%,to{transform:translate(0) scale(1)}30%{transform:translate(-8rem,-6rem) scale(.96)}55%{transform:translate(-4rem,-11rem) scale(1.02)}80%{transform:translate(-10rem,-4rem) scale(.94)}}@keyframes login-page_drift3__Xncin{0%,to{transform:translate(-50%,-50%) scale(1)}20%{transform:translate(-42%,-58%) scale(1.12)}45%{transform:translate(-58%,-44%) scale(.92)}70%{transform:translate(-46%,-62%) scale(1.06)}}@media (prefers-reduced-motion:reduce){.login-page_blob1__bmMIU,.login-page_blob2__XYS7R,.login-page_blob3__SY3rN{animation:none}}.login-page_cardWrapper___z66s{position:relative;z-index:1;width:100%;max-width:28rem}.login-page_card___mMwy{width:100%;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsl(var(--card)/.92);box-shadow:0 20px 48px -16px rgba(0,0,0,.18)}.login-page_cardHeader__oofmn{text-align:center;padding-bottom:0}.login-page_cardContent__60rXk{padding-top:0}.login-page_logoRow__foLGI{display:flex;justify-content:center;margin-bottom:1.25rem}.login-page_logo__Obrwj{height:2.5rem;width:auto}.login-page_heading__TYnO1{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.login-page_subheading__1wKbg{font-size:1rem;line-height:1.5;color:hsl(var(--muted-foreground));margin:0}.login-page_errorRow__USpOX{margin-bottom:1.25rem;padding:.75rem 1rem;border-radius:.5rem;background:hsl(var(--destructive));border:1px solid hsl(var(--destructive));color:hsl(var(--destructive-foreground));font-size:.875rem;line-height:1.4;text-align:center}.login-page_googleButton__vfibp{display:flex;width:100%;min-height:3rem;gap:.75rem;font-size:1rem;font-weight:500}.login-page_googleIcon__G2Qdy{width:1.5rem;height:1.5rem;flex-shrink:0}.login-page_footerHint__miwXM{margin-top:1.25rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.5}.login-page_link__w8hYV{text-decoration:underline;text-underline-offset:2px}.login-page_link__w8hYV,.login-page_link__w8hYV:hover{color:hsl(var(--primary))}.login-page_link__w8hYV:focus-visible{outline:none;border-radius:.125rem;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring))}.login-page_srOnly__4U_hG{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page_skeleton__5y7xP{position:relative;min-height:100dvh;display:grid;place-items:center;padding:1.5rem;background:hsl(var(--background))}.login-page_skeletonCard__bgI88{width:100%;max-width:28rem;height:28rem;border-radius:.5rem;background:hsl(var(--muted));opacity:.7}