:root {
  /* =========================================
     DESIGN SYSTEM - AD SEARA
     ========================================= */

  /* Cores Principais */
  --template1: #5cd3b9; /* Mantido do original, talvez cyan */
  --template2: #00c499;
  --template3: #00bb92;

  /* Nova Identidade Visual (Baseada na Imagem) */
  --cor-sidebar-bg: #2a2e3f; /* Fundo Sidebar Escuro */
  --cor-sidebar-text: #ffffff;
  --cor-sidebar-hover: #3b4156; /* Ligeiramente mais claro que o bg */

  --cor-primary: #d4a017; /* Dourado/Laranja de destaque */
  --cor-primary-hover: #b88b14;

  --cor-bg-body: #f1f1f1; /* Cinza bem claro para o fundo do conteúdo */
  --cor-card-bg: #ffffff;

  /* Status Colors */
  --cor-sucesso: #28a745;
  --cor-erro: #dc3545;
  --cor-aviso: #ffc107;
  --cor-info: #17a2b8;

  /* Layout */
  --sidebar-width: 240px;
  --header-height: 64px;
}

/* =========================================
   SIDEBAR & MENU
   ========================================= */

.app-sidebar {
  background-color: var(--cor-sidebar-bg) !important;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
  top: 10px !important; /* Começa abaixo do header */
  height: calc(100vh - 64px) !important;
}

.main-sidemenu {
  background-color: var(--cor-sidebar-bg) !important;
  margin-top: 0 !important; /* Sem margem, pois o pai já ajustou */
  height: 100% !important;
  overflow-y: auto !important;
  padding-bottom: 50px;
  padding-top: 5px !important; /* Pequeno respiro no topo */
}

/* Ajuste Global para Containers Principais */
.main-content {
  margin-top: -10px !important; /* Compensa a altura do header fixo */
  padding-top: 20px !important; /* Espaçamento interno padrão para todas as páginas */
  padding-left: 15px !important; /* Espaçamento lateral */
  padding-right: 15px !important;
}

/* Scrollbar sutil para o menu */
.main-sidemenu::-webkit-scrollbar {
  width: 5px;
}
.main-sidemenu::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}
.main-sidemenu::-webkit-scrollbar-thumb:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

/* Item do Menu */
.side-menu__item {
  color: rgba(255, 255, 255, 0.7) !important;
  border-radius: 8px;
  margin: 2px 10px;
  padding: 10px 15px;
  transition: all 0.3s ease;
}

.side-menu__item:hover {
  background-color: var(--cor-sidebar-hover) !important;
  color: #fff !important;
}

/* Item Ativo (Destaque Laranja/Dourado) */
.side-menu__item.active,
.slide-item.active {
  background-color: var(--cor-primary) !important;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.side-menu__icon {
  color: inherit !important;
}

/* Submenus */
.slide-menu {
  background-color: #202330 !important; /* Um tom mais escuro que a sidebar */
  border-left: none !important;
}

/* =========================================
   CARDS & DASHBOARD
   ========================================= */

.card {
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  background: var(--cor-card-bg);
  margin-bottom: 20px;
  transition: transform 0.2s;
}

.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Cabeçalho do Card com Gradiente ou Cor Sólida */
.card-header {
  background-color: transparent;
  border-bottom: 1px solid #eee;
  padding: 15px 20px;
  font-weight: 600;
  color: #333;
}

/* Indicadores (Badges) */
.badge-custom {
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 500;
}

/* =========================================
   ELEMENTOS DE FORMULÁRIO
   ========================================= */

.form-control {
  border-radius: 8px;
  border: 1px solid #ddd;
  padding: 10px 15px;
  height: auto;
}

.form-control:focus {
  border-color: var(--cor-primary);
  box-shadow: 0 0 0 3px rgba(212, 160, 23, 0.1);
}

.btn-primary {
  background-color: var(--cor-primary) !important;
  border-color: var(--cor-primary) !important;
  border-radius: 8px;
  padding: 8px 20px;
  font-weight: 600;
}

.btn-primary:hover {
  background-color: var(--cor-primary-hover) !important;
  border-color: var(--cor-primary-hover) !important;
}

/* Select2 Customization */
.select2-selection__rendered {
  line-height: 38px !important;
  border-radius: 8px !important;
  border: 1px solid #ddd !important;
}
.select2-container .select2-selection--single {
  height: 40px !important;
  border: none !important;
}
.select2-selection__arrow {
  height: 38px !important;
}

/* =========================================
   UTILITÁRIOS
   ========================================= */
.text-verde {
  color: var(--cor-sucesso);
}
.text-vermelho {
  color: var(--cor-erro);
}
.text-laranja {
  color: var(--cor-primary);
}

.ocultar {
  display: none;
}
.field-icon {
  float: right;
  margin-left: -25px;
  margin-top: -30px;
  position: relative;
  z-index: 2;
  margin-right: 10px;
  cursor: pointer;
}
