/* Shared public viewer: institution, document title and accessible actions. */
.portal-document-preview-modal .portal-document-preview-header { display:flex; align-items:center; flex-wrap:nowrap; gap:.85rem; padding:.8rem 1rem; background:#fff; }
.portal-document-preview-brand { display:flex; flex:0 0 112px; align-items:center; justify-content:flex-start; min-width:0; }
.portal-document-preview-brand img { display:block; width:112px; height:48px; object-fit:contain; object-position:left center; }
.portal-document-preview-brand span { color:var(--portal-dark,#17324d); font-weight:700; font-size:.9rem; }
.portal-document-preview-modal .portal-document-preview-header-main { min-width:0; gap:0; }
.portal-document-preview-modal .portal-document-preview-title { margin:0; font-size:clamp(.95rem,1.4vw,1.2rem); line-height:1.3; font-weight:700; overflow-wrap:anywhere; }
.portal-document-preview-modal .portal-document-preview-header-actions { width:auto; flex:none; margin:0 0 0 auto; padding:0; gap:.45rem; align-items:center; flex-wrap:nowrap; }
.portal-document-preview-modal .portal-document-preview-header-actions a.portal-document-preview-action { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; min-height:44px; padding:0; border:1px solid #d2dce6; border-radius:.5rem; background:#fff; color:var(--portal-dark,#17324d); }
.portal-document-preview-header-actions a.portal-document-preview-action[hidden] { display:none !important; }
.portal-document-preview-header-actions a.portal-document-preview-action i { font-size:1.2rem; }
.portal-document-preview-header-actions a.portal-document-preview-action:hover { background:#edf3f8; }
.portal-document-preview-header-actions a.portal-document-preview-action:focus-visible { outline:3px solid var(--portal-primary,#0056a6); outline-offset:2px; }
.portal-document-preview-modal .portal-document-preview-header > .btn-close { flex:none; width:44px; height:44px; min-width:44px; margin:0; padding:0; background-size:14px; }
.portal-viewer-tooltip { position:absolute; z-index:5; top:calc(100% + 7px); right:0; width:max-content; max-width:180px; padding:.4rem .6rem; border-radius:.3rem; background:#17324d; color:#fff; font-size:.75rem; font-weight:500; line-height:1.3; opacity:0; visibility:hidden; pointer-events:none; }
.portal-document-preview-action:hover > .portal-viewer-tooltip,.portal-document-preview-action:focus-visible > .portal-viewer-tooltip { opacity:1; visibility:visible; }
/* Keep the public tools together beside the fixed Libras control. */
.portal-floating-sidebar { top:0; right:max(var(--portal-floating-right,16px),env(safe-area-inset-right)); bottom:auto; align-items:flex-start; gap:.7rem; z-index:1045; }
.portal-client-layout-body .portal-floating-sidebar { bottom:auto; }
.portal-floating-sidebar .portal-floating-buttons { gap:.65rem; align-items:flex-end; }
.portal-floating-sidebar .portal-floating-button { position:fixed; right:max(var(--portal-floating-right,16px),env(safe-area-inset-right)); min-width:44px; min-height:44px; width:44px; height:44px; flex-shrink:0; }
.portal-floating-sidebar .portal-floating-button--expandable { --floating-button-size:44px; width:auto; }
.portal-floating-sidebar .portal-floating-button.is-shortcut-ouvidoria { background:#c24b0a; border-color:transparent; color:#fff; }
.portal-floating-sidebar .portal-floating-button.is-shortcut-ouvidoria:hover,.portal-floating-sidebar .portal-floating-button.is-shortcut-ouvidoria:focus-visible { background:#a43d05; color:#fff; }
.portal-floating-sidebar .portal-floating-button-label { transition:max-width .5s ease,padding .5s ease,opacity .5s ease,transform .5s ease; }
.portal-floating-sidebar .portal-floating-panel { position:fixed; top:16px; right:calc(var(--portal-floating-right,16px) + 60px); width:min(22rem,calc(100vw - var(--portal-floating-right,16px) - 76px)); max-height:calc(100dvh - 32px); overflow:auto; }
@media(max-width:575.98px) {
    .portal-document-preview-modal .portal-document-preview-header { gap:.4rem; padding:.65rem .75rem; }
    .portal-document-preview-brand { flex-basis:68px; }
    .portal-document-preview-brand img { width:68px; height:40px; }
    .portal-document-preview-modal .portal-document-preview-header-actions { gap:.3rem; }
    .portal-document-preview-modal .portal-document-preview-header > .btn-close { width:44px; min-width:44px; }
    .portal-floating-sidebar { right:max(var(--portal-floating-right,16px),env(safe-area-inset-right)); }
}
@media(max-width:359.98px) {
    .portal-document-preview-brand { flex-basis:48px; }
    .portal-document-preview-brand img { width:48px; }
    .portal-document-preview-modal .portal-document-preview-title { font-size:.85rem; }
}
@media(prefers-reduced-motion:reduce) { .portal-floating-sidebar .portal-floating-button-label { transition:none; } }

/* e-SIC: yellow information speech bubble, original PNG from the gov.br page supplied by the user. */
.portal-floating-sidebar .portal-floating-button.is-shortcut-esic { background:#ffcc00; border-color:transparent; color:#005b32; }
.portal-floating-sidebar .portal-floating-button.is-shortcut-esic:hover,.portal-floating-sidebar .portal-floating-button.is-shortcut-esic:focus-visible { background:#f4c300; color:#005b32; }
.portal-floating-sidebar .is-shortcut-esic > .bi { display:inline-flex; align-items:center; justify-content:center; }
.portal-floating-sidebar .is-shortcut-esic > .bi::before { content:""; display:block; width:27px; height:27px; background:center / contain no-repeat url("../img/esic-acesso-informacao.png"); }

/* Font Awesome Free: original solid SVG, no raster or shadow effects. */
.portal-floating-sidebar .is-accessibility > .bi { display:inline-flex; align-items:center; justify-content:center; filter:none; }
.portal-floating-sidebar .is-accessibility > .bi::before { content:""; display:block; width:26px; height:26px; background-color:#fff; opacity:1; filter:none; -webkit-mask:url("../img/accessibility-wheelchair.svg") center / contain no-repeat; mask:url("../img/accessibility-wheelchair.svg") center / contain no-repeat; mask-mode:alpha; }

/* Keep Calendar visible with the other sidebar controls while dialogs are open. */
body:has(.modal.show) .portal-floating-sidebar .portal-global-calendar-button { visibility:visible; }

/* Compact labeled document metadata beside the institutional identity. */
.portal-document-preview-modal .portal-document-preview-header-main { border-inline-start:2px solid var(--portal-primary,#0056a6); padding-inline-start:.85rem; gap:.25rem; }
.portal-document-preview-modal .portal-document-preview-context--header { display:flex; flex-wrap:wrap; align-items:baseline; gap:.15rem .5rem; padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; }
.portal-document-preview-modal .portal-document-preview-context--header[hidden],.portal-document-preview-context--header [hidden] { display:none !important; }
.portal-document-preview-context--header .portal-document-preview-context-item { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:.25rem; padding:0; justify-self:auto; text-align:start; }
.portal-document-preview-context--header .portal-document-preview-context-item span,.portal-document-preview-context--header .portal-document-preview-context-item strong { font-size:.73rem; line-height:1.4; letter-spacing:normal; text-transform:none; }
.portal-document-preview-context--header .portal-document-preview-context-item span { font-weight:400; color:#526073; }
.portal-document-preview-context--header .portal-document-preview-context-item strong { font-weight:600; color:#17324d; }
.portal-document-preview-context--header .portal-document-preview-context-item:not([hidden]) ~ .portal-document-preview-context-item:not([hidden])::before { content:"•"; color:#738294; margin-inline-end:.25rem; }
@media(max-width:575.98px) {
    .portal-document-preview-modal .portal-document-preview-header { display:grid; grid-template-columns:68px minmax(0,1fr) auto 44px; column-gap:.45rem; row-gap:.45rem; }
    .portal-document-preview-modal .portal-document-preview-header-main { display:contents; }
    .portal-document-preview-modal .portal-document-preview-brand { grid-column:1; grid-row:1; }
    .portal-document-preview-modal .portal-document-preview-title { grid-column:2; grid-row:1; border-inline-start:2px solid var(--portal-primary,#0056a6); padding-inline-start:.6rem; }
    .portal-document-preview-modal .portal-document-preview-header-actions { grid-column:3; grid-row:1; }
    .portal-document-preview-modal .portal-document-preview-header > .btn-close { grid-column:4; grid-row:1; }
    .portal-document-preview-modal .portal-document-preview-context--header { grid-column:1 / -1; grid-row:2; }
}

/* All floating controls share the official Libras layer above dialogs. */
.portal-floating-sidebar { z-index:2147483639; }
/* Desktop navigation remains labeled, including compact computer monitors. */
@media(min-width:992px) {
    .portal-header .portal-navbar .container,.portal-header.is-condensed .portal-navbar .container { display:flex; flex-wrap:nowrap; align-items:center; gap:.5rem; }
    .portal-header .portal-navbar .navbar-toggler { display:none !important; }
    .portal-header .portal-navbar #portalNav,.portal-header.is-condensed .portal-navbar #portalNav,.portal-header .portal-navbar.is-content-overflow #portalNav { display:flex !important; position:static; flex:1 1 auto; width:auto; min-width:0; max-width:none; max-height:none; overflow:visible; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
    .portal-header .portal-navbar .portal-navbar-nav,.portal-header.is-condensed .portal-navbar .portal-navbar-nav,.portal-header .portal-navbar.is-content-overflow .portal-navbar-nav { display:flex; flex-direction:row !important; flex-wrap:wrap; align-items:center; justify-content:center; width:100%; gap:.1rem .25rem; padding:0; margin:0 !important; }
    .portal-header .portal-navbar .portal-nav-item { flex:0 0 auto; }
    .portal-header .portal-navbar .nav-link { min-height:44px; padding:.6rem .4rem; font-size:clamp(.8rem,1.05vw,.95rem); line-height:1.25; white-space:nowrap; }
    .portal-header .portal-navbar .portal-nav-dropdown-group { display:flex; align-items:stretch; }
    .portal-header .portal-navbar .portal-nav-dropdown-toggle { min-width:1.75rem; }
    .portal-header .portal-navbar .portal-dropdown-menu,.portal-header .portal-navbar .portal-dropdown-menu[data-bs-popper] { position:absolute !important; top:100% !important; right:auto !important; left:0 !important; bottom:auto !important; inset:100% auto auto 0 !important; transform:none !important; width:max-content; min-width:17rem; max-width:min(24rem,calc(100vw - 2rem)); margin:.1rem 0 0; }
    .portal-header .portal-navbar .portal-nav-item:nth-last-child(-n+4) > .portal-dropdown-menu { left:auto !important; right:0 !important; }
    .portal-header .portal-navbar .portal-dropdown-submenu { position:absolute; top:0; right:auto; left:100%; min-width:17rem; max-width:min(24rem,calc(100vw - 2rem)); }
    .portal-header .portal-navbar .portal-nav-item:nth-last-child(-n+4) .portal-dropdown-submenu { left:auto; right:100%; }
}
@media(min-width:992px) and (max-width:1399.98px) {
    .portal-header .portal-navbar .container { max-width:none; padding-inline:1rem; }
    .portal-header .portal-navbar-compact-brand,.portal-header.is-condensed .portal-navbar-compact-brand { display:flex; position:static; order:0; flex:0 0 90px; width:90px; max-width:90px; margin:0; padding:0; opacity:1; visibility:visible; transform:none; }
    .portal-header .portal-navbar-compact-logo { max-width:90px; }
    .portal-header .portal-navbar .portal-navbar-nav { gap:.05rem .12rem; }
    .portal-header .portal-navbar .nav-link { padding-inline:.3rem; }
}
@media(min-width:992px) and (hover:hover) {
    .portal-header .portal-navbar .dropdown:hover > .dropdown-menu,.portal-header .portal-navbar .dropdown:focus-within > .dropdown-menu,.portal-header .portal-navbar .dropdown.is-hovering > .dropdown-menu { display:block; }
}

/* Protocol actions stay in the header without compressing the mobile title. */
.portal-document-preview-header-actions [data-global-preview-back] { position:relative; display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; min-height:44px; padding:0; }
.portal-document-preview-header-actions [data-global-preview-back][hidden] { display:none!important; }
@media (max-width:575.98px) {
    .portal-document-preview-modal:has([data-global-preview-protocol-print]:not([hidden])) .portal-document-preview-header { grid-template-columns:68px minmax(0,1fr) 44px; }
    .portal-document-preview-modal:has([data-global-preview-protocol-print]:not([hidden])) .portal-document-preview-header-actions { grid-column:1 / -1; grid-row:2; justify-self:end; margin:0; }
    .portal-document-preview-modal:has([data-global-preview-protocol-print]:not([hidden])) .portal-document-preview-header > .btn-close { grid-column:3; grid-row:1; }
    .portal-document-preview-modal:has([data-global-preview-protocol-print]:not([hidden])) .portal-document-preview-context--header { grid-row:3; }
}

/* Keep the condensed desktop brand from consuming the entire navigation row. */
@media (min-width:992px) {
    .portal-header .portal-navbar .container,.portal-header.is-condensed .portal-navbar .container { width:100%; max-width:1320px; margin-inline:auto; padding-inline:12px; }
    .portal-header .portal-navbar-compact-brand,.portal-header.is-condensed .portal-navbar-compact-brand { display:flex; position:static; order:0; flex:0 0 90px; width:90px; min-width:0; max-width:90px; margin:0; padding:0; justify-content:flex-start; opacity:1; visibility:visible; transform:none; pointer-events:auto; }
    .portal-header .portal-navbar-compact-logo,.portal-header.is-condensed .portal-navbar-compact-logo { width:auto; height:auto; max-width:90px; max-height:38px; object-fit:contain; }
    .portal-header .portal-navbar #portalNav,.portal-header.is-condensed .portal-navbar #portalNav { flex:1 1 0%; min-width:0; }
    .portal-header .portal-navbar .portal-navbar-nav,.portal-header.is-condensed .portal-navbar .portal-navbar-nav { min-width:0; }
}
@media (min-width:992px) and (max-width:1199.98px) {
    .portal-header .portal-navbar .container,.portal-header.is-condensed .portal-navbar .container { max-width:960px; }
    .portal-header .portal-navbar .nav-link,.portal-header.is-condensed .portal-navbar .nav-link { font-size:.8rem; padding-inline:.25rem; }
}
@media (min-width:1200px) and (max-width:1399.98px) {
    .portal-header .portal-navbar .container,.portal-header.is-condensed .portal-navbar .container { max-width:1140px; }
}
.portal-header:not(.is-condensed) .portal-navbar-compact-brand { display:none!important; width:0; max-width:0; }
