.auth-route-shell{flex-direction:column;min-height:100dvh;display:flex}.login-page{--auth-navy:#0f172a;--auth-blue:#2563eb;--auth-blue-dark:#1d4ed8;--auth-slate:#475569;--auth-border:#94a3b838;color:#e2e8f0;box-sizing:border-box;background:linear-gradient(135deg,#0f172af0,#1e40afdb),url(https://images.unsplash.com/photo-1717386255773-1e3037c81788?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D) 50%/cover;flex:1;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";filter:blur(20px);opacity:.45;pointer-events:none;border-radius:999px;position:absolute}.login-page:before{background:#60a5fa52;width:26rem;height:26rem;top:-8rem;left:-7rem}.login-page:after{background:#bfdbfe2e;width:22rem;height:22rem;bottom:-7rem;right:-6rem}.auth-layout{z-index:1;box-sizing:border-box;grid-template-columns:minmax(0,1.4fr) minmax(380px,480px);align-items:stretch;gap:6rem;width:100%;max-width:1440px;min-height:100dvh;margin:0 auto;padding:2.5rem 3rem;display:grid;position:relative}.auth-panel{position:relative}.auth-panel--brand{flex-direction:column;justify-content:space-between;gap:1.5rem;min-height:100%;padding-right:2.5rem;display:flex}.auth-brand-header{flex-direction:column;align-items:flex-start;gap:1.25rem;display:flex}.auth-brand-content{flex-direction:column;gap:1.5rem;display:flex}.auth-brand{align-items:center;width:fit-content;display:inline-flex}.auth-brand:hover{text-decoration:none}.auth-badge{-webkit-backdrop-filter:blur(8px);color:#f8fafc;letter-spacing:.1em;text-transform:uppercase;background:linear-gradient(135deg,#ffffff1f,#ffffff0d);border:1px solid #ffffff26;border-top-color:#ffffff59;border-radius:999px;width:fit-content;padding:.55rem 1rem;font-size:.84rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #00000014}.auth-headline{letter-spacing:-.04em;color:#fff;text-wrap:balance;max-width:16ch;margin:0;font-size:clamp(3rem,5.5vw,4.8rem);font-weight:800;line-height:1.05}.auth-copy{color:#e2e8f0f2;max-width:38rem;margin:0;font-size:1.25rem;font-weight:400;line-height:1.65}.auth-feature-list{flex-direction:column;gap:1rem;max-width:36rem;margin-top:1.8rem;display:flex}.auth-feature-card{-webkit-backdrop-filter:blur(18px);background:linear-gradient(135deg,#0f172a66,#0f172a33);border:1px solid #ffffff14;border-color:#ffffff38 #ffffff14 #ffffff14 #ffffff26;border-radius:20px;padding:1.5rem;box-shadow:0 20px 40px #0003}.auth-feature-kicker{letter-spacing:.08em;text-transform:uppercase;color:#bfdbfe;margin:0 0 .5rem;font-size:.85rem;font-weight:700}.auth-feature-body{color:#f1f5f9e6;margin:0;font-size:1rem;line-height:1.55}.auth-policy-links{flex-wrap:wrap;gap:1.5rem;margin-top:2rem;display:flex}.auth-policy-links a{color:#e2e8f0d9;font-size:.95rem;font-weight:600;transition:color .2s}.auth-policy-links a:hover{color:#fff}@media (min-width:1081px) and (max-height:920px){.auth-layout{gap:4rem;padding:2rem}.auth-panel--brand{gap:1.25rem;padding-right:2rem}.auth-brand-header,.auth-brand-content{gap:1rem}.auth-badge{padding:.45rem .85rem;font-size:.78rem}.auth-headline{max-width:15ch;font-size:clamp(2.5rem,4.5vw,3.8rem)}.auth-copy{max-width:32rem;font-size:1.1rem;line-height:1.55}.auth-feature-list{gap:.85rem;max-width:32rem;margin-top:1.2rem}.auth-feature-card{border-radius:18px;padding:1.25rem}.auth-feature-kicker{margin-bottom:.35rem;font-size:.78rem}.auth-feature-body{font-size:.94rem;line-height:1.45}.auth-policy-links{gap:1.2rem;margin-top:1.5rem}.auth-policy-links a{font-size:.88rem}}@media (min-width:1081px) and (max-height:760px){.auth-layout{gap:2rem;padding:1.5rem}.auth-panel--brand{gap:1rem;padding-right:1.5rem}.auth-brand-header{gap:1rem}.auth-brand-content{gap:.85rem}.auth-copy,.auth-policy-links,.auth-feature-card:nth-child(3){display:none}.auth-headline{max-width:14ch;font-size:clamp(2rem,3.5vw,3rem)}.auth-feature-list{gap:.75rem;margin-top:1rem}.auth-feature-card{border-radius:16px;padding:1rem 1.1rem}.auth-feature-kicker{margin-bottom:.25rem;font-size:.75rem}.auth-feature-body{font-size:.88rem;line-height:1.4}}.auth-panel--form{justify-content:flex-end;align-items:center;min-width:0;display:flex}.auth-card-brand-mobile{justify-content:center;margin-bottom:1.5rem;display:none}.auth-card-brand-mobile img{object-fit:contain;display:block}.login-container{width:100%;max-width:480px;color:var(--auth-navy);box-sizing:border-box;-webkit-backdrop-filter:blur(20px);background:#fff;border:1px solid #fff6;border-radius:20px;max-height:none;padding:2.25rem 2rem;overflow-y:visible;box-shadow:0 25px 50px -12px #0f172a73,inset 0 0 0 1px #ffffff26}.auth-card-header{margin-bottom:1.25rem}.auth-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--auth-blue);margin:0 0 .25rem;font-size:.75rem;font-weight:800}.login-header{letter-spacing:-.02em;color:var(--auth-navy);margin:0;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:800;line-height:1.1}.auth-description{color:var(--auth-slate);margin:.5rem 0 0;font-size:.95rem;line-height:1.5}.auth-toggle{border-bottom:1px solid #cbd5e1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:1.5rem;display:grid;position:relative}.auth-toggle:before{content:"";background:#cbd5e1;width:1px;position:absolute;top:.6rem;bottom:.6rem;left:50%;transform:translate(-.5px)}.auth-toggle__button{min-height:3rem;color:var(--auth-slate);cursor:pointer;text-align:center;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.75rem 1rem;font-size:1rem;font-weight:700;transition:color .2s,box-shadow .2s;display:flex;position:relative}.auth-toggle__button:hover{color:var(--auth-navy)}.auth-toggle__button--active{color:var(--auth-blue);box-shadow:inset 0 -2px 0 var(--auth-blue)}.login-form{flex-direction:column;gap:.85rem;display:flex}.login-form--request{gap:.85rem}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.field-group{flex-direction:column;gap:.35rem;display:flex}.field-group--full{width:100%}.field-label{color:var(--auth-navy);font-size:.85rem;font-weight:700}.input-field{box-sizing:border-box;width:100%;color:var(--auth-navy);background:#fff;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:.75rem .85rem;font-size:.95rem;line-height:1.4;transition:all .2s;box-shadow:inset 0 1px 2px #0f172a05}.input-field::placeholder{color:#94a3b8}.input-field:focus{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa33}.login-button{color:#fff;letter-spacing:.01em;cursor:pointer;background:linear-gradient(135deg,#1e40af,#2563eb);border:none;border-radius:12px;margin-top:.25rem;padding:.85rem 1.1rem;font-size:.95rem;font-weight:800;transition:transform .2s,box-shadow .2s,opacity .2s;box-shadow:0 10px 20px #2563eb33}.login-button:hover{transform:translateY(-1px);box-shadow:0 14px 24px #2563eb40}.login-button--secondary{background:linear-gradient(135deg,#0f172a,#1e3a8a)}.forgot-password,.auth-inline-action{width:fit-content;color:var(--auth-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:.94rem;font-weight:700}.forgot-password:hover,.auth-inline-action:hover{color:var(--auth-blue-dark);text-decoration:underline}.forgot-password{margin-top:-.1rem}.status-message{border-radius:14px;margin-top:1rem;padding:.85rem 1rem;font-size:.94rem;line-height:1.5}.status-message--error{color:#991b1b;background:#fee2e2e0;border:1px solid #dc262633}.status-message--success{color:#166534;background:#dcfce7e6;border:1px solid #16a34a2e}.auth-support-copy{color:var(--auth-slate);margin:1rem 0 0;line-height:1.6}.auth-session-status{z-index:20;color:#fff;-webkit-backdrop-filter:blur(12px);background:#0f172ab8;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.55rem;padding:.7rem 1rem;display:inline-flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 10px 25px #0f172a2e}.outage-notice{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;margin:0 0 1.25rem;padding:.95rem 1rem}.outage-notice__title{color:#1e3a8a;margin:0 0 .25rem;font-size:.92rem;font-weight:700}.outage-notice__body{color:#1e40af;margin:0;line-height:1.5}.outage-notice__link{color:#1d4ed8;font-weight:700}.reset-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);background:#0f172a94;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.reset-modal{width:100%;max-width:440px;color:var(--auth-navy);background:#fffffff2;border:1px solid #fff3;border-radius:24px;padding:1.75rem;box-shadow:0 24px 60px #0f172a4d}.reset-modal h2{margin:0 0 .5rem;font-size:1.65rem;line-height:1.15}.reset-modal p{color:var(--auth-slate);margin:0 0 1rem}.reset-form{flex-direction:column;gap:.9rem;display:flex}.reset-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.reset-primary,.reset-secondary{cursor:pointer;border-radius:14px;padding:.85rem 1.1rem;font-weight:700}.reset-primary{color:#fff;background:linear-gradient(135deg,#1e40af,#2563eb);border:none}.reset-primary:disabled{opacity:.7;cursor:not-allowed}.reset-secondary{color:var(--auth-navy);background:#fff;border:1px solid #cbd5e1}.reset-message{border-radius:12px;padding:.75rem .85rem;font-size:.92rem}.reset-message--error{color:#991b1b;background:#fee2e2e0;border:1px solid #dc26262e}.reset-message--success{color:#166534;background:#dcfce7eb;border:1px solid #16a34a24}@media (max-width:1080px){.login-page{align-items:center;min-height:100dvh}.auth-layout{grid-template-columns:minmax(0,1fr);justify-content:center;align-items:center;gap:.75rem;min-height:100dvh;padding:1rem}.auth-panel--brand{display:none!important}.auth-card-brand-mobile{display:flex}.auth-panel--form{justify-content:center;align-items:center;width:100%;display:flex}.login-container{max-width:min(480px,100%);padding:1.5rem 1.35rem}.auth-card-header{margin-bottom:.9rem}.auth-eyebrow{font-size:.68rem}.login-header{font-size:clamp(1.45rem,3vw,1.85rem);line-height:1.08}.auth-description{margin-top:.35rem;font-size:.86rem;line-height:1.35}.login-form,.login-form--request,.field-row{gap:.6rem}.field-group{gap:.2rem}.field-label{font-size:.76rem}.input-field{padding:.62rem .75rem;font-size:.88rem}.login-button{margin-top:.1rem;padding:.72rem .95rem;font-size:.9rem}.status-message{margin-top:.75rem;padding:.65rem .75rem;font-size:.86rem}.auth-support-copy{margin-top:.65rem;font-size:.84rem;line-height:1.35}}@media (max-width:720px){.login-page{align-items:stretch}.auth-layout{padding:.75rem}.login-container{border-radius:18px;padding:1.15rem 1rem;box-shadow:0 15px 35px #0f172a59,inset 0 0 0 1px #ffffff1a}.auth-card-brand-mobile{margin-bottom:1rem}.auth-card-header{margin-bottom:.75rem}.auth-eyebrow{font-size:.62rem}.login-header{font-size:clamp(1.25rem,5.2vw,1.55rem);line-height:1.05}.auth-description{font-size:.8rem;line-height:1.28}.auth-toggle{margin-bottom:.8rem}.auth-toggle__button{min-height:2.45rem;padding:.55rem .65rem;font-size:.84rem}.auth-session-status{justify-content:center;width:calc(100% - 2rem)}.reset-actions{flex-direction:column-reverse}.reset-primary,.reset-secondary{width:100%}}@media (max-width:540px){.field-row{grid-template-columns:minmax(0,1fr)}}@media (max-width:1080px) and (max-height:820px){.auth-card-brand-mobile,.auth-description{display:none}.auth-card-header{margin-bottom:.5rem}.login-container{padding:.95rem .9rem}.auth-eyebrow{display:none}.login-header{font-size:clamp(1.15rem,2.2vw,1.4rem)}.login-form,.login-form--request,.field-row{gap:.5rem}.field-label{font-size:.72rem}.input-field{padding:.56rem .68rem;font-size:.84rem}.auth-toggle{margin-bottom:.7rem}.auth-toggle__button{min-height:2.25rem;padding:.45rem .5rem;font-size:.8rem}.login-button{padding:.65rem .85rem;font-size:.86rem}.auth-support-copy{margin-top:.5rem;font-size:.8rem}}@media (max-width:1080px) and (max-height:700px){.login-container{padding:.8rem}.login-header{font-size:1.08rem}.field-label,.auth-support-copy,.forgot-password,.auth-inline-action{font-size:.76rem}.input-field{padding:.5rem .62rem;font-size:.8rem}.login-button{padding:.58rem .75rem;font-size:.82rem}}@media (hover:none){.login-button:hover{transform:none}}[data-mantine-color-scheme=dark] .login-container,[data-mantine-color-scheme=dark] .reset-modal{color:var(--mantine-color-text);border-color:var(--mantine-color-dark-3);background:#242526f2}[data-mantine-color-scheme=dark] .login-header,[data-mantine-color-scheme=dark] .field-label,[data-mantine-color-scheme=dark] .reset-modal h2,[data-mantine-color-scheme=dark] .reset-secondary{color:var(--mantine-color-text)}[data-mantine-color-scheme=dark] .auth-description,[data-mantine-color-scheme=dark] .auth-support-copy,[data-mantine-color-scheme=dark] .reset-modal p{color:var(--mantine-color-dimmed)}[data-mantine-color-scheme=dark] .auth-toggle{border-bottom-color:var(--mantine-color-dark-3)}[data-mantine-color-scheme=dark] .auth-toggle:before{background:var(--mantine-color-dark-3)}[data-mantine-color-scheme=dark] .auth-toggle__button{color:var(--mantine-color-dimmed)}[data-mantine-color-scheme=dark] .auth-toggle__button:hover,[data-mantine-color-scheme=dark] .auth-toggle__button--active{color:var(--mantine-color-blue-4)}[data-mantine-color-scheme=dark] .input-field,[data-mantine-color-scheme=dark] .reset-secondary{background:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4);color:var(--mantine-color-text)}[data-mantine-color-scheme=dark] .input-field::placeholder{color:var(--mantine-color-dark-2)}[data-mantine-color-scheme=dark] .input-field:focus{border-color:var(--mantine-color-blue-7);background:var(--mantine-color-dark-6);box-shadow:0 0 0 3px #4c6ef547}[data-mantine-color-scheme=dark] .outage-notice{background:#4c6ef524;border-color:#4c6ef566}[data-mantine-color-scheme=dark] .outage-notice__title,[data-mantine-color-scheme=dark] .outage-notice__body,[data-mantine-color-scheme=dark] .outage-notice__link,[data-mantine-color-scheme=dark] .forgot-password,[data-mantine-color-scheme=dark] .auth-inline-action{color:var(--mantine-color-blue-3)}[data-mantine-color-scheme=dark] .status-message--error,[data-mantine-color-scheme=dark] .reset-message--error{color:#ffa8a8;background:#e0313133;border-color:#e0313173}[data-mantine-color-scheme=dark] .status-message--success,[data-mantine-color-scheme=dark] .reset-message--success{color:#b2f2bb;background:#2ea04333;border-color:#2ea04366}
