/* A trilha faz parte da altura real do topo, já respeitada pelas páginas. */
:root { --altura-barra-principal:80px; --altura-trilha:48px; }
:root:has(.app-breadcrumb) { --altura-header:calc(var(--altura-barra-principal) + var(--altura-trilha)); }
#main-header.app-topbar:has(> .app-breadcrumb) { height:auto; }
#main-header.app-topbar:has(> .app-breadcrumb) .app-topbar__container { height:var(--altura-barra-principal); }
body:has(.app-breadcrumb) .app-sidebar__marca { min-height:var(--altura-barra-principal); }
.app-body.app-sidebar-recolhida:has(.app-breadcrumb) .app-sidebar__recolher { top:calc(var(--altura-barra-principal) + 5px); }
.app-conteudo { position:relative; display:flow-root; }
.app-breadcrumb { display:flex; align-items:center; height:var(--altura-trilha); min-width:0; padding:0 26px; border-bottom:1px solid #dbe3ea; background:#eef2f6; color:#52697d; font:500 .8rem/1.4 'Inter',sans-serif; }
.app-breadcrumb ol { display:flex; align-items:center; gap:0; width:100%; min-width:0; overflow-x:auto; list-style:none; margin:0; padding:0; white-space:nowrap; scrollbar-width:thin; }
.app-breadcrumb li { display:flex; align-items:center; flex:0 0 auto; min-height:32px; }
.app-breadcrumb a { display:inline-block; padding:7px 2px; color:#195d83; text-decoration:none; border-radius:3px; }
.app-breadcrumb a:hover { text-decoration:underline; color:#0c3650; }
.app-breadcrumb a:focus-visible { outline:2px solid #a56b00; outline-offset:2px; }
.app-breadcrumb [aria-current="page"] { overflow:hidden; max-width:min(34ch,65vw); text-overflow:ellipsis; color:#19324a; font-weight:700; }
.app-breadcrumb__separador { margin:0 10px; color:#6c8091; }
/* Substitui as trilhas locais antigas pela trilha única do shell. */
body:has(.app-breadcrumb) .dashboard-breadcrumb,
body:has(.app-breadcrumb) .relatorio-breadcrumb,
body:has(.app-breadcrumb) .auditoria-breadcrumb { display:none; }
.app-body:has(.app-breadcrumb) :target { scroll-margin-top:calc(var(--altura-header) + 18px); }
@media(max-width:620px) {
    :root { --altura-barra-principal:72px; }
    .app-breadcrumb { padding-inline:12px; font-size:.75rem; }
    .app-breadcrumb__separador { margin:0 7px; }
}
@media print {
    .app-breadcrumb { display:none; }
    :root:has(.app-breadcrumb) { --altura-header:var(--altura-barra-principal) !important; }
}
