/* Scoped to the login and legacy home panel; authentication is unchanged. */
.econrio-access { margin: 0; color: #183650; background: #f3f6fa; font-family: 'Ubuntu', sans-serif; }
.econrio-access *, .econrio-access *::before, .econrio-access *::after { box-sizing: border-box; }
.econrio-access a:focus-visible, .econrio-access .btn:focus-visible { outline: 3px solid #63a9db; outline-offset: 4px; }
.access-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: min(1180px, 100%); margin: auto; padding: 1.5rem 2rem; }
.access-brand { display: flex; align-items: center; gap: 0.75rem; color: #173954; font-size: 1.5rem; font-weight: 700; text-decoration: none; }
.access-brand:hover { text-decoration: none; color: #225e8e; }
.access-brand small { display: block; font-size: 0.7rem; font-weight: 400; letter-spacing: 0.15em; text-transform: uppercase; }
.access-logo { display: grid; place-items: center; background: #173e61; border-radius: 14px; width: 54px; height: 54px; }
.access-header-note { font-size: 0.85rem; color: #64778a; }
.econrio-login .legacy-login-page { padding: 1rem 2rem 2rem; }
.access-login-grid { display: grid; grid-template-columns: 1.05fr 1fr; width: 100%; max-width: 1100px; border: 1px solid #dfe7ef; border-radius: 24px; overflow: hidden; background: #fff; box-shadow: 0 22px 60px #17365012; }
.access-intro { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(2rem, 5vw, 4.5rem); color: #fff; background: radial-gradient(ellipse at bottom right, #307ba4 0, transparent 65%), #143651; }
.access-eyebrow { display: block; font-size: 0.7rem; letter-spacing: 0.16em; font-weight: 700; margin-bottom: 1rem; }
.access-intro h2 { color: #fff; font-size: clamp(2rem, 3.5vw, 3.2rem); line-height: 1.15; letter-spacing: -0.03em; margin: 1.5rem 0 1rem; }
.access-intro p { font-size: 1.05rem; line-height: 1.7; color: #d9e8f3; max-width: 30ch; }
.access-intro-footer { margin-top: auto; padding-top: 3rem; font-size: 0.8rem; color: #d9e8f3; }
.econrio-login .legacy-login-card { max-width: none; border-radius: 0; box-shadow: none; }
.econrio-login .legacy-login-card .card-body { padding: clamp(1.5rem, 4vw, 3.5rem); }
.econrio-login .legacy-login-title { font-size: 1.75rem; letter-spacing: -0.03em; }
.econrio-login .legacy-login-subtitle { line-height: 1.6; margin-bottom: 2rem; }
.econrio-login .form-group { margin-bottom: 1.25rem; }
.econrio-login .form-label { font-size: 0.9rem; font-weight: 700; margin-bottom: 0.55rem; }
.econrio-login .form-control { width: 100%; height: 52px; padding: 0.8rem 1rem; border: 1px solid #ccd9e5; border-radius: 10px; font-size: 1rem; background: #fff; }
.econrio-login .btn-primary { height: 52px; font-size: 1rem; border-radius: 10px; background: #215f90; border-color: #215f90; }
.econrio-login .btn-primary:hover { background: #17486f; }
.econrio-access #rodape { width: 100%; margin-top: auto; padding: 1.25rem; }
.econrio-panel #corpo { width: 100%; min-height: 100vh; display: flex; flex-direction: column; }
.econrio-panel #corpo #topo #identificacao_usuario { height: auto; min-height: 96px; width: 100%; background: transparent; padding: 1.25rem 1.5rem; gap: 1.5rem; }
.econrio-panel #corpo #topo #identificacao_usuario #autenticado_direita,
.econrio-panel #corpo #topo #identificacao_usuario #autenticado_esquerda,
.econrio-panel #corpo #topo #identificacao_usuario #nao_autenticado { float: none; padding: 0; min-width: 0; overflow-wrap: anywhere; }
.econrio-panel #autenticado_esquerda { background: url('/ng/logo-brand.svg') left center / 46px 46px no-repeat; padding-left: 60px !important; }
.econrio-panel #nav { height: auto; text-transform: none; }
.econrio-panel #nav .menu-hv > ul { margin: 0 auto; padding: 0.65rem 1.5rem; }
.econrio-panel #nav .menu-hv li { height: auto; display: block; }
.econrio-panel #nav .menu-hv li a { display: block; padding: 0.6rem 1rem; color: #214e72; border-radius: 10px; }
.econrio-panel #corpo #conteudo { width: 100%; max-width: 1180px; min-height: 0; padding: 2.5rem 1.5rem !important; line-height: 1.5; flex: 1; }
.access-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.access-panel-heading h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0; }
.access-panel-heading p { color: #64778a; margin: 0.5rem 0 0; }
.access-panel-heading .btn { border-radius: 10px; padding: 0.8rem 1.25rem; white-space: nowrap; }
.access-profile { border: 1px solid #dce5ee; border-radius: 16px; box-shadow: 0 8px 24px #17365008; }
.access-profile .card-body { padding: 1.75rem; overflow-wrap: anywhere; }
.access-profile h2 { font-size: 1.15rem; margin-bottom: 1.25rem; }
.access-profile-link { display: inline-block; margin: 0.5rem 0; }
@media (max-width: 767.98px) {
    .access-header { padding: 1rem 1.25rem; }
    .access-header-note { display: none; }
    .econrio-login .legacy-login-page { padding: 0.5rem 1rem 1rem; align-items: flex-start; }
    .access-login-grid { grid-template-columns: minmax(0, 1fr); border-radius: 18px; }
    .access-intro { padding: 1.5rem; }
    .access-intro h2 { font-size: 1.8rem; margin: 0.25rem 0 0.5rem; }
    .access-intro h2 br { display: none; }
    .access-intro p { max-width: none; margin: 0; font-size: 0.95rem; }
    .access-intro-footer { display: none; }
    .econrio-panel #corpo #topo #identificacao_usuario { align-items: flex-start; gap: 1rem; }
    .econrio-panel #corpo #topo #identificacao_usuario #autenticado_direita { text-align: left; }
    .access-panel-heading { flex-direction: column; align-items: stretch; }
    .access-panel-heading .btn { text-align: center; }
    .econrio-panel #corpo #conteudo { padding: 1.5rem 1rem !important; }
}
