.perfil-page .perfil-card { margin: 0 auto; overflow: hidden; background: #fff; }
.perfil-opcoes { display: grid; gap: 10px; }
.perfil-opcao { display: flex; align-items: center; gap: 13px; width: 100%; min-height: 66px; padding: 12px 15px; border: 1px solid #dce5ef; border-radius: 12px; background: #fff; color: #173758; text-align: left; transition: background .15s, border-color .15s, box-shadow .15s; }
.perfil-opcao:hover { background: #f0f7ff; border-color: #9dc5ed; }
.perfil-opcao:focus-visible, .conta-resumo:focus-visible, .conta-item:focus-visible { outline: 3px solid #85b8ed; outline-offset: 3px; }
.perfil-opcao-icone { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 10px; background: #eaf3fd; color: #1674d1; font-size: 1.1rem; }
.perfil-opcao-nome { flex: 1; font-size: .94rem; font-weight: 700; }
.perfil-opcao-nome small { display: block; font-size: .72rem; font-weight: 500; color: #667d93; }
.perfil-opcao-seta { color: #1674d1; }
.perfil-sair { display: flex; margin-top: 22px; font-size: .8rem; }
.app-header-sistema .acesso-menu-interno { display: flex !important; flex-basis: auto; flex-grow: 0; margin-left: auto; }
.acesso-menu-interno .header-actions-interno { margin-top: 0 !important; }
.conta-menu { position: relative; color: #173758; }
.conta-resumo { display: flex; align-items: center; gap: 10px; max-width: min(520px, 70vw); padding: 9px 12px; border: 1px solid #dce5ef; border-radius: 12px; background: #fff; cursor: pointer; list-style: none; font-size: .86rem; }
.conta-resumo::-webkit-details-marker { display: none; }
.conta-resumo:hover, .conta-menu[open] .conta-resumo { background: #f0f7ff; border-color: #b8d4ef; }
.conta-avatar { color: #1674d1; font-size: 1.3rem; }
.conta-identidade { min-width: 0; overflow-wrap: anywhere; }
.conta-nome { font-weight: 700; }
.conta-perfil { color: #53718e; }
.conta-seta { color: #62809b; font-size: .7rem; flex-shrink: 0; }
.conta-menu[open] .conta-seta { transform: rotate(180deg); }
.conta-opcoes { position: absolute; top: calc(100% + 8px); right: 0; z-index: 1100; width: max-content; min-width: 245px; max-width: min(340px, calc(100vw - 32px)); padding: 7px; border: 1px solid #dce5ef; border-radius: 13px; background: #fff; box-shadow: 0 12px 32px rgba(25,55,90,.16); }
.conta-opcoes form { margin: 0; }
.conta-item { display: flex; align-items: center; gap: 10px; width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; background: transparent; color: #254560; font: inherit; font-size: .85rem; line-height: 1.4; text-align: left; text-decoration: none; white-space: normal; }
.conta-item:hover { color: #1268b9; background: #eef6ff; }
.conta-item .bi { flex-shrink: 0; color: #557eaa; }
.conta-opcoes hr { margin: 6px 5px; border: 0; border-top: 1px solid #e4ebf2; opacity: 1; }
@media (max-width: 576px) {
    .perfil-page .login-container { padding: 0; }
    .perfil-card .login-card-header { gap: 11px; }
    .perfil-card .login-icone { width: 38px; height: 38px; border-radius: 10px; }
    .perfil-card .login-card-header h1 { font-size: 1.3rem; }
    .app-header-sistema .navbar-brand img.logo-header { width: 105px !important; max-width: 105px !important; height: 52px !important; max-height: 52px !important; }
    .conta-resumo { padding: 7px 9px; gap: 7px; max-width: calc(100vw - 150px); }
    .conta-nome { display: block; max-width: calc(100vw - 225px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
    .conta-separador { display: none; }
    .conta-perfil { display: block; font-size: .72rem; }
}
