/* 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; }

.portal-preview-document-choice { max-width:360px; width:100%; margin-top:.25rem; }
.portal-preview-document-choice[hidden] { display:none!important; }

.portal-payroll-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem 1.25rem; }
.portal-payroll-heading > h2 { margin:0!important; }
.portal-next-payment-compact { display:flex; align-items:center; justify-content:flex-end; gap:.6rem; margin-left:auto; }
.portal-next-payment-label { display:block; color:#526073; font-size:.75rem; }
.portal-next-payment-date { display:flex; flex-wrap:wrap; align-items:baseline; gap:.25rem .6rem; font-size:.85rem; }
.portal-next-payment-date strong { font-size:1rem; color:var(--portal-dark,#17324d); }
.portal-next-payment-date > span { color:#526073; font-size:.75rem; }
.portal-next-payment-open { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; flex:none; }
.portal-payroll-page .portal-periodic-toolbar { padding:.65rem 0; border:0; border-radius:0; background:none; }
.portal-payroll-page .portal-periodic-toolbar > .row { display:flex; flex-wrap:wrap; gap:.4rem; margin:0; }
.portal-payroll-page .portal-periodic-toolbar > .row > .col { flex:0 0 auto; width:auto; padding:0; }
.portal-payroll-page .portal-periodic-toolbar .portal-periodic-search-field { width:14rem!important; max-width:100%; }
.portal-payroll-page .portal-periodic-toolbar .form-select { width:auto; min-width:6.5rem; max-width:12rem; }
.portal-payroll-page .portal-periodic-toolbar .form-control,.portal-payroll-page .portal-periodic-toolbar .form-select { font-size:.85rem; min-height:38px; padding-top:.4rem; padding-bottom:.4rem; }
@media(max-width:575.98px) { .portal-next-payment-compact { margin-left:0; }.portal-payroll-heading { align-items:flex-start; }.portal-payroll-page .portal-periodic-toolbar .portal-periodic-search-field { width:100%!important; } }

.portal-body .portal-payroll-page .portal-payroll-heading { flex-direction:row; align-items:center; flex-wrap:nowrap; gap:.5rem .8rem; margin-bottom:.15rem; }
.portal-body .portal-payroll-page .portal-payroll-heading > h2 { flex:1 1 auto; min-width:0; font-size:clamp(1.2rem,2vw,1.75rem); }
.portal-body .portal-payroll-page .portal-next-payment-compact { flex:0 0 auto; }
.portal-body .portal-payroll-page .portal-periodic-toolbar { padding:.15rem 0 .4rem; }
.portal-body .portal-payroll-page .portal-periodic-documents-wrapper { gap:.5rem; }
@media(max-width:575.98px) { .portal-body .portal-payroll-page .portal-payroll-heading { flex-wrap:wrap; }.portal-body .portal-payroll-page .portal-next-payment-compact { margin-left:0; } }

#portalCalendarEventModal .portal-agenda-header { background:#fff; border-top:0; border-bottom:1px solid #dce4eb; align-items:center; gap:.75rem; }
#portalCalendarEventModal .portal-agenda-brand { flex:1 1 auto; min-width:0; }
#portalCalendarEventModal .portal-agenda-logo { border:0; border-radius:0; background:none; box-shadow:none; padding:0; }
#portalCalendarEventModal .portal-agenda-heading { min-width:0; border-left:2px solid var(--portal-primary,#0056a6); padding-left:.8rem; }
#portalCalendarEventModal .portal-agenda-heading .modal-title { margin:0; font-size:1.15rem; line-height:1.25; }
.portal-calendar-header-actions { display:flex; align-items:center; gap:.4rem; margin-left:auto; }
.portal-calendar-header-action { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; }
#portalCalendarEventModal [data-calendar-kind="payments"]:not([hidden]) { grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.75rem; }
#portalCalendarEventModal [data-calendar-kind="payments"] .portal-agenda-filters { grid-area:1 / 1; align-self:center; }
#portalCalendarEventModal [data-calendar-kind="payments"] .portal-agenda-filters .form-select { width:120px; min-height:38px; }
#portalCalendarEventModal [data-calendar-kind="payments"] > [data-calendar-list-count] { grid-area:1 / 2; display:block; margin:0; padding:0; text-align:right; border:0; font-size:.75rem; }
#portalCalendarEventModal [data-calendar-kind="payments"] > [data-calendar-list-count]::after { display:none; }
#portalCalendarEventModal [data-calendar-kind="payments"] > [data-calendar-list-results] { grid-row:2; }
#portalCalendarEventModal [data-calendar-kind="payments"] [data-calendar-print-error] { display:none; }
#portalCalendarEventModal [data-calendar-kind="payments"] [data-calendar-print-error]:not([hidden]) { display:block; grid-column:1 / -1; }
#portalCalendarEventModal [data-calendar-kind="payments"] .portal-agenda-table { margin:0; }
#portalCalendarEventModal [data-calendar-kind="payments"] .portal-agenda-notice { margin:0; padding:.6rem .75rem; }
@media(max-width:575.98px) { #portalCalendarEventModal .portal-agenda-logo { flex-basis:60px; } #portalCalendarEventModal .portal-agenda-logo img { width:58px; } #portalCalendarEventModal .portal-agenda-heading .modal-title { font-size:.95rem; } #portalCalendarEventModal .portal-agenda-header { gap:.4rem; } }

/* Keep the year selector above the results, including inline agenda rules. */
#portalCalendarEventModal [data-calendar-kind="payments"]:not([hidden]) .portal-agenda-filters { grid-area:1 / 1; margin:0; }
#portalCalendarEventModal [data-calendar-kind="payments"]:not([hidden]) .portal-agenda-filters > div { width:120px; }

