/* E47.5 — latest expressly approved desktop image, without opaque side panels.
 * Preserve all side information with uniform fit; the viewport background
 * extends the blue/red palette. Mobile remains the approved E47.4 layout. */
:root{color-scheme:dark;font-family:Arial,"Segoe UI",sans-serif;color:#f5f5f5;background:#01030a}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;width:100%}
body.on-login{margin:0;background:#01030a;overflow-x:hidden}
#one-next-react-root{min-height:100dvh}
.login-composition{--u:min(calc(100dvh / 864),calc(100vw / 1820));position:relative;width:100%;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 0 55%,#03132b,transparent 65%),radial-gradient(ellipse at 100% 55%,#260811,transparent 65%),#02050c}
.login-scene{position:absolute;left:50%;top:calc((100dvh - 864 * var(--u)) * .32);width:calc(1820 * var(--u));height:calc(864 * var(--u));transform:translateX(-50%);overflow:hidden;pointer-events:none}
.scene-center{position:absolute;inset:0}
.login-premium-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;pointer-events:none}
.mobile-brand,.mobile-scene{display:none}
.desktop-module-label{position:absolute;transform:translateX(-50%);height:calc(17 * var(--u));display:flex;align-items:center;justify-content:center;border-radius:50%;background:#020409;color:#fff;font:400 calc(11 * var(--u))/1 Arial,"Segoe UI",sans-serif;white-space:nowrap}
.login-stage{position:absolute;top:calc((100dvh - 864 * var(--u)) * .32);left:50%;width:calc(1820 * var(--u));height:calc(864 * var(--u));transform:translateX(-50%)}
.access-card{position:absolute;left:36.20879%;top:19.09722%;width:28.40659%;height:60.18519%}
.desktop-accessible-copy,.art-text,.trust-strip{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* No empty message slot. Actual session messages occupy the free gap above
 * the security tiles; they never push the approved desktop form out of place. */
.login-message-region{position:absolute;top:calc(662 * var(--u));left:0;width:100%;height:calc(34 * var(--u));z-index:3}
.login-message-region:empty{display:none}
.login-alert{display:flex;align-items:center;gap:calc(10 * var(--u));height:100%;padding:calc(5 * var(--u)) calc(12 * var(--u));border:1px solid #bd304a;border-radius:calc(7 * var(--u));background:#260711;color:#ffe3e8;font-size:calc(13 * var(--u))}
.login-alert.success{background:#05251b;border-color:#16835e;color:#d7ffed}
.login-alert svg{width:calc(26 * var(--u));height:calc(26 * var(--u));flex-shrink:0}
.login-alert b,.login-alert span{display:block}
.login-alert span{font-size:calc(11 * var(--u))}
#login-form{position:absolute;inset:0}
#login-form>label{position:absolute;left:7.15667%;width:85.68665%;height:8.65385%}
.login-company{top:24.61538%}
.login-username{top:39.03846%}
.login-password{top:53.26923%}
.field-shell{position:relative;display:flex;align-items:center;width:100%;height:100%;border-radius:calc(8 * var(--u))}
.field-shell>svg,.company-field>i{display:none}
.field-shell input,.field-shell select{position:absolute;left:11.7%;width:81%;height:78%;padding:0 calc(3 * var(--u));border:0;outline:0;background:#03060d;color:#f0f0f0;font-family:inherit;font-size:calc(16 * var(--u));font-weight:400;line-height:1.4;min-width:0}
.field-shell input::placeholder{color:transparent;opacity:1}
.field-shell input:placeholder-shown{background:transparent}
.company-field select{opacity:0;pointer-events:none}
.login-password .field-shell input{width:77%}
.field-shell:focus-within{outline:1px solid #18bcff;box-shadow:0 0 calc(8 * var(--u)) #078fff66}
.field-shell input:autofill{box-shadow:0 0 0 1000px #03060d inset;color:#fff}
.field-shell input:-webkit-autofill{-webkit-text-fill-color:#fff;box-shadow:0 0 0 1000px #03060d inset;caret-color:white}
#password-toggle{position:absolute;right:1.6%;width:8%;height:90%;border:0;border-radius:calc(4 * var(--u));background:transparent;color:transparent;padding:0;cursor:pointer}
#password-toggle svg{width:100%;height:100%;visibility:hidden}
#password-toggle.visible{background:#03060d;color:#c9f2ff}
#password-toggle.visible svg{visibility:visible}
button:focus-visible,.remember:focus-within{outline:2px solid #29c5ff;outline-offset:2px}
.form-options{position:absolute;left:7.15667%;top:64.42308%;width:85.68665%;height:3.82979%}
.remember{position:absolute;inset:0 auto 0 0;width:35%;cursor:pointer}
.remember input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.remember i{position:absolute;left:0;top:0;width:calc(20 * var(--u));height:calc(20 * var(--u));pointer-events:none;text-align:center;font-size:calc(16 * var(--u));line-height:calc(20 * var(--u));color:white}
.remember input:checked+i{background:#0765ae;border-radius:calc(3 * var(--u))}
.remember input:checked+i:after{content:"✓"}
.login-submit{position:absolute;left:7.15667%;top:70.57692%;width:85.68665%;height:10.38462%;border:0;border-radius:calc(8 * var(--u));background:transparent;color:transparent;cursor:pointer}
.login-submit>span,.login-submit>i{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.login-submit.is-submitting{background:linear-gradient(100deg,#008eff,#1600b6 48%,#e70023);color:white;font-size:calc(22 * var(--u))}
.login-submit.is-submitting>span{position:static;clip-path:none;width:auto;height:auto}
.login-submit:disabled{cursor:wait}
.card-footer{position:absolute;left:69.43907%;top:94.61538%;width:23.59768%;height:3.46154%;display:flex;align-items:center;justify-content:center;margin:0;background:#05050b}
.runtime-version{font-size:calc(10 * var(--u));line-height:1.3;white-space:nowrap;color:#d6d3d5}
/* Narrow screens reflow the SAME form, preserving touch targets.
 * Only the isolated brand header uses a crop; no stretched page image. */
@media(max-width:900px),(max-height:600px),(max-aspect-ratio:1333/1000),(min-aspect-ratio:239/100){
  #one-next-react-root{display:block}
  .login-composition{width:100%;height:auto;min-height:100dvh;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse at 0 25%,#062044 0,transparent 58%),radial-gradient(ellipse at 100% 70%,#280b24 0,transparent 58%),#030710}.scene-center{display:none}
  .login-scene{inset:0;width:100%;height:100%;transform:none}
  .mobile-scene{display:block;position:absolute;inset:0;width:100%;height:100%;stroke-width:1;fill:none}
  .login-premium-art{display:none}
  .mobile-brand{position:relative;display:block;width:min(400px,100%);height:auto;aspect-ratio:3.5;margin:0 auto 20px;background-image:url('/images/login-aprovado-e47-3.png');background-size:257% auto;background-position:53% top;background-repeat:no-repeat}
  .login-stage{position:relative;inset:auto;width:min(560px,100%);height:auto;margin:auto;transform:none}
  .access-card{position:relative;inset:auto;width:100%;height:auto;padding:25px 20px 19px;border:1px solid #5878ee;border-radius:22px;background:linear-gradient(120deg,#020b18,#04050c 60%,#120309);box-shadow:-4px 0 14px #087dff55,4px 0 14px #ff173855}
  .art-text,.trust-strip{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}
  .access-card h1{text-align:center;font-size:clamp(24px,5vw,34px);font-weight:600;letter-spacing:-1px}
  .login-title-one{color:#d4d4d4}
  .login-title-next{background:linear-gradient(90deg,#009cff,#6e22ed,#ff002c);background-clip:text;-webkit-background-clip:text;color:transparent}
  .access-subtitle{text-align:center;font-size:14px;color:#d2d2d5;margin:8px 0 19px}
  .login-message-region{position:static;width:auto;height:auto;background:none}
  .login-message-region:empty{display:none}
  .login-message-region.is-logout .success{position:static;clip-path:none;width:auto;height:auto;overflow:visible}
  .login-alert{height:auto;min-height:60px;font-size:14px;gap:12px;padding:12px;margin-bottom:18px;border-radius:10px}
  .login-alert.success{background:#00251b88;border-color:#097856;color:#e1fff3}
  .login-alert svg{width:30px;height:30px}
  .login-alert span{font-size:12px;margin-top:3px}
  #login-form{position:static;display:grid;gap:14px}
  #login-form>label{position:static;width:100%;height:auto;display:grid;gap:6px}
  .field-label{font-size:14px}
  .field-shell{height:54px;border:1px solid #343544;border-radius:9px;padding:0 12px;gap:10px;background:#03060d}
  .field-shell>svg{display:block;width:23px;height:23px;flex-shrink:0;color:#e0e0e3}
  .field-shell input,.field-shell select,.login-password .field-shell input{position:static;width:100%;height:46px;font-size:16px;padding:0;flex:1}
  .field-shell input::placeholder{color:#cbcaca}
  .company-field select{opacity:1;appearance:none;color:#eee}
  .company-field>i{display:block;font-style:normal}
  #password-toggle{position:static;width:44px;min-width:44px;height:44px;color:#ccc;touch-action:manipulation}
  #password-toggle svg{visibility:visible;width:23px;height:23px}
  .form-options{position:static;display:flex;justify-content:space-between;align-items:center;width:100%;height:auto;gap:12px}
  .remember{position:relative;inset:auto;display:flex;align-items:center;gap:9px;width:auto;min-height:44px;font-size:13px}
  .remember i{position:static;flex-shrink:0;width:21px;height:21px;border:1px solid #198bb8;border-radius:3px;font-size:16px;line-height:19px}
  .access-help{font-size:11px;text-align:right;color:#c9c9cd}
  .login-submit{position:relative;inset:auto;width:100%;height:56px;background:linear-gradient(105deg,#008eff,#2100b7 45%,#df0027);color:white;font-size:21px;font-weight:400;border-radius:9px;border:1px solid #466bb3}
  .login-submit>span,.login-submit>i{position:static;clip-path:none;width:auto;height:auto}
  .login-submit>i{position:absolute;right:18px;top:12px;font-size:28px;font-style:normal}
  .login-submit.is-submitting{font-size:21px}
  .secure-message{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0 17px}
  .secure-message>svg{width:33px;height:36px;flex-shrink:0;color:#17bedf}
  .secure-message b,.secure-message span{display:block}
  .secure-message b{font-size:14px;font-weight:400}
  .secure-message span{font-size:11px;color:#ccc;margin-top:5px}
  .card-footer{position:static;width:auto;height:auto;background:none;display:flex;flex-wrap:wrap;gap:5px;text-align:center;justify-content:center}
  .footer-brand,.runtime-version{font-size:10px;white-space:normal;line-height:1.5;color:#c4c4c8}
  .trust-strip{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(700px,100%);margin:16px auto 0}
  .trust-strip article{display:flex;align-items:center;gap:10px;padding:13px 10px;border:1px solid #2a64a1;border-radius:10px;background:#03060e}
  .trust-strip article:first-child{border-color:#95323d}.trust-strip article:last-child{border-color:#88307d}
  .trust-strip svg{width:26px;height:30px;flex-shrink:0;color:#12b3ee}
  .trust-strip b,.trust-strip span{display:block;font-size:12px;font-weight:400}
  .trust-strip span{font-size:10px;margin-top:4px;color:#c9c9c9}
}
@media(max-width:520px){.trust-strip{grid-template-columns:1fr}.access-card{padding:23px 16px 18px}.mobile-brand{margin-bottom:16px}.access-help{max-width:115px}.trust-strip article{min-height:58px;padding:12px 16px}.trust-strip article:nth-child(1) svg{color:#ff7048}.trust-strip article:nth-child(3) svg{color:#e34fc1}}
