@font-face{font-family:'Alfa Interface Sans';font-style:normal;font-weight:400;src:url('/assets/fonts/alfa-interface-sans-regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Alfa Interface Sans';font-style:normal;font-weight:500;src:url('/assets/fonts/alfa-interface-sans-medium.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Alfa Interface Sans';font-style:normal;font-weight:700;src:url('/assets/fonts/alfa-interface-sans-bold.woff2') format('woff2');font-display:swap}
/* Match the supplied desktop sign-in reference; cabinet theme stays independent. */
html:has(.login-page){background:#fff;color-scheme:light}
body.login-page{margin:0;min-height:100vh;padding:0;background:#fff;color:#202022;font-family:'Alfa Interface Sans',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.login-page .login-header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;height:72px;padding:16px 24px 16px 12px;border:0;background:#fff;box-shadow:none}
.login-page .login-brand{display:block;width:40px;height:40px;text-decoration:none}
.login-page .login-brand-mark{display:block;width:40px;height:40px;flex:none}
.login-page .login-text-button{display:inline-block;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;color:#202022;font-family:inherit;cursor:pointer;transform:none;line-height:24px;text-decoration:none}
.login-page .login-text-button:hover{color:#5b5c63;background:transparent;box-shadow:none;transform:none}
.login-page .login-help-trigger{font-size:18px;font-weight:500}
.login-page .login-layout{display:block;max-width:none;width:100%;min-height:100vh;margin:0;padding:max(112px,calc(50vh - 236px)) 24px 64px;background:#fff}
.login-page .login-panel{width:400px;max-width:100%;margin:0 auto;padding:0;border:0;background:#fff;box-shadow:none}
.login-page .login-heading{text-align:center}
.login-page .login-heading h1{margin:0;font-size:40px;font-weight:700;line-height:48px;letter-spacing:0;color:#202022}
.login-page .login-heading p{margin:16px 0 0;font-size:16px;font-weight:400;line-height:20px;color:#202022}
.login-page #login-form{display:flex;flex-direction:column;gap:16px;margin:24px 0 0;padding:0}
.login-page .login-field{position:relative;display:block;height:56px;margin:0;border:0;border-radius:12px;background:#e7e8ea;box-shadow:none;font-weight:400}
.login-page .login-field input{display:block;width:100%;height:56px;min-width:0;margin:0;padding:0 12px;border:0;border-radius:12px;background:transparent;box-shadow:none;outline-offset:3px;color:#202022;font-family:inherit;font-size:16px;font-weight:400;line-height:20px}
.login-page .login-field input::placeholder{color:#6d6f79;opacity:1}
.login-page .login-field:focus-within{outline:2px solid #202022;outline-offset:2px}
.login-page .login-field input:focus{outline:none;box-shadow:none}
.login-page .login-password-field input{padding-right:48px}
.login-page #toggle-password{position:absolute;inset:0 12px 0 auto;display:grid;place-items:center;width:24px;height:56px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#80818b;transform:none;cursor:pointer}
.login-page #toggle-password:hover{background:transparent;transform:none;box-shadow:none}
.login-page #toggle-password img{display:block;width:24px;height:24px}
.login-page .login-submit{display:flex;align-items:center;justify-content:center;width:100%;height:56px;min-height:56px;margin:16px 0 0;padding:0 16px;border:0;border-radius:12px;background:#202022;color:#fff;box-shadow:none;font-family:inherit;font-size:16px;font-weight:500;line-height:20px;cursor:pointer;transform:none;transition:background .15s}
.login-page .login-submit:hover{background:#38383b;box-shadow:none;transform:none}
.login-page .login-submit:active{background:#121214;transform:none}
.login-page .login-submit:disabled{opacity:.6;cursor:wait}
.login-page .login-links{display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:24px;text-align:center}
.login-page .login-recovery{font-size:16px;font-weight:500;line-height:24px}
.login-page .login-register{font-size:14px;line-height:20px;color:#6d6f79}
.login-page #password-hint{margin:0;color:#6d6f79;font-size:13px;line-height:20px}
.login-page #login-error{margin:0;padding:0;color:#d52a2e;font-size:14px;line-height:20px}
.login-page .login-help{max-width:480px;border:0;border-radius:16px;background:#fff;color:#202022;box-shadow:none;font-family:inherit}
.login-page .login-help h2{color:#202022;font-size:24px;line-height:32px}
.login-page .login-help p{font-size:16px;line-height:24px;color:#45464c}
.login-page .login-help .icon{background:transparent;border:0;box-shadow:none;color:#202022}
.login-page .login-help .login-submit{margin-top:24px}
.login-page button:focus-visible,.login-page a:focus-visible{outline:2px solid #202022;outline-offset:4px}
.login-page .login-layout{display:grid;grid-template-columns:minmax(0,440px) minmax(0,400px);align-items:center;justify-content:center;gap:80px;padding:112px 40px 64px}
.login-page .login-welcome{text-align:center;min-width:0;padding:24px 16px;background:radial-gradient(ellipse at 50% 42%,#fff0ed 0%,#fff8f6 40%,transparent 70%)}
.login-page .login-mascot{display:block;width:100%;height:clamp(260px,47vh,460px);object-fit:contain;margin:0 auto;filter:none}
.login-page .login-welcome p{margin:22px 0 8px;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.6px}
.login-page .login-welcome span{display:block;color:#6d6f79;font-size:15px;line-height:1.5}
@media(max-width:760px){.login-page .login-layout{grid-template-columns:minmax(0,400px);gap:24px;padding:88px 24px 48px}.login-page .login-welcome{padding:0}.login-page .login-mascot{height:180px}.login-page .login-welcome p,.login-page .login-welcome span{display:none}.login-page .login-heading h1{font-size:34px;line-height:40px}}

.login-page .login-brand{display:flex;align-items:center;gap:14px;width:auto;height:44px;color:#ef182e;flex-shrink:0}
.login-page .login-brand-mark{width:37px;height:44px;flex:none}
.login-page .login-brand>span{font-size:19px;font-weight:850;letter-spacing:-.5px;line-height:1.2;color:#202b3b;white-space:nowrap}
.login-page .login-header{padding-left:26px}
@media(max-width:420px){.login-page .login-brand{gap:9px}.login-page .login-brand-mark{width:29px;height:35px}.login-page .login-brand>span{font-size:15px}.login-page .login-header{padding-left:16px;padding-right:16px}.login-page .login-help-trigger{font-size:15px}}

.login-page .login-brand .login-brand-mark{width:40px;height:40px;object-fit:contain}
/* The sign-in page keeps its light palette regardless of cabinet theme. */
[data-theme=dark] .login-page .login-field input{background:transparent;color:#202022;border:0;box-shadow:none}
[data-theme=dark] .login-page .login-field input::placeholder{color:#6d6f79;opacity:1}
[data-theme=dark] .login-page .login-field input:disabled{background:transparent;color:#6d6f79}
/* The portal dialog must use the same light palette as the sign-in page. */
html[data-theme] body.login-page dialog.login-help{background:#fff;color:#202022;color-scheme:light;max-height:calc(100dvh - 32px);overflow:auto}
html[data-theme] body.login-page dialog.login-help h2{color:#202022}
html[data-theme] body.login-page dialog.login-help p,html[data-theme] body.login-page dialog.login-help code{color:#45464c;overflow-wrap:anywhere}
html[data-theme] body.login-page dialog.login-help .icon{background:transparent;color:#202022}

.account-entry{width:min(560px,calc(100% - 40px));margin:12vh auto;padding:32px;display:grid;gap:22px;background:#fff;color:#202022}.account-entry h1{font-size:30px;line-height:1.25;color:#202022}.account-entry p{color:#45464c;line-height:1.6}.account-entry .brand{position:static;color:#202022}.account-entry button{width:100%}
html[data-theme] body.login-page .account-entry .brand>span{color:#202022}