/* Calendar document actions use their own row on phones. */
@media(max-width:575.98px) {
 .portal-document-preview-modal .portal-document-preview-header { grid-template-columns:68px minmax(0,1fr) 44px; }
 .portal-document-preview-modal .portal-document-preview-header-actions { grid-column:1 / -1; grid-row:2; justify-self:end; margin:0; }
 .portal-document-preview-modal .portal-document-preview-header > .btn-close { grid-column:3; grid-row:1; }
 .portal-document-preview-modal .portal-document-preview-context--header { grid-column:1 / -1; grid-row:3; }
 .portal-document-preview-modal .portal-preview-document-choice { grid-column:1 / -1; grid-row:4; width:100%; max-width:100%; margin:0; }
}

/* Shared public document listing: approved payroll density. */
.portal-body .portal-periodic-documents-wrapper:has(> .portal-periodic-toolbar.is-compact) { gap:.5rem; }
.portal-body .portal-periodic-toolbar.is-compact { padding:.15rem 0 .4rem; border:0; border-radius:0; background:none; overflow:visible; }
.portal-body .portal-periodic-toolbar.is-compact > .row { display:flex; flex-wrap:wrap; gap:.4rem; margin:0; }
.portal-body .portal-periodic-toolbar.is-compact > .row > .col { flex:0 0 auto; width:auto; max-width:100%; padding:0; }
.portal-body .portal-periodic-toolbar.is-compact .portal-periodic-search-field { width:14rem!important; max-width:100%; }
.portal-body .portal-periodic-toolbar.is-compact .form-select { width:auto; min-width:6.5rem; max-width:15rem; }
.portal-body .portal-periodic-toolbar.is-compact .form-control,.portal-body .portal-periodic-toolbar.is-compact .form-select { font-size:.85rem; min-height:38px; }
.portal-content-card:has(> .portal-periodic-documents-wrapper) > .portal-panel-heading { margin-bottom:.25rem; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-agenda-header { display:flex; align-items:flex-start; gap:.85rem; padding:.85rem 1rem; background:#fff; }
.portal-benefit-standard-brand { flex:0 0 96px; align-self:flex-start; }
.portal-benefit-standard-brand img { width:96px; height:48px; object-fit:contain; }
.portal-benefit-standard-main { flex:1 1 auto; min-width:0; padding-left:.85rem; border-left:2px solid var(--portal-primary,#0056a6); }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-title { margin:0 0 .35rem; white-space:normal; font-size:1.05rem; line-height:1.3; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary { display:block; border:0; border-radius:0; padding:0; margin:0; max-height:none; overflow:visible; background:none; box-shadow:none; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-main { display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .6rem; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-main h3 { margin:0; font-size:.9rem; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-type { display:inline; padding:0; margin:0; border:0; border-radius:0; background:none; font-size:.75rem; letter-spacing:normal; text-transform:none; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-facts { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:flex-start; gap:.2rem .7rem; margin:.25rem 0 0; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-facts > div { display:flex; flex-wrap:wrap; gap:.25rem; padding:0; border:0; border-radius:0; background:none; text-align:left; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-facts dt { font-size:.7rem; letter-spacing:normal; text-transform:none; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-facts dt::after { content:':'; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-summary-facts dd { font-size:.75rem; margin:0; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-actions { display:flex; flex-direction:row; align-items:center; flex:0 0 auto; gap:.4rem; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-actions .btn-close { order:2; width:20px; height:20px; padding:12px; margin:0; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-document-action { display:inline-flex; justify-content:center; align-items:center; width:44px; height:44px; padding:0; font-size:1rem; border:1px solid #c8d7e5; color:var(--portal-primary,#0056a6); background:#fff; }
.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-more-grid,.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-more-note,.portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-related-acts { width:100%; }
@media(max-width:575.98px) {
 .portal-body .portal-periodic-toolbar.is-compact .portal-periodic-search-field { width:100%!important; }
 .portal-benefit-extract-modal.portal-benefit-standard .portal-agenda-header { display:grid; grid-template-columns:64px minmax(0,1fr); gap:.5rem; padding:.75rem; }
 .portal-benefit-standard-brand { grid-column:1; grid-row:1; }
 .portal-benefit-standard-brand img { width:60px; height:40px; }
 .portal-benefit-standard-main { grid-column:2; grid-row:1; padding-left:.6rem; }
 .portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-actions { grid-column:1 / -1; grid-row:2; justify-content:flex-end; }
 .portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-title { font-size:.95rem; }
}

.portal-document-listing-page .portal-document-inline-filters { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; margin:0; }
.portal-document-listing-page .portal-document-inline-filters > div { flex:0 0 auto; width:auto; max-width:100%; padding:0; margin:0; }
.portal-document-listing-page .portal-document-inline-filters .form-control { width:14rem; max-width:100%; min-height:38px; font-size:.85rem; }
.portal-document-listing-page .portal-document-inline-filters .form-select { width:auto; min-width:6rem; max-width:15rem; min-height:38px; font-size:.85rem; }
.portal-document-listing-page .portal-panel-heading { margin-bottom:.3rem; }
@media(max-width:575.98px) {
 .portal-benefit-extract-modal.portal-benefit-standard .portal-agenda-header { grid-template-columns:60px minmax(0,1fr) 44px; }
 .portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-actions { display:contents; }
 .portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-header-actions .btn-close { grid-column:3; grid-row:1; align-self:start; }
 .portal-benefit-extract-modal.portal-benefit-standard .portal-benefit-document-action { grid-column:3; grid-row:2; }
 .portal-document-listing-page .portal-document-inline-filters .form-control { width:100%; }
}

/* Per-entity navigation: fit labels before collapsing, with a larger compact logo. */
.portal-header .portal-navbar[data-navigation-mode] .container { display:flex; align-items:center; flex-wrap:nowrap; position:relative; gap:.6rem; }
.portal-header .portal-navbar[data-navigation-mode] .portal-navbar-compact-brand { flex:0 0 var(--portal-fit-logo-width,160px); width:var(--portal-fit-logo-width,160px); max-width:var(--portal-fit-logo-width,160px); min-width:0; margin:0; order:0; }
.portal-header .portal-navbar[data-navigation-mode] .portal-navbar-compact-logo { display:flex; align-items:center; width:100%; max-width:100%; max-height:52px; }
.portal-header .portal-navbar[data-navigation-mode] .portal-navbar-compact-logo img { width:100%; max-width:100%; height:auto; max-height:48px; object-fit:contain; object-position:left center; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .navbar-toggler { display:none!important; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) #portalNav { display:flex!important; position:static; flex:1 1 0%; min-width:0; width:auto; max-width:none; max-height:none; overflow:visible; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-navbar-nav { display:flex; flex-direction:row!important; flex-wrap:nowrap; justify-content:center; align-items:center; gap:var(--portal-fit-gap,8px); margin:0!important; padding:0; min-width:0; width:100%; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-nav-item { flex:0 0 auto; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .nav-link { font-size:var(--portal-fit-font,15px)!important; padding-inline:var(--portal-fit-padding,7px)!important; white-space:nowrap; line-height:1.25; min-height:44px; }
.portal-header .portal-navbar[data-navigation-mode="expanded"]:not(.is-content-overflow) .portal-navbar-nav { flex-wrap:wrap; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow .container { justify-content:space-between; min-height:56px; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow .navbar-toggler { display:inline-flex!important; align-items:center; justify-content:center; gap:.4rem; min-height:44px; margin-left:auto; order:2; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow .portal-toggler-label { display:inline!important; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav { display:none!important; position:absolute; top:calc(100% + .3rem); right:.5rem; left:auto; z-index:1065; width:min(22rem,calc(100vw - 1rem)); max-height:calc(100dvh - 5rem); overflow-y:auto; padding:.75rem; margin:0; border:1px solid rgba(255,255,255,.16); border-radius:.8rem; background:var(--portal-menu-bg,var(--portal-nav-bg,#16324f)); box-shadow:0 1rem 2rem #0003; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav.show,.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav.collapsing { display:block!important; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-navbar-nav { display:flex; flex-direction:column!important; flex-wrap:nowrap; align-items:stretch; justify-content:flex-start; width:100%; gap:.15rem; margin:0!important; padding:0; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .nav-link { font-size:.9rem!important; padding:.65rem .75rem!important; white-space:normal; min-height:44px; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-nav-dropdown-group { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-menu,.portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-submenu { position:static!important; inset:auto!important; transform:none!important; width:100%; min-width:0; max-width:100%; margin:.2rem 0; }
@media(max-width:991.98px) {
 .portal-header.is-condensed .portal-navbar[data-navigation-mode] .portal-navbar-compact-brand { display:flex; opacity:1; visibility:visible; transform:none; }
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-nav-dropdown-group { display:flex; }
}

/* Keep institutional identity ahead of optional header actions. */
.portal-header .portal-brandbar:has(.portal-actions-list.show) { overflow:visible; z-index:5; }
.portal-header .portal-header-actions { position:relative; flex:0 0 auto; width:auto; max-width:none; }
.portal-header .portal-actions-toggle,.portal-header .portal-actions-search-label { display:none; }
.portal-header .portal-actions-list.dropdown-menu { position:static; display:flex; align-items:center; flex-wrap:nowrap; gap:.5rem; min-width:0; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.portal-header .portal-brand-column { justify-content:flex-start; }
.portal-header .portal-brand-copy { flex:1 1 auto; min-width:0; }
.portal-header .portal-brand-name { font-size:clamp(1.2rem,1.65vw,1.65rem); line-height:1.14; }
@media(max-width:1399.98px) {
 .portal-header .portal-brandbar-inner { flex-direction:row; flex-wrap:nowrap; align-items:center; gap:1rem; }
 .portal-header .portal-brand-column { flex:1 1 0%; min-width:0; width:auto; flex-wrap:nowrap; }
 .portal-header .portal-brand { flex:1 1 0%; min-width:0; }
 .portal-header .portal-brand-logo { min-width:0; width:clamp(80px,14vw,160px); flex:0 0 clamp(80px,14vw,160px); }
 .portal-header .portal-brand-certification { flex:0 0 auto; width:clamp(72px,10vw,118px); }
 .portal-header .portal-brand-certification img { width:100%; height:auto; object-fit:contain; }
 .portal-header .portal-actions-toggle { display:inline-flex; align-items:center; min-height:44px; white-space:nowrap; }
 .portal-header .portal-actions-list.dropdown-menu { display:none; position:absolute; top:calc(100% + .5rem); right:0; left:auto; width:15rem; max-width:calc(100vw - 24px); padding:.5rem; border:1px solid #dce3eb; border-radius:.8rem; background:#fff; box-shadow:0 12px 30px #10263d26; z-index:1080; }
 .portal-header .portal-actions-list.dropdown-menu.show { display:flex; flex-direction:column; align-items:stretch; }
 .portal-header .portal-actions-list .portal-quick-button,.portal-header .portal-actions-list .portal-public-search-trigger { display:flex; justify-content:flex-start; align-items:center; gap:.65rem; flex:none; width:100%; height:auto; min-height:44px; padding:.6rem .75rem; border:0; border-radius:.4rem; background:#fff; color:var(--portal-primary,#16324f); box-shadow:none; text-align:left; }
 .portal-header .portal-actions-list .portal-quick-button:hover,.portal-header .portal-actions-list .portal-public-search-trigger:hover { background:#f0f4f8; }
 .portal-header .portal-actions-search-label { display:inline; }
}
@media(max-width:575.98px) {
 .portal-header .portal-brandbar-inner { flex-wrap:wrap; }
 .portal-header .portal-brand-column { flex-basis:100%; gap:.6rem; }
 .portal-header .portal-header-actions { margin-left:auto; }
 .portal-header .portal-brand { gap:.6rem; }
 .portal-header .portal-brand-name { font-size:1.15rem; }
}

/* Explicit menu surfaces and placement independent of Bootstrap breakpoints. */
.portal-header .portal-navbar[data-navigation-mode] .dropdown:not(.show):not(.is-hovering) > .portal-dropdown-menu { display:none; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-menu,
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-submenu { background:#fff; color:var(--portal-dropdown-text,var(--portal-dark,#16324f)); opacity:1; border:1px solid #dce3eb; box-shadow:0 12px 30px #10263d26; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-item,
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-subitem { white-space:normal; overflow-wrap:break-word; min-height:44px; display:flex; align-items:center; line-height:1.35; padding:.6rem .75rem; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-panel,
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-links { width:100%; min-width:0; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-menu { position:absolute!important; inset:100% auto auto 0!important; transform:none!important; width:max-content; min-width:0; max-width:calc(100vw - 24px); margin:0; padding:.35rem; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-nav-item:nth-last-child(-n+4) > .portal-dropdown-menu { inset:100% 0 auto auto!important; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-item-group { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 44px; gap:0; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-item-parent .portal-dropdown-item-icon { display:none; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-subtoggle { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:.5rem; border:0; border-radius:.4rem; background:transparent; color:inherit; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-submenu { position:absolute!important; inset:var(--portal-submenu-top,0) auto auto 100%!important; transform:none!important; width:var(--portal-submenu-width,max-content); max-height:calc(100dvh - 24px); overflow-x:hidden; overflow-y:auto; min-width:0; max-width:calc(100vw - 24px); margin:0; padding:.5rem; border-radius:.8rem; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .opens-left > .portal-dropdown-submenu { inset:var(--portal-submenu-top,0) 100% auto auto!important; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .opens-inline > .portal-dropdown-submenu { position:static!important; grid-column:1 / -1; inset:auto!important; width:100%; }
@media(max-width:991.98px) {
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav { right:64px; width:calc(100vw - 80px); }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .navbar-toggler { width:44px; min-width:44px; max-width:44px; flex:0 0 44px; height:44px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .portal-toggler-label { display:none!important; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .navbar-toggler > i { font-size:2rem; line-height:1; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .navbar-toggler-icon { width:28px; height:26px; background-size:100% 2px; background-position:center 2px,center,center calc(100% - 2px); }
}
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-item-group.is-expanded > .portal-dropdown-submenu { display:block; }
.portal-header .portal-navbar[data-navigation-mode].is-content-overflow .portal-dropdown-submenu { margin:0!important; width:100%!important; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-submenu[hidden] { display:none!important; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-item-group::after,
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-menu::after { display:none; }
.portal-header .portal-navbar[data-navigation-mode] button:focus-visible,
.portal-header .portal-actions-list > :focus-visible { outline:2px solid currentColor; outline-offset:2px; }

/* Mobile navigation uses one scrollable panel with inline accordion levels. */
.portal-mobile-menu-heading,.portal-mobile-nav-backdrop { display:none; }
.portal-mobile-menu-heading[hidden] { display:none!important; }
.portal-header .portal-navbar:not(.is-content-overflow) .portal-mobile-services-item { display:none; }
@media(max-width:991.98px) {
 body.portal-mobile-navigation-open { overflow:hidden; }
 .portal-mobile-nav-backdrop { position:fixed; inset:0; width:100%; height:100%; padding:0; border:0; border-radius:0; background:#10263d66; z-index:1039; }
 .portal-mobile-navigation-open .portal-mobile-nav-backdrop { display:block; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav { position:absolute; inset:100% auto auto 0; width:min(22rem,calc(100vw - 80px)); height:calc(100dvh - var(--portal-header-nav-height,56px)); max-height:none; margin:0; padding:.75rem; border:0; border-radius:0 .75rem 0 0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; box-shadow:.5rem .5rem 1.5rem #10263d33; }
 .portal-mobile-menu-heading { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:0 0 .65rem; margin-bottom:.35rem; border-bottom:1px solid currentColor; color:var(--portal-menu-text,#fff); }
 .portal-mobile-menu-heading { border-bottom:0; gap:.35rem; }
 .portal-mobile-search { display:flex; align-items:center; flex:1 1 0%; min-width:0; border:1px solid rgba(var(--portal-menu-text-rgb,255,255,255),.28); border-radius:.5rem; background:linear-gradient(#ffffff24,#ffffff24),var(--portal-primary,#16324f); color:#fff; }
 .portal-mobile-search input { flex:1 1 0%; width:100%; min-width:0; height:44px; padding:.65rem .6rem; border:0; border-radius:.5rem; background:transparent; color:inherit; font-size:.9rem; outline-offset:-2px; }
 .portal-mobile-search input::placeholder { color:inherit; opacity:.8; }
 .portal-mobile-search:focus-within { outline:2px solid currentColor; outline-offset:2px; }
 .portal-header .portal-mobile-search button { flex:0 0 36px; width:36px; min-width:36px; padding:0; font-size:1rem; }
 .portal-header #portalNav .portal-public-search-trigger { display:none!important; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .portal-navbar-compact-brand { flex:1 1 200px; width:auto; max-width:200px; min-width:0; min-height:60px; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .portal-navbar-compact-logo { min-height:56px; max-height:60px; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow .portal-navbar-compact-logo img { max-height:56px; }
 .portal-header .portal-navbar[data-navigation-mode] .portal-navbar-certification { display:flex; align-items:center; justify-content:center; order:1; flex:0 0 64px; width:64px; max-width:64px; margin:0 0 0 auto; padding:4px; border-radius:3px; background:var(--portal-brand-bg,#16324f); }
 .portal-header .portal-navbar[data-navigation-mode] .portal-navbar-certification img { width:64px; max-width:100%; height:auto; max-height:32px; object-fit:contain; }
 .portal-mobile-menu-heading button { display:inline-flex; align-items:center; justify-content:center; width:44px; min-height:44px; padding:0; border:0; border-radius:.3rem; color:inherit; background:transparent; font-size:1.3rem; }
 .portal-header #portalNav .portal-header-actions { width:100%; margin:0 0 .35rem; display:block; }
 .portal-header #portalNav .portal-actions-toggle { width:100%; justify-content:space-between; border:0; border-radius:.3rem; background:transparent; color:var(--portal-menu-text,#fff); box-shadow:none; padding:.75rem; min-height:48px; font-size:1rem; }
 .portal-header #portalNav .portal-actions-list.dropdown-menu { position:static!important; inset:auto!important; transform:none!important; width:100%; max-width:100%; margin:0; border:0; border-radius:.35rem; box-shadow:none; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .nav-link { font-size:1rem!important; min-height:48px; line-height:1.4; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .dropdown:not(.show) > .portal-dropdown-menu { display:none!important; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-menu { padding:.25rem .35rem; border:0; border-radius:.35rem; box-shadow:none; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-item-group { display:grid; grid-template-columns:minmax(0,1fr) 44px; align-items:start; gap:0; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-item-parent { cursor:pointer; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-item-group:not(.is-expanded) > .portal-dropdown-submenu { display:none!important; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-submenu { grid-column:1 / -1; margin:0!important; padding:.25rem 0 .25rem .5rem; border:0; border-left:2px solid var(--portal-primary,#16324f); border-radius:0; box-shadow:none; }
 .portal-header .portal-navbar[data-navigation-mode].is-content-overflow #portalNav .portal-dropdown-subitem { padding:.65rem .6rem; min-height:48px; font-size:.95rem; }
}




/* Compact desktop menus; remove the obsolete hover bridge that created horizontal scroll. */
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-submenu::before { display:none!important; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-subitem { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.portal-header .portal-navbar[data-navigation-mode] .portal-dropdown-submenu { overflow-x:hidden; }
@media(min-width:992px) and (pointer:fine) {
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-item,
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-subitem { min-height:36px; padding:.4rem .65rem; font-size:.85rem; line-height:1.3; border-radius:.35rem; }
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-item-group { grid-template-columns:minmax(0,1fr) 36px; }
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-subtoggle { width:36px; min-width:36px; min-height:36px; padding:.35rem; }
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-links { gap:0; }
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-menu,
 .portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-submenu { border-radius:.5rem; box-shadow:0 8px 22px #10263d20; }
 .portal-header .portal-actions-list .portal-quick-button,
 .portal-header .portal-actions-list .portal-public-search-trigger { min-height:36px; padding:.4rem .65rem; font-size:.85rem; }
}
.portal-header .portal-actions-toggle::after { display:none; }
.portal-header .portal-actions-toggle { gap:.5rem; min-height:40px; padding:.5rem .75rem; border-radius:.45rem; border:1px solid color-mix(in srgb,var(--portal-brand-text,#16324f) 25%,transparent); color:var(--portal-brand-text,#16324f); background:color-mix(in srgb,var(--portal-brand-text,#16324f) 8%,transparent); box-shadow:none; letter-spacing:0; transform:none; }
.portal-header .portal-actions-toggle:hover,
.portal-header .portal-actions-toggle:focus-visible,
.portal-header .portal-actions-toggle[aria-expanded=true] { color:var(--portal-brand-text,#16324f); background:color-mix(in srgb,var(--portal-brand-text,#16324f) 16%,transparent); border-color:color-mix(in srgb,var(--portal-brand-text,#16324f) 45%,transparent); box-shadow:none; transform:none; }
.portal-header .portal-actions-toggle > span { flex:1 1 auto; text-align:left; }
.portal-header .portal-services-chevron { font-size:.65rem; transition:transform .15s ease; }
.portal-header .portal-actions-toggle[aria-expanded=true] .portal-services-chevron { transform:rotate(180deg); }
.portal-header .portal-actions-toggle:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media(max-width:1399.98px) {
 .portal-header .portal-actions-list.dropdown-menu { width:max-content; min-width:0; right:calc(40px + .5rem); padding:.35rem; border-radius:.5rem; }
 .portal-header .portal-actions-list.dropdown-menu.show { gap:0; }
}
@media(pointer:coarse) {
 .portal-header .portal-actions-toggle { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 .portal-header .portal-services-chevron { transition:none; }
}


/* Match dropdown width to its labels; keep global search beside Services on desktop. */
.portal-header .portal-header-actions { display:flex; align-items:center; gap:.5rem; }
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-panel,
.portal-header .portal-navbar[data-navigation-mode]:not(.is-content-overflow) .portal-dropdown-links { width:auto; }
.portal-header .portal-header-search-button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 40px; width:40px; height:40px; min-height:40px; padding:0; border-radius:.45rem; border:1px solid color-mix(in srgb,var(--portal-brand-text,#16324f) 25%,transparent); color:var(--portal-brand-text,#16324f); background:color-mix(in srgb,var(--portal-brand-text,#16324f) 8%,transparent); box-shadow:none; font-size:1rem; }
.portal-header .portal-header-search-button:hover,
.portal-header .portal-header-search-button:focus-visible { color:var(--portal-brand-text,#16324f); background:color-mix(in srgb,var(--portal-brand-text,#16324f) 16%,transparent); border-color:color-mix(in srgb,var(--portal-brand-text,#16324f) 45%,transparent); box-shadow:none; }
.portal-header .portal-header-search-button:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.portal-header .portal-actions-list .portal-quick-button { white-space:normal; }
@media(pointer:coarse) {
 .portal-header .portal-header-search-button { flex-basis:44px; width:44px; height:44px; min-height:44px; }
}

/* Institutional identity: independent home/municipality links, centered metadata. */
.portal-header .portal-identity { display:flex; flex:1 1 0%; min-width:0; width:auto; align-items:center; flex-wrap:nowrap; gap:18px; }
.portal-header .portal-identity > .portal-brand { display:flex; align-items:center; justify-content:center; flex:0 0 156px; width:156px; min-width:0; max-width:156px; margin:0; }
.portal-header .portal-identity .portal-brand-logo { display:flex; align-items:center; justify-content:center; width:156px; flex:0 0 156px; height:70px; min-width:0; }
.portal-header .portal-identity .portal-brand-logo img { width:100%; height:100%; max-height:70px; object-fit:contain; }
.portal-header .portal-municipal-crest { display:flex; align-items:center; justify-content:center; flex:0 0 54px; width:54px; height:64px; }
.portal-header .portal-municipal-crest img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.portal-header .portal-municipal-crest:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.portal-header .portal-identity > .portal-brand-copy { display:flex; flex-direction:column; flex:1 1 0%; min-width:0; gap:3px; margin:0; align-items:center; justify-content:center; text-align:center; }
.portal-header .portal-identity .portal-brand-name { width:100%; max-width:none; margin:0; font-size:var(--portal-identity-font,22px); font-weight:700; line-height:1.12; text-align:center; }
.portal-header .portal-identity .portal-brand-address,
.portal-header .portal-identity .portal-brand-cnpj { display:block; width:100%; margin:0; font-size:12px; font-weight:400; line-height:1.3; text-align:center; }
.portal-header .portal-identity > .portal-brand-certification { flex:0 0 110px; width:110px; margin:0; }
.portal-header .portal-identity > .portal-brand-certification img { width:100%; max-height:64px; object-fit:contain; }
@media(min-width:992px) {
 .portal-header .portal-brandbar-inner { flex-direction:row; flex-wrap:nowrap; align-items:center; gap:20px; min-height:108px; padding-top:10px; padding-bottom:10px; }
 .portal-header .portal-brandbar { padding-top:0; padding-bottom:0; }
 .portal-header .portal-header-actions:not(.has-inline-services) > .portal-actions-list { display:none; }
 .portal-header .portal-header-actions:not(.has-inline-services) > .portal-actions-list.show { display:flex; }
 .portal-header .portal-header-actions:not(.has-inline-services) > .portal-actions-toggle { display:inline-flex; }
 .portal-header .portal-header-actions.has-inline-services > .portal-actions-toggle { display:none!important; }
 .portal-header .portal-header-actions.has-inline-services > .portal-actions-list.dropdown-menu { display:flex!important; position:static!important; inset:auto!important; transform:none!important; flex-direction:row; align-items:center; gap:8px; width:auto; max-width:none; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
 .portal-header .portal-header-actions.has-inline-services .portal-actions-list > .portal-quick-button { width:auto; min-height:40px; height:auto; padding:8px 11px; border:1px solid color-mix(in srgb,var(--portal-brand-text,#16324f) 25%,transparent); border-radius:.45rem; color:var(--portal-brand-text,#16324f); background:color-mix(in srgb,var(--portal-brand-text,#16324f) 8%,transparent); font-size:15px; line-height:1.25; white-space:nowrap; box-shadow:none; }
 .portal-header .portal-header-actions.has-inline-services .portal-actions-list > .portal-quick-button:hover { background:color-mix(in srgb,var(--portal-brand-text,#16324f) 16%,transparent); }
}
@media(max-width:991.98px) {
 .portal-header .portal-identity { gap:12px; }
 .portal-header .portal-identity > .portal-brand,.portal-header .portal-identity .portal-brand-logo { flex-basis:140px; width:140px; max-width:140px; }
 .portal-header .portal-identity .portal-brand-name { font-size:clamp(16px,2.4vw,22px); }
 .portal-header .portal-municipal-crest { flex-basis:44px; width:44px; height:54px; }
}
@media(max-width:575.98px) {
 .portal-header .portal-identity { display:grid; grid-template-columns:minmax(0,1fr) auto; width:100%; }
 .portal-header .portal-identity > .portal-brand { justify-self:start; }
 .portal-header .portal-identity > .portal-brand-copy { grid-column:1/-1; }
 .portal-header .portal-identity > .portal-brand-certification { width:90px; justify-self:end; grid-column:2; grid-row:1; }
 .portal-header .portal-identity.has-city-crest.has-certification { grid-template-columns:minmax(0,1fr) 44px 90px; }
 .portal-header .portal-identity.has-city-crest.has-certification > .portal-brand-certification { grid-column:3; }
}

@media(min-width:992px) {
 .portal-header .portal-brandbar > .container { padding-top:0; padding-bottom:0; }
 .portal-header .portal-brandbar-inner { height:107px; min-height:107px; box-sizing:border-box; }
 .portal-header .portal-identity .portal-brand-logo { min-height:0; padding:0; }
}

@media(min-width:992px) {
 .portal-header .portal-header-actions:not(.has-inline-services) > .portal-actions-list.dropdown-menu { position:absolute; inset:calc(100% + .5rem) calc(40px + .5rem) auto auto; width:max-content; min-width:0; max-width:calc(100vw - 24px); flex-direction:column; align-items:stretch; padding:.35rem; gap:0; border:1px solid #dce3eb; border-radius:.5rem; background:#fff; box-shadow:0 12px 30px #10263d26; z-index:1080; }
 .portal-header .portal-header-actions:not(.has-inline-services) .portal-actions-list > .portal-quick-button { display:flex; width:100%; justify-content:flex-start; min-height:36px; padding:.45rem .65rem; border:0; border-radius:.3rem; background:#fff; color:var(--portal-primary,#16324f); font-size:14px; white-space:nowrap; box-shadow:none; }
 .portal-header .portal-header-actions:not(.has-inline-services) .portal-actions-list > .portal-quick-button:hover { background:#f0f4f8; }
}

/* Fire permit: vector extinguisher, independent of the icon font. */
.portal-icon-extinguisher::before { content:""; display:inline-block; width:1em; height:1em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%2210%22%20width%3D%229%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M10%2010V6h5v4M8%206h11M12%203l7%203M10%207H7a3%203%200%200%200-3%203v6M2%2016h4v3H2zM11%2014h3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%2210%22%20width%3D%229%22%20height%3D%2212%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M10%2010V6h5v4M8%206h11M12%203l7%203M10%207H7a3%203%200%200%200-3%203v6M2%2016h4v3H2zM11%2014h3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; vertical-align:-.125em; }

/* Give the municipal crest a little more presence without enlarging the band. */
@media(min-width:992px) {
 .portal-header .portal-municipal-crest { flex-basis:64px; width:64px; height:74px; }
}
@media(max-width:991.98px) {
 .portal-header .portal-municipal-crest { flex-basis:50px; width:50px; height:60px; }
}
@media(max-width:575.98px) {
 .portal-header .portal-identity.has-city-crest.has-certification { grid-template-columns:minmax(0,1fr) 50px 90px; }
}


