/* Tela de entrada: estilos isolados para preservar as demais telas do ERP. */
.login-page{--login-blue:#103f6b;--login-yellow:#f5c440;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);min-height:100vh;min-height:100svh;background:#fff}
.login-brand{display:flex;flex-direction:column;position:relative;overflow:hidden;padding:44px clamp(32px,5vw,88px) 30px;background:var(--login-blue);color:#fff}
.login-brand::after{content:"";position:absolute;right:-210px;top:-220px;width:530px;height:530px;border:1px solid #28557c;border-radius:50%;pointer-events:none}
.login-wordmark{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.login-wordmark img{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:7px;padding:3px}
.login-wordmark>div{display:flex;flex-direction:column}
.login-brand-name{font-size:24px;font-weight:800;line-height:1.15;letter-spacing:.07em}
.login-brand-specialty{margin-top:5px;font-size:10px;font-weight:500;letter-spacing:.31em}
.login-brand-content{width:100%;max-width:490px;margin:auto 0;padding:64px 0 48px;position:relative;z-index:1}
.login-eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.13em;font-weight:600;color:#ccdcea}
.login-eyebrow>span{width:7px;height:7px;background:var(--login-yellow);border-radius:50%;flex:none}
.login-brand h1{margin:24px 0 22px;font-size:clamp(36px,3.55vw,57px);line-height:1.13;letter-spacing:-.045em;font-weight:650}
.login-brand h1>span{color:var(--login-yellow)}
.login-brand-content>p{font-size:14px;line-height:1.8;color:#c6d8e8;margin:0}
.login-illustration{max-width:410px;margin:24px 0 22px}
.login-illustration svg{display:block;width:100%;height:auto}
.login-features{display:flex;flex-wrap:wrap;gap:12px 22px;list-style:none;padding:22px 0 0;margin:0;border-top:1px solid #346087}
.login-features li{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:500;color:#dae5ee}
.login-features .i{width:15px;height:15px;color:var(--login-yellow)}
.login-brand-footer{margin:0;font-size:10px;letter-spacing:.025em;color:#b1c8dc}
.login-access{display:flex;flex-direction:column;min-width:0;padding:46px clamp(30px,4vw,68px) 28px}
.login-access-top{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.11em;color:#536477;font-weight:600}
.login-portal-mark{width:8px;height:8px;border:2px solid var(--brand);border-radius:2px}
.login-internal{margin-left:auto;border:1px solid #e1e7ed;border-radius:4px;padding:4px 7px;font-size:8px;letter-spacing:.07em;color:#667486}
.login-form-wrap{width:100%;max-width:388px;margin:auto; padding:68px 0 72px}
.login-section-label{display:block;font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--brand);margin-bottom:14px}
.login-form-wrap h2{font-size:clamp(25px,2.25vw,34px);font-weight:650;line-height:1.25;letter-spacing:-.04em;color:#14283d}
.login-intro{margin:12px 0 34px;font-size:13px;line-height:1.7;color:#697586}
.login-form{display:flex;flex-direction:column;gap:21px}
.login-form .field{gap:8px}
.login-form .field>label{font-size:12px;font-weight:600;color:#26384b}
.login-input-wrap{position:relative}
.login-input-wrap>.i{position:absolute;top:17px;left:15px;width:17px;height:17px;color:#8794a3;pointer-events:none}
.login-page .login-form .field .login-input-wrap input{min-height:52px;padding:13px 15px 13px 43px;font-size:13px;background:#fff;border:1px solid #d9e0e7;border-radius:var(--r);transition:border-color .15s,box-shadow .15s}
.login-page .login-form .field .login-password-wrap input{padding-right:51px}
.login-input-wrap input::placeholder{color:#8994a1;opacity:1}
.login-page .login-form .field .login-input-wrap input:hover{border-color:#aab9c8}
.login-page .login-form .field .login-input-wrap input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.login-page .login-form .field .login-input-wrap input[aria-invalid=true]{border-color:var(--bad)}
.login-password-toggle{position:absolute;right:5px;top:5px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:var(--r);background:#fff;color:#738397;cursor:pointer}
.login-password-toggle:hover{background:var(--surface-2);color:var(--brand)}
.login-password-toggle .i{width:19px;height:19px}
.login-eye-slash{display:none}
.login-password-toggle[aria-pressed=true] .login-eye-slash{display:block}
.login-page .login-submit{min-height:51px;margin-top:5px;justify-content:space-between;padding:12px 18px;font-size:13px;box-shadow:none}
.login-submit .i{width:18px;height:18px}
.login-page button:focus-visible{outline:3px solid var(--sun);outline-offset:3px}
.login-help{display:flex;align-items:center;gap:12px;margin-top:30px;padding:19px 0;border-top:1px solid #e9edf1;border-bottom:1px solid #e9edf1}
.login-help-icon{width:24px;height:24px;flex:none;display:grid;place-items:center;border:1px solid #cbd6e1;border-radius:50%;font-size:12px;color:#698097}
.login-help p{margin:0;font-size:11px;color:#778494;line-height:1.9}
.login-help strong{font-weight:500;color:#475b70}
.login-restricted{display:flex;align-items:center;justify-content:center;gap:7px;margin:23px 0 0;font-size:10px;color:#83909d}
.login-restricted .i{width:13px;height:13px}
.login-access-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:9px;color:#86919c}
@media(min-width:1600px){.login-brand-content{max-width:540px}.login-brand h1{font-size:62px}.login-form-wrap{max-width:420px}.login-intro{font-size:14px}.login-form .field>label{font-size:13px}.login-page .login-input-wrap input,.login-page .login-submit{font-size:14px}}
@media(max-width:1000px){.login-brand{padding-right:30px;padding-left:30px}.login-brand h1{font-size:40px}.login-eyebrow{font-size:8px}.login-features{gap:12px}.login-features li{font-size:10px}.login-access{padding-left:30px;padding-right:30px}.login-internal{display:none}.login-access-footer>span:last-child{display:none}}
@media(min-width:701px) and (max-height:800px){.login-brand{padding-top:28px;padding-bottom:24px}.login-brand-content{padding-top:24px;padding-bottom:24px}.login-brand h1{font-size:38px;line-height:1.1;margin:18px 0 16px}.login-brand-content>p{font-size:13px;line-height:1.7}.login-illustration{max-width:260px;margin:14px 0 18px}.login-features{padding-top:18px}.login-access{padding-top:32px;padding-bottom:24px}.login-form-wrap{padding-top:40px;padding-bottom:40px}}
@media(max-width:700px){.login-page{grid-template-columns:1fr}.login-brand{padding:25px 26px 27px}.login-brand::after{width:330px;height:330px;right:-130px;top:-190px}.login-wordmark img{width:44px;height:44px}.login-brand-name{font-size:21px}.login-brand-specialty{font-size:8px}.login-brand-content{max-width:none;margin:0;padding:26px 0 0}.login-eyebrow{display:none}.login-brand h1{font-size:29px;line-height:1.18;margin:0;letter-spacing:-.035em}.login-brand h1 br{display:none}.login-brand h1>span{display:block}.login-brand-content>p,.login-illustration,.login-features,.login-brand-footer{display:none}.login-access{padding:25px 26px 22px;flex:1}.login-access-top{font-size:9px}.login-internal{display:block;font-size:7px}.login-form-wrap{padding:39px 0 38px;max-width:400px}.login-form-wrap h2{font-size:29px}.login-section-label{font-size:9px}.login-intro{font-size:12px;margin-bottom:28px}.login-access-footer{padding-top:8px}.login-access-footer>span:last-child{display:block}}
@media(prefers-reduced-motion:reduce){.login-page .login-input-wrap input{transition:none}}
