/* =======================================================================
   CORREÇÃO CRÍTICA DE MODAIS (Z-INDEX)
   Garante que o modal fique acima do backdrop e de outros elementos
   ======================================================================= */
.modal-backdrop { z-index: 1050 !important; }
.modal { z-index: 1055 !important; }

/* =======================================================================
   Animações de Entrada
   ======================================================================= */
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.animate-fade-in {
  animation: fadeInUp 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }

/* =======================================================================
   Efeito Ripple
   ======================================================================= */
.ripple {
  position: absolute; border-radius: 50%; transform: scale(0);
  animation: ripple-anim 0.6s linear; background-color: rgba(255, 255, 255, 0.4);
  pointer-events: none;
}
@keyframes ripple-anim { to { transform: scale(4); opacity: 0; } }

/* =======================================================================
   Componentes Gerais
   ======================================================================= */
.badge-modern {
  padding: 0.4em 0.8em; font-weight: 600; border-radius: 6px;
  letter-spacing: 0.5px; text-transform: uppercase; font-size: 0.7rem;
}

.dropdown-menu {
  border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  border-radius: 12px; padding: 8px; animation: fadeInUp 0.2s ease-out;
}
.dropdown-item {
  border-radius: 6px; padding: 8px 16px; transition: all 0.2s;
}
.dropdown-item:hover {
  background-color: #f1f5f9; transform: translateX(4px); color: var(--bs-primary);
}

.upload-area {
  border: 2px dashed var(--bs-border-color); border-radius: var(--bs-border-radius);
  background: #f8fafc; transition: all 0.2s;
}
.upload-area:hover { border-color: var(--bs-primary); background: #f1f5f9; }

/* =======================================================================
   ESTILOS ESPECÍFICOS: SECRETARIA / CALENDÁRIO / DATATABLES
   (Movidos do index.php para cá)
   ======================================================================= */

/* FullCalendar Customization */
.fc {
  --fc-border-color: #ebf1f6;
  --fc-page-bg-color: #fff;
  --fc-neutral-bg-color: #f8f9fa;
}
.fc .fc-toolbar-title {
  font-size: 1.25rem; font-weight: 700; color: var(--bs-heading-color);
}
.fc .fc-button-primary {
  background-color: var(--bs-primary); border-color: var(--bs-primary);
  text-transform: capitalize; font-weight: 600; box-shadow: none !important;
}
.fc .fc-button-active {
  background-color: #0a58ca !important; border-color: #0a58ca !important;
}
.fc-daygrid-event {
  border-radius: 4px; font-size: 0.85em; cursor: pointer;
  border: none; padding: 3px 6px; margin-top: 2px;
  transition: transform 0.1s;
}
.fc-daygrid-event:hover { transform: scale(1.02); }
.fc-event-main { font-weight: 500; }

/* DataTables Customization */
.dataTables_wrapper .row { margin-top: 10px; }
table.dataTable tbody td { vertical-align: middle; }

/* Cursor Pointer para botões de ação */
.btnEditAgenda { cursor: pointer; }

/* =======================================================================
   CORREÇÃO CRÍTICA DE MODAIS (Z-INDEX)
   Garante que o modal fique acima do backdrop e de outros elementos
   ======================================================================= */
.modal-backdrop { z-index: 1050 !important; }
.modal { z-index: 1055 !important; }

/* Ajuste de fundo do preview do relatório para não ficar transparente */
#reportPreviewBody {
  background-color: #fff; min-height: 200px;
}

/* =======================================================================
   Animações de Entrada
   ======================================================================= */
@keyframes fadeInUp {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.animate-fade-in {
  animation: fadeInUp 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

.delay-1 { animation-delay: 0.1s; }
.delay-2 { animation-delay: 0.2s; }
.delay-3 { animation-delay: 0.3s; }

/* =======================================================================
   Efeito Ripple
   ======================================================================= */
.ripple {
  position: absolute; border-radius: 50%; transform: scale(0);
  animation: ripple-anim 0.6s linear; background-color: rgba(255, 255, 255, 0.4);
  pointer-events: none;
}
@keyframes ripple-anim { to { transform: scale(4); opacity: 0; } }

/* =======================================================================
   Componentes Gerais
   ======================================================================= */
.badge-modern {
  padding: 0.4em 0.8em; font-weight: 600; border-radius: 6px;
  letter-spacing: 0.5px; text-transform: uppercase; font-size: 0.7rem;
}

.dropdown-menu {
  border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  border-radius: 12px; padding: 8px; animation: fadeInUp 0.2s ease-out;
}
.dropdown-item {
  border-radius: 6px; padding: 8px 16px; transition: all 0.2s;
}
.dropdown-item:hover {
  background-color: #f1f5f9; transform: translateX(4px); color: var(--bs-primary);
}

.upload-area {
  border: 2px dashed var(--bs-border-color); border-radius: var(--bs-border-radius);
  background: #f8fafc; transition: all 0.2s;
}
.upload-area:hover { border-color: var(--bs-primary); background: #f1f5f9; }

/* =======================================================================
   ESTILOS ESPECÍFICOS: SECRETARIA / CALENDÁRIO / DATATABLES
   (Movidos do index.php para cá)
   ======================================================================= */

/* FullCalendar Customization */
.fc {
  --fc-border-color: #ebf1f6;
  --fc-page-bg-color: #fff;
  --fc-neutral-bg-color: #f8f9fa;
}
.fc .fc-toolbar-title {
  font-size: 1.25rem; font-weight: 700; color: var(--bs-heading-color);
}
.fc .fc-button-primary {
  background-color: var(--bs-primary); border-color: var(--bs-primary);
  text-transform: capitalize; font-weight: 600; box-shadow: none !important;
}
.fc .fc-button-active {
  background-color: #0a58ca !important; border-color: #0a58ca !important;
}
.fc-daygrid-event {
  border-radius: 4px; font-size: 0.85em; cursor: pointer;
  border: none; padding: 3px 6px; margin-top: 2px;
  transition: transform 0.1s;
}
.fc-daygrid-event:hover { transform: scale(1.02); }
.fc-event-main { font-weight: 500; }

/* DataTables Customization */
.dataTables_wrapper .row { margin-top: 10px; }
table.dataTable tbody td { vertical-align: middle; }

/* Cursor Pointer para botões de ação */
.btnEditAgenda { cursor: pointer; }

/* =======================================================================
   CORREÇÃO CRÍTICA DE MODAIS (Z-INDEX)
   Garante que o modal fique acima do backdrop e de outros elementos
   ======================================================================= */
.modal-backdrop { z-index: 1050 !important; }
.modal { z-index: 1055 !important; }

/* Ajuste de fundo do preview do relatório para não ficar transparente */
#reportPreviewBody {
  background-color: #fff; min-height: 200px;
}