.login-page{--auth-accent:#4f46e5;--auth-accent-hover:#4338ca;--auth-accent-deep:#3730a3;--auth-accent-soft:rgba(99,102,241,.16);--auth-accent-glow:rgba(79,70,229,.18);--auth-surface:#fff;--auth-muted:#64748b;--auth-text:#0f172a;--auth-border:rgba(148,163,184,.32);position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;background-color:#f8fafc;background-image:radial-gradient(ellipse 90% 70% at 12% -8%,rgba(99,102,241,.22) 0,transparent 58%),radial-gradient(ellipse 75% 55% at 94% 6%,rgba(56,189,248,.16) 0,transparent 52%),radial-gradient(ellipse 70% 60% at 50% 105%,rgba(129,140,248,.14) 0,transparent 58%),linear-gradient(168deg,#fff,#f8fafc 42%,#eef2ff)}.login-page:before{inset:0;opacity:.55;background-image:linear-gradient(rgba(148,163,184,.14) 1px,transparent 0),linear-gradient(90deg,rgba(148,163,184,.14) 1px,transparent 0);background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 35%,#000 15%,transparent 72%);mask-image:radial-gradient(ellipse 85% 75% at 50% 35%,#000 15%,transparent 72%)}.login-page:after,.login-page:before{content:"";position:absolute;z-index:0;pointer-events:none}.login-page:after{inset:-20%;background:radial-gradient(circle at 28% 38%,rgba(99,102,241,.14) 0,transparent 42%),radial-gradient(circle at 74% 60%,rgba(56,189,248,.1) 0,transparent 40%);filter:blur(48px);animation:login-page-aurora 20s ease-in-out infinite alternate}@keyframes login-page-aurora{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.06)}}.login-page>*{position:relative;z-index:1}.login-page--form,.login-page--loading{min-height:100vh;min-height:100dvh}.login-page--loading{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;overflow:hidden;padding:0}.login-page__loader{display:flex;align-items:center;justify-content:center;flex:1 1 auto;width:100%;min-height:0;height:100%}.login-page__loader-spinner{display:block;width:2.5rem;height:2.5rem;border-radius:50%;border:3px solid rgba(99,102,241,.18);border-top:3px solid var(--auth-accent);animation:login-page-spin .75s linear infinite}@keyframes login-page-spin{to{transform:rotate(1turn)}}.login-page__stack{width:100%;max-width:min(100%,22rem)}@media (min-width:480px){.login-page__stack{max-width:28rem}}@media (min-width:640px){.login-page__stack{max-width:32rem}}@media (min-width:768px){.login-page__stack{max-width:36rem}}.login-page__brand-lockup{display:inline-flex;align-items:center;gap:.625rem;margin:0 0 1.25rem;padding:.3rem .85rem .3rem .3rem;border:1px solid rgba(99,102,241,.14);border-radius:999px;background:rgba(238,242,255,.72);box-shadow:0 1px 2px rgba(79,70,229,.06)}.login-page__brand-mark{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:.625rem;background:linear-gradient(145deg,#6366f1,#4f46e5);color:#fff;font-size:.9375rem;font-weight:700;letter-spacing:-.04em;line-height:1;box-shadow:0 4px 14px rgba(79,70,229,.22)}.login-page__brand-name{font-size:1rem;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:#3730a3;padding-right:.15rem}.login-page__card{width:100%;box-sizing:border-box;border:1px solid rgba(148,163,184,.28);border-radius:1.35rem;background:hsla(0,0%,100%,.92);box-shadow:0 20px 48px rgba(15,23,42,.08),inset 0 0 0 1px hsla(0,0%,100%,.9),0 0 60px rgba(99,102,241,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-page__title{color:var(--auth-text);font-weight:600;letter-spacing:-.022em;word-spacing:-.05rem;max-width:22ch}.login-page__submit-btn.p-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.78rem 1.35rem;font-size:.9375rem;font-weight:600;line-height:1.2;letter-spacing:.01em;color:#fff;background:linear-gradient(180deg,#6366f1 0,var(--auth-accent) 100%);border:1px solid var(--auth-accent);border-radius:.75rem;box-shadow:0 10px 24px rgba(79,70,229,.32),inset 0 0 0 1px hsla(0,0%,100%,.12);transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.login-page__submit-btn.p-button:enabled:hover{color:#fff;background:linear-gradient(180deg,var(--auth-accent) 0,var(--auth-accent-hover) 100%);border-color:var(--auth-accent-hover);box-shadow:0 14px 28px rgba(79,70,229,.4),inset 0 0 0 1px hsla(0,0%,100%,.14);transform:translateY(-1px)}.login-page__submit-btn.p-button:enabled:active{color:#fff;background:linear-gradient(180deg,var(--auth-accent-hover) 0,var(--auth-accent-deep) 100%);border-color:var(--auth-accent-deep);box-shadow:0 6px 16px rgba(55,48,163,.38);transform:translateY(0)}.login-page__submit-btn.p-button:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--auth-accent),0 10px 24px rgba(79,70,229,.32)}.login-page__submit-btn.p-button:disabled{color:var(--auth-muted);background:#f1f5f9;border-color:#e2e8f0;box-shadow:none;opacity:1;transform:none}.login-page .login-form label{font-weight:600;font-size:clamp(.875rem,2.5vw,1rem);color:#334155}.login-page .login-form .p-inputtext,.login-page .login-form .p-password,.login-page .login-form .p-password .p-inputtext,.login-page .login-form .p-password input{width:100%;border-radius:.65rem;border-color:#cbd5e1;transition:border-color .15s ease,box-shadow .15s ease}.login-page .login-form .p-inputtext:enabled:hover,.login-page .login-form .p-password:not(.p-disabled):hover .p-inputtext{border-color:#94a3b8}.login-page .login-form .p-inputtext:enabled:focus,.login-page .login-form .p-password-input:focus{outline:none;border-color:var(--auth-accent);box-shadow:0 0 0 3px var(--auth-accent-soft)}.login-page .login-form .p-password.p-inputwrapper{display:block;width:100%}.login-page .login-form .p-password .p-password-toggle-mask-icon{color:var(--auth-muted);cursor:pointer}.login-page .login-form .p-password .p-password-toggle-mask-icon:hover{color:var(--auth-accent)}.login-page__footer{padding-top:.25rem}.login-page__footer-link{color:var(--auth-accent);text-decoration:none;font-size:.875rem;font-weight:600}.login-page__footer-link:hover{color:var(--auth-accent-hover);text-decoration:underline}@media (prefers-reduced-motion:reduce){.login-page:after{animation:none}.login-page__submit-btn.p-button:enabled:hover{transform:none}}.auth-page-body{width:100%}.auth-page-subtitle{font-size:clamp(.875rem,2.5vw,1rem);line-height:1.5;color:#64748b;max-width:100%;word-break:break-word}.auth-form{width:100%;margin-top:1.25rem;padding:0}.auth-form-field{margin-bottom:1rem}.auth-form-label{display:block;margin-bottom:.35rem;font-size:clamp(.875rem,2.5vw,1rem);font-weight:600;color:#334155}.auth-form-input{width:100%;padding:.65rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:1rem;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.auth-form-input:not(:disabled):not(.auth-form-input--readonly):hover{border-color:#94a3b8}.auth-form-input:focus{outline:none;border-color:var(--auth-accent,#4f46e5);box-shadow:0 0 0 3px var(--auth-accent-soft,rgba(99,102,241,.2))}.auth-form-input--error{border-color:#dc2626}.auth-form-input--readonly,.auth-form-input--readonly:focus,.auth-form-input--readonly:hover,.auth-form-input:disabled,.auth-form-input:disabled:focus,.auth-form-input:disabled:hover{background:#f1f5f9;color:#94a3b8;border-color:#e2e8f0;opacity:.85;cursor:not-allowed;box-shadow:none}.auth-form-input--readonly,.auth-form-input--readonly:focus,.auth-form-input--readonly:hover{pointer-events:none;outline:none}.auth-form-error{margin:.35rem 0 0;font-size:.8125rem;color:#dc2626;line-height:1.35}.auth-form-banner{width:100%;padding:.75rem 1rem;border-radius:.5rem;background:#fef2f2;color:#b91c1c;font-size:.875rem;line-height:1.4;margin-top:1rem;box-sizing:border-box}.auth-form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.auth-form-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.78rem 1.35rem;border-radius:5px;font-size:.9375rem;font-weight:600;line-height:1.2;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;text-decoration:none;box-sizing:border-box;transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.auth-form-btn--primary{color:#fff;background:linear-gradient(180deg,#6366f1 0,var(--auth-accent,#4f46e5) 100%);border-color:var(--auth-accent,#4f46e5);border-radius:999px;box-shadow:0 10px 24px rgba(79,70,229,.32),inset 0 0 0 1px hsla(0,0%,100%,.12)}.auth-form-btn--primary:hover:not(:disabled){color:#fff;background:linear-gradient(180deg,var(--auth-accent,#4f46e5) 0,var(--auth-accent-hover,#4338ca) 100%);border-color:var(--auth-accent-hover,#4338ca);box-shadow:0 14px 28px rgba(79,70,229,.4),inset 0 0 0 1px hsla(0,0%,100%,.14);transform:translateY(-1px)}.auth-form-btn--primary:active:not(:disabled){background:linear-gradient(180deg,var(--auth-accent-hover,#4338ca) 0,var(--auth-accent-deep,#3730a3) 100%);border-color:var(--auth-accent-deep,#3730a3);box-shadow:0 6px 16px rgba(55,48,163,.38);transform:translateY(0)}.auth-form-btn--primary:focus-visible{outline:2px solid var(--auth-accent,#4f46e5);outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--auth-accent,#4f46e5),0 10px 24px rgba(79,70,229,.32)}.auth-form-btn--primary:disabled{color:#64748b;background:#f1f5f9;border-color:#e2e8f0;box-shadow:none;opacity:1;cursor:not-allowed}.auth-form-footer{display:flex;justify-content:center;margin-top:1rem;padding-top:.25rem}.auth-form-link{color:var(--auth-accent,#4f46e5);text-decoration:none;font-size:.875rem;font-weight:500}.auth-form-link:hover{text-decoration:underline}.auth-form-link-btn{background:none;border:none;padding:0;color:var(--auth-accent,#4f46e5);font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none}.auth-form-link-btn:hover:not(:disabled){text-decoration:underline}.auth-form-link-btn:disabled{opacity:.55;cursor:not-allowed;text-decoration:none}.auth-otp-boxes{display:flex;justify-content:space-around;flex-wrap:nowrap;gap:clamp(.35rem,2vw,.5rem);margin-top:.35rem;width:100%}.auth-otp-box{flex:1 1;max-width:2.75rem;min-width:2.25rem;height:clamp(2.75rem,10vw,3rem);padding:0;border:1.5px solid #cbd5e1;border-radius:.5rem;background:#fff;font-size:clamp(1.0625rem,4vw,1.25rem);font-weight:600;text-align:center;color:#0f172a;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.auth-otp-box:focus{outline:none;border-color:var(--auth-accent,#4f46e5);box-shadow:0 0 0 3px var(--auth-accent-soft,rgba(99,102,241,.2))}.auth-otp-box:disabled{background:#f8fafc;opacity:.7;cursor:not-allowed}.auth-otp-boxes--error .auth-otp-box{border-color:#dc2626}.auth-otp-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.25rem;margin-top:.75rem}.auth-password-field .p-password{width:100%}.auth-password-field .auth-form-input.p-inputtext,.auth-password-field .auth-form-input.p-password-input,.auth-password-field .p-password-input{width:100%;padding:.65rem .75rem;border:1px solid #cbd5e1;border-radius:6px;font-size:1rem;box-sizing:border-box}.auth-password-field .p-password:not(.p-disabled):hover .auth-form-input,.auth-password-field .p-password:not(.p-disabled):hover .p-password-input{border-color:#94a3b8}.auth-password-field .auth-form-input:enabled:focus,.auth-password-field .p-password-input:enabled:focus{outline:none;border-color:var(--auth-accent,#4f46e5);box-shadow:0 0 0 3px var(--auth-accent-soft,rgba(99,102,241,.2))}.auth-password-field .p-password.p-disabled .p-password-input{background:#f1f5f9;color:#94a3b8;opacity:.85;cursor:not-allowed}.auth-password-field .p-password-toggle-icon{color:#64748b}@media screen and (max-width:575px){.auth-form-actions .auth-form-btn{padding:.7rem 1rem}.auth-otp-actions{flex-direction:column;gap:.5rem}}