:root{--a11y-scale:1;--a11y-bg:#fff;--a11y-fg:#10233b}
html{font-size:16px}
body.a11y-contrast{filter:none!important;background:#000!important;color:#fff!important}
body.a11y-contrast *:not(img):not(video):not(svg){background-color:#000!important;color:#fff!important;border-color:#fff!important;box-shadow:none!important}
body.a11y-contrast a,body.a11y-contrast button{color:#ff0!important}
body.a11y-contrast img{filter:contrast(1.15)}
.a11y-toolbar{position:fixed;left:16px;bottom:18px;z-index:2147483000;display:flex;gap:6px;align-items:center;padding:8px;border:1px solid #c9d8e5;border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(15,45,75,.22)}
.a11y-toolbar button{width:38px;height:38px;border:1px solid #c9d8e5;border-radius:8px;background:#f7fbff;color:#0b4d88;font-weight:700;cursor:pointer}.a11y-toolbar button:hover,.a11y-toolbar button:focus-visible{background:#e9f4fb;outline:2px solid #0b6b9f;outline-offset:2px}
.cookie-consent{position:fixed;inset:auto 16px 16px 16px;z-index:2147483100;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #cbd9e5;border-radius:12px;background:#fff;box-shadow:0 18px 54px rgba(6,35,63,.28)}
.cookie-consent[hidden]{display:none!important}.cookie-consent-copy{max-width:900px}.cookie-consent-copy strong{display:block;color:#0b4d88;font-size:17px;margin-bottom:5px}.cookie-consent-copy p{margin:0;color:#455b70;line-height:1.45}.cookie-consent-copy a{color:#075b9b}.cookie-consent-actions{display:flex;gap:8px;flex-wrap:wrap}.cookie-consent-actions button{min-height:40px;padding:0 14px;border-radius:8px;border:1px solid #bfd0de;background:#edf5fb;color:#0b4d88;cursor:pointer}.cookie-consent-actions .primary{background:#0a987b;border-color:#0a987b;color:#fff}
.privacy-required{display:flex;align-items:flex-start;gap:8px;margin:12px 0;color:#33495f;font-size:13px;line-height:1.4}.privacy-required input{margin-top:3px}.privacy-required a{color:#075b9b}
@media(max-width:720px){.cookie-consent{flex-direction:column;align-items:stretch}.cookie-consent-actions button{flex:1}.a11y-toolbar{left:8px;bottom:8px}}

/* Ferramentas reposicionadas no cabeçalho institucional público. */
body:not(.public-page):has(.home-main-header) .home-top-strip,
.public-page .home-top-strip{display:none!important}
.home-main-header{padding-top:12px!important;padding-bottom:12px!important}
.home-main-header .header-flex{display:grid!important;grid-template-columns:minmax(300px,1fr) auto auto!important;gap:18px!important;align-items:center!important}
.public-header-utilities{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}
.a11y-toolbar.a11y-toolbar-header{position:static!important;left:auto!important;bottom:auto!important;z-index:auto!important;display:flex;gap:5px;align-items:center;padding:6px;border:1px solid #d4e1ec;border-radius:12px;background:#fff;box-shadow:0 7px 20px rgba(15,45,75,.09)}
.a11y-toolbar.a11y-toolbar-header button{width:36px;height:36px;border-radius:8px;font-size:13px}
.public-header-search-trigger,.public-header-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 14px;border:1px solid #d4e1ec;border-radius:12px;background:#fff;color:#07559a;text-decoration:none;box-shadow:0 7px 20px rgba(15,45,75,.09);cursor:pointer;font:inherit;white-space:nowrap}
.public-header-search-trigger svg,.public-header-whatsapp svg,.public-header-admin-link svg,.public-header-citizen-link svg{width:22px;height:22px;flex:0 0 22px}
.public-header-search-trigger:hover,.public-header-whatsapp:hover,.public-header-admin-link:hover,.public-header-citizen-link:hover{border-color:#9fc3dc;transform:translateY(-1px);box-shadow:0 10px 24px rgba(15,45,75,.13)}
.public-header-whatsapp{color:#087b57}
.public-header-admin-link,.public-header-citizen-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:230px!important;min-width:230px!important;max-width:230px!important;height:62px!important;min-height:62px!important;padding:10px 16px!important;border:1px solid #d6e3ef!important;border-radius:14px!important;background:#fff!important;color:#07559a!important;text-decoration:none!important;box-shadow:0 8px 22px rgba(8,52,92,.12)!important;white-space:nowrap!important;transition:.18s ease!important;box-sizing:border-box!important;margin:0!important}
.public-header-admin-link span,.public-header-citizen-link span{font-size:15px!important;font-weight:600!important}.public-header-admin-link b,.public-header-citizen-link b{font-size:20px!important;font-weight:400!important;margin-left:auto!important}
.public-header-citizen-link .citizen-portal-icon{flex:0 0 auto!important}
.public-header-citizen-link .citizen-portal-copy{display:flex!important;align-items:center!important;min-width:0!important}
.public-header-citizen-link .citizen-portal-copy small{display:none!important}
.public-header-citizen-link .citizen-portal-copy strong{font-size:15px!important;font-weight:600!important;white-space:nowrap!important}
.public-header-citizen-link .citizen-portal-arrow{margin-left:auto!important}
.public-header-search-panel{position:fixed;z-index:2147483200;top:92px;left:50%;width:min(680px,calc(100vw - 32px));transform:translate(-50%,-16px);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;padding:16px;border:1px solid #cbdbe8;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(4,30,57,.27);opacity:0;visibility:hidden;pointer-events:none;transition:.18s ease}
.public-header-search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.public-header-search-panel label{display:grid;gap:6px}.public-header-search-panel label span{font-size:12px;color:#17456d}.public-header-search-panel input{height:43px;border:1px solid #c7d8e6;border-radius:8px;padding:0 12px;font:inherit}.public-header-search-panel button{height:43px;border:1px solid #c7d8e6;border-radius:8px;padding:0 16px;background:#075b9b;color:#fff;cursor:pointer}.public-header-search-panel .public-header-search-close{width:43px;padding:0;background:#eef5fa;color:#17456d;font-size:22px}
@media(max-width:1450px){.home-main-header .header-flex{grid-template-columns:minmax(260px,1fr) auto!important}.public-header-utilities{grid-column:1/-1;justify-content:center;order:3;flex-wrap:wrap}.home-logo{grid-column:1;grid-row:1}}
@media(max-width:800px){.home-main-header .header-flex{display:flex!important;flex-direction:column!important;align-items:stretch!important}.public-header-utilities{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch}.a11y-toolbar.a11y-toolbar-header{grid-column:1/-1;justify-content:center}.public-header-admin-link,.public-header-citizen-link{width:100%!important;min-width:0!important;max-width:none!important;height:54px!important;min-height:54px!important}.public-header-search-trigger,.public-header-whatsapp{min-height:48px}.public-header-search-panel{top:18px;grid-template-columns:1fr}.public-header-search-panel .public-header-search-close{position:absolute;right:10px;top:10px}}
body.a11y-contrast .public-header-utilities *,body.a11y-contrast .public-header-search-panel *{border-color:#fff!important}


/* O painel de acessibilidade não deve mais flutuar no canto inferior. */
.a11y-toolbar:not(.a11y-toolbar-header){display:none!important}
.portal-dashboard-header .a11y-toolbar-portal{
  margin-left:auto;
  margin-right:10px;
  flex:0 0 auto;
  box-shadow:none;
  background:#fff;
}
.portal-dashboard-header .portal-user-summary{margin-left:0!important}
.a11y-toolbar-auth{
  justify-content:center;
  width:max-content;
  margin:0 0 18px auto;
  box-shadow:none!important;
}
.citizen-auth-shell>.a11y-toolbar-auth{
  align-self:flex-end;
}
.admin-login-card>.a11y-toolbar-auth{
  margin-bottom:14px;
}
@media(max-width:860px){
  .portal-dashboard-header{flex-wrap:wrap}
  .portal-dashboard-header .a11y-toolbar-portal{order:3;width:100%;justify-content:center;margin:8px 0 0}
  .portal-dashboard-header .portal-user-summary{margin-left:auto!important}
}

/* Zoom de acessibilidade aplicado pelo JavaScript ao body para funcionar também em interfaces com medidas em px. */
[data-a11y]:disabled{opacity:.45;cursor:not-allowed!important}


/* CANONICAL_PUBLIC_HEADER_V1 */
/* Única composição válida do cabeçalho público: a mesma da página Início. */
body.public-page .home-top-strip{display:none!important}
body.public-page .home-main-header.public-institutional-section{padding:12px 0!important;min-height:0!important;height:auto!important;overflow:visible!important}
body.public-page .home-main-header.public-institutional-section .header-flex{position:relative!important;display:grid!important;grid-template-columns:minmax(300px,1fr) auto!important;align-items:center!important;gap:18px!important;min-height:86px!important;height:auto!important;padding:0!important;overflow:visible!important}
body.public-page .home-main-header.public-institutional-section .home-logo{position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;grid-column:1!important;grid-row:1!important;justify-self:start!important;align-self:center!important;margin:0!important;gap:0!important;overflow:visible!important}
body.public-page .home-main-header.public-institutional-section .home-logo>:not(.home-crest){display:none!important}
body.public-page .home-main-header.public-institutional-section .public-header-utilities{grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:center!important;display:flex!important;flex-wrap:nowrap!important}
@media(max-width:1450px){body.public-page .home-main-header.public-institutional-section .header-flex{grid-template-columns:1fr!important}body.public-page .home-main-header.public-institutional-section .public-header-utilities{grid-column:1!important;grid-row:2!important;justify-self:center!important;flex-wrap:wrap!important}}
@media(max-width:800px){body.public-page .home-main-header.public-institutional-section .header-flex{display:flex!important;flex-direction:column!important;align-items:stretch!important}body.public-page .home-main-header.public-institutional-section .public-header-utilities{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}}


/* ===== Reforço de contraste dos utilitários do cabeçalho ===== */
.a11y-toolbar.a11y-toolbar-header button,
.public-header-search-trigger,
.public-header-admin-link,
.public-header-citizen-link{
  color:var(--theme-title)!important;
}
.public-header-search-trigger svg,
.public-header-admin-link svg,
.public-header-citizen-link svg{
  stroke:var(--theme-title)!important;
  color:var(--theme-title)!important;
}
.public-header-whatsapp{
  color:#0b8b62!important;
}
.public-header-whatsapp svg{
  stroke:#0b8b62!important;
  color:#0b8b62!important;
}
