/* Portal AUTH - correção layout catálogo/workspace v1 */
/* Objetivo: estabilizar Firefox/Chrome sem mexer na lógica */

/* Workspace: compacto, mas sem altura fixa que corta conteúdo */
body main > section.hero{
  padding: 16px 24px 18px !important;
  margin-top: 8px !important;
  margin-bottom: 16px !important;
  border-radius: 24px !important;
  overflow: visible !important;
}

body main > section.hero .hero-grid{
  grid-template-columns: minmax(0, 1.65fr) minmax(380px, .78fr) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

body main > section.hero h1{
  font-size: clamp(2.15rem, 3vw, 3.05rem) !important;
  line-height: .98 !important;
  margin: 0 0 10px !important;
}

body main > section.hero p{
  display: none !important;
}

body main > section.hero .status-row{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}

body main > section.hero .pill,
body main > section.hero .hero-action{
  min-height: 36px !important;
  padding: 8px 15px !important;
  border-radius: 999px !important;
  font-size: .86rem !important;
  line-height: 1 !important;
}

body main > section.hero .search{
  margin-top: 8px !important;
  padding: 10px 14px !important;
  min-height: 40px !important;
  font-size: .88rem !important;
  border-radius: 15px !important;
}

/* Saúde dos sistemas: sem cortar após carregar os cards */
body main > section.hero .hero-suite.hero-health{
  height: auto !important;
  min-height: 0 !important;
  padding: 12px !important;
  border-radius: 22px !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body main > section.hero .health-card{
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-width: 560px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body main > section.hero .health-head{
  margin-bottom: 8px !important;
}

body main > section.hero .health-head h3{
  font-size: .92rem !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

body main > section.hero .health-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
}

body main > section.hero .health-item{
  min-height: 64px !important;
  padding: 8px 10px !important;
  border-radius: 13px !important;
  box-sizing: border-box !important;
}

body main > section.hero .health-item strong{
  font-size: .8rem !important;
  line-height: 1.1 !important;
  display: block !important;
  max-width: calc(100% - 16px) !important;
}

body main > section.hero .health-item small{
  font-size: .56rem !important;
  line-height: 1.05 !important;
  letter-spacing: .07em !important;
}

body main > section.hero .health-dot{
  width: 9px !important;
  height: 9px !important;
  right: 9px !important;
}

/* Central de Aplicativos: impedir quebra gigante das categorias */
body main .portal-catalog{
  margin-top: 14px !important;
}

body main .portal-catalog-panel{
  padding: 14px 18px !important;
  border-radius: 22px !important;
}

body main .portal-catalog-head{
  grid-template-columns: minmax(260px, 1fr) minmax(340px, 520px) auto !important;
  gap: 12px !important;
  align-items: center !important;
}

body main .portal-catalog-title h2{
  font-size: 1.18rem !important;
  margin: 0 !important;
}

body main .portal-catalog-title p{
  font-size: .82rem !important;
  margin: 3px 0 0 !important;
}

body main .portal-catalog-search{
  min-height: 40px !important;
  padding: 9px 13px !important;
  border-radius: 14px !important;
  font-size: .88rem !important;
}

body main .portal-catalog-toggle{
  min-height: 40px !important;
  padding: 9px 18px !important;
  border-radius: 14px !important;
  white-space: nowrap !important;
}

/* Uma linha só, com scroll horizontal se tiver muitas categorias */
body main .portal-catalog-chips{
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin-top: 11px !important;
  padding-bottom: 3px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 100% !important;
  scrollbar-width: thin !important;
}

body main .portal-catalog-chip{
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 7px 11px !important;
  font-size: .82rem !important;
  border-radius: 999px !important;
}

body main .portal-catalog-list{
  margin-top: 12px !important;
  padding-top: 10px !important;
}

@media(max-width:1100px){
  body main > section.hero .hero-grid{
    grid-template-columns: 1fr !important;
  }

  body main .portal-catalog-head{
    grid-template-columns: 1fr !important;
  }
}

@media(max-width:760px){
  body main > section.hero{
    padding: 15px !important;
  }

  body main > section.hero h1{
    font-size: 2rem !important;
  }

  body main > section.hero .health-grid{
    grid-template-columns: 1fr !important;
  }
}
