.shell-brand .pes-shell-logo { display:block; width:103px; height:32px; object-fit:contain; }
body.pes-login-page { color:#203039; background:#f4f6f8; }
.pes-login-page .main-content { width:100%; max-width:none; margin:0; padding:0; }
.pes-login-page .flash { position:relative; z-index:2; margin:0; border-radius:0; padding:12px 24px; }
.pes-login-layout { display:grid; grid-template-columns:57% 43%; min-height:100svh; background:#fff; }
.pes-intro { position:relative; display:flex; flex-direction:column; padding:64px 13% 30px 8%; isolation:isolate; color:#fff; }
.pes-intro::before { content:""; position:absolute; inset:0 -10% 0 0; z-index:-2; background:#28363b; clip-path:polygon(0 0,100% 0,82% 100%,0 100%); }
.pes-intro::after { content:""; position:absolute; z-index:-1; bottom:0; right:9%; width:300px; height:280px; opacity:.09; background:url('pes-icon.svg') center/contain no-repeat; }
.pes-login-logo { width:180px; height:56px; object-fit:contain; object-position:left; }
.pes-message { margin-top:64px; }
.pes-message h1 { margin:0; color:#fff; font-size:clamp(28px,3.1vw,48px); line-height:1.35; font-weight:750; letter-spacing:.015em; white-space:nowrap; }
.pes-message p { display:flex; align-items:center; gap:24px; margin:14px 0 0; color:#c6d1d6; font-size:clamp(18px,1.55vw,24px); letter-spacing:.22em; }
.pes-message b { font-weight:400; letter-spacing:0; }
.pes-process { display:flex; gap:22px; margin:110px 0 70px; padding:0; list-style:none; }
.pes-process li { position:relative; flex:1; min-width:0; height:124px; border:1px solid #0ab3be; border-radius:5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; font-size:17px; }
.pes-process li:nth-child(2) { transform:translateY(-24px); }
.pes-process li:nth-child(3) { transform:translateY(-48px); }
.pes-process li:nth-child(4) { transform:translateY(-72px); }
.pes-process li:not(:last-child)::after { content:""; position:absolute; left:100%; top:45%; width:23px; border-top:1px solid #0ab3be; transform:rotate(-35deg); transform-origin:left; }
.pes-process svg { width:30px; height:30px; fill:currentColor; color:#9eeaf0; }
.pes-process li::before { content:""; position:absolute; bottom:13px; width:18px; border-top:2px solid #0ab3be; }
.pes-intro-footer { display:flex; align-items:center; gap:20px; margin-top:auto; color:#c6d1d6; font-size:12px; letter-spacing:.08em; white-space:nowrap; }
.pes-intro-footer i { flex:1; border-top:1px solid #788a91; }
.pes-signin { position:relative; display:flex; align-items:center; justify-content:center; padding:64px 9%; overflow:hidden; isolation:isolate; }
.pes-signin::before { content:""; position:absolute; z-index:-1; right:-35px; top:-20px; width:270px; height:270px; opacity:.035; background:url('pes-icon.svg') center/contain no-repeat; }
.pes-signin-inner { width:100%; max-width:400px; }
.pes-signin h2 { margin:0; font-size:34px; line-height:1.3; font-weight:750; letter-spacing:-.02em; }
.pes-signin-caption { margin:12px 0 38px; color:#586873; font-size:16px; }
.pes-signin form { display:grid; gap:24px; }
.pes-signin .form-field { display:flex; flex-direction:column; gap:9px; }
.pes-signin label { font-size:14px; font-weight:600; color:#203039; }
.pes-signin input { width:100%; height:46px; padding:10px 14px; border:1px solid #b9c9d0; border-radius:4px; color:#203039; background:#fff; box-shadow:none; font-size:14px; }
.pes-signin input::placeholder { color:#667781; }
.pes-password-field, .pes-username-field { position:relative; }
.pes-password-field input { padding:10px 50px 10px 44px; }
.pes-username-field input { padding-left:44px; }
.pes-field-icon, .pes-username-field > svg { position:absolute; left:14px; top:13px; width:20px; height:20px; fill:currentColor; color:#344b55; pointer-events:none; }
.pes-password-toggle { position:absolute; right:5px; top:5px; display:grid; place-items:center; width:36px; height:36px; padding:8px; color:#344b55; background:transparent; border:0; border-radius:3px; cursor:pointer; }
.pes-password-toggle[hidden] { display:none; }
.pes-password-toggle svg { width:20px; height:20px; fill:currentColor; }
.pes-password-toggle:hover, .pes-password-toggle[aria-pressed="true"] { background:#eaf7f6; box-shadow:inset 0 0 0 1px #087f8c; }
.pes-signin .login-submit { width:100%; min-height:46px; margin:6px 0 0; border:1px solid #087f8c; border-radius:4px; background:#087f8c; color:white; font-size:17px; font-weight:600; box-shadow:none; }
.pes-signin .login-submit:hover { background:#066774; border-color:#066774; }
.pes-signin :is(input,button):focus-visible { outline:3px solid #087f8c; outline-offset:3px; }
.pes-signin .pes-mfa-note { margin:0; color:#586873; text-align:center; font-size:12px; line-height:1.7; }
.pes-signin .error-summary { margin:0; }
.pes-auth-steps { display:flex; gap:24px; margin:0 0 30px; padding:0; list-style:none; color:#586873; font-size:13px; }
.pes-auth-steps li { display:flex; align-items:center; gap:8px; padding-bottom:9px; border-bottom:2px solid transparent; }
.pes-auth-steps li[aria-current="step"] { color:#066774; border-bottom-color:#087f8c; font-weight:600; }
.pes-auth-steps li > span { display:grid; place-items:center; width:23px; height:23px; border:1px solid #788a91; border-radius:50%; font-size:12px; }
.pes-auth-steps .is-complete > span { color:#066774; border-color:#087f8c; background:#eaf7f6; }
.pes-auth-steps [aria-current="step"] > span { color:white; border-color:#087f8c; background:#087f8c; }
.pes-signin .pes-code-help { margin:0; font-size:13px; line-height:1.7; color:#586873; }
@media(min-width:1600px) { .pes-intro { padding-top:9vh; } .pes-message { margin-top:9vh; } .pes-process { margin-top:15vh; } }
@media(max-width:1100px) { .pes-intro { padding:48px 10% 26px 7%; } .pes-signin { padding:40px 8%; } .pes-signin h2 { font-size:28px; } .pes-process { gap:14px; } .pes-process li { height:104px; } .pes-process li:not(:last-child)::after { width:15px; } .pes-intro-footer { gap:10px; font-size:11px; } }
@media(max-width:760px) { .pes-login-layout { grid-template-columns:1fr; } .pes-intro { padding:28px 28px 32px; } .pes-intro::before { inset:0; clip-path:none; } .pes-login-logo { width:135px; height:42px; } .pes-message { margin-top:24px; } .pes-message h1 { font-size:28px; white-space:normal; } .pes-message p { font-size:18px; gap:16px; margin-top:10px; } .pes-process { margin:48px 0 16px; gap:16px; max-width:500px; } .pes-process li { height:82px; font-size:14px; gap:8px; } .pes-process svg { width:23px; height:23px; } .pes-process li:nth-child(2) { transform:translateY(-8px); } .pes-process li:nth-child(3) { transform:translateY(-16px); } .pes-process li:nth-child(4) { transform:translateY(-24px); } .pes-process li::before { bottom:7px; } .pes-intro-footer { display:none; } .pes-signin { padding:36px 28px 44px; } .pes-signin-caption { margin-bottom:28px; } }
@media(prefers-reduced-motion:reduce) { .pes-signin * { transition:none; } }

.shell-brand .pes-shell-icon { display:none; }
.shell-collapsed .shell-brand .pes-shell-logo { display:none; }
.shell-collapsed .shell-brand .pes-shell-icon { display:block; }
@media(max-width:760px) { .shell-brand .pes-shell-logo { display:none; } .shell-brand .pes-shell-icon { display:block; } }
