/* TsQualy V1761.37 — padrão visual global dos cabeçalhos de página.
   Abrange cabeçalhos .topbar e os principais painéis-hero dos módulos.
   Para manter uma exceção deliberada, aplique .mpc-livre ao cabeçalho. */
:root{
  --tq-head-bg:linear-gradient(105deg,#ffffff 0%,#f8fbff 70%,#eef5fc 100%);
  --tq-head-border:#d7e3f1;
  --tq-head-title:#143f74;
  --tq-head-copy:#60758f;
  --tq-head-accent:#2f74b5;
}

/* Cabeçalhos de página usados pela maioria dos módulos. */
#main .topbar:not(.mpc-livre){
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:14px 20px!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:88px!important;
  height:auto!important;
  max-height:none!important;
  margin:0 0 18px!important;
  padding:13px 18px 13px 21px!important;
  border:1px solid var(--tq-head-border)!important;
  border-left:4px solid var(--tq-head-accent)!important;
  border-radius:11px!important;
  background:var(--tq-head-bg)!important;
  box-shadow:0 2px 8px rgba(20,55,95,.055)!important;
  color:#17324d!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  overflow:visible!important;
}
#main .topbar:not(.mpc-livre)>div:first-child{
  display:flex!important;
  flex:1 1 360px!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
  margin:0!important;
}
#main .topbar:not(.mpc-livre) h1,
#main .topbar:not(.mpc-livre) h2,
#main .topbar:not(.mpc-livre) h3{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--tq-head-title)!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:clamp(18px,1.55vw,22px)!important;
  font-weight:700!important;
  line-height:1.22!important;
  letter-spacing:-.22px!important;
  text-transform:none!important;
  overflow-wrap:anywhere;
}
#main .topbar:not(.mpc-livre) h1::before,
#main .topbar:not(.mpc-livre) h2::before,
#main .topbar:not(.mpc-livre) h3::before,
#main .topbar:not(.mpc-livre) p::before{content:none!important;display:none!important}
#main .topbar:not(.mpc-livre) p{
  margin:2px 0 0!important;
  padding:0!important;
  color:var(--tq-head-copy)!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.45!important;
  max-width:1100px;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
#main .topbar:not(.mpc-livre) [class*="eyebrow"],
#main .topbar:not(.mpc-livre) [class*="kicker"],
#main .topbar:not(.mpc-livre) [class*="breadcrumb"]{
  display:block;
  margin:0 0 3px!important;
  color:#2c659d!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:9.5px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:.55px!important;
  text-transform:uppercase!important;
}
#main .topbar:not(.mpc-livre)>.mp-header-actions,
#main .topbar:not(.mpc-livre)>.btn-row,
#main .topbar:not(.mpc-livre)>.fin-actions,
#main .topbar:not(.mpc-livre)>.rgo-topo-acoes,
#main .topbar:not(.mpc-livre)>.mp-header-actions,
#main .topbar:not(.mpc-livre)>button,
#main .topbar:not(.mpc-livre)>.small{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  margin:0!important;
}
#main .topbar:not(.mpc-livre) .mp-header-actions button,
#main .topbar:not(.mpc-livre)>.btn-row button,
#main .topbar:not(.mpc-livre)>.fin-actions button{
  min-height:36px;
  white-space:nowrap;
}

/* Heroes especiais mantêm imagens e elementos próprios, mas compartilham borda, raio e tipografia. */
#main .mp-module-hero:not(.mpc-livre),
#main .mp-hero:not(.mpc-livre),
#main .fp-page-head:not(.mpc-livre),
#main .lab-dashboard-hero:not(.mpc-livre),
#main .sgq-hero:not(.mpc-livre),
#main .sgq-page-hero:not(.mpc-livre),
#main .pessoas-hero:not(.mpc-livre),
#main .pcu-hero:not(.mpc-livre),
#main .pricing-dashboard-hero:not(.mpc-livre),
#main .fin-hero:not(.mpc-livre),
#main .obz-hero:not(.mpc-livre),
#main .home-hero:not(.mpc-livre),
#main .mp711-hero:not(.mpc-livre),
#main .peca-hero-panel:not(.mpc-livre),
#main .oc-hero:not(.mpc-livre),
#main .rgo-hero:not(.mpc-livre),
#main .ac93-hero:not(.mpc-livre),
#main .gp-rede-head:not(.mpc-livre),
#main .mp84-photo-head:not(.mpc-livre){
  box-sizing:border-box!important;
  border-radius:11px!important;
  box-shadow:0 2px 8px rgba(20,55,95,.055)!important;
}


