body{overflow:auto;padding:24px;animation:none;opacity:1;background:#edf2f7}
.login-shell{max-width:1440px;min-height:min(820px,calc(100vh - 48px));border-radius:28px;box-shadow:0 32px 65px -12px rgba(12,32,52,.38),0 12px 28px rgba(12,32,52,.20),0 0 22px rgba(24,59,88,.14)}
.lp{flex-basis:68%;padding:42px 64px;border-radius:0}
.lp-headline{font-size:clamp(36px,3.5vw,58px);line-height:1.1}
.lp-sub{color:#d1e0ec;font-size:16px;line-height:1.7;max-width:490px}
.lp-features{margin-top:30px}
.lp-features li{color:#d1e0ec;font-size:14px;line-height:1.5}
.lp-footer{color:#b8cadb;font-size:11px}
.rp{flex:0 0 32%;min-width:0;margin-left:0;padding:28px;justify-content:center;border-radius:0;box-shadow:none;background:linear-gradient(145deg,#f7faff,#eaf1f7)}
.rp-inner{max-width:340px;min-height:0;justify-content:center;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.login-brand{width:150px;height:auto;object-fit:contain;margin-bottom:20px}
.rp-title{font-size:27px;line-height:1.2;margin-bottom:8px;color:#152d43}
.rp-subtitle{font-size:14px;color:#52677c;margin-bottom:24px}
.login-form{width:100%}
.field-group{margin-bottom:18px}
.field-group label{font-size:12px;letter-spacing:.02em;color:#36516b;text-transform:none;margin-bottom:8px}
.field-wrap input{height:50px;font-size:14px;padding:12px 42px;border-color:#c8d6e3;border-radius:10px;color:#172f45}
.field-wrap input::placeholder{color:#6b7e91;opacity:1}
.field-wrap>svg{color:#627d98}
.field-wrap input:focus{border-color:#2f6f9f;box-shadow:0 0 0 3px #2f6f9f20}
.password-toggle{position:absolute;right:5px;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:#526d86;border-radius:7px;cursor:pointer}
.password-toggle svg{position:static;color:inherit;pointer-events:none}
.password-toggle:hover,.password-toggle[aria-pressed=true]{background:#e7eff7;color:#2f6f9f}
.password-toggle:focus-visible,.forgot a:focus-visible{outline:2px solid #2f6f9f;outline-offset:2px}
.login-btn{height:50px;padding:12px;margin-top:4px;border-radius:10px;font-size:15px;box-shadow:0 6px 18px #41679020}
.forgot{margin-top:20px}
.forgot a{font-size:13px;color:#28638f}
.login-session-notice{width:100%;padding:10px 12px;margin-top:20px;border-radius:8px;font-size:12px;line-height:1.5;color:#385a77;background:#e2edf7}
.error-message{position:static;transform:none;width:100%;margin-top:16px;font-size:13px}
.version-badge{color:#61788e}
@media(max-width:1000px){.lp{padding:36px}.rp{padding:30px 18px}.rp-inner{padding:0}.lp-headline{font-size:38px}}
@media(max-width:860px){body{padding:0}.login-shell{min-height:100dvh;border-radius:0}.rp{flex-basis:100%;min-height:100dvh;padding:36px 20px}.lp{display:none}.rp-inner{max-width:380px;min-height:0}}
@media(max-height:700px) and (min-width:861px){.login-shell{min-height:620px}.lp,.rp{padding-top:30px;padding-bottom:30px}}

/* Painel institucional da nova tela. */
.lp{background:linear-gradient(90deg,rgba(4,19,36,.65),rgba(4,19,36,.25)),url("../assets/login-background.png") center center / cover no-repeat;background-color:#132d44}
.lp::before,.lp::after{display:none}
.lp-logo{margin-left:0}
.lp-logo img{height:72px;opacity:1;filter:none}
.lp-body{padding:30px 0;position:relative;z-index:1}
.lp-sub{max-width:490px;font-size:15px;line-height:1.7}
.lp-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}
.lp-features li{align-items:flex-start;gap:10px;padding:16px 12px;background:#10283fa6;border:1px solid #bfddeb40;border-radius:12px}
.lp-features li::before{display:none}
.feature-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:#75c9ef15;color:#8ed4ef}
.feature-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lp-features strong{display:block;color:#f3f8fc;font-size:12px;line-height:1.5;margin-bottom:4px}
.lp-features div>span{display:block;color:#bdcddd;font-size:11px;font-weight:400;line-height:1.55}
.lp-footer{border-top:1px solid #bdd9ec20;padding-top:18px;color:#adbfce}
@media(min-width:861px) and (max-width:1100px){.lp{padding:30px}.lp-features li{padding:12px 8px;gap:7px}.feature-icon{flex-basis:26px;height:28px}.lp-headline{font-size:36px}}

@media(max-width:380px){.rp{padding:24px 12px}.rp-inner{padding:0}.field-wrap input{font-size:13px}}

@media(min-width:861px) and (max-width:1100px){.lp{flex-basis:62%}.rp{flex-basis:38%}}

/* Transição suave entre a fotografia e o painel de acesso. */
@media(min-width:861px){
 .rp::before{content:"";position:absolute;inset:0 auto 0 0;width:100px;background:linear-gradient(90deg,rgba(12,35,55,.44) 0%,rgba(22,53,77,.23) 32%,rgba(36,67,90,.08) 65%,transparent 100%);pointer-events:none;z-index:0}
}
