.login-page-shell{position:relative;display:grid;place-items:center;min-height:100dvh;overflow:auto;--login-accent-primary:#12847d;--login-accent-secondary:#1abcb2;--login-accent-gold:#f3ac3f;--brand-primary:#12847d;--brand-cyan:#1abcb2;--brand-highlight:#f3ac3f;--brand-ink:#231f20;--brand-gradient-cta:linear-gradient(270deg,#1abcb2,#12847d);--brand-gradient-cta-hover:linear-gradient(88deg,#12847d 1.3%,#f3ac3f 159%);--admin-cta-fg:#fff;--login-interaction-duration:200ms;--login-interaction-easing:cubic-bezier(0.22,1,0.36,1);background:radial-gradient(120% 80% at 8% -10%,rgba(26,188,178,.14),transparent 55%),radial-gradient(90% 70% at 100% 100%,rgba(18,132,125,.1),transparent 52%),radial-gradient(60% 40% at 70% 20%,rgba(243,172,63,.05),transparent 45%),#f9fafa;animation:login-shell-fade .48s var(--login-interaction-easing) both}@keyframes login-shell-fade{0%{opacity:0}to{opacity:1}}@keyframes login-card-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-page-stage{position:relative;z-index:10;width:100%;display:flex;justify-content:center;padding:max(3rem,calc(env(safe-area-inset-top) + 2rem)) 1.25rem max(2rem,env(safe-area-inset-bottom))}.login-page-panel{width:min(24.5rem,100%)}.login-page-card{position:relative;border-radius:1rem;border:1px solid rgba(35,31,32,.08);background:hsla(0,0%,100%,.94);backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 18px 44px -28px rgba(18,132,125,.28),0 12px 28px -20px rgba(35,31,32,.18);animation:login-card-enter .52s var(--login-interaction-easing) 60ms both}.login-page-card-inner{display:flex;flex-direction:column;gap:1.35rem;padding:1.85rem 1.5rem 1.65rem}.login-page-brand-lockup{display:flex;justify-content:center;padding-bottom:.15rem}.login-page-brand-logo{display:block;width:min(11.5rem,68%);height:auto;aspect-ratio:166/40;object-fit:contain;object-position:center}.login-page-card-head{display:flex;flex-direction:column;gap:.35rem;text-align:center}.login-page-card-title-sr{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-card-title{margin:0;font-size:1.375rem;font-weight:600;letter-spacing:-.025em;line-height:1.25;color:var(--foundation-grey-g300,#231f20)}.login-page-card-description{margin:0;font-size:.875rem;line-height:1.5;color:var(--foundation-grey-g200,#646464)}.login-page-card-body{display:flex;flex-direction:column;gap:1.25rem}.login-page-field{display:flex;flex-direction:column;gap:.4rem}.login-page-field label{font-size:.8125rem;font-weight:500;color:var(--foundation-grey-g200,#646464)}.login-page-field input{height:2.75rem;border-radius:.625rem;border-color:rgba(35,31,32,.12);background:#fff;box-shadow:none;font-size:.9375rem;transition:border-color var(--login-interaction-duration) var(--login-interaction-easing),box-shadow var(--login-interaction-duration) var(--login-interaction-easing)}.login-page-field input:focus-visible{border-color:color-mix(in srgb,var(--login-accent-primary,#12847d) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-accent-secondary,#1abcb2) 22%,transparent)}.login-page-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.login-page-inline-link{font-size:.75rem;font-weight:500;line-height:1.2;color:var(--foundation-grey-g200,#646464);text-decoration:none;transition:color var(--login-interaction-duration) var(--login-interaction-easing)}.login-page-inline-link:hover{color:var(--login-accent-primary,#12847d);text-decoration:underline;text-underline-offset:2px}.login-page-password-wrap{position:relative;display:flex;align-items:center}.login-page-password-input{height:2.75rem;width:100%;border-radius:.625rem;border:1px solid rgba(35,31,32,.12);background:#fff;padding:0 2.5rem 0 .75rem;font-size:.9375rem;color:var(--foundation-grey-g300,#231f20);outline:none;transition:border-color var(--login-interaction-duration) var(--login-interaction-easing),box-shadow var(--login-interaction-duration) var(--login-interaction-easing)}.login-page-password-input::placeholder{color:var(--foundation-grey-g200,#646464)}.login-page-password-input:focus-visible{border-color:color-mix(in srgb,var(--login-accent-primary,#12847d) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--login-accent-secondary,#1abcb2) 22%,transparent)}.login-page-password-toggle{position:absolute;right:.375rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:0;border-radius:.5rem;background:transparent;color:var(--foundation-grey-g200,#646464);cursor:pointer;transition:color var(--login-interaction-duration) var(--login-interaction-easing)}.login-page-password-toggle:hover{color:var(--foundation-grey-g300,#231f20)}.login-page-password-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--login-accent-secondary,#1abcb2) 55%,transparent);outline-offset:1px}.login-page-submit{margin-top:.35rem;min-height:2.75rem}.login-page-error{border-radius:.625rem;border:1px solid rgba(156,40,33,.22);background:rgba(156,40,33,.05);padding:.7rem .85rem;font-size:.8125rem;line-height:1.45;color:#9c2821}.login-page-notice{border-radius:.625rem;border:1px solid color-mix(in srgb,var(--login-accent-primary,#12847d) 18%,transparent);background:color-mix(in srgb,var(--login-accent-secondary,#1abcb2) 8%,#fff);padding:.85rem .9rem;font-size:.875rem;line-height:1.5;color:var(--foundation-grey-g300,#231f20)}.login-page-footer-link{margin:.75rem 0 0;font-size:.8125rem;line-height:1.4}.login-page-footer-link a{font-weight:500;color:var(--foundation-grey-g200,#646464);text-decoration:none;transition:color var(--login-interaction-duration) var(--login-interaction-easing)}.login-page-footer-link a:hover{color:var(--login-accent-primary,#12847d);text-decoration:underline;text-underline-offset:2px}@media (prefers-reduced-motion:reduce){.login-page-card,.login-page-shell{animation:none}}@media (max-width:767px){.login-page-stage{padding-inline:1rem}.login-page-card-inner{padding:1.55rem 1.25rem 1.4rem}.login-page-brand-logo{width:min(10.25rem,72%)}.login-page-card-title{font-size:1.25rem}}