/* Títulos, descrições e identificadores dos heróis de módulos que não usam .topbar. */
#main :is(.mp-module-hero,.mp-hero,.fp-page-head,.lab-dashboard-hero,.sgq-hero,.sgq-page-hero,.pessoas-hero,.pcu-hero,.pricing-dashboard-hero,.fin-hero,.obz-hero,.home-hero,.mp711-hero,.peca-hero-panel,.oc-hero,.rgo-hero,.ac93-hero,.gp-rede-head,.mp84-photo-head):not(.mpc-livre) :is(h1,h2,h3){
  color:var(--tq-head-title)!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:clamp(19px,1.6vw,23px)!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.2px!important;
  text-transform:none!important;
}
#main :is(.mp-module-hero,.mp-hero,.fp-page-head,.lab-dashboard-hero,.sgq-hero,.sgq-page-hero,.pessoas-hero,.pcu-hero,.pricing-dashboard-hero,.fin-hero,.obz-hero,.home-hero,.mp711-hero,.peca-hero-panel,.oc-hero,.rgo-hero,.ac93-hero,.gp-rede-head,.mp84-photo-head):not(.mpc-livre) :is(h1 + p,.mp-hero-subtitle){
  color:var(--tq-head-copy)!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
#main :is(.mp-module-hero,.mp-hero,.fp-page-head,.lab-dashboard-hero,.sgq-hero,.sgq-page-hero,.pessoas-hero,.pcu-hero,.pricing-dashboard-hero,.fin-hero,.obz-hero,.home-hero,.mp711-hero,.peca-hero-panel,.oc-hero,.rgo-hero,.ac93-hero,.gp-rede-head,.mp84-photo-head):not(.mpc-livre) :is([class*="eyebrow"],[class*="kicker"],[class*="breadcrumb"]){
  color:#2c659d!important;
  font-family:Inter,Arial,Helvetica,sans-serif!important;
  font-size:9.5px!important;
  font-weight:800!important;
  letter-spacing:.55px!important;
  text-transform:uppercase!important;
}

@media(max-width:760px){
  #main .topbar:not(.mpc-livre){align-items:flex-start!important;gap:10px!important;min-height:0!important;padding:12px 13px 12px 16px!important}
  #main .topbar:not(.mpc-livre)>div:first-child{flex:1 1 100%!important}
  #main .topbar:not(.mpc-livre)>.mp-header-actions,
  #main .topbar:not(.mpc-livre)>.btn-row,
  #main .topbar:not(.mpc-livre)>.fin-actions,
  #main .topbar:not(.mpc-livre)>.rgo-topo-acoes,
  #main .topbar:not(.mpc-livre)>button{width:100%;justify-content:flex-start!important}
}
@media(max-width:480px){
  #main .topbar:not(.mpc-livre) h1,
  #main .topbar:not(.mpc-livre) h2,
  #main .topbar:not(.mpc-livre) h3{font-size:18px!important}
  #main .topbar:not(.mpc-livre) p{font-size:11.5px!important}
}

/* CEP — ajuda contextual acessível por mouse, foco e teclado. */
.cp-cep-help{position:relative;z-index:2;display:inline-grid;place-items:center;flex:0 0 17px;width:17px;height:17px;margin-left:5px;border:1px solid #b9c9dc;border-radius:50%;background:#fff;color:#315b88;font:700 10px/1 Inter,Arial,sans-serif;cursor:help;vertical-align:middle;outline:none}
.cp-cep-help:hover,.cp-cep-help:focus-visible{border-color:#f58220;background:#fff4e9;color:#a94f08;box-shadow:0 0 0 3px rgba(245,130,32,.12)}
.cp-cep-help::after{content:attr(data-tooltip);position:absolute;z-index:10020;left:50%;bottom:calc(100% + 9px);width:min(285px,calc(100vw - 40px));padding:9px 11px;border:1px solid #24486f;border-radius:8px;background:#17385f;color:#fff;font:500 11px/1.45 Inter,Arial,sans-serif;text-align:left;white-space:normal;overflow-wrap:anywhere;box-shadow:0 8px 22px rgba(10,30,55,.24);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease,visibility .14s ease}
.cp-cep-help::before{content:"";position:absolute;z-index:10021;left:50%;bottom:calc(100% + 3px);border:6px solid transparent;border-top-color:#17385f;opacity:0;visibility:hidden;transform:translateX(-50%)}
.cp-cep-help:hover::after,.cp-cep-help:focus-visible::after{opacity:1;visibility:visible;transform:translate(-50%,0)}
.cp-cep-help:hover::before,.cp-cep-help:focus-visible::before{opacity:1;visibility:visible;transform:translateX(-50%)}
.cp-cep-check .cp-cep-help{flex:0 0 17px;margin-left:auto}
