:root {
  --green: #248232;
  --success: #248232;
}

/* Ensure .text-success and related utilities use the new green */
.text-success { color: #248232 !important; }
a.text-success:hover, a.text-success:focus { color: #1b6b29 !important; }

/* Buttons, badges and form valid states */
.btn-success { background-color: #248232 !important; border-color: #248232 !important; }
.btn-success:hover, .btn-success:focus { background-color: #1b6b29 !important; border-color: #196129 !important; }
.badge-success { background-color: #248232 !important; }

/* Notification icon helper */
.notif-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #248232;
  color: #ffffff;
}

/* Keep icon color inheriting from wrapper */
.notif-icon i { color: inherit !important; }

/* Sidebar profissional: garantir ícones no verde padrão (substitui verdinho claro) */
.sidebar-profissional .nav-item:not(.sidebar-prof-header) .nav-link i {
  color: #F7F26B !important;
}

/* Item ativo: forçar ícone no verde padrão */
.sidebar-profissional .nav-item.active .nav-link i {
  color: #248232 !important;
}

/* Profissional dashboard hero header styles */
.site-hero {
  background-color: #222E50 !important;
}
.site-hero .site-hero__content { padding-left: 6rem !important; }
.site-hero__title {
  font-family: 'Futura', 'Futura Now Headline', var(--font-family-sans-serif) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
  margin: 0 0 0.25rem 0 !important;
}
.site-hero__lead {
  font-family: 'Futura Now Headline', 'Futura', var(--font-family-sans-serif) !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
  margin: 0 !important;
}

/* Ensure left alignment and spacing specifically for professional hero variant */
.site-hero.bg-onboard-profissional .site-hero__content,
.site-hero.bg-onboard-profissional .site-hero__title,
.site-hero.bg-onboard-profissional .site-hero__lead {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

/* Add a clearer gap under the title */
.site-hero.bg-onboard-profissional .site-hero__title {
  margin-bottom: 0.75rem !important;
}

/* More specific overrides to ensure fonts/sizes are applied for the professional hero (overrides institucional.css) */
.site-hero.bg-onboard-profissional .site-hero__title {
  font-family: 'Futura' !important;
  font-weight: 700 !important;
  font-style: normal !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
}

.site-hero.bg-onboard-profissional .site-hero__lead {
  font-family: 'Futura Now Headline', 'Futura' !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 26px !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
  text-align: left !important;
}

/* Optional subtle shade overlay for better contrast */
.site-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(34, 46, 80, 0.78) 0%, rgba(34, 46, 80, 0.78) 100%);
}

/* Sidebar menu: truncate long item text with ellipsis */
.sidebar-profissional .nav-item .nav-link {
  display: flex;
  align-items: center;
  overflow: hidden;
}
.sidebar-profissional .nav-item .nav-link i {
  flex: 0 0 auto;
  margin-right: 0.75rem;
}
.sidebar-profissional .nav-item .nav-link span,
.sidebar-profissional .nav-item .nav-link .nav-text,
.sidebar-profissional .nav-item .nav-link .menu-text {
  display: inline-block;
  flex: 1 1 auto;
  min-width: 0; /* allow flex children to shrink */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Ensure icon has fixed width and text cannot exceed the button area */
.sidebar-profissional .nav-item .nav-link i {
  width: 28px !important;
  flex: 0 0 28px !important;
  text-align: center;
}
.sidebar-profissional .nav-item .nav-link {
  box-sizing: border-box;
}
.sidebar-profissional .nav-item .nav-link span,
.sidebar-profissional .nav-item .nav-link .nav-text,
.sidebar-profissional .nav-item .nav-link .menu-text {
  max-width: calc(100% - 36px) !important; /* account for icon width + gap */
}

/* Also ensure submenu links truncate */
.sidebar-professional .collapse-inner a {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Specific truncation for subitem text class */
.sidebar-prof-subitem-text {
  display: inline-block !important;
  max-width: calc(100% - 36px) !important; /* reserve space for icon */
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  vertical-align: middle;
}

/* Card left-accent colors: use project standard palette */
.border-left-primary { border-left: .25rem solid #4e73df !important; }
.border-left-success { border-left: .25rem solid #248232 !important; }
.border-left-info { border-left: .25rem solid #36b9cc !important; }
.border-left-warning { border-left: .25rem solid #F7F26B !important; }
.border-left-dark { border-left: .25rem solid #222E50 !important; }
