*{box-sizing:border-box}html{font-size:16px;background:#363636}body{margin:0;color:#666;background:#fff;font:400 .875rem/1.5 'Open Sans',Arial,sans-serif;min-width:320px}button,input{font:inherit}a{color:#2f3291;text-decoration:underline;overflow-wrap:anywhere}a:hover{color:#222674}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #3467ae;outline-offset:3px}[hidden]{display:none!important}.member-shell{display:flex;min-height:100vh;flex-direction:column;justify-content:space-between}.skip-link{position:absolute;top:-80px;left:10px;z-index:10;padding:8px;background:#fff}.skip-link:focus{top:10px}.member-header{background:#fff;box-shadow:0 6px 10px #00000040;margin-bottom:30px}.member-header-inner{width:960px;max-width:100%;margin:auto;padding:25px 30px;display:flex;align-items:center}.member-header img{height:80px;width:auto;max-width:450px;display:block}.member-content{background:#fff;margin:0 auto;width:100%;max-width:960px;padding:40px 60px}.member-content h1{font-size:24px;font-weight:400;line-height:1.4;margin:0 0 30px}.login-content{width:80%}.login-panel{display:flex;flex-wrap:wrap}.login-controls{width:60%;padding-right:75px;min-width:0}.member-field{margin-bottom:14px}.member-field label{display:block;font-weight:400;margin-bottom:10px}.member-field input{height:34px;width:100%;border:1px solid #bbb;border-radius:2px;background:#fff;padding:6px 10px;color:#666;opacity:1;-webkit-text-fill-color:#666}.password-control{position:relative}.password-control input{padding-right:38px}.password-visibility{position:absolute;right:10px;top:6px;line-height:0}.password-visibility svg{width:22px;height:22px}.logon-button{height:32px;margin-top:16px;padding:0 15px;border:1px solid #600;border-radius:15px;background:#c00000;color:white;font-size:.87rem;font-weight:600}.logon-button:hover{background:#ff0e0e}.logon-button:active{background:#8d0000}.other-actions{width:40%;margin-top:5px;min-width:0}.other-actions p{font-weight:600;margin:0 0 2px}.other-actions>div+div{margin-top:20px}.connection-status{font-size:12px;margin-top:25px;line-height:1.6}.connection-status>p{margin:0}.connection-status #connection-details{margin-top:12px;border-left:3px solid #c00000;padding:8px 12px;background:#f7f7f7}.connection-status #connection-details p{margin:0 0 5px}.member-footer{margin-top:30px;box-shadow:0 -6px 10px #00000040;width:100%;color:#fff}.member-footer-top{background:#fff;min-height:120px}.member-footer-inner{max-width:960px;margin:auto;padding:30px 50px}.footer-links{display:flex;gap:50px}.footer-links ul{list-style:none;margin:0;padding:0;width:19%}.footer-links li{margin-bottom:10px}.member-footer-bottom{background:#363636}.member-service{display:flex;align-items:center;gap:40px}.member-service img{width:80px;height:48px;flex-shrink:0}.member-service p{font-size:10px;line-height:1.5;margin:0}.member-service a{color:#fff;text-decoration:none}.member-copyright{font-size:10px;margin:40px 0 0}
@media(max-width:959px){.member-content{padding:40px 6.25%}.member-header-inner{padding:15px 10px}.login-content{width:100%}.member-footer-inner{width:100%}}
@media(max-width:679px){.member-header-inner{padding:7px 10px}.member-header img{height:34px;max-width:200px}.member-content{padding:30px 20px}.member-content h1{margin-bottom:25px}.login-controls{width:100%;padding-right:0}.member-field input{font-size:16px}.other-actions{width:100%;margin-top:30px}.connection-status{margin-top:25px}.member-footer-inner{padding:20px}.footer-links{gap:30px}.footer-links ul{width:auto;min-width:90px}.member-service{gap:20px}.member-service p{font-size:11px}.member-copyright{margin-top:30px;line-height:1.6}}

.local-login-note{max-width:672px;font-size:12px;line-height:1.6;border-left:3px solid #2f3291;background:#f5f5f9;padding:10px 14px;margin:0 0 25px}.local-login-note strong{color:#2f3291;margin-right:8px}.login-error{max-width:672px;border-left:3px solid #c00000;padding:10px 14px;background:#fff4f4;color:#8d0000;margin:0 0 25px}.password-visibility:is(button){border:0;background:transparent;color:#666;padding:0}.password-visibility[aria-pressed=true] svg path{opacity:.5}

/* Email-code dialog uses the existing MTCU red and blue palette. */
.verification-page{background:#fff;overflow:hidden}
.verification-page .member-content{padding:0;max-width:none}
.verification-page .member-footer{display:none}
.verification-page:has(.verification-dialog[open]:not(:modal))::before{content:"";position:fixed;inset:0;background:#0008;z-index:10}
.verification-dialog{position:fixed;inset:64px 0 auto;margin:0 auto;width:650px;max-width:calc(100% - 32px);max-height:calc(100dvh - 88px);padding:24px 32px 30px;border:1px solid #d6d6d6;border-radius:10px;box-shadow:0 2px 6px #0002;background:#fff;color:#3b3b3b;font-size:14px;line-height:1.5;overflow:auto;overscroll-behavior:contain;z-index:11}
.verification-dialog::backdrop{background:#0008}
.verification-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.verification-dialog .verification-heading h1{font-size:18px;line-height:1.4;font-weight:600;margin:0;color:#3b3b3b;outline:none}
.verification-close{width:44px;height:44px;display:grid;place-items:center;flex:none;padding:10px;margin-right:-10px;border:0;background:transparent;color:#555;border-radius:50%}
.verification-close:hover{background:#f2f2f7;color:#2f3291}
.verification-close svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8}
.verification-intro{margin:0 0 26px;overflow-wrap:anywhere}
.verification-intro strong{font-weight:400}
.verification-field{position:relative;width:320px;max-width:100%;height:56px;margin:0 0 42px;background:transparent;border-bottom:1px solid #929292}
.verification-field input{display:block;width:100%;height:100%;border:0;border-radius:0;padding:20px 16px 6px;background:transparent;font-size:20px;line-height:1.3;color:#262626;-webkit-text-fill-color:#262626;outline:none}
.verification-field label{position:absolute;left:16px;top:15px;font-size:20px;color:#737373;pointer-events:none;transform-origin:left top;transition:transform .12s ease,top .12s ease}
.verification-field:focus-within{border-bottom:2px solid #2f3291;box-shadow:0 1px 0 #2f3291}
.verification-field input:focus-visible{outline:none}
.verification-field input:focus+label,.verification-field input:not(:placeholder-shown)+label{top:3px;transform:scale(.65)}
.verification-field:has([aria-invalid="true"]){border-color:#c00000}
.verification-guidance p{margin:0 0 10px}
.verification-guidance ul{margin:14px 0 16px;padding-left:40px}
.verification-guidance li+li{margin-top:8px}
.verification-guidance strong{font-weight:600}
.verification-actions{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-top:30px}
.verification-button{position:relative;min-width:176px;min-height:44px;padding:9px 24px;border:1px solid transparent;border-radius:28px;font-size:16px;font-weight:600;line-height:1.5}
.verification-primary{background:#2f3291;border-color:#2f3291;color:#fff}
.verification-primary:hover{background:#222674;border-color:#222674}
.verification-primary:active{background:#1c205f;border-color:#1c205f}
.verification-secondary{background:#fff;border-color:#626262;color:#414141}
.verification-secondary:hover{background:#f4f4fa;color:#2f3291;border-color:#2f3291}
.verification-button:disabled{cursor:default;opacity:1;background:#e4e2e2;border-color:#e4e2e2;color:#777}
.verification-resend-status{min-height:18px;margin:8px 0 0;text-align:right;font-size:12px;line-height:1.5;color:#666}
.verification-destination{display:flex;gap:16px;align-items:center;padding:20px;margin:24px 0;border:1px solid #d6d8e3;border-radius:6px;background:#f8f9fc}
.verification-destination svg{width:30px;height:30px;flex:none;color:#2f3291}
.verification-destination span,.verification-destination strong{display:block;overflow-wrap:anywhere}
.verification-destination span{font-size:12px;margin-bottom:3px}
.verification-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:679px){
.verification-dialog{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:24px max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));box-shadow:none}
.verification-heading{margin-bottom:36px}
.verification-dialog .verification-heading h1{font-size:18px}
.verification-intro{margin-bottom:36px}
.verification-field{width:100%;margin-bottom:42px}
.verification-guidance ul{padding-left:28px}
.verification-actions{flex-direction:column-reverse;gap:16px;margin-top:32px}
.verification-button{width:100%;max-width:315px;min-height:48px}
.verification-resend-status{text-align:center;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){.verification-field label{transition:none}}

.verification-resend-link{display:inline;padding:0;border:0;border-radius:0;background:transparent;color:#2f3291;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.verification-resend-link:hover{color:#222674}
.verification-resend-link:disabled{color:#666;cursor:default}

.verification-field:focus-within,.verification-field:has(input:not(:placeholder-shown)){background:#faf8f8}
.verification-resend-status:empty{display:none}

.verification-selection-dialog{min-height:446px}
.verification-selection-dialog .verification-heading{margin-bottom:32px;align-items:flex-start}
.verification-selection-dialog .verification-heading h1{padding-top:9px;font-weight:400}
.verification-selection-dialog .verification-intro{margin:0}
.verification-profile{display:block;width:88px;height:92px;margin:0 auto 40px}
.verification-profile-background{fill:#c00000}
.verification-profile-background-light{fill:#efb3b3}
.verification-profile-person{fill:#2f3291}
.verification-profile-shadow{fill:#222674}
.verification-profile-check{fill:#00a56b;stroke:#fff;stroke-width:2}
.verification-profile-tick{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.verification-email-option{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:64px;margin:28px 0 0;padding:16px;border:0;border-radius:3px;background:transparent;color:#3b3b3b;text-align:left;font-size:16px;line-height:1.5}
.verification-email-option span{min-width:0;overflow-wrap:anywhere}
.verification-email-option svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}
.verification-email-option:hover{background:#f8f8fc;color:#2f3291}
.verification-email-option:disabled{color:#777;cursor:default;background:transparent}
@media(max-width:679px){.verification-selection-dialog{min-height:0}.verification-selection-dialog .verification-heading{gap:12px}.verification-selection-dialog .verification-close{flex:none}.verification-email-option{padding:16px 8px}}

/* A separate modal places the loading mask above the email-code dialog too. */
.auth-loading{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden;overscroll-behavior:contain;outline:none;z-index:1000;cursor:wait}
.auth-loading[open]{display:grid;place-items:center}
.auth-loading::backdrop{background:rgba(0,0,0,.75)}
.auth-loading[open]:not(:modal){background:rgba(0,0,0,.75)}
html:has(.auth-loading[open]){overflow:hidden}
.auth-loading-spinner{position:relative;width:72px;height:72px;flex:none}
.auth-loading-spinner span{position:absolute;top:2px;left:33px;width:6px;height:18px;border-radius:4px;background:#fff;transform-origin:3px 34px;transform:rotate(calc(var(--segment) * 30deg));opacity:calc(.2 + var(--segment) / 15);animation:auth-loading-fade 1s linear infinite;animation-delay:calc(var(--segment) * .083333s - 1s)}
.auth-loading-spinner span:nth-child(1){--segment:0}
.auth-loading-spinner span:nth-child(2){--segment:1}
.auth-loading-spinner span:nth-child(3){--segment:2}
.auth-loading-spinner span:nth-child(4){--segment:3}
.auth-loading-spinner span:nth-child(5){--segment:4}
.auth-loading-spinner span:nth-child(6){--segment:5}
.auth-loading-spinner span:nth-child(7){--segment:6}
.auth-loading-spinner span:nth-child(8){--segment:7}
.auth-loading-spinner span:nth-child(9){--segment:8}
.auth-loading-spinner span:nth-child(10){--segment:9}
.auth-loading-spinner span:nth-child(11){--segment:10}
.auth-loading-spinner span:nth-child(12){--segment:11}
@keyframes auth-loading-fade{0%{opacity:1}100%{opacity:.2}}
@media(prefers-reduced-motion:reduce){.auth-loading-spinner span{animation:none}}
