/* ===================================
   ADIT FULL SIDEBAR - LAYOUT COMPLETO
   ================================= */

/* ===== VARIABLES COMPARTIDAS CON DASHBOARD ===== */
:root {
  /* Importar variables del dashboard para consistencia */
  --adit-primary-dark: #2F2D38;
  --adit-primary-wine: #373A46;
  --adit-primary-red: #3351A6;
  --adit-primary-pink: #3351A6;
  --adit-primary-mauve: #1F77FA;
  
  /* Gradiente principal del dashboard */
  --adit-gradient-main: linear-gradient(135deg, #2F2D38 0%, #3351A6 50%, #1F77FA 100%);
  --adit-gradient-card: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
  --adit-gradient-accent: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  
  /* Variables específicas para el sidebar */
  --adit-sidebar-width: 280px;
  --adit-sidebar-width-collapsed: 80px;
  --adit-sidebar-bg: linear-gradient(145deg, #2563eb, #1d4ed8);
  --adit-sidebar-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --adit-sidebar-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  --adit-glassmorphism: backdrop-filter: blur(20px);
  --adit-glassmorphism-bg: rgba(37, 99, 235, 0.95);
  --adit-navbar-height: 60px;
  --adit-navbar-z: 1001;
  --adit-sidebar-z: 999;
}

/* ===== LAYOUT PRINCIPAL ===== */
.adit-layout {
  display: flex;
  min-height: 100vh;
  position: relative;
}

/* ===== SIDEBAR PRINCIPAL ===== */
.adit-full-sidebar {
  position: fixed;
  top: 60px; /* Debajo del navbar */
  left: 0;
  height: calc(100vh - 60px); /* Ajustar altura para no cubrir navbar */
  width: var(--adit-sidebar-width);
  background: var(--adit-sidebar-bg);
  z-index: 999; /* Menor que el navbar (1001) */
  transition: all var(--adit-transition-speed) cubic-bezier(0.25, 0.46, 0.45, 0.94);
  overflow: hidden;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
}

.adit-full-sidebar.collapsed {
  width: var(--adit-sidebar-collapsed-width);
}

/* ===== HEADER DEL SIDEBAR ===== */
.adit-sidebar-header {
  height: var(--adit-sidebar-header-height);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.adit-sidebar-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: shimmer 3s infinite;
}

@keyframes shimmer {
  0% { left: -100%; }
  100% { left: 100%; }
}

.adit-sidebar-brand {
  color: white;
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  gap: 12px;
  transition: all var(--adit-transition-speed) ease;
}

.adit-sidebar-brand i {
  font-size: 2rem;
  background: linear-gradient(45deg, #64c8ff, #4096ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 8px rgba(100, 200, 255, 0.5));
}

.adit-full-sidebar.collapsed .adit-sidebar-brand span {
  opacity: 0;
  width: 0;
  overflow: hidden;
}

/* ===== NAVEGACIÓN ===== */
.adit-sidebar-nav {
  height: calc(100vh - var(--adit-sidebar-header-height) - 80px);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px 0;
}

.adit-sidebar-nav::-webkit-scrollbar {
  width: 6px;
}

.adit-sidebar-nav::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.05);
}

.adit-sidebar-nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
}

.adit-nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ===== ITEMS DE NAVEGACIÓN ===== */
.adit-nav-item {
  margin: 0;
  position: relative;
}

.adit-nav-link {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  color: rgba(255, 255, 255, 0.8) !important;
  text-decoration: none !important;
  font-weight: 500;
  font-size: 0.95rem;
  transition: all var(--adit-transition-speed) ease;
  position: relative;
  overflow: hidden;
}

.adit-nav-link::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0;
  background: linear-gradient(135deg, #030204, #7f2330);
  transition: width var(--adit-transition-speed) ease;
}

.adit-nav-link::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.05), transparent);
  opacity: 0;
  transition: opacity var(--adit-transition-speed) ease;
}

.adit-nav-link:hover {
  color: white !important;
  background: rgba(255, 255, 255, 0.08);
}

.adit-nav-link:hover::before {
  width: 5px;
}

.adit-nav-link:hover::after {
  opacity: 1;
}

.adit-nav-link.active {
  color: white !important;
  background: rgba(100, 200, 255, 0.15);
  font-weight: 600;
}

.adit-nav-link.active::before {
  width: 5px;
}

/* ===== ICONOS ===== */
.adit-nav-icon {
  font-size: 1.2rem;
  margin-right: 16px;
  min-width: 24px;
  text-align: center;
  transition: all var(--adit-transition-speed) ease;
}

.adit-nav-text {
  transition: all var(--adit-transition-speed) ease;
  white-space: nowrap;
  overflow: hidden;
}

.adit-full-sidebar.collapsed .adit-nav-text {
  opacity: 0;
  width: 0;
}

.adit-full-sidebar.collapsed .adit-nav-icon {
  margin-right: 0;
}

/* ===== SUBMENÚS ===== */
.adit-nav-submenu {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.2);
  transition: max-height var(--adit-transition-speed) ease;
}

.adit-nav-item.open .adit-nav-submenu {
  max-height: 300px;
}

.adit-nav-submenu .adit-nav-link {
  padding-left: 56px;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7) !important;
}

.adit-nav-submenu .adit-nav-link:hover {
  color: rgba(255, 255, 255, 0.9) !important;
}

.adit-nav-toggle {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.6);
  transition: transform var(--adit-transition-speed) ease;
}

.adit-nav-item.open .adit-nav-toggle {
  transform: translateY(-50%) rotate(180deg);
}

/* ===== BOTÓN DE COLAPSO ===== */
.adit-sidebar-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.1) 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.adit-collapse-btn {
  width: 50px;
  height: 50px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: white;
  font-size: 1.2rem;
  cursor: pointer;
  transition: all var(--adit-transition-speed) ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adit-collapse-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
  transform: scale(1.1);
}

.adit-collapse-btn i {
  transition: transform var(--adit-transition-speed) ease;
}

.adit-full-sidebar.collapsed .adit-collapse-btn i {
  transform: rotate(180deg);
}

/* ===== CONTENIDO PRINCIPAL ===== */
.adit-main-content {
  flex: 1;
  margin-left: var(--adit-sidebar-width);
  margin-top: 60px; /* Espacio para el navbar fijo */
  transition: margin-left var(--adit-transition-speed) ease;
  min-height: calc(100vh - 60px);
  background: var(--adit-gradient-main); /* Usar el fondo rojo oscuro del dashboard */
  background-attachment: fixed;
}

.adit-full-sidebar.collapsed ~ .adit-main-content {
  margin-left: var(--adit-sidebar-collapsed-width);
}

/* ===== NAVBAR SUPERIOR AJUSTADO ===== */
.adit-layout .adit-navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1041 !important;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  height: 60px;
  transition: none !important;
}

/* El navbar debe estar sobre el sidebar */
.adit-navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1041 !important;
}

/* ===== CONTENIDO CON MARGEN ===== */
.adit-content-wrapper {
  padding-top: var(--adit-navbar-height, 70px);
  padding: calc(var(--adit-navbar-height, 70px) + 20px) 20px 20px 20px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .adit-full-sidebar {
    transform: translateX(-100%);
    top: 0; /* En móvil puede cubrir el navbar */
    height: 100vh; /* En móvil ocupa toda la altura */
    z-index: 1002; /* Más alto que el navbar en móvil */
  }
  
  .adit-full-sidebar.open {
    transform: translateX(0);
  }
  
  .adit-main-content {
    margin-left: 0;
    margin-top: 60px; /* Mantener margen del navbar */
  }
  
  .adit-navbar {
    left: 0 !important;
    width: 100% !important;
  }
  
  /* Overlay para móvil */
  .adit-sidebar-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1041; /* Entre navbar y sidebar */
    opacity: 0;
    visibility: hidden;
    transition: all var(--adit-transition-speed) ease;
  }
  
  .adit-sidebar-overlay.show {
    opacity: 1;
    visibility: visible;
  }
}

/* ===== ANIMACIONES DE ENTRADA ===== */
@keyframes slideInLeft {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

.adit-full-sidebar {
  animation: slideInLeft 0.5s ease-out;
}

.adit-nav-item {
  animation: slideInDown 0.5s ease-out;
  animation-fill-mode: both;
}

.adit-nav-item:nth-child(1) { animation-delay: 0.1s; }
.adit-nav-item:nth-child(2) { animation-delay: 0.15s; }
.adit-nav-item:nth-child(3) { animation-delay: 0.2s; }
.adit-nav-item:nth-child(4) { animation-delay: 0.25s; }
.adit-nav-item:nth-child(5) { animation-delay: 0.3s; }
.adit-nav-item:nth-child(6) { animation-delay: 0.35s; }
.adit-nav-item:nth-child(7) { animation-delay: 0.4s; }
.adit-nav-item:nth-child(8) { animation-delay: 0.45s; }

/* ===== ESTILOS PARA NAVBAR SUPERIOR EN LAYOUT COMPLETO ===== */
.adit-layout .adit-navbar {
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1041 !important;
  height: 60px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 20px !important;
}

.adit-layout .adit-navbar-brand {
  margin-right: auto;
}

.adit-layout .adit-logo {
  max-height: 36px;
  width: auto;
}

.adit-layout .adit-nav-user {
  margin-left: auto;
}

.adit-layout .adit-user-menu {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  transition: var(--adit-sidebar-transition);
  text-decoration: none !important;
  color: #333 !important;
}

.adit-layout .adit-user-menu:hover {
  background: rgba(37, 99, 235, 0.1);
  color: #2563eb !important;
}

.adit-layout .adit-user-avatar {
  border: 2px solid white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Contenido wrapper mejorado */
.adit-content-wrapper {
  padding: 24px;
  min-height: calc(100vh - 60px);
  background: var(--adit-gradient-main); /* Usar el fondo rojo oscuro del dashboard */
  background-attachment: fixed;
}

/* Asegurar que el navbar siempre esté encima */
.adit-navbar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1041 !important;
  background: rgba(255, 255, 255, 0.95) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
  height: 60px !important;
}

/* ===== MODALES BOOTSTRAP SOBRE TODO ===== */
/* Prevenir parpadeo de modales durante la carga inicial */
.modal:not(.show) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* Asegurar que los modales Bootstrap siempre aparezcan sobre el navbar y otros elementos */
.modal {
  z-index: 1050 !important;
}

.modal-backdrop {
  z-index: 1040 !important;
}

.modal-dialog {
  z-index: 1055 !important;
}

.modal-content {
  z-index: 1060 !important;
  position: relative;
}

/* Bootstrap modals específicos */
.modal.show {
  z-index: 1050 !important;
}

.modal.fade.show {
  z-index: 1050 !important;
}

/* Asegurar que ningún overflow hidden interfiera con modales */
body.modal-open {
  overflow: hidden !important;
}

/* ===== ARREGLO ESPECÍFICO PARA MODAL DE DESCARGA ===== */
/* Selector específico para modales con ID que contiene 'myModal' */
div[id*="myModal"] {
  z-index: 2000 !important;
}

div[id*="myModal"] .modal-dialog {
  z-index: 2010 !important;
}

div[id*="myModal"] .modal-content {
  z-index: 2020 !important;
  background: white !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
}

div[id*="myModal"] .modal-backdrop {
  z-index: 1990 !important;
}

div[id*="myModal"] .modal-footer {
  z-index: 2030 !important;
  position: relative;
}

div[id*="myModal"] .modal-footer .btn {
  z-index: 2040 !important;
  position: relative;
  background: #337ab7 !important;
  border: 1px solid #2e6da4 !important;
  color: white !important;
}

div[id*="myModal"] .modal-footer .btn:hover {
  background: #286090 !important;
  border-color: #204d74 !important;
}

/* ===== MODAL PERSONALIZADO PARA DESCARGA ===== */
.adit-custom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adit-modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 3010;
}

.adit-modal-content {
  background: white;
  border-radius: 6px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  z-index: 3020;
  position: relative;
  max-width: 1000px;
  width: 90%;
  max-height: 90%;
  overflow-y: auto;
}

.adit-modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #f5f5f5;
  border-radius: 6px 6px 0 0;
}

.adit-modal-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.adit-modal-close {
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #999;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.adit-modal-close:hover {
  color: #333;
}

.adit-modal-body {
  padding: 20px;
  text-align: justify;
  line-height: 1.5;
  color: #555;
}

.adit-modal-footer {
  padding: 15px;
  border-top: 1px solid #e5e5e5;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  background: #f5f5f5;
  border-radius: 0 0 6px 6px;
}

.adit-btn {
  padding: 8px 16px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.adit-btn-danger {
  background: #d9534f;
  color: white;
}

.adit-btn-danger:hover {
  background: #c9302c;
  color: white;
}

.adit-btn-primary {
  background: #337ab7;
  color: white;
}

.adit-btn-primary:hover {
  background: #286090;
  color: white;
}

/* ===== MODAL PERSONALIZADO DE PRIVACIDAD ===== */
.adit-privacy-modal {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5000 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.adit-privacy-modal[data-modal-active="true"] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.adit-privacy-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
    z-index: 5001 !important;
    pointer-events: auto !important;
}

.adit-privacy-dialog {
    position: relative !important;
    background: white !important;
    border-radius: 8px !important;
    width: 90% !important;
    max-width: 500px !important;
    max-height: 80vh !important;
    overflow-y: auto !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important;
    z-index: 5002 !important;
    pointer-events: auto !important;
}

.adit-privacy-header {
    padding: 20px !important;
    border-bottom: 1px solid #e5e5e5 !important;
    background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
    color: white !important;
    border-radius: 8px 8px 0 0 !important;
    position: relative !important;
    pointer-events: auto !important;
}

.adit-privacy-title {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-align: center !important;
    pointer-events: auto !important;
}

.adit-privacy-close {
    position: absolute !important;
    top: 15px !important;
    right: 20px !important;
    background: none !important;
    border: none !important;
    color: white !important;
    font-size: 24px !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: background-color 0.2s !important;
    pointer-events: auto !important;
    z-index: 5010 !important;
}

.adit-privacy-close:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
}

.adit-privacy-body {
    padding: 25px !important;
    text-align: justify !important;
    line-height: 1.6 !important;
    color: #333 !important;
    font-size: 14px !important;
    pointer-events: auto !important;
}

.adit-privacy-footer {
    padding: 20px !important;
    border-top: 1px solid #e5e5e5 !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 15px !important;
    background-color: #f8f9fa !important;
    border-radius: 0 0 8px 8px !important;
    pointer-events: auto !important;
}

.adit-privacy-btn {
    padding: 12px 24px !important;
    border: none !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
    flex: 1 !important;
    min-width: 120px !important;
    z-index: 5003 !important;
    position: relative !important;
    pointer-events: auto !important;
}

.adit-privacy-btn-reject {
    background-color: #dc3545 !important;
    color: white !important;
}

.adit-privacy-btn-reject:hover {
    background-color: #c82333 !important;
    color: white !important;
    text-decoration: none !important;
}

.adit-privacy-btn-accept {
    background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
    color: white !important;
}

.adit-privacy-btn-accept:hover {
    background: linear-gradient(135deg, #3351A6 0%, #5A0C23 100%) !important;
    color: white !important;
    text-decoration: none !important;
    transform: translateY(-1px) !important;
}

/* Asegurar que todo en el modal sea clickeable y visible */
.adit-privacy-modal *,
.adit-privacy-modal *:hover,
.adit-privacy-modal *:focus,
.adit-privacy-modal *:active {
    pointer-events: auto !important;
    visibility: visible !important;
}

/* Prevenir interferencia de otros elementos */
.adit-privacy-modal {
    isolation: isolate !important;
}

/* Asegurar que el modal nunca se oculte por CSS hover states */
.adit-privacy-modal:hover,
.adit-privacy-modal:focus,
.adit-privacy-modal:active {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}
/* ===== FIN MODAL PERSONALIZADO DE PRIVACIDAD ===== */

/* ===== ESTILOS PARA PÁGINA DE NOTIFICACIONES ===== */
.adit-section-card {
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
  overflow: hidden;
}

.adit-section-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.adit-collapse-icon {
  transition: transform 0.3s ease;
}

.adit-section-header[aria-expanded="true"] .adit-collapse-icon {
  transform: rotate(180deg);
}

.adit-section-body {
  padding: 20px;
}

.adit-config-section {
  background: #f8f9fc;
  border-radius: 8px;
  padding: 20px;
  height: 100%;
  border: 1px solid #e3e6f0;
  transition: all 0.3s ease;
}

.adit-config-section:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
}

.adit-config-title {
  color: #5a5c69;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 18px;
  border-bottom: 2px solid #667eea;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.adit-radio-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ===== ESTILOS PARA PANEL DE CONFIGURACIÓN SIMPLE ===== */
.adit-simple-config-panel {
  background: white;
  border-radius: 10px;
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.1);
  border: 1px solid #e3e6f0;
  overflow: hidden;
  margin-bottom: 25px;
}

.adit-simple-header {
  background: #f8f9fc;
  padding: 20px 25px;
  border-bottom: 1px solid #e3e6f0;
}

.adit-simple-title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #5a5c69;
  display: flex;
  align-items: center;
}

.adit-config-block {
  padding: 25px;
  border-bottom: 1px solid #f1f3f4;
}

.adit-config-block:last-child {
  border-bottom: none;
}

.adit-block-title {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: 600;
  color: #667eea;
  display: flex;
  align-items: center;
}

.adit-simple-radio-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.adit-simple-radio {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border: 2px solid #e3e6f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  background: white;
}

.adit-simple-radio:hover {
  border-color: #667eea;
  background: #f8f9fc;
  transform: translateX(3px);
}

.adit-simple-radio input[type="radio"] {
  display: none;
}

.adit-radio-check {
  width: 20px;
  height: 20px;
  border: 2px solid #e3e6f0;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
  margin-top: 2px;
  transition: all 0.3s ease;
}

.adit-radio-check::after {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #667eea;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.3s ease;
}

.adit-simple-radio input[type="radio"]:checked + .adit-radio-check {
  border-color: #667eea;
}

.adit-simple-radio input[type="radio"]:checked + .adit-radio-check::after {
  transform: translate(-50%, -50%) scale(1);
}

.adit-simple-radio input[type="radio"]:checked ~ .adit-radio-content {
  color: #4e73df;
  font-weight: 600;
}

.adit-radio-content {
  flex: 1;
  color: #5a5c69;
  font-size: 14px;
  line-height: 1.5;
  transition: all 0.3s ease;
}

/* ===== ESTILOS PARA PANEL DE CONFIGURACIÓN MEJORADO ===== */
.adit-config-panel {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #e3e6f0;
  overflow: hidden;
  margin-bottom: 25px;
}

.adit-config-header {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 25px;
  text-align: center;
}

.adit-config-main-title {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.adit-config-subtitle {
  margin: 0;
  font-size: 14px;
  opacity: 0.9;
  font-weight: 400;
}

.adit-config-content {
  padding: 30px;
}

.adit-radio-option {
  background: white;
  border: 2px solid #e3e6f0;
  border-radius: 8px;
  padding: 15px;
  transition: all 0.3s ease;
  cursor: pointer;
  margin-bottom: 8px;
}

.adit-radio-option:hover {
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.15);
  transform: translateX(3px);
}

.adit-radio-option:has(input:checked) {
  border-color: #667eea;
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
  box-shadow: 0 2px 12px rgba(102, 126, 234, 0.2);
}

.adit-radio-label {
  display: flex;
  align-items: flex-start;
  margin: 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  width: 100%;
}

.adit-radio-text {
  color: #5a5c69;
  line-height: 1.5;
  flex: 1;
}

.adit-radio-label input[type="radio"] {
  margin-right: 10px;
  margin-top: 2px;
}

.adit-radio-text {
  flex: 1;
}

.adit-form-group {
  margin-bottom: 0;
}

.adit-form-label {
  font-size: 11px;
  font-weight: 600;
  color: #495057;
  margin-bottom: 5px;
  display: block;
}

.adit-select {
  font-size: 11px;
  border-radius: 4px;
  border: 1px solid #dee2e6;
}

/* ===== ESTILOS PARA ASIGNACIÓN DE EJECUTIVO ===== */
.adit-form-group {
  margin-bottom: 20px;
}

.adit-form-label {
  font-weight: 600;
  color: #495057;
  margin-bottom: 8px;
  display: block;
  font-size: 14px;
}

.adit-form-help {
  font-size: 12px;
  color: #6c757d;
  margin-top: 5px;
}

.adit-executive-info {
  margin-top: 10px;
}

.adit-executive-info .adit-info-card {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 15px;
}

.adit-executive-info .adit-card-icon {
  color: #667eea;
  font-size: 24px;
  margin-bottom: 8px;
}

.adit-executive-info .adit-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #495057;
  margin: 0 0 4px 0;
}

.adit-executive-info .adit-card-subtitle {
  font-size: 13px;
  color: #6c757d;
  margin: 0;
}

.adit-primary-btn {
  background: linear-gradient(135deg, #7b1b37 0%, #32101d 100%);
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 600;
  transition: all 0.3s ease;
}

.adit-primary-btn:hover {
  background: linear-gradient(135deg, #d85a5a 0%, #904141 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

/* ===== MEJORAS PARA ASIGNACIÓN DE EJECUTIVO (ESTILO CANDIDATOS#SHOW) ===== */
.adit-assignment-card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  padding: 30px;
  margin-bottom: 25px;
  border: 1px solid #e3e6f0;
}

.adit-assignment-form {
  width: 100%;
}

.adit-form-section {
  background: #f8f9fc;
  border-radius: 8px;
  padding: 25px;
  border: 1px solid #e3e6f0;
}

.adit-form-header {
  margin-bottom: 25px;
  border-bottom: 2px solid #e3e6f0;
  padding-bottom: 15px;
}

.adit-form-title {
  color: #5a5c69;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.adit-form-description {
  color: #6c757d;
  font-size: 14px;
  margin: 0;
  line-height: 1.5;
}

.adit-select-group {
  margin-bottom: 0;
}

.adit-select-label {
  display: block;
  font-weight: 600;
  color: #5a5c69;
  margin-bottom: 10px;
  font-size: 14px;
}

.adit-select-container {
  position: relative;
  margin-bottom: 10px;
}

.adit-executive-select {
  border: 2px solid #e3e6f0;
  border-radius: 8px;
  padding: 12px 40px 12px 15px;
  font-size: 14px;
  background: white;
  transition: all 0.3s ease;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.adit-executive-select:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
  outline: none;
}

.adit-select-container .adit-select-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  pointer-events: none;
}

.adit-executive-preview {
  margin-top: 0;
}

.adit-preview-header {
  margin-bottom: 15px;
}

.adit-preview-title {
  color: #5a5c69;
  font-size: 14px;
  font-weight: 600;
  margin: 0;
}

.adit-executive-card {
  background: white;
  border: 2px solid #e3e6f0;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  transition: all 0.3s ease;
}

.adit-executive-card:hover {
  border-color: #667eea;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.15);
}

.adit-executive-avatar {
  font-size: 48px;
  color: #667eea;
  margin-bottom: 15px;
}

.adit-executive-details .adit-executive-name {
  font-size: 16px;
  font-weight: 600;
  color: #5a5c69;
  margin: 0 0 8px 0;
}

.adit-executive-details .adit-executive-role {
  font-size: 13px;
  color: #6c757d;
  margin: 0 0 15px 0;
}

.adit-executive-badge .badge {
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 20px;
}

.adit-form-actions {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 2px solid #e3e6f0;
}

.adit-action-buttons {
  display: flex;
  gap: 15px;
  justify-content: center;
}

.adit-assignment-btn {
  background: linear-gradient(135deg, #7b1b37 0%, #32101d 100%);
  border: none;
  border-radius: 8px;
  padding: 12px 30px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  min-width: 180px;
}

.adit-assignment-btn:hover {
  background: linear-gradient(135deg, #7b1b37 0%, #32101d 100%);;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.adit-reset-btn {
  border: 2px solid #e3e6f0;
  border-radius: 8px;
  padding: 12px 30px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  min-width: 160px;
}

.adit-reset-btn:hover {
  border-color: #6c757d;
  background: #f8f9fa;
  transform: translateY(-1px);
}

/* ===== ESTILOS PARA AGREGAR ROL A USUARIO ===== */
.adit-role-form {
  width: 100%;
}

.adit-search-section {
  background: #f8f9fc;
  border-radius: 8px;
  padding: 25px;
  margin-bottom: 25px;
  border: 1px solid #e3e6f0;
}

.adit-search-header {
  margin-bottom: 20px;
}

.adit-search-title {
  color: #5a5c69;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.adit-search-description {
  color: #6c757d;
  font-size: 14px;
  margin: 0;
  line-height: 1.5;
}

.adit-search-input-group {
  max-width: 400px;
}

.adit-search-container {
  position: relative;
}

.adit-search-input {
  border: 2px solid #e3e6f0;
  border-radius: 8px;
  padding: 12px 40px 12px 15px;
  font-size: 14px;
  background: white;
  transition: all 0.3s ease;
}

.adit-search-input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
  outline: none;
}

.adit-search-icon {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
  pointer-events: none;
}

.adit-roles-section {
  background: white;
  border-radius: 8px;
  padding: 25px;
  margin-bottom: 25px;
  border: 1px solid #e3e6f0;
}

.adit-roles-header {
  margin-bottom: 20px;
  border-bottom: 2px solid #e3e6f0;
  padding-bottom: 15px;
}

.adit-roles-title {
  color: #5a5c69;
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
}

.adit-roles-description {
  color: #6c757d;
  font-size: 14px;
  margin: 0;
  line-height: 1.5;
}

.adit-table-container {
  border-radius: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid #e3e6f0;
}

.adit-role-table {
  margin-bottom: 0;
}

.adit-role-table thead th {
  background: #f1e8ea;
  color: #772033;
  font-weight: 600;
  border: none;
  padding: 15px;
  font-size: 13px;
}

.adit-role-row {
  transition: all 0.3s ease;
  cursor: pointer;
}

.adit-role-row:hover,
.adit-role-row.adit-row-hover {
  background-color: #f8f9fc;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.adit-role-row.adit-row-selected {
  background-color: #e3f2fd;
  border-left: 4px solid #667eea;
}

.adit-role-row td {
  padding: 15px;
  vertical-align: middle;
  border-bottom: 1px solid #e3e6f0;
}

.adit-radio-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.adit-role-radio {
  display: none;
}

.adit-radio-label {
  width: 20px;
  height: 20px;
  border: 2px solid #e3e6f0;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
}

.adit-radio-label:before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #667eea;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.3s ease;
}

.adit-role-radio:checked + .adit-radio-label {
  border-color: #667eea;
}

.adit-role-radio:checked + .adit-radio-label:before {
  transform: translate(-50%, -50%) scale(1);
}

.adit-role-id {
  background: #f8f9fc;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #5a5c69;
}

.adit-role-info {
  display: flex;
  flex-direction: column;
}

.adit-role-name {
  font-weight: 600;
  color: #5a5c69;
  font-size: 14px;
}

.adit-role-description {
  color: #6c757d;
  font-size: 13px;
  line-height: 1.4;
}

.adit-save-btn {
  background: linear-gradient(135deg, #7b1b37 0%, #32101d 100%);
  border: none;
  border-radius: 8px;
  padding: 12px 30px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  min-width: 160px;
  opacity: 0.6;
}

.adit-save-btn.adit-btn-enabled {
  opacity: 1;
}

.adit-save-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #7b1b37 0%, #32101d 100%);;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.adit-cancel-btn {
  border: 2px solid #e3e6f0;
  border-radius: 8px;
  padding: 12px 30px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  min-width: 140px;
}

.adit-cancel-btn:hover {
  border-color: #6c757d;
  background: #f8f9fa;
  transform: translateY(-1px);
}

/* ===== ESTILOS PARA PÁGINA DE NOTIFICACIONES ESTILO SHOW ===== */
.adit-cards-section {
  margin: 30px 0;
}

.adit-table-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  border: 1px solid #e3e6f0;
  margin: 30px 0;
  overflow: hidden;
}

.adit-table-header {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  padding: 25px 30px;
  text-align: center;
}

.adit-table-title {
  margin: 0 0 8px 0;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.adit-table-subtitle {
  margin: 0;
  font-size: 14px;
  opacity: 0.9;
  font-weight: 400;
}

.adit-table-container {
  overflow-x: auto;
}

/* ===== ESTILOS PARA BOTONES DE ACCIÓN MODERNOS ===== */
/* Botones de acción compactos dentro de celdas de tabla */
.adit-table-actions .adit-action-btn {
  border: none;
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 600;
  transition: all 0.3s ease;
  cursor: pointer;
  margin: 2px;
  min-width: 32px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  white-space: nowrap;
}

.adit-primary-btn {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
}

.adit-primary-btn:hover {
  background: linear-gradient(135deg, #7A1230 0%, #5A0E24 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(139, 21, 56, 0.4);
  color: white;
}

.adit-danger-btn {
  background: linear-gradient(135deg, #e74a3b 0%, #c0392b 100%);
  color: white;
}

.adit-danger-btn:hover {
  background: linear-gradient(135deg, #d73927 0%, #a93226 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(231, 74, 59, 0.4);
  color: white;
}

.adit-warning-btn {
  background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
  color: white;
}

.adit-warning-btn:hover {
  background: linear-gradient(135deg, #e08e0b 0%, #d35400 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(243, 156, 18, 0.4);
  color: white;
}

.adit-info-btn {
  background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
  color: white;
}

.adit-info-btn:hover {
  background: linear-gradient(135deg, #5a6268 0%, #3d4142 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(108, 117, 125, 0.4);
  color: white;
}

/* ===== ESTILOS PARA PANEL DE CONFIGURACIÓN COLAPSABLE ===== */
.adit-config-collapse-section {
  margin: 25px 0;
}

.adit-config-toggle-wrapper {
  margin-bottom: 0;
}

.adit-config-toggle-btn {
  background: #f8f9fc;
  border: 2px solid #e3e6f0;
  border-radius: 10px;
  padding: 18px 25px;
  width: 100%;
  transition: all 0.3s ease;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

.adit-config-toggle-btn:hover {
  border-color: #3351A6;
  box-shadow: 0 4px 15px rgba(139, 21, 56, 0.15);
  background: #ffffff;
}

.adit-config-toggle-btn:focus {
  outline: none;
  border-color: #3351A6;
  box-shadow: 0 0 0 0.2rem rgba(139, 21, 56, 0.25);
}

.adit-toggle-title {
  font-size: 16px;
  font-weight: 600;
  color: #5a5c69;
  margin: 0 0 4px 0;
  display: block;
}

.adit-toggle-subtitle {
  color: #6c757d;
  font-size: 13px;
  margin: 0;
  display: block;
  font-weight: normal;
}

.adit-toggle-icon {
  color: #3351A6;
  font-size: 18px;
  transition: transform 0.3s ease;
  margin-left: auto;
}

.adit-config-panel {
  background: white;
  border: 2px solid #e3e6f0;
  border-top: none;
  border-radius: 0 0 10px 10px;
  padding: 25px;
  transition: all 0.3s ease;
}

/* ===== ACTUALIZAR COLORES DE CONFIGURACIÓN A ROJOS ===== */
.adit-block-title {
  color: #3351A6;
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 18px;
  border-bottom: 2px solid #3351A6;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.adit-simple-radio:hover {
  border-color: #3351A6;
  background: #f8f9fc;
  transform: translateX(3px);
}

.adit-simple-radio input[type="radio"]:checked + .adit-radio-check {
  border-color: #3351A6;
}

.adit-radio-check::after {
  background: #3351A6;
}

.adit-simple-radio input[type="radio"]:checked ~ .adit-radio-content {
  color: #3351A6;
  font-weight: 600;
}

/* ===== FORZAR FONDO ROJO OSCURO SIEMPRE ===== */
/* Estos estilos aseguran que el fondo se mantenga durante recargas forzadas */

html {
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 50%, #f0f2f5 100%) !important;
  background-attachment: fixed !important;
}

body {
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 50%, #f0f2f5 100%) !important;
  background-attachment: fixed !important;
}

/* Asegurar que los contenedores principales mantengan el fondo */
.adit-layout,
.adit-main-content,
.adit-content-wrapper,
.dashboard-container {
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 50%, #f0f2f5 100%) !important;
  background-attachment: fixed !important;
}

/* Efecto adicional con pseudoelemento para mayor persistencia */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 50%, #f0f2f5 100%);
  background-attachment: fixed;
  z-index: -999;
  pointer-events: none;
}

/* Responsive para móvil */
@media (max-width: 768px) {
  .adit-main-content {
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 50%, #f0f2f5 100%) !important;
    background-attachment: fixed !important;
  }
}

/* =========================================================================
   MEJORAS VISUALES PARA FORMULARIOS - DISEÑO MODERNO Y PROFESIONAL
   ========================================================================= */

/* ===== CONTENEDOR DE FORMULARIO MEJORADO ===== */
form {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.1),
    0 8px 16px rgba(107, 15, 42, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

form::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 200%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
  animation: shimmerForm 4s infinite;
  pointer-events: none;
}

@keyframes shimmerForm {
  0% { left: -100%; }
  100% { left: 100%; }
}

form:hover {
  transform: translateY(-2px);
  box-shadow: 
    0 25px 50px rgba(0, 0, 0, 0.15),
    0 12px 24px rgba(107, 15, 42, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

/* ===== GRUPOS DE FORMULARIO MEJORADOS ===== */
.form-group {
  margin-bottom: 24px;
  position: relative;
}

.form-group:last-child {
  margin-bottom: 0;
}

/* ===== LABELS MEJORADOS ===== */
.form-group label,
.normal-label {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 600;
  font-size: 13px;
  color: #373A46;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
  display: block;
  position: relative;
}

.form-group label::after,
.normal-label::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 24px;
  height: 2px;
  background: linear-gradient(90deg, #3351A6, #3351A6);
  border-radius: 1px;
}

/* ===== INPUTS MEJORADOS ===== */
.form-control {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  padding: 12px 16px;
  border: 2px solid rgba(107, 15, 42, 0.15);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.9);
  color: #2F2D38;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 
    0 2px 4px rgba(0, 0, 0, 0.04),
    inset 0 1px 2px rgba(107, 15, 42, 0.05);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.form-control:focus {
  outline: none;
  border-color: #3351A6;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 
    0 0 0 3px rgba(107, 15, 42, 0.1),
    0 4px 12px rgba(107, 15, 42, 0.15),
    inset 0 1px 2px rgba(107, 15, 42, 0.08);
  transform: translateY(-1px);
}

.form-control:hover:not(:focus) {
  border-color: rgba(107, 15, 42, 0.25);
  background: rgba(255, 255, 255, 0.95);
}

/* ===== SELECTS MEJORADOS ===== */
select.form-control {
  background: rgba(255, 255, 255, 0.9);
  padding-right: 40px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
}

/* ===== FLECHA PERSONALIZADA PARA SELECTS ===== */
/* Método 1: Usando Font Awesome (más compatible) */
.form-group .input-group:has(select.form-control)::after,
.form-group:has(select.form-control)::after {
  content: '\f078'; /* FontAwesome chevron-down */
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #3351A6;
  font-size: 14px;
  pointer-events: none;
  z-index: 10;
}

/* Método 2: Flecha CSS pura (fallback) */
.select-wrapper {
  position: relative;
  display: block;
}

.select-wrapper::after {
  content: '';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid #3351A6;
  pointer-events: none;
  z-index: 10;
}

.select-wrapper select.form-control {
  width: 100%;
}

/* Método 3: Usando carácter Unicode (más universal) */
select.form-control {
  background-image: none;
  background-color: rgba(255, 255, 255, 0.9);
}

/* Solucion universal con pseudoelemento */
.input-group:has(select) {
  position: relative;
}

.input-group:has(select)::after {
  content: '▼';
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #3351A6;
  font-size: 12px;
  font-weight: bold;
  pointer-events: none;
  z-index: 10;
}



/* ===== INPUT GROUPS MEJORADOS ===== */
.input-group {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.input-group .form-control {
  border-radius: 10px;
  border-right: none;
}

.input-group-addon,
.input-group-text {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  border: 2px solid #3351A6;
  border-left: none;
  border-radius: 0 10px 10px 0;
  padding: 12px 16px;
  font-weight: 500;
}

/* ===== BOTONES MEJORADOS ===== */
.btn.adn-btn,
.btn[type="submit"],
input[type="submit"] {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 14px;
  padding: 12px 24px;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 50%, #1F77FA 100%);
  color: white;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 
    0 4px 12px rgba(107, 15, 42, 0.3),
    0 2px 4px rgba(0, 0, 0, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}

.btn.adn-btn::before,
.btn[type="submit"]::before,
input[type="submit"]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.btn.adn-btn:hover,
.btn[type="submit"]:hover,
input[type="submit"]:hover {
  transform: translateY(-3px);
  box-shadow: 
    0 8px 20px rgba(107, 15, 42, 0.4),
    0 4px 8px rgba(0, 0, 0, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 50%, #373A46 100%);
}

.btn.adn-btn:hover::before,
.btn[type="submit"]:hover::before,
input[type="submit"]:hover::before {
  left: 100%;
}

.btn.adn-btn:active,
.btn[type="submit"]:active,
input[type="submit"]:active {
  transform: translateY(-1px);
  box-shadow: 
    0 4px 12px rgba(107, 15, 42, 0.3),
    0 2px 4px rgba(0, 0, 0, 0.1);
}

/* ===== MEJORAS ESPECÍFICAS PARA EL LAYOUT ===== */
.row {
  margin-bottom: 16px;
}

.row:last-child {
  margin-bottom: 0;
}

/* ===== EFECTOS DE FOCO Y VALIDACIÓN ===== */
.form-control:invalid {
  border-color: #dc3545;
  box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.form-control:valid {
  border-color: #d1d1d1;
}

.form-control:required:focus {
  border-color: #3351A6;
}

/* ===== RESPONSIVE PARA FORMULARIOS ===== */
@media (max-width: 768px) {
  form {
    padding: 20px;
    border-radius: 12px;
  }
  
  .form-control {
    padding: 14px 16px;
    font-size: 16px; /* Evita zoom en iOS */
  }
  
  .btn.adn-btn,
  .btn[type="submit"],
  input[type="submit"] {
    padding: 14px 24px;
    font-size: 15px;
    width: 100%;
  }
  
  .form-group {
    margin-bottom: 20px;
  }
}

/* ===== ANIMACIONES DE ENTRADA ===== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.form-group {
  animation: fadeInUp 0.6s ease-out;
  animation-fill-mode: both;
}

.form-group:nth-child(1) { animation-delay: 0.1s; }
.form-group:nth-child(2) { animation-delay: 0.2s; }
.form-group:nth-child(3) { animation-delay: 0.3s; }
.form-group:nth-child(4) { animation-delay: 0.4s; }
.form-group:nth-child(5) { animation-delay: 0.5s; }

/* ===== MEJORAS PARA PLACEHOLDERS ===== */
.form-control::placeholder {
  color: rgba(107, 15, 42, 0.5);
  font-style: italic;
  transition: opacity 0.3s ease;
}

.form-control:focus::placeholder {
  opacity: 0.7;
  transform: translateY(-2px);
}

/* ===== ICONOS EN INPUT-GROUP-ADDON ===== */
/* Control específico para iconos FontAwesome en addons de inputs */
.input-group-addon .fa,
.input-group-text .fa,
.input-group-addon i,
.input-group-text i {
  font-size: 12px !important;
  line-height: 1 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  width: 12px !important;
  height: 12px !important;
  text-align: center !important;
}

/* Específico para iconos de calendario - extra pequeño */
.input-group-addon .fa-calendar,
.input-group-text .fa-calendar {
  font-size: 11px !important;
  color: rgba(255, 255, 255, 0.9) !important;
  width: 11px !important;
  height: 11px !important;
}

/* Asegurar que el addon tenga el tamaño correcto y compacto */
.input-group-addon {
  min-width: 40px !important;
  max-width: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 10px !important;
}

/* Específico para inputs con datepicker - más compacto */
#datepicker .input-group-addon,
#datepicker1 .input-group-addon,
[id*="datepicker"] .input-group-addon {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
  border: 2px solid #3351A6 !important;
  padding: 8px 10px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  width: 40px !important;
  max-height: 48px !important;
}

/* Control de altura para los contenedores datepicker */
#datepicker.input-group,
#datepicker1.input-group,
[id*="datepicker"].input-group,
.input-group.input-append.date {
  max-height: 48px !important;
}

#datepicker .input-group-addon .fa,
#datepicker1 .input-group-addon .fa,
[id*="datepicker"] .input-group-addon .fa {
  font-size: 11px !important;
  color: white !important;
  display: block !important;
  line-height: 1 !important;
  width: 11px !important;
  height: 11px !important;
}

/* ===== ESTILOS PARA EL CALENDARIO BOOTSTRAP DATEPICKER ===== */
.datepicker {
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(107, 15, 42, 0.2) !important;
  border-radius: 12px !important;
  box-shadow: 
    0 20px 40px rgba(0, 0, 0, 0.15),
    0 8px 16px rgba(107, 15, 42, 0.1) !important;
  padding: 8px !important;
}

.datepicker table {
  margin: 0 !important;
}

.datepicker .datepicker-days .table-condensed th,
.datepicker .datepicker-days .table-condensed td {
  width: 36px !important;
  height: 36px !important;
  text-align: center !important;
  vertical-align: middle !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.datepicker .datepicker-days .table-condensed th {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
  color: white !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.datepicker .datepicker-days .table-condensed td.day {
  color: #333 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.datepicker .datepicker-days .table-condensed td.day:hover {
  background: rgba(107, 15, 42, 0.1) !important;
  color: #3351A6 !important;
  transform: scale(1.1) !important;
}

.datepicker .datepicker-days .table-condensed td.day.active,
.datepicker .datepicker-days .table-condensed td.day.active:hover {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
  color: white !important;
  font-weight: 600 !important;
  transform: scale(1.1) !important;
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.3) !important;
}

.datepicker .datepicker-days .table-condensed td.day.today {
  background: rgba(107, 15, 42, 0.15) !important;
  color: #3351A6 !important;
  font-weight: 600 !important;
}

.datepicker .datepicker-days .table-condensed td.day.today:hover {
  background: rgba(107, 15, 42, 0.25) !important;
}

.datepicker .datepicker-days .table-condensed td.old,
.datepicker .datepicker-days .table-condensed td.new {
  color: #ccc !important;
}

/* Botones de navegación del calendario */
.datepicker .prev,
.datepicker .next {
  background: rgba(107, 15, 42, 0.1) !important;
  color: #3351A6 !important;
  border-radius: 50% !important;
  width: 32px !important;
  height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

.datepicker .prev:hover,
.datepicker .next:hover {
  background: #3351A6 !important;
  color: white !important;
  transform: scale(1.1) !important;
}

/* Header del calendario */
.datepicker .datepicker-switch {
  background: rgba(107, 15, 42, 0.05) !important;
  color: #3351A6 !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}

.datepicker .datepicker-switch:hover {
  background: rgba(107, 15, 42, 0.1) !important;
}

/* ===== ESTILOS PARA SECCIÓN DE ASIGNACIÓN EN SIDEBAR ===== */
.adit-assignment-section {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%) !important;
  border-radius: 12px !important;
  margin: 12px 8px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.3s ease !important;
}

.adit-assignment-section:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15) !important;
}

/* Header de la sección de asignación */
.adit-assignment-header {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
  color: white !important;
  padding: 16px 20px !important;
  border-radius: 12px 12px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  position: relative !important;
  overflow: hidden !important;
}

.adit-assignment-header::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 200% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
  animation: shimmerAssignment 3s infinite !important;
}

@keyframes shimmerAssignment {
  0% { left: -100%; }
  100% { left: 100%; }
}

.adit-assignment-icon {
  font-size: 18px !important;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) !important;
}

.adit-assignment-title {
  text-transform: uppercase !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* Formulario de asignación */
.adit-assignment-form {
  padding: 20px !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border-radius: 0 0 12px 12px !important;
}

.adit-form-section {
  margin-bottom: 20px !important;
}

.adit-form-section:last-child {
  margin-bottom: 0 !important;
}

/* Labels mejorados */
.adit-form-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 600 !important;
  font-size: 12px !important;
  color: #3351A6 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 8px !important;
}

.adit-form-label i {
  font-size: 14px !important;
  color: #3351A6 !important;
}

/* Campo de fecha mejorado */
.adit-date-input {
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(107, 15, 42, 0.1) !important;
  transition: all 0.3s ease !important;
}

.adit-date-input:hover {
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.15) !important;
  transform: translateY(-1px) !important;
}

.adit-date-addon {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
  border: none !important;
  color: white !important;
  width: 45px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.adit-date-field {
  border: 2px solid rgba(107, 15, 42, 0.15) !important;
  border-left: none !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  transition: all 0.3s ease !important;
}

.adit-date-field:focus {
  border-color: #3351A6 !important;
  box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1) !important;
  outline: none !important;
}

/* Select mejorado */
.adit-select-wrapper {
  position: relative !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(107, 15, 42, 0.1) !important;
  transition: all 0.3s ease !important;
}

.adit-select-wrapper:hover {
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.15) !important;
  transform: translateY(-1px) !important;
}

.adit-select-field {
  border: 2px solid rgba(107, 15, 42, 0.15) !important;
  padding: 12px 40px 12px 16px !important;
  font-size: 14px !important;
  background: white !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.adit-select-field:focus {
  border-color: #3351A6 !important;
  box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1) !important;
  outline: none !important;
}

.adit-select-arrow {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #3351A6 !important;
  font-size: 12px !important;
  pointer-events: none !important;
  transition: all 0.3s ease !important;
}

.adit-select-wrapper:hover .adit-select-arrow {
  color: #3351A6 !important;
  transform: translateY(-50%) scale(1.1) !important;
}

/* Botón de asignación premium */
.adit-assign-btn {
  width: 100% !important;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 50%, #1F77FA 100%) !important;
  color: white !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 20px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 6px 16px rgba(107, 15, 42, 0.3) !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.adit-assign-btn::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent) !important;
  transition: left 0.5s ease !important;
}

.adit-assign-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 25px rgba(107, 15, 42, 0.4) !important;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 50%, #373A46 100%) !important;
}

.adit-assign-btn:hover::before {
  left: 100% !important;
}

.adit-assign-btn:active {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(107, 15, 42, 0.3) !important;
}

.adit-btn-icon {
  font-size: 16px !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;
}

/* Efecto ripple para el botón */
.adit-btn-ripple {
  position: absolute !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.3) !important;
  transform: scale(0) !important;
  animation: rippleAssign 0.6s linear !important;
  pointer-events: none !important;
}

@keyframes rippleAssign {
  to {
    transform: scale(4);
    opacity: 0;
  }
}

/* Responsive para la sección de asignación */
@media (max-width: 768px) {
  .adit-assignment-section {
    margin: 8px 4px !important;
  }
  
  .adit-assignment-header {
    padding: 12px 16px !important;
    font-size: 13px !important;
  }
  
  .adit-assignment-form {
    padding: 16px !important;
  }
  
  .adit-date-field,
  .adit-select-field {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  
  .adit-assign-btn {
    padding: 12px 16px !important;
    font-size: 13px !important;
  }
}

/* ===== ESTILOS PARA VISTAS ESPECIALES MODERNIZADAS ===== */

/* Sección de información para agendar entrevista */
.adit-interview-info {
  background: linear-gradient(135deg, rgba(107, 15, 42, 0.05) 0%, rgba(139, 21, 56, 0.05) 100%);
  border: 1px solid rgba(107, 15, 42, 0.1);
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 24px;
}

.adit-interview-title {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #3351A6;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}

.adit-interview-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
}

.adit-detail-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(107, 15, 42, 0.1);
}

.adit-detail-item:last-child {
  border-bottom: none;
}

.adit-detail-label {
  font-weight: 600;
  color: #666;
  font-size: 14px;
}

.adit-detail-value {
  font-weight: 600;
  color: #2F2D38;
  font-size: 14px;
}

/* Input con icono mejorado */
.adit-input-group {
  position: relative;
  display: flex;
  align-items: stretch;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(107, 15, 42, 0.1);
  transition: all 0.3s ease;
}

.adit-input-group:hover {
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.15);
  transform: translateY(-1px);
}

.adit-input-icon {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  width: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  border: none;
}

.adit-input-icon-sessions{
  display: flex;
  align-items: center;
  font-size: 16px;
  border: none;
  height: 40px;
  border-radius: 10px 10px 0 0;
  position: absolute;
  left: 15px;
  color: #a0aec0;
  font-size: 14px;
  z-index: 2;
  transition: color 0.3s ease;
}

.adit-input-with-icon {
  border: 2px solid rgba(107, 15, 42, 0.15);
  border-left: none;
  padding: 12px 16px;
  font-size: 14px;
  flex: 1;
  transition: all 0.3s ease;
}

.adit-input-with-icon:focus {
  border-color: #3351A6;
  box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1);
  outline: none;
}

/* Formulario de entrevista */
.adit-form {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: all 0.4s ease;
}

.adit-form:hover {
  transform: translateY(-2px);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
}

/* Sección de formulario */
.adit-form-section {
  margin-bottom: 24px;
}

.adit-form-section:last-child {
  margin-bottom: 0;
}

/* Grupo de formulario mejorado */
.adit-form-group {
  margin-bottom: 20px;
}

.adit-form-group:last-child {
  margin-bottom: 0;
}

/* Label de formulario mejorado */
.adit-form-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #3351A6;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.adit-form-label i {
  font-size: 16px;
  color: #3351A6;
}

/* Control de formulario mejorado */
.adit-form-control {
  border: 2px solid rgba(107, 15, 42, 0.15);
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 14px;
  transition: all 0.3s ease;
  background: rgba(255, 255, 255, 0.95);
  color: #2F2D38;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}

.adit-form-control:focus {
  border-color: #3351A6;
  box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1);
  outline: none;
  background: rgba(255, 255, 255, 0.98);
  transform: translateY(-1px);
}

.adit-form-control:hover:not(:focus) {
  border-color: rgba(107, 15, 42, 0.25);
  background: rgba(255, 255, 255, 0.95);
}

/* Select mejorado */
.adit-form-select {
  border: 2px solid rgba(107, 15, 42, 0.15);
  border-radius: 10px;
  padding: 12px 40px 12px 16px;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.95);
  color: #2F2D38;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
  width: 100%;
}

.adit-form-select:focus {
  border-color: #3351A6;
  box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1);
  outline: none;
  background: rgba(255, 255, 255, 0.98);
  transform: translateY(-1px);
}

.adit-form-select:hover:not(:focus) {
  border-color: rgba(107, 15, 42, 0.25);
  background: rgba(255, 255, 255, 0.95);
}

/* Wrapper para select con icono */
.adit-select-wrapper {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(107, 15, 42, 0.1);
  transition: all 0.3s ease;
}

.adit-select-wrapper:hover {
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.15);
  transform: translateY(-1px);
}

.adit-select-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #3351A6;
  font-size: 14px;
  pointer-events: none;
  transition: all 0.3s ease;
}

.adit-select-wrapper:hover .adit-select-icon {
  color: #3351A6;
  transform: translateY(-50%) scale(1.1);
}

/* Ayuda de formulario */
.adit-form-help {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 13px;
  color: #666;
  font-style: italic;
}

.adit-form-help i {
  color: #3351A6;
  font-size: 12px;
}

/* Acciones de formulario */
.adit-form-actions {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
  align-items: center;
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid rgba(107, 15, 42, 0.1);
}

/* Botón primario */
.adit-btn-primary {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 50%, #1F77FA 100%);
  color: white;
  border: none;
  border-radius: 10px;
  padding: 12px 24px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.3);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.adit-btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.adit-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(107, 15, 42, 0.4);
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 50%, #373A46 100%);
  color: white;
  text-decoration: none;
}

.adit-btn-primary:hover::before {
  left: 100%;
}

.adit-btn-primary:active {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.3);
}

/* Botón secundario */
.adit-btn-secondary {
  background: rgba(107, 15, 42, 0.1);
  color: #3351A6;
  border: 2px solid rgba(107, 15, 42, 0.2);
  border-radius: 10px;
  padding: 10px 22px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.adit-btn-secondary:hover {
  background: #3351A6;
  color: white;
  border-color: #3351A6;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.3);
  text-decoration: none;
}

.adit-btn-secondary:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(107, 15, 42, 0.2);
}

/* Información de ejecutivo */
.adit-executive-info {
  margin-top: 20px;
}

.adit-executive-card {
  background: linear-gradient(135deg, rgba(107, 15, 42, 0.05) 0%, rgba(139, 21, 56, 0.05) 100%);
  border: 1px solid rgba(107, 15, 42, 0.1);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.adit-executive-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(107, 15, 42, 0.1);
}

.adit-executive-card .adit-card-content {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
}

.adit-executive-avatar {
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  box-shadow: 0 4px 8px rgba(107, 15, 42, 0.2);
}

.adit-executive-details {
  flex: 1;
}

.adit-executive-name {
  font-size: 18px;
  font-weight: 600;
  color: #3351A6;
  margin: 0 0 4px 0;
}

.adit-executive-role {
  font-size: 14px;
  color: #666;
  margin: 0;
  font-style: italic;
}

/* Responsive para vistas especiales */
@media (max-width: 768px) {
  .adit-form {
    padding: 20px;
    border-radius: 12px;
  }
  
  .adit-form-actions {
    flex-direction: column;
    gap: 12px;
  }
  
  .adit-btn-primary,
  .adit-btn-secondary {
    width: 100%;
    justify-content: center;
  }
  
  .adit-interview-details {
    grid-template-columns: 1fr;
  }
  
  .adit-executive-card .adit-card-content {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
  
  .adit-input-group {
    flex-direction: column;
  }
  
  .adit-input-icon {
    width: 100%;
    height: 40px;
    border-radius: 10px 10px 0 0;
  }
  
  .adit-input-with-icon {
    border: 2px solid rgba(107, 15, 42, 0.15);
    border-top: none;
    border-radius: 0 0 10px 10px;
  }
}

/* Header principal de requisición */
.adit-requisition-header {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 14px;
  padding: 24px 28px;
  margin-bottom: 24px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
  position: relative;
  overflow: hidden;
}

/* Línea decorativa superior */
.adit-requisition-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, 
    #4A0A1E 0%,
    #3351A6 25%, 
    #3351A6 50%, 
    #C41E4A 75%,
    #3351A6 100%);
}

.adit-header-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0;
}

.adit-header-left {
  display: flex;
  align-items: center;
  gap: 18px;
}

.adit-header-icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
  box-shadow: 0 6px 16px rgba(107, 15, 42, 0.3);
}

.adit-header-title {
  font-size: 26px;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 6px 0;
  letter-spacing: -0.3px;
}

.adit-req-number {
  color: #3351A6;
  background: linear-gradient(135deg, rgba(107, 15, 42, 0.08) 0%, rgba(139, 21, 56, 0.12) 100%);
  padding: 4px 12px;
  border-radius: 8px;
  font-weight: 700;
  border: 1px solid rgba(107, 15, 42, 0.1);
}

.adit-header-meta {
  display: flex;
  gap: 20px;
}

.adit-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #64748b;
  font-size: 13px;
  font-weight: 500;
}

.adit-meta-item i {
  color: #3351A6;
  font-size: 12px;
}

.adit-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.adit-status-badge {
  padding: 8px 16px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 12px;
  font-weight: 600;
}

/* Estados de badges */
.adit-status-nueva,
.adit-status-nuevo {
  background: rgba(246, 59, 59, 0.55);
  color: #ffffff;
  border-color: rgba(246, 59, 59, 0.3);
}

.adit-status-en-proceso,
.adit-status-proceso {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
  border-color: rgba(245, 158, 11, 0.3);
}

.adit-status-terminada,
.adit-status-terminado {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
  border-color: rgba(34, 197, 94, 0.3);
}

.adit-status-activa,
.adit-status-activo {
  background: rgba(59, 130, 246, 0.1);
  color: #2563eb;
  border-color: rgba(59, 130, 246, 0.3);
}

.adit-status-cancelada,
.adit-status-cancelado {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.3);
}

.adit-back-btn {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  border: none;
  padding: 12px 20px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

.adit-back-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(107, 15, 42, 0.3);
  color: white;
}

/* Botones de acción */
.adit-header-actions {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(107, 15, 42, 0.1);
}

.adit-action-group {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
}

.adit-action-btn {
  padding: 10px 20px;
  border-radius: 10px;
  font-weight: 600;
  font-size: 13px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.3s ease;
  border: 2px solid;
  white-space: nowrap;
  min-height: 38px;
}

.adit-btn-success {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
  border-color: rgba(34, 197, 94, 0.3);
}

.adit-btn-success:hover {
  background: #16a34a;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(34, 197, 94, 0.3);
  text-decoration: none;
}

.adit-btn-danger {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
  border-color: rgba(239, 68, 68, 0.3);
}

.adit-btn-danger:hover {
  background: #dc2626;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 8px 16px rgba(239, 68, 68, 0.3);
  text-decoration: none;
}

/* Sección de información con cards */
.adit-info-section {
  margin-bottom: 40px;
  background-color: #f8f9fa;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
  border: 1px solid rgba(107, 15, 42, 0.08);
}

.adit-info-section:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

.adit-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid rgba(107, 15, 42, 0.1);
  position: relative;
}

.adit-section-header::before {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 80px;
  height: 2px;
  background: linear-gradient(90deg, #3351A6 0%, #3351A6 100%);
}

.adit-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  font-weight: 700;
  color: #1a202c;
  margin: 0;
}

.adit-section-title i {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  border-radius: 10px;
  font-size: 16px;
  box-shadow: 0 4px 12px rgba(107, 15, 42, 0.25);
}

.adit-cards-container {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: stretch;
}

.adit-info-card {
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  backdrop-filter: blur(10px);
  border-radius: 14px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
  overflow: hidden;
  height: fit-content;
  flex: 1;
  min-width: 300px;
  position: relative;
}

/* Línea decorativa superior */
.adit-info-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #3351A6 0%, #3351A6 50%, #C41E4A 100%);
}

.adit-info-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
}

.adit-card-header {
  background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
  color: #1a202c;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(107, 15, 42, 0.08);
}

.adit-card-icon {
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  border-radius: 10px;
  font-size: 18px;
  box-shadow: 0 3px 10px rgba(107, 15, 42, 0.25);
  flex-shrink: 0;
}

.adit-info-card .adit-card-icon {
  padding: 0;
}

/* Icono inline dentro de card-header (sin badge/contenedor) */
.adit-card-header .adit-card-icon {
  width: auto;
  height: auto;
  min-width: auto;
  min-height: auto;
  background: none;
  box-shadow: none;
  border-radius: 0;
  color: #3351A6;
  font-size: 1.1rem;
  margin-right: 8px;
}

/* Icono inline dentro de card-header con fondo de color */
.adit-card-header[style*="background"] .adit-card-icon {
  color: inherit;
}

.adit-card-title {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  color: #1a202c;
  letter-spacing: 0.3px;
}

.adit-card-content {
  padding: 24px;
}

.adit-info-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid rgba(107, 15, 42, 0.1);
}

.adit-info-item:last-child {
  border-bottom: none;
}

.adit-info-label {
  font-weight: 600;
  color: #666;
  font-size: 14px;
}

.adit-info-value {
  font-weight: 600;
  color: #2F2D38;
  font-size: 14px;
}

.adit-highlight {
  color: #3351A6;
  font-size: 16px;
  background: rgba(107, 15, 42, 0.1);
  padding: 4px 8px;
  border-radius: 6px;
}

/* Sección de candidatos */
.adit-candidates-section {
  margin-bottom: 40px;
  background-color: #f8f9fa;
  border-radius: 16px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
  border: 1px solid rgba(107, 15, 42, 0.08);
}

.adit-candidates-section:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

.adit-candidates-count {
  display: flex;
  align-items: center;
}

.adit-count-badge {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 14px;
}

/* Filtro de búsqueda */
.adit-filter-section {
  margin-bottom: 24px;
}

.adit-filter-container {
  max-width: 400px;
}

.adit-filter-input {
  position: relative;
}

.adit-filter-icon {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #3351A6;
  font-size: 16px;
  z-index: 2;
}

.adit-search-input {
  padding: 12px 16px 12px 48px;
  border: 2px solid rgba(107, 15, 42, 0.15);
  border-radius: 10px;
  font-size: 14px;
  transition: all 0.3s ease;
  background: white;
}

.adit-search-input:focus {
  border-color: #3351A6;
  box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1);
  outline: none;
}

/* Tabla moderna */
.adit-table-container {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  border: 1px solid rgba(107, 15, 42, 0.1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  overflow-x: auto;
  overflow-y: hidden;
}

.adit-modern-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.adit-table-header th {
  padding: 16px 12px;
  text-align: center;
  vertical-align: middle;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: none;
  background-color: #e8dade !important;
  color: #751f32 !important;
  /* Solución para Bootstrap 5 CSS variables */
  box-shadow: inset 0 0 0 9999px #e8dade !important;
  --bs-table-bg: #e8dade !important;
  --bs-table-color: #751f32 !important;
}

.adit-table-header th i {
  margin-right: 6px;
  opacity: 0.8;
  color: #751f32 !important;
}

.adit-table-row {
  transition: all 0.2s ease;
  border-bottom: 1px solid rgba(107, 15, 42, 0.1);
}

.adit-table-row:hover {
  background: rgba(107, 15, 42, 0.05);
}

.adit-table-row td {
  padding: 16px 12px;
  vertical-align: middle;
  border: none;
}

/* Elementos específicos de la tabla */
.adit-candidate-link {
  color: #3351A6;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.adit-candidate-link:hover {
  color: #3351A6;
  text-decoration: underline;
}

.adit-candidate-name {
  display: flex;
  align-items: center;
  gap: 8px;
}

.adit-name-icon {
  color: #3351A6;
  opacity: 0.7;
}

.adit-position-badge,
.adit-study-type {
  background: rgba(107, 15, 42, 0.1);
  color: #3351A6;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.adit-date-badge {
  background: rgba(246, 59, 59, 0.10);
  color: #2c0e1f;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.adit-code-badge {
	background-color: rgba(117, 31, 50, 0.1);
	color: #751f32;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 12px;
	font-family: 'Courier New', monospace;
}

.adit-verdict-badge {
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.adit-verdict-aprobado {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}

.adit-verdict-rechazado {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

.adit-empty-date,
.adit-empty-verdict,
.adit-empty-action {
  color: #ccc;
  font-style: italic;
}

/* Botones de acción en tabla */
.adit-download-btn,
.adit-attachment-btn {
  background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
  color: white;
  border: none;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 4px rgba(107, 15, 42, 0.2);
  letter-spacing: 0.3px;
}

.adit-download-btn::before,
.adit-attachment-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s;
}

.adit-download-btn:hover,
.adit-attachment-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(107, 15, 42, 0.4);
  color: white;
  text-decoration: none;
  background: linear-gradient(135deg, #3351A6 0%, #A91B47 100%);
}

.adit-download-btn:hover::before,
.adit-attachment-btn:hover::before {
  left: 100%;
}

.adit-download-btn:active,
.adit-attachment-btn:active {
  transform: translateY(0);
  transition: transform 0.1s;
}

.adit-download-btn i,
.adit-attachment-btn i {
  font-size: 12px;
  opacity: 0.9;
}

/* Selectores específicos para sobrescribir colores de tabla */
#table_result .adit-download-btn,
#table_result .adit-attachment-btn,
.adit-table-container .adit-download-btn,
.adit-table-container .adit-attachment-btn {
  color: white !important;
}

#table_result .adit-download-btn:hover,
#table_result .adit-attachment-btn:hover,
.adit-table-container .adit-download-btn:hover,
.adit-table-container .adit-attachment-btn:hover {
  color: white !important;
}

#table_result .adit-download-btn span,
#table_result .adit-attachment-btn span,
.adit-table-container .adit-download-btn span,
.adit-table-container .adit-attachment-btn span {
  color: white !important;
}

.adit-disabled-action {
  color: #ccc;
  text-decoration: line-through;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* Checkbox personalizado */
.adit-td-select {
  cursor: pointer;
  user-select: none;
  text-align: center;
  padding: 16px 12px !important;
}

.adit-checkbox-container {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  cursor: pointer;
  padding: 2px;
  border-radius: 6px;
  transition: all 0.2s ease;
}

.adit-checkbox-container:hover {
  background-color: rgba(107, 15, 42, 0.08);
}

.adit-checkbox {
  position: absolute;
  cursor: pointer;
  width: 100%;
  height: 100%;
  margin: 0;
}

.adit-checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background: white;
  border: 2px solid #3351A6;
  border-radius: 4px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.adit-checkmark:hover {
  border-color: #3351A6;
  transform: scale(1.05);
}

.adit-checkbox:checked + .adit-checkmark {
  background: #3351A6;
  border-color: #3351A6;
}

.adit-checkbox:checked + .adit-checkmark:hover {
  background: #3351A6;
  border-color: #3351A6;
}

.adit-checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.adit-checkbox:checked + .adit-checkmark:after {
  display: block;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Estado hover para toda la celda */
.adit-td-select:hover {
  background-color: rgba(107, 15, 42, 0.05);
}

.adit-checkbox-hover {
  border-color: #3351A6 !important;
  transform: scale(1.05) !important;
}

/* Media queries para diferentes tamaños de pantalla */
@media (min-width: 769px) {
  .adit-cards-container {
    flex-direction: row;
  }
}

@media (max-width: 992px) and (min-width: 769px) {
  .adit-cards-container {
    gap: 16px;
  }
  
  .adit-info-card {
    min-width: 250px;
  }
}

/* Responsive */
@media (max-width: 768px) {
  .adit-requisition-header {
    padding: 20px;
  }
  
  .adit-header-main {
    flex-direction: column;
    gap: 16px;
  }
  
  .adit-header-left {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  
  .adit-header-title {
    font-size: 24px;
  }
  
  .adit-action-group {
    flex-direction: column;
    gap: 12px;
  }
  
  .adit-cards-container {
    flex-direction: column;
    gap: 16px;
  }
  
  .adit-info-card {
    min-width: auto;
    flex: none;
  }
  
  .adit-table-container {
    overflow-x: auto;
  }
  
  .adit-modern-table {
    min-width: 800px;
  }
}

/* Candidatos Show View - Estilos específicos adicionales */
.adit-study-type {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.85em;
    font-weight: 500;
}

.adit-studies-container {
    margin-top: 20px;
}

.adit-modern-table {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.adit-table-header th {
    border: none;
    padding: 15px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9em;
    letter-spacing: 0.5px;
}

.adit-table-row {
    transition: all 0.3s ease;
}

.adit-table-row:hover {
    background: rgba(102, 126, 234, 0.05);
    transform: translateY(-1px);
}

.adit-table-row td {
    padding: 15px;
    border: none;
    vertical-align: middle;
}

.adit-study-link, .adit-requisition-link {
    color: #e6dbde;
    font-weight: 600;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
    display: inline-block;
}

.adit-study-link:hover, .adit-requisition-link:hover {
    background: rgba(102, 126, 234, 0.2);
    color: #5a67d8;
    text-decoration: none;
    transform: translateY(-1px);
}

.adit-assignment-cell {
    padding: 20px !important;
}

.adit-assignment-form {
    background: rgba(248, 249, 250, 0.8);
    backdrop-filter: blur(10px);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid rgba(102, 126, 234, 0.2);
}

.adit-form-section {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 20px;
}

.adit-date-input, .adit-select-input {
    width: 100%;
}

.adit-date-input .input-group-addon {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%) !important;
    color: white !important;
    border: none !important;
    border-radius: 8px 0 0 8px !important;
}

.adit-assign-btn {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%) !important;
    color: white !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
}

.adit-assign-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4) !important;
    color: white !important;
}

.adit-requisition-number {
    background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
    color: white;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 600;
    display: inline-block;
}

.adit-date-cell, .adit-executive-cell, .adit-requisition-date {
    color: #4a5568;
    font-weight: 500;
}

.adit-status-cell {
    text-align: center;
}

/* Clientes Show View - Estilos específicos */
.adit-client-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.adit-client-logo {
    flex-shrink: 0;
}

.adit-logo-image {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
    border: 3px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.adit-client-details {
    flex: 1;
}

.adit-client-name {
    margin: 0;
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    line-height: 1.2;
}

.adit-client-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 8px;
}

.adit-client-id {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    padding: 6px 12px;
    border-radius: 20px;
    color: #840537  !important;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.adit-add-contact-btn {
    background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    font-size: 0.9rem;
}

.adit-add-contact-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(72, 187, 120, 0.4);
    color: white;
    text-decoration: none;
}

.adit-contact-link {
    color: #e6dbde;
    font-weight: 600;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
    display: inline-block;
}

.adit-contact-link:hover {
    background: rgba(102, 126, 234, 0.2);
    color: #5a67d8;
    text-decoration: none;
    transform: translateY(-1px);
}

.adit-contact-data {
    color: #4a5568;
    font-weight: 500;
}

.adit-phone-number {
    color: #48bb78;
    font-weight: 600;
}

.adit-phone-number i {
    margin-right: 5px;
    color: #38a169;
}

.adit-email-address {
    color: #e6dbde;
    font-weight: 600;
}

.adit-email-address i {
    margin-right: 5px;
    color: #5a67d8;
}

.adit-na-value {
    color: #a0aec0;
    font-style: italic;
}

.adit-no-data {
    text-align: center;
    padding: 40px 20px;
}

.adit-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.adit-empty-state i {
    font-size: 3rem;
    color: #a0aec0;
}

.adit-empty-state h4 {
    margin: 0;
    color: #4a5568;
    font-weight: 600;
}

.adit-empty-state p {
    margin: 0;
    color: #718096;
    font-size: 0.95rem;
}

.adit-empty-action-btn {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    padding: 10px 20px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.adit-empty-action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
    color: white;
    text-decoration: none;
}

/* Usuarios Show View - Estilos específicos */
.adit-user-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.adit-user-avatar {
    flex-shrink: 0;
}

.adit-user-avatar i {
    font-size: 5rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.adit-user-details {
    flex: 1;
}

.adit-user-name {
    margin: 0;
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    line-height: 1.2;
}

.adit-user-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 8px;
}

.adit-user-id {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    padding: 6px 12px;
    border-radius: 20px;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.adit-role-item {
    margin-bottom: 15px;
}

.adit-role-badge {
    background: rgba(102, 126, 234, 0.1);
    border: 1px solid rgba(102, 126, 234, 0.2);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s ease;
}

.adit-role-badge:hover {
    background: rgba(102, 126, 234, 0.15);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.2);
}

.adit-role-badge i {
    color: #e6dbde;
    font-size: 1.5rem;
}

.adit-role-details {
    flex: 1;
}

.adit-role-name {
    display: block;
    font-weight: 700;
    color: #2d3748;
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.adit-role-description {
    display: block;
    color: #718096;
    font-size: 0.9rem;
    font-style: italic;
}

.adit-no-roles {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(251, 211, 141, 0.1);
    border: 1px solid rgba(251, 211, 141, 0.3);
    border-radius: 8px;
    padding: 15px;
    color: #d69e2e;
    font-weight: 600;
}

.adit-no-roles i {
    font-size: 1.2rem;
}

.adit-modify-role-btn {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    font-size: 0.9rem;
}

.adit-modify-role-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(213, 90, 90, 0.4);
    color: white;
    text-decoration: none;
}

.adit-role-id-badge {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    padding: 6px 12px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 0.9rem;
}

.adit-role-name-display {
    color: #791a36;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
}

.adit-role-name-display i {
    color: #791a36;
}

.adit-role-description-cell {
    color: #4a5568;
    font-style: italic;
    line-height: 1.4;
}

/* Ejecutivos Show View - Estilos específicos */
.adit-executive-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.adit-executive-avatar {
    flex-shrink: 0;
}

.adit-executive-avatar i {
    font-size: 2rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.adit-executive-details {
    flex: 1;
}

.adit-executive-name {
    margin: 0;
    font-size: 2.3rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    line-height: 1.2;
}

.adit-executive-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.adit-executive-id {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    padding: 6px 12px;
    border-radius: 20px;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.adit-extension-badge {
    background: rgba(72, 187, 120, 0.3);
    backdrop-filter: blur(10px);
    padding: 6px 12px;
    border-radius: 20px;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid rgba(72, 187, 120, 0.4);
}

.adit-extension-number {
    background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
    color: white;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 0.85em;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.adit-modify-users-btn {
    background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: none;
    font-size: 0.9rem;
}

.adit-modify-users-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(237, 137, 54, 0.4);
    color: white;
    text-decoration: none;
}

.adit-user-link {
    color: #e6dbde;
    font-weight: 600;
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(102, 126, 234, 0.1);
    transition: all 0.3s ease;
    display: inline-block;
}

.adit-user-link:hover {
    background: rgba(102, 126, 234, 0.2);
    color: #5a67d8;
    text-decoration: none;
    transform: translateY(-1px);
}

.adit-username-display {
    color: #4a5568;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.adit-username-display i {
    color: #e6dbde;
    font-size: 1.1rem;
}

.adit-user-description {
    color: #718096;
    font-style: italic;
    line-height: 1.4;
}

.adit-user-status-cell {
    text-align: center;
}

/* Responsive para executive meta */
@media (max-width: 768px) {
    .adit-executive-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .adit-executive-name {
        font-size: 2rem;
    }
    
    .adit-executive-info {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .adit-executive-avatar i {
        font-size: 4rem;
    }
}

/* Contactos Show View - Estilos específicos */
.adit-contact-info {
    display: flex;
    align-items: center;
    gap: 20px;
}

.adit-contact-avatar {
    flex-shrink: 0;
}

.adit-contact-avatar i {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.adit-contact-details {
    flex: 1;
}

.adit-contact-name {
    margin: 0;
    font-size: 2.3rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    line-height: 1.2;
}

.adit-contact-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.adit-contact-id {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    padding: 6px 12px;
    border-radius: 20px;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.adit-contact-email-badge {
    background: rgba(102, 126, 234, 0.3);
    backdrop-filter: blur(10px);
    padding: 6px 12px;
    border-radius: 20px;
    color: white;
    font-weight: 600;
    font-size: 0.85rem;
    border: 1px solid rgba(102, 126, 234, 0.4);
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Responsive para contact meta */
@media (max-width: 768px) {
    .adit-contact-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .adit-contact-name {
        font-size: 2rem;
    }
    
    .adit-contact-info {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    
    .adit-contact-avatar i {
        font-size: 4rem;
    }
    
    .adit-contact-email-badge {
        max-width: 200px;
        font-size: 0.8rem;
    }
}

/* ===========================================
   ESTUDIOS ESPECÍFICOS
   =========================================== */

/* Study Header Styling */
.adit-study-header .adit-entity-avatar {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
    margin-right: 15px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.adit-study-header .adit-study-id {
    font-size: 14px;
    color: #e6dbde;
    font-weight: 600;
    margin-bottom: 5px;
}

.adit-study-header .adit-study-name {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    line-height: 1.2;
}

/* Days Tracker Styling */
.adit-days-tracker {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 12px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 13px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Version Badge Styling */
.adit-version-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #48bb78, #38a169);
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(72, 187, 120, 0.3);
}

/* Document Grid Styling */
.adit-documents-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 15px;
    margin-top: 15px;
}

.adit-document-item {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    align-items: center;
    gap: 12px;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.adit-document-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    border-color: rgba(102, 126, 234, 0.3);
}

.adit-document-icon {
    font-size: 28px;
    width: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.adit-document-info {
    flex: 1;
}

.adit-document-name {
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 4px;
    font-size: 14px;
    line-height: 1.2;
}

.adit-document-meta {
    font-size: 12px;
    color: #718096;
}

.adit-file-size {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.adit-document-actions {
    display: flex;
    gap: 8px;
}

/* Version Table Styling */
.adit-latest-version {
    background: linear-gradient(135deg, rgba(72, 187, 120, 0.1), rgba(56, 161, 105, 0.05));
    border-left: 4px solid #48bb78;
}

.adit-version-id {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    color: #3b3b3b;
    background: rgba(102, 126, 234, 0.1);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
}

.adit-extension-badge {
    background: linear-gradient(135deg, #ed8936, #dd6b20);
    color: white;
    padding: 4px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.adit-comment-text {
    font-style: italic;
    color: #4a5568;
    font-size: 13px;
    line-height: 1.4;
}

/* Candidate Card Styling */
.adit-candidate-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.adit-candidate-card .adit-card-header {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.adit-candidate-avatar {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.adit-candidate-info {
    flex: 1;
}

.adit-candidate-name {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.adit-candidate-id {
    font-size: 14px;
    opacity: 0.9;
    font-weight: 500;
}

.adit-candidate-status {
    margin-left: auto;
}

.adit-veredict-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #805ad5, #6b46c1);
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(128, 90, 213, 0.3);
}

/* Candidate Actions */
.adit-candidate-actions {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.adit-actions-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.adit-cv-btn {
    background: linear-gradient(135deg, #e53e3e, #c53030);
    color: white;
}

.adit-cv-btn:hover {
    background: linear-gradient(135deg, #c53030, #9c2626);
    color: white;
}

.adit-disabled-btn {
    background: #e2e8f0;
    color: #a0aec0;
    cursor: not-allowed;
    opacity: 0.6;
}

.adit-disabled-btn:hover {
    background: #e2e8f0;
    color: #a0aec0;
    transform: none;
}

/* Notifications Styling */
.adit-notifications-container {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 15px;
}

.adit-notification-item {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
}

.adit-notification-header {
    background: linear-gradient(135deg, #4299e1, #3182ce);
    color: white;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.adit-notification-icon {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.adit-notification-meta {
    flex: 1;
}

.adit-notification-date {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
}

.adit-notification-content {
    padding: 20px;
}

.adit-notification-title {
    font-size: 16px;
    font-weight: 600;
    color: #2d3748;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.adit-notification-details {
    margin-top: 10px;
}

.adit-notification-table {
    margin: 0;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 8px;
    overflow: hidden;
}

.adit-notification-header-cell {
    background: linear-gradient(135deg, #f7fafc, #edf2f7);
    color: #2d3748;
    font-weight: 600;
    font-size: 12px;
    padding: 10px 12px;
    border: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.adit-notification-data-cell {
    padding: 12px;
    color: #4a5568;
    font-size: 13px;
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.adit-notification-no-data {
    text-align: center;
    color: #718096;
    font-style: italic;
    margin: 15px 0;
    padding: 20px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Executive Card Styling */
.adit-executive-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.adit-executive-card .adit-card-header {
    background: linear-gradient(135deg, #2c111e 0%, #732537 100%);
    color: white;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.adit-executive-avatar {
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.adit-executive-info {
    flex: 1;
}

.adit-executive-name {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
}

.adit-executive-id {
    font-size: 14px;
    opacity: 0.9;
    font-weight: 500;
}

.adit-executive-link {
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
}

.adit-executive-link:hover {
    color: #e2e8f0;
    text-decoration: underline;
}

.adit-executive-badge {
    margin-left: auto;
}

.adit-role-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: rgba(255, 255, 255, 0.2);
    padding: 8px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.adit-admin-actions {
    text-align: center;
}

.adit-assign-btn {
    background: linear-gradient(135deg, #805ad5, #6b46c1);
    color: white;
    padding: 12px 24px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.adit-assign-btn:hover {
    background: linear-gradient(135deg, #6b46c1, #553c9a);
    color: white;
    transform: translateY(-2px);
}

/* Responsive adjustments for studies */
@media (max-width: 768px) {
    .adit-documents-grid {
        grid-template-columns: 1fr;
    }
    
    .adit-candidate-card .adit-card-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .adit-candidate-status {
        margin-left: 0;
    }
    
    .adit-actions-row {
        justify-content: center;
    }
    
    .adit-action-btn {
        flex: 1;
        max-width: 200px;
    }
    
    .adit-executive-card .adit-card-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
    
    .adit-executive-badge {
        margin-left: 0;
    }
    
    .adit-notification-header {
        flex-direction: column;
        text-align: center;
        gap: 10px;
    }
}

/* ===========================================
   CALL RECORDS ESPECÍFICOS
   =========================================== */

/* Call Record Header Styling */
.adit-call-record-header .adit-entity-avatar {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: white;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
    margin-right: 15px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(74, 222, 128, 0.3);
}

.adit-call-record-header .adit-call-record-id {
    font-size: 14px;
    color: #22c55e;
    font-weight: 600;
    margin-bottom: 5px;
}

.adit-call-record-header .adit-call-record-name {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    line-height: 1.2;
}

/* Direction and Result Badges */
.adit-direction-incoming {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
}

.adit-direction-outgoing {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
}

.adit-result-answered {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
}

.adit-result-busy {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: white;
}

.adit-result-no-answer {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
}

.adit-result-failed {
    background: linear-gradient(135deg, #7c2d12, #991b1b);
    color: white;
}

/* Phone Number Styling */
.adit-phone-number {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #e0e7ff, #c7d2fe);
    color: #4338ca;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Courier New', monospace;
}

/* Duration Badge */
.adit-duration-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3);
}

/* Action Badge */
.adit-action-badge {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #06b6d4, #0891b2);
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Recording Card Styling */
.adit-recording-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.adit-recording-card .adit-card-header {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.adit-recording-id {
    font-family: 'Courier New', monospace;
    font-weight: 600;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
}

.adit-recording-type-badge {
    background: linear-gradient(135deg, #a855f7, #9333ea);
    color: white;
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.adit-uri-display {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(0, 0, 0, 0.05);
    padding: 6px 10px;
    border-radius: 8px;
    font-family: 'Courier New', monospace;
    font-size: 12px;
    color: #4a5568;
    word-break: break-all;
}

/* Notice Message */
.adit-notice-message {
    background: linear-gradient(135deg, #dbeafe, #bfdbfe);
    border: 1px solid #93c5fd;
    color: #1e40af;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500;
}

/* Actions Section */
.adit-actions-section {
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    padding-top: 20px;
}

.adit-actions-container {
    display: flex;
    gap: 15px;
    justify-content: center;
    flex-wrap: wrap;
}

.adit-edit-btn {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: white;
}

.adit-edit-btn:hover {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: white;
}

.adit-back-btn {
    background: linear-gradient(135deg, #6b7280, #4b5563);
    color: white;
}

.adit-back-btn:hover {
    background: linear-gradient(135deg, #4b5563, #374151);
    color: white;
}

/* Responsive adjustments for call records */
@media (max-width: 768px) {
    .adit-call-record-header .adit-entity-avatar {
        width: 50px;
        height: 50px;
        font-size: 18px;
    }
    
    .adit-call-record-header .adit-call-record-name {
        font-size: 20px;
    }
    
    .adit-call-record-header .adit-call-record-id {
        font-size: 12px;
    }
    
    .adit-call-record-header .adit-entity-info {
        text-align: center;
    }
    
    .adit-phone-number {
        font-size: 12px;
        padding: 4px 8px;
    }
    
    .adit-uri-display {
        font-size: 10px;
        max-width: 200px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    
    .adit-actions-container {
        flex-direction: column;
        align-items: center;
    }
    
    .adit-action-btn {
        width: 100%;
        max-width: 200px;
    }
}

/* ===========================================
   MODERN FORMS STYLING
   =========================================== */

/* Form Headers */
.adit-form-header .adit-entity-avatar {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 24px;
    margin-right: 15px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.adit-form-subtitle {
    font-size: 14px;
    color: #ffffff;
    font-weight: 600;
    margin-bottom: 5px;
}

.adit-form-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin: 0;
    line-height: 1.2;
}

/* Form Container */
.adit-form-container {
    margin-top: 2rem;
}

.adit-form-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.85));
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.adit-form-header {
    background: linear-gradient(135deg, #f8fafc, #e2e8f0);
    padding: 30px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.adit-form-card-title {
    font-size: 20px;
    font-weight: 700;
    color: #2d3748;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.adit-form-description {
    color: #718096;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
}

.adit-form-content {
    padding: 30px;
}

/* Form Sections */
.adit-form-section {
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.adit-form-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.adit-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #4a5568;
    margin: 0 0 20px 0;
    padding: 12px 0;
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Form Groups */
.adit-form-group {
    margin-bottom: 20px;
}

.adit-form-label {
    display: block;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
    font-size: 14px;
}

.adit-form-label.required::after {
    content: " *";
    color: #e53e3e;
    font-weight: 700;
}

/* Input Containers */
.adit-input-container {
    position: relative;
    display: flex;
    align-items: center;
}

.adit-input-icon {
    position: absolute;
    left: 15px;
    color: #a0aec0;
    font-size: 14px;
    z-index: 2;
    transition: color 0.3s ease;
}

.adit-form-input {
    width: 100%;
    padding: 12px 15px 12px 45px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    color: #2d3748;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.adit-form-input:focus {
    outline: none;
    border-color: #e6dbde;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: rgba(255, 255, 255, 1);
}

.adit-form-input:focus + .adit-input-icon,
.adit-input-container:focus-within .adit-input-icon {
    color: #e6dbde;
}

.adit-form-select {
    width: 100%;
    padding: 12px 15px 12px 45px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    color: #2d3748;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    cursor: pointer;
}

.adit-form-select:focus {
    outline: none;
    border-color: #e6dbde;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: rgba(255, 255, 255, 1);
}

/* Error Messages */
.adit-error-message {
    margin-top: 8px;
    padding: 8px 12px;
    background: linear-gradient(135deg, #fed7d7, #feb2b2);
    border: 1px solid #fc8181;
    color: #c53030;
    border-radius: 6px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Form Actions */
.adit-form-actions {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
    text-align: center;
}

.adit-form-submit {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    border: none;
    padding: 15px 40px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 200px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.adit-form-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.adit-form-submit:disabled {
    background: #e2e8f0;
    color: #a0aec0;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Form Hints */
.adit-form-hint {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #718096;
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1.4;
}

/* Textarea Styling */
.adit-form-input[type="textarea"],
textarea.adit-form-input {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
    font-family: inherit;
}

/* Password Field */
.adit-form-input[type="password"] {
    letter-spacing: 2px;
}

.adit-form-input[type="password"]:placeholder-shown {
    letter-spacing: normal;
}

/* Responsive Form Design */
@media (max-width: 768px) {
    .adit-form-header {
        padding: 20px;
    }
    
    .adit-form-content {
        padding: 20px;
    }
    
    .adit-form-card-title {
        font-size: 18px;
    }
    
    .adit-section-title {
        font-size: 14px;
    }
    
    .adit-form-input,
    .adit-form-select {
        padding: 10px 12px 10px 40px;
        font-size: 14px;
    }
    
    .adit-input-icon {
        left: 12px;
        font-size: 12px;
    }
    
    .adit-form-submit {
        width: 100%;
        padding: 12px 20px;
        font-size: 14px;
    }
    
    .adit-form-hint {
        font-size: 11px;
    }
}

/* ====================================
   FILE UPLOAD SPECIFIC STYLES
   ==================================== */

/* File Upload Container */
.adit-file-upload-container {
    position: relative;
    width: 100%;
}

.adit-file-upload-area {
    border: 2px dashed #e2e8f0;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.adit-file-upload-area:hover {
    border-color: #e6dbde;
    background: rgba(102, 126, 234, 0.05);
}

.adit-file-upload-area.adit-drag-over {
    border-color: #e6dbde;
    background: rgba(102, 126, 234, 0.1);
    transform: scale(1.02);
}

.adit-file-upload-icon {
    font-size: 3rem;
    color: #a0aec0;
    margin-bottom: 1rem;
}

.adit-file-upload-area:hover .adit-file-upload-icon {
    color: #e6dbde;
    animation: bounce 1s infinite;
}

.adit-file-upload-text {
    color: #718096;
}

.adit-upload-primary {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #4a5568;
}

.adit-upload-secondary {
    font-size: 0.9rem;
    margin: 0;
    opacity: 0.8;
}

.adit-file-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* File Info Display */
.adit-file-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: rgba(102, 126, 234, 0.1);
    border: 2px solid #e6dbde;
    border-radius: 12px;
    margin-top: 0.5rem;
}

.adit-file-details {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex: 1;
}

.adit-file-details i {
    color: #e6dbde;
    font-size: 1.2rem;
}

.adit-file-name {
    font-weight: 600;
    color: #2d3748;
}

.adit-file-size {
    font-size: 0.9rem;
    color: #718096;
    margin-left: 0.5rem;
}

.adit-file-remove {
    background: #e53e3e;
    color: white;
    border: none;
    border-radius: 50%;
    width: 32px;
    height: 32px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.adit-file-remove:hover {
    background: #c53030;
    transform: scale(1.1);
}

.adit-file-restrictions {
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #718096;
    font-size: 0.85rem;
}

/* Upload Progress */
.adit-upload-progress {
    margin: 1.5rem 0;
    padding: 1rem;
    background: rgba(102, 126, 234, 0.05);
    border-radius: 12px;
    border: 1px solid rgba(102, 126, 234, 0.2);
}

.adit-progress-bar {
    width: 100%;
    height: 8px;
    background: rgba(226, 232, 240, 0.8);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.75rem;
}

.adit-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #e6dbde 0%, #764ba2 100%);
    border-radius: 4px;
    transition: width 0.3s ease;
    width: 0%;
}

.adit-progress-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.9rem;
    color: #4a5568;
}

/* Upload Button Variant */
.adit-upload-btn {
    background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
    box-shadow: 0 4px 12px rgba(72, 187, 120, 0.3);
}

.adit-upload-btn:hover {
    box-shadow: 0 6px 20px rgba(72, 187, 120, 0.4);
}

/* Status Badge Variants */
.adit-status-edit {
    background: linear-gradient(135deg, #f6ad55 0%, #ed8936 100%);
    color: white;
}

.adit-status-create {
    background: linear-gradient(135deg, #48bb78 0%, #38a169 100%);
    color: white;
}

.adit-status-upload {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
}

/* Image Preview Styles */
.adit-image-preview {
    position: relative;
    width: 200px;
    height: 200px;
    border: 2px dashed #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.adit-current-logo,
.adit-preview-logo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.adit-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: white;
    padding: 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
}

.adit-empty-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #a0aec0;
    font-size: 0.9rem;
    text-align: center;
}

.adit-empty-preview i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    opacity: 0.6;
}

/* Form Error Styles */
.adit-form-errors {
    background: rgba(254, 226, 226, 0.9);
    border: 2px solid #feb2b2;
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 2rem;
    backdrop-filter: blur(10px);
}

.adit-error-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: #c53030;
}

.adit-error-header h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.adit-error-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.adit-error-list li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    color: #c53030;
    font-size: 0.95rem;
}

.adit-error-list li:not(:last-child) {
    border-bottom: 1px solid rgba(197, 48, 48, 0.2);
}

/* Modern Table Styles */
.adit-table-container {
    background: rgba(255, 255, 255, 0.9);
    border-radius: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.adit-modern-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.adit-modern-table thead tr {
    color: white;
}

.adit-table-row {
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
}

.adit-table-row:hover {
    background: rgba(102, 126, 234, 0.05);
}

.adit-table-cell {
    padding: 1rem 0.75rem;
    vertical-align: middle;
    font-size: 0.70rem;
    color: #4a5568;
}

.adit-table-center {
    text-align: center;
}

.adit-table-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

.adit-id-badge {
  background: linear-gradient(135deg, rgba(44, 15, 31, 0.15) 0%, rgba(116, 25, 51, 0.16) 100%);
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.8rem;
  border-radius: 20px;
  font-weight: 600;
  font-size: 0.85rem;
  border: 1px solid rgb(63, 21, 31);
}

.adit-id-badge::before {
    content: '\f06e'; /* FontAwesome eye icon */
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    opacity: 0;
    transform: translateX(-10px);
    transition: all 0.3s ease;
}

.adit-id-badge:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 20px rgb(121, 26, 54);
    text-decoration: none;
    color: #3351A6;
}

.adit-id-badge:hover::before {
    opacity: 1;
    transform: translateX(0);
}

.adit-id-badge:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.adit-table-user,
.adit-table-contact {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.adit-table-user i,
.adit-table-contact i {
    color: #a0aec0;
    font-size: 0.9rem;
}

/* Address Cell Styles */
.adit-address-cell {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    max-width: 300px;
}

.adit-address-cell i {
    color: #a0aec0;
    font-size: 0.9rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
}

.adit-address-content {
    flex: 1;
}

.adit-address-line {
    font-size: 0.85rem;
    line-height: 1.3;
    margin-bottom: 0.1rem;
    color: #4a5568;
}

.adit-address-line:last-child {
    margin-bottom: 0;
}

/* Checkbox Styles */
.adit-checkbox-container {
    position: relative;
    display: inline-block;
}

.adit-checkbox {
    position: absolute;
    cursor: pointer;
}

.adit-checkbox-label {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 2px solid #e2e8f0;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
}

.adit-checkbox-label::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
    transition: all 0.3s ease;
}

.adit-checkbox:checked + .adit-checkbox-label {
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    border-color: #e6dbde;
}

.adit-checkbox:checked + .adit-checkbox-label::after {
    opacity: 1;
}

.adit-checkbox-label:hover {
    border-color: #e6dbde;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

/* Empty State Styles */
.adit-table-empty {
    text-align: center;
    padding: 3rem 1rem;
}

.adit-empty-state {
    color: #a0aec0;
}

.adit-empty-state i {
    font-size: 3rem;
    opacity: 0.6;
}

.adit-empty-state h4 {
    margin: 0 0 0.5rem 0;
    font-size: 1.2rem;
    color: #718096;
}

.adit-empty-state p {
    margin: 0;
    font-size: 0.9rem;
}

/* Bounce Animation */
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

/* Mobile Responsive for Upload */
@media (max-width: 768px) {
    .adit-file-upload-area {
        padding: 1.5rem 1rem;
    }
    
    .adit-file-upload-icon {
        font-size: 2rem;
    }
    
    .adit-file-info {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    
    .adit-file-details {
        justify-content: center;
    }
    
    .adit-upload-primary {
        font-size: 1rem;
    }
    
    .adit-upload-secondary {
        font-size: 0.8rem;
    }
}

.adit-table-header {
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 0.75rem;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #751f32 !important;
    background-color: #e8dade !important;
    background: #e8dade !important;
    background-image: none !important;
    /* Sobrescribir las variables CSS de Bootstrap 5 */
    --bs-table-bg: #e8dade !important;
    --bs-table-color: #751f32 !important;
    --bs-table-accent-bg: #e8dade !important;
    --bs-table-color-state: #751f32 !important;
    --bs-table-color-type: #751f32 !important;
    --bs-table-bg-state: #e8dade !important;
    --bs-table-bg-type: #e8dade !important;
}

/* Específico para los th dentro del header */
.adit-table-header th {
    background-color: #e8dade !important;
    background: #e8dade !important;
    color: #751f32 !important;
    box-shadow: inset 0 0 0 9999px #e8dade !important;
    /* Aplicar también las variables CSS a cada celda */
    --bs-table-bg: #e8dade !important;
    --bs-table-color: #751f32 !important;
    --bs-table-accent-bg: #e8dade !important;
}

/* Estilos específicos para estudios y festivos */
.adit-checkbox-main {
    margin-top: 5px;
    transform: scale(1.2);
}

.adit-efficiency-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.8rem;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #2d3748;
    gap: 0.3rem;
    border: 1px solid rgba(0,0,0,0.1);
}

.adit-download-btn {
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.6rem;
    border-radius: 16px;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 500;
    gap: 0.3rem;
    transition: all 0.3s ease;
}

.adit-download-btn:hover {
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

/* Mejoras para checkboxes */
.adit-checkbox-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.adit-checkbox {
    transform: scale(1.3);
    cursor: pointer;
}

/* Mejoras para festivos */
.adit-table-user .fa-star {
    color: #f6ad55;
}

/* Section Actions */
.adit-section-actions {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
    text-align: center;
}

/* Edit Contact Button */
.adit-edit-contact-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.6rem;
    border-radius: 6px;
    background: linear-gradient(135deg, #7b1b37 0%, #2b0e1e 100%);
    color: white;
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 500;
    transition: all 0.3s ease;
    border: none;
}

.adit-edit-contact-btn:hover {
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
    background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 100%);
}

/* Table Center Alignment */
.adit-table-center {
    text-align: center;
    vertical-align: middle;
}

/* ===== MEJORAS AVANZADAS PARA CHECKBOXES ===== */

/* Checkbox mejorado con animaciones y estados */
.adit-checkbox-container {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    cursor: pointer;
    padding: 2px;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.adit-checkbox-container:hover {
    background-color: rgba(107, 15, 42, 0.1);
    transform: scale(1.05);
}

.adit-checkbox {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
    margin: 0;
    z-index: 1;
}

.adit-checkmark {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border: 2px solid #3351A6;
    border-radius: 6px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.adit-checkmark:hover {
    border-color: #3351A6;
    box-shadow: 0 4px 8px rgba(107, 15, 42, 0.2);
    transform: translateY(-1px);
}

/* Estado checked */
.adit-checkbox:checked + .adit-checkmark {
    background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
    border-color: #3351A6;
    box-shadow: 0 4px 12px rgba(107, 15, 42, 0.3);
}

.adit-checkbox:checked + .adit-checkmark:hover {
    background: linear-gradient(135deg, #3351A6 0%, #A91B47 100%);
    border-color: #3351A6;
    transform: translateY(-1px) scale(1.05);
}

/* Checkmark icon */
.adit-checkmark:after {
    content: "";
    position: absolute;
    display: none;
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    transition: all 0.2s ease;
}

.adit-checkbox:checked + .adit-checkmark:after {
    display: block;
    animation: checkmark-appear 0.3s ease;
}

/* Animación para el checkmark */
@keyframes checkmark-appear {
    0% {
        opacity: 0;
        transform: rotate(45deg) scale(0.5);
    }
    50% {
        transform: rotate(45deg) scale(1.2);
    }
    100% {
        opacity: 1;
        transform: rotate(45deg) scale(1);
    }
}

/* Estado focus para accesibilidad */
.adit-checkbox:focus + .adit-checkmark {
    outline: 2px solid rgba(107, 15, 42, 0.5);
    outline-offset: 2px;
}

/* Label oculto para accesibilidad */
.adit-checkbox-label.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Estado disabled */
.adit-checkbox:disabled + .adit-checkmark {
    background: #f5f5f5;
    border-color: #ddd;
    cursor: not-allowed;
    opacity: 0.6;
}

.adit-checkbox-container:has(.adit-checkbox:disabled) {
    cursor: not-allowed;
}

.adit-checkbox-container:has(.adit-checkbox:disabled):hover {
    background-color: transparent;
    transform: none;
}

/* Mejoras para td que contiene el checkbox */
.adit-td-select {
    padding: 16px 12px !important;
    text-align: center;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease;
}

.adit-td-select:hover {
    background-color: rgba(107, 15, 42, 0.05);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .adit-checkbox-container {
        width: 20px;
        height: 20px;
    }
    
    .adit-checkmark {
        width: 16px;
        height: 16px;
    }
    
    .adit-checkmark:after {
        left: 4px;
        top: 1px;
        width: 4px;
        height: 8px;
    }
}

/* ===== ESTILOS PARA TABLA DE NOTIFICACIONES ===== */

/* Tabla de notificaciones mejorada */
.adit-notification-table {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin-bottom: 24px;
    border: 1px solid #e8ecef;
}

.adit-notification-table table {
    margin-bottom: 0;
    font-size: 13px;
    border-collapse: separate;
    border-spacing: 0;
}

.adit-notification-table thead {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.adit-notification-table th {
    padding: 20px 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
    border: none;
    text-align: center;
    vertical-align: middle;
    min-height: 90px;
    position: relative;
}

.adit-notification-table td {
    padding: 12px 8px;
    border-bottom: 1px solid #f0f4f8;
    vertical-align: middle;
    transition: background-color 0.3s ease;
}

.adit-notification-table tbody tr:hover {
    background-color: #f8fafc;
}

.adit-notification-table tbody tr:last-child td {
    border-bottom: none;
}

/* Mejoras para inputs y selects en tabla de notificaciones */
.adit-notification-input,
.adit-notification-select {
    width: 100%;
    padding: 8px 12px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 12px;
    transition: all 0.3s ease;
    background-color: #ffffff;
    color: #2d3748;
    margin-bottom: 6px;
}

.adit-notification-input:focus,
.adit-notification-select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

.adit-notification-input::placeholder {
    color: #a0aec0;
    font-style: italic;
}

/* Select con flecha personalizada */
.adit-notification-select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
    padding-right: 32px;
    cursor: pointer;
}

.adit-notification-select:hover {
    border-color: #a0aec0;
    background-color: #f7fafc;
}

.adit-notification-select option {
    padding: 8px 12px;
    background-color: #ffffff;
    color: #2d3748;
}

.adit-notification-select option:hover {
    background-color: #edf2f7;
}

/* Placeholder para selects vacíos */
.adit-notification-select option:first-child {
    color: #a0aec0;
    font-style: italic;
}

/* Textarea mejorado */
.adit-notification-textarea {
    width: 100%;
    padding: 8px 12px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 12px;
    transition: all 0.3s ease;
    background-color: #ffffff;
    color: #2d3748;
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
}

.adit-notification-textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.adit-notification-textarea::placeholder {
    color: #a0aec0;
    font-style: italic;
}

/* Botones de acción mejorados para tabla de notificaciones */
.adit-notification-btn {
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    text-decoration: none;
}

.adit-notification-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.adit-notification-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

.adit-notification-btn.adit-danger {
    background: linear-gradient(135deg, #fc8181 0%, #e53e3e 100%);
    color: white;
}

.adit-notification-btn.adit-warning {
    background: linear-gradient(135deg, #f6ad55 0%, #ed8936 100%);
    color: white;
}

.adit-notification-btn.adit-info {
    background: linear-gradient(135deg, #63b3ed 0%, #3182ce 100%);
    color: white;
}

.adit-notification-btn.adit-success {
    background: linear-gradient(135deg, #68d391 0%, #38a169 100%);
    color: white;
}

.adit-notification-btn.adit-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 10px 20px;
    font-size: 13px;
}

/* Card icon styles */
.adit-card-icon.adit-primary {
	background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
	color: white;
}

.adit-card-icon.adit-info {
	background: linear-gradient(135deg, #3182ce 0%, #2563eb 100%);
	color: white;
}

.adit-card-icon.adit-warning {
	background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
	color: white;
}

.adit-card-icon.adit-success {
	background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
	color: white;
}

/* Text color utilities */
.adit-text-primary {
	color: #3351A6 !important;
}

.adit-text-info {
	color: #2563eb !important;
}

.adit-text-warning {
	color: #d97706 !important;
}

.adit-text-success {
	color: #16a34a !important;
}

/* Badges para estudios finalizados */
.adit-badge {
	display: inline-block;
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	border-radius: 4px;
	border: 1px solid transparent;
}

.adit-badge-info {
	background-color: rgba(59, 130, 246, 0.1);
	color: #2563eb;
	border-color: rgba(59, 130, 246, 0.3);
}

.adit-badge-success {
	background-color: rgba(34, 197, 94, 0.1);
	color: #16a34a;
	border-color: rgba(34, 197, 94, 0.3);
}

/* Alertas modernizadas */
.adit-alert {
	padding: 16px;
	border-radius: 8px;
	border: 1px solid transparent;
	margin-bottom: 16px;
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.adit-alert-warning {
	background-color: rgba(245, 158, 11, 0.1);
	color: #d97706;
	border-color: rgba(245, 158, 11, 0.3);
}

/* Form groups modernizados */
.adit-form-group {
	margin-bottom: 20px;
}

.adit-form-label {
	display: block;
	margin-bottom: 8px;
	color: #374151;
	font-weight: 600;
	font-size: 14px;
}

.adit-form-help {
	margin-top: 4px;
	font-size: 12px;
	color: #6b7280;
}

/* Info display para contactos */
.adit-info-display {
	background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
	border-radius: 8px;
	padding: 16px;
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 28px;
}

.adit-info-icon {
	width: 40px;
	height: 40px;
	background: linear-gradient(135deg, #3182ce 0%, #2563eb 100%);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 18px;
	flex-shrink: 0;
}

.adit-info-content {
	flex: 1;
}

.adit-info-title {
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	margin: 0 0 4px 0;
}

.adit-info-text {
	font-size: 12px;
	color: #6b7280;
	margin: 0;
}

/* Email actions */
.adit-email-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 28px;
}

.adit-btn-outline {
	background: transparent;
	border: 2px solid #e2e8f0;
	color: #4a5568;
	font-size: 12px;
	padding: 8px 16px;
	border-radius: 6px;
	transition: all 0.2s ease;
}

.adit-btn-outline:hover {
	border-color: #3182ce;
	color: #3182ce;
	background: rgba(49, 130, 206, 0.05);
}

/* Alertas mejoradas */
.adit-alert {
	padding: 16px;
	border-radius: 8px;
	border: 1px solid transparent;
	margin-bottom: 16px;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.adit-alert-icon {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	flex-shrink: 0;
	font-size: 14px;
}

.adit-alert-content {
	flex: 1;
}

.adit-alert-title {
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 4px 0;
}

.adit-alert-text {
	font-size: 13px;
	margin: 0;
	line-height: 1.4;
}

.adit-alert-warning {
	background-color: rgba(245, 158, 11, 0.1);
	color: #d97706;
	border-color: rgba(245, 158, 11, 0.3);
}

.adit-alert-warning .adit-alert-icon {
	background-color: rgba(245, 158, 11, 0.2);
	color: #d97706;
}

.adit-alert-success {
	background-color: rgba(34, 197, 94, 0.1);
	color: #16a34a;
	border-color: rgba(34, 197, 94, 0.3);
}

.adit-alert-success .adit-alert-icon {
	background-color: rgba(34, 197, 94, 0.2);
	color: #16a34a;
}

.adit-alert-error {
	background-color: rgba(239, 68, 68, 0.1);
	color: #dc2626;
	border-color: rgba(239, 68, 68, 0.3);
}

.adit-alert-error .adit-alert-icon {
	background-color: rgba(239, 68, 68, 0.2);
	color: #dc2626;
}

/* Form groups en headers */
.adit-notification-form-group {
    margin-bottom: 0;
    padding: 8px 4px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    height: 100%;
    justify-content: center;
    min-height: 75px;
}

.adit-notification-form-label {
    display: block;
    margin-bottom: 8px;
    color: black;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
    line-height: 1.2;
    background: rgba(255,255,255,0.1);
    padding: 6px 10px;
    border-radius: 4px;
    border: 1px solid rgba(255,255,255,0.2);
    min-height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Header select específico */
.adit-notification-table thead .adit-notification-select {
    width: 100%;
    padding: 6px 28px 6px 8px;
    border-radius: 6px;
    font-size: 11px;
    background-color: rgba(230, 219, 222, 0.40);
    color: #2d3748;
    margin-top: 4px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 6px center;
    background-size: 14px;
}

.adit-notification-table thead .adit-notification-select:focus {
    border-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.2);
    background-color: #ffffff;
}

.adit-notification-table thead .adit-notification-select option:first-child {
    color: #a0aec0;
    font-style: italic;
    font-size: 10px;
}

/* Mejoras para th con form groups */
.adit-notification-table th {
    padding: 12px 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 11px;
    border: none;
    text-align: center;
    vertical-align: middle;
    position: relative;
    min-height: 80px;
}

/* Headers sin form groups */
.adit-notification-table th:not(:has(.adit-notification-form-group)) {
    padding: 16px 12px;
    font-size: 12px;
    line-height: 1.4;
}

/* Responsividad */
@media (max-width: 1200px) {
    .adit-notification-table {
        font-size: 11px;
    }
    
    .adit-notification-input,
    .adit-notification-select,
    .adit-notification-textarea {
        font-size: 11px;
        padding: 6px 8px;
    }
    
    .adit-notification-btn {
        padding: 6px 8px;
        min-width: 32px;
        height: 32px;
        font-size: 11px;
    }
}

@media (max-width: 768px) {
    .adit-notification-table {
        overflow-x: auto;
    }
    
    .adit-notification-table th,
    .adit-notification-table td {
        min-width: 120px;
        padding: 8px 6px;
    }
}

/* Mejoras adicionales para la tabla de notificaciones */

/* Estado focused para containers */
.focused {
    position: relative;
}

.focused::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 8px;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    pointer-events: none;
    z-index: 1;
}

/* Contador de caracteres */
.char-counter {
    font-size: 10px;
    color: #a0aec0;
    text-align: right;
    margin-top: 2px;
    transition: color 0.3s ease;
}

/* Estados de validación */
.adit-notification-input.valid,
.adit-notification-select.valid {
    border-color: #38a169;
    box-shadow: 0 0 0 3px rgba(56, 161, 105, 0.1);
}

.adit-notification-input.warning,
.adit-notification-select.warning {
    border-color: #ed8936;
    box-shadow: 0 0 0 3px rgba(237, 137, 54, 0.1);
}

/* Animaciones para cambios de estado */
.adit-notification-input,
.adit-notification-select,
.adit-notification-textarea {
    transition: all 0.3s ease, background-color 0.3s ease;
}

/* Mejoras para la tabla en dispositivos táctiles */
@media (hover: none) {
    .adit-notification-btn:hover {
        transform: none;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
}

/* Indicadores de progreso de completado */
.adit-notification-table tr.completed {
    background-color: #f0fff4;
}

.adit-notification-table tr.in-progress {
    background-color: #fefcbf;
}

/* Estilos para loading states */
.adit-notification-btn.loading {
    opacity: 0.7;
    cursor: not-allowed;
}

.adit-notification-btn.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin-top: -8px;
    margin-left: -8px;
    border: 2px solid transparent;
    border-top: 2px solid #ffffff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Mejoras para accesibilidad */
.adit-notification-table th,
.adit-notification-table td {
    position: relative;
}

.adit-notification-input:focus,
.adit-notification-select:focus,
.adit-notification-textarea:focus {
    z-index: 2;
}

/* Estilos para mensajes de error/éxito */
.notification-message {
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    margin-top: 4px;
    display: none;
}

.notification-message.success {
    background-color: #f0fff4;
    color: #38a169;
    border: 1px solid #c6f6d5;
}

.notification-message.error {
    background-color: #fed7d7;
    color: #e53e3e;
    border: 1px solid #fbb6ce;
}

/* ===== ESTILOS PARA INFORMACIÓN DEL CLIENTE ===== */
.adit-client-info-card {
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.adit-client-header {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.adit-client-logo {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: var(--adit-gradient-accent);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24px;
}

.adit-client-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 12px;
}

.adit-client-details {
    flex: 1;
}

.adit-client-name {
    font-size: 18px;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 4px 0;
}

.adit-client-business-name {
    font-size: 14px;
    color: #4a5568;
    margin: 0 0 8px 0;
    font-style: italic;
}

.adit-client-meta {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.adit-client-rfc {
    font-size: 12px;
    color: #2d3748;
    background: #f7fafc;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.adit-client-status {
    font-size: 12px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.adit-client-status.adit-status-activo {
    background: #f0fff4;
    color: #38a169;
    border: 1px solid #c6f6d5;
}

.adit-client-status.adit-status-inactivo {
    background: #fed7d7;
    color: #e53e3e;
    border: 1px solid #fbb6ce;
}

.adit-client-contact-summary {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 16px;
}

.adit-contact-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 13px;
    color: #4a5568;
}

.adit-contact-item:last-child {
    margin-bottom: 0;
}

.adit-contact-item i {
    width: 16px;
    color: #6b7280;
}

.adit-address-text {
    flex: 1;
    word-break: break-word;
}

/* ===== ESTILOS PARA LISTA DE CONTACTOS ===== */
.adit-contacts-list {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    padding: 20px;
}

.adit-list-title {
    font-size: 16px;
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 16px;
    display: flex;
    align-items: center;
}

.adit-contacts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.adit-contact-card {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.adit-contact-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-color: var(--adit-primary-red);
}

.adit-contact-avatar {
    width: 40px;
    height: 40px;
    background: var(--adit-gradient-accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 16px;
    margin-bottom: 12px;
}

.adit-contact-name {
    font-size: 14px;
    font-weight: 600;
    color: #2d3748;
    margin: 0 0 6px 0;
}

.adit-contact-email,
.adit-contact-phone,
.adit-contact-mobile {
    font-size: 12px;
    color: #4a5568;
    margin: 4px 0;
    display: flex;
    align-items: center;
}

.adit-contact-actions {
    margin-top: 12px;
    text-align: center;
}

.adit-contact-select-btn {
    background: var(--adit-gradient-accent);
    color: white;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
}

.adit-contact-select-btn:hover {
    background: var(--adit-primary-red);
    transform: translateY(-1px);
}

/* ===== INFORMACIÓN DEL CONTACTO SELECCIONADO ===== */
.adit-contact-info-display {
    min-height: 120px;
}

.adit-contact-details {
    font-size: 13px;
    line-height: 1.5;
}

.adit-contact-details .contact-detail {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
    color: #4a5568;
}

.adit-contact-details .contact-detail i {
    width: 14px;
    color: #6b7280;
}

.adit-contact-details .contact-name {
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 8px;
}

/* ===== BOTÓN PARA RECARGAR CONTACTOS ===== */
.adit-reload-contacts-btn {
    background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    width: 100%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.adit-reload-contacts-btn:hover {
    background: linear-gradient(135deg, #3182ce 0%, #2c5282 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.adit-reload-contacts-btn:active {
    transform: translateY(0);
}

.notification-message.warning {
    background-color: #fefcbf;
    color: #d69e2e;
    border: 1px solid #f6e05e;
}

/* ===== ESTILOS PARA CHECKBOX EN HEADER DE TABLA ===== */
.adit-th-select {
    width: 50px;
    text-align: center;
    padding: 12px 8px !important;
}

.adit-th-select .adit-checkbox-container {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.adit-th-select .adit-checkbox {
    transform: scale(1.1);
}

.adit-th-select .adit-checkmark {
    width: 20px;
    height: 20px;
}

.adit-th-select .adit-checkmark:after {
    left: 7px;
    top: 3px;
    width: 6px;
    height: 10px;
}

/* Estilos para los checkboxes de candidatos en filas */
.adit-td-select {
    width: 50px;
    text-align: center;
    padding: 8px !important;
}

.adit-td-select .adit-checkbox-container {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Efectos hover para mejorar la UX */
.adit-th-select:hover .adit-checkmark,
.adit-td-select:hover .adit-checkmark {
    border-color: var(--adit-primary-red);
    background-color: rgba(139, 21, 56, 0.1);
}

/* Estado indeterminate para checkbox del header */
.adit-th-select input[type="checkbox"]:indeterminate + .adit-checkmark {
    background-color: var(--adit-primary-red);
    border-color: var(--adit-primary-red);
}

.adit-th-select input[type="checkbox"]:indeterminate + .adit-checkmark:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 9px;
    width: 8px;
    height: 2px;
    background: white;
    border-radius: 1px;
}

/* Mensaje temporal de selección */
#temp-selection-message {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

#temp-selection-message .fa {
    font-size: 16px;
}

/* ===== ICONOS DE INPUT CORREGIDOS ===== */
.adit-input-icon {
    position: absolute !important;
    left: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #6b7280 !important;
    font-size: 16px !important;
    z-index: 2 !important;
    transition: color 0.3s ease !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    align-items: unset !important;
    justify-content: unset !important;
    border: none !important;
    font-weight: 900 !important;
    font-family: "Font Awesome 6 Free" !important;
}

.adit-input-container:focus-within .adit-input-icon {
    color: var(--adit-primary-red) !important;
}

.adit-input-container.adit-input-error .adit-input-icon {
    color: #f56565 !important;
}

.adit-input-container.adit-input-success .adit-input-icon {
    color: #48bb78 !important;
}

/* Ajustar padding del input para dejar espacio al icono */
.adit-form-input {
    padding-left: 2.75rem !important;
}

.adit-form-select {
    padding-left: 2.75rem !important;
}

/* Asegurar que Font Awesome funcione correctamente */
.adit-input-icon.fas,
.adit-input-icon.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.adit-input-icon.far,
.adit-input-icon.fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.adit-input-icon.fab,
.adit-input-icon.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Corregir cualquier conflicto de estilos */
.adit-input-container .fas,
.adit-input-container .fa-solid {
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    line-height: 1 !important;
    text-rendering: auto !important;
}

/* Headers de sección mejorados */
.adit-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.5rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #e2e8f0;
}

.adit-section-badge {
    background: linear-gradient(135deg, #4299e1 0%, #3182ce 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.adit-section-badge.adit-required {
    background: linear-gradient(135deg, #f56565 0%, #e53e3e 100%);
}

/* Contenedores de input mejorados */
.adit-input-container {
    position: relative;
    transition: all 0.3s ease;
}

.adit-input-container.adit-input-readonly {
    background: #f8f9fa;
    border-radius: 8px;
}

.adit-input-container.adit-input-error {
    transform: translateX(2px);
}

.adit-input-container.adit-input-error .adit-form-input {
    border-color: #f56565;
    box-shadow: 0 0 0 3px rgba(245, 101, 101, 0.1);
}

.adit-input-container.adit-input-success .adit-form-input {
    border-color: #48bb78;
    box-shadow: 0 0 0 3px rgba(72, 187, 120, 0.1);
}

.adit-input-status {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #a0aec0;
    font-size: 16px;
    z-index: 3;
}

.adit-input-status.adit-status-success {
    color: #48bb78;
}

.adit-input-status.adit-status-error {
    color: #f56565;
}

/* Feedback de validación */
.adit-field-feedback {
    margin-top: 0.5rem;
    min-height: 20px;
    font-size: 12px;
}

.adit-feedback-success {
    color: #48bb78;
    display: flex;
    align-items: center;
    gap: 6px;
}

.adit-feedback-error {
    color: #f56565;
    display: flex;
    align-items: center;
    gap: 6px;
    animation: shake 0.3s ease-in-out;
}

.adit-rfc-help {
    color: #718096;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-2px); }
    75% { transform: translateX(2px); }
}

/* Upload de archivos mejorado */
.adit-file-upload-area {
    border: 2px dashed #cbd5e0;
    border-radius: 12px;
    padding: 2rem;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    background: #f7fafc;
}

.adit-file-upload-area:hover {
    border-color: var(--adit-primary-red);
    background: rgba(139, 21, 56, 0.05);
}

.adit-file-upload-area.adit-drag-over {
    border-color: var(--adit-primary-red);
    background: rgba(139, 21, 56, 0.1);
    transform: scale(1.02);
}

.adit-file-upload-icon {
    font-size: 3rem;
    color: #a0aec0;
    margin-bottom: 1rem;
}

.adit-file-upload-area.adit-drag-over .adit-file-upload-icon {
    color: var(--adit-primary-red);
}

.adit-upload-primary {
    font-size: 16px;
    font-weight: 500;
    color: #2d3748;
    margin: 0 0 0.5rem 0;
}

.adit-upload-secondary {
    font-size: 14px;
    color: #718096;
    margin: 0;
}

/* Progreso de upload */
.adit-upload-progress {
    margin-top: 1rem;
}

.adit-progress-bar {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 0.5rem;
}

.adit-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--adit-primary-red) 0%, var(--adit-primary-pink) 100%);
    transition: width 0.3s ease;
    width: 0%;
}

.adit-progress-text {
    font-size: 12px;
    color: #718096;
    font-weight: 500;
}

/* Preview de imágenes mejorado */
.adit-image-preview {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 1;
    background: #f7fafc;
    display: flex;
    align-items: center;
    justify-content: center;
}

.adit-current-logo,
.adit-preview-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.adit-image-overlay {
    position: absolute;
    top: 0px;
    right: 0px;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 500;
}

.adit-empty-preview {
    text-align: center;
    color: #a0aec0;
}

.adit-empty-preview i {
    font-size: 2rem;
    margin-bottom: 0.5rem;
    display: block;
}

/* Botones de acción mejorados */
.adit-form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2rem 0;
    border-top: 1px solid #e2e8f0;
    margin-top: 2rem;
}

.adit-actions-left,
.adit-actions-right {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.adit-form-cancel {
    background: #f7fafc;
    color: #4a5568;
    border: 1px solid #e2e8f0;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
}

.adit-form-cancel:hover {
    background: #edf2f7;
    border-color: #cbd5e0;
    transform: translateY(-1px);
}

.adit-form-reset {
    background: linear-gradient(135deg, #ed8936 0%, #dd6b20 100%);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
}

.adit-form-reset:hover {
    background: linear-gradient(135deg, #dd6b20 0%, #c05621 100%);
    transform: translateY(-1px);
}

.adit-form-preview {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.2s ease;
    cursor: pointer;
}

.adit-form-preview:hover {
    background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
    transform: translateY(-1px);
}

.adit-form-submit {
    background: var(--adit-gradient-accent);
    color: white;
    border: none;
    padding: 0.75rem 2rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.2s ease;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(139, 21, 56, 0.3);
}

.adit-form-submit:hover {
    background: linear-gradient(135deg, #1F77FA 0%, #373A46 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(139, 21, 56, 0.4);
}

.adit-form-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Información del cliente en resumen */
.adit-client-info-summary {
    background: linear-gradient(145deg, #f8f9fa 0%, #ffffff 100%);
    border-radius: 12px;
    padding: 1.5rem;
    margin-bottom: 1rem;
}

/* Responsividad */
@media (max-width: 768px) {
    .adit-form-actions {
        flex-direction: column;
        gap: 1rem;
    }
    
    .adit-actions-left,
    .adit-actions-right {
        width: 100%;
        justify-content: center;
    }
    
    .adit-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* ===== CORRECCION PARA ICONOS EN LABELS ===== */
.adit-form-label .adit-input-icon {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    margin-right: 8px !important;
    left: auto !important;
    top: auto !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    align-items: unset !important;
    justify-content: unset !important;
    border: none !important;
    z-index: auto !important;
    font-weight: 900 !important;
    font-family: "Font Awesome 6 Free" !important;
}

/* Asegurar que los iconos en las etiquetas no tengan el posicionamiento absoluto */
.adit-form-label i.fas,
.adit-form-label i.fa-solid,
.adit-form-label .fas,
.adit-form-label .fa-solid {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    margin-right: 8px !important;
    left: auto !important;
    top: auto !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.adit-form-label i.far,
.adit-form-label i.fa-regular,
.adit-form-label .far,
.adit-form-label .fa-regular {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    margin-right: 8px !important;
    left: auto !important;
    top: auto !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.adit-form-label i.fab,
.adit-form-label i.fa-brands,
.adit-form-label .fab,
.adit-form-label .fa-brands {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    margin-right: 8px !important;
    left: auto !important;
    top: auto !important;
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* ===================================
   ADIT TOOLBAR - BARRA DE HERRAMIENTAS
   ================================= */

.adit-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border: 1px solid #e3e6f0;
    border-radius: 12px;
    padding: 12px 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    flex-wrap: wrap;
    gap: 12px;
}

.adit-toolbar-left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.adit-toolbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.adit-toolbar-title {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #2d3748;
}

.adit-toolbar-title i {
    color: #3351A6;
    font-size: 18px;
}

.adit-toolbar-status {
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

/* Botones de la toolbar */
.adit-toolbar-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.adit-toolbar-btn i {
    font-size: 14px;
}

.adit-toolbar-btn:hover {
    transform: translateY(-1px);
    text-decoration: none;
}

/* Variantes de botón */
.adit-btn-primary {
    background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%);
    color: white;
}

.adit-btn-primary:hover {
    background: linear-gradient(135deg, #5a0d24 0%, #7a1230 100%);
    color: white;
    box-shadow: 0 4px 12px rgba(107, 15, 42, 0.35);
}

.adit-btn-secondary {
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%) !important;
    color: #3351A6 !important;
    border: 2px solid rgba(107, 15, 42, 0.2) !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.adit-btn-secondary:hover {
    background: linear-gradient(135deg, #3351A6 0%, #3351A6 100%) !important;
    color: #ffffff !important;
    border-color: #3351A6 !important;
    box-shadow: 0 4px 15px rgba(107, 15, 42, 0.3);
}

.adit-btn-success {
    background: rgba(34, 197, 94, 0.1);
    color: #16a34a;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.adit-btn-success:hover {
    background: #16a34a;
    color: white;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.35);
}

.adit-btn-danger {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.adit-btn-danger:hover {
    background: #dc2626;
    color: white;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.35);
}

.adit-btn-block {
    width: 100%;
    justify-content: center;
}

/* Dropdown en la toolbar */
.adit-toolbar-dropdown {
    position: relative;
    display: inline-block;
}

.adit-dropdown-arrow {
    font-size: 10px !important;
    margin-left: 4px;
    transition: transform 0.2s ease;
}

.adit-toolbar-dropdown.open .adit-dropdown-arrow,
.adit-toolbar-dropdown .adit-toolbar-btn[aria-expanded="true"] .adit-dropdown-arrow {
    transform: rotate(180deg);
}

.adit-toolbar-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 300px;
    background: white;
    border: 1px solid #e3e6f0;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    z-index: 1050;
    margin-top: 8px;
    padding: 0;
    display: none;
}

.adit-toolbar-dropdown.open .adit-toolbar-dropdown-menu,
.adit-toolbar-dropdown-menu.show {
    display: block;
}

.adit-dropdown-form {
    padding: 20px;
}

.adit-dropdown-title {
    margin: 0 0 16px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #e3e6f0;
    font-size: 15px;
    font-weight: 600;
    color: #2d3748;
    display: flex;
    align-items: center;
    gap: 8px;
}

.adit-dropdown-title i {
    color: #3351A6;
}

.adit-dropdown-field {
    margin-bottom: 14px;
}

.adit-dropdown-field label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #4a5568;
    margin-bottom: 6px;
}

.adit-dropdown-field label i {
    margin-right: 6px;
    color: #718096;
}

.adit-dropdown-field .form-control {
    border-radius: 6px;
    border: 1px solid #d1d5db;
    padding: 10px 12px;
    font-size: 14px;
}

.adit-dropdown-field .form-control:focus {
    border-color: #3351A6;
    box-shadow: 0 0 0 3px rgba(107, 15, 42, 0.1);
}

.adit-dropdown-field .input-group-addon {
    background: #f3f4f6;
    border: 1px solid #d1d5db;
    border-right: none;
    border-radius: 6px 0 0 6px;
    color: #3351A6;
}

/* Alertas container */
.adit-alerts-container {
    margin-bottom: 16px;
}

/* Header compacto */
.adit-header-compact {
    padding: 20px 24px;
}

.adit-header-compact .adit-header-main {
    margin-bottom: 0;
}

/* Sidebar back link */
.adit-sidebar-back-link {
    color: #3351A6 !important;
    font-weight: 600;
}

.adit-sidebar-back-link:hover {
    background: rgba(107, 15, 42, 0.1) !important;
}

.adit-sidebar-back-link i {
    margin-right: 8px;
}

/* Responsive */
@media (max-width: 992px) {
    .adit-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    
    .adit-toolbar-left,
    .adit-toolbar-right {
        justify-content: center;
    }
    
    .adit-toolbar-btn span {
        display: none;
    }
    
    .adit-toolbar-btn {
        padding: 10px 12px;
    }
    
    .adit-toolbar-dropdown-menu {
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        right: auto;
        width: 90%;
        max-width: 350px;
    }
}

@media (max-width: 576px) {
    .adit-toolbar-title span {
        display: none;
    }
    
    .adit-toolbar-status {
        font-size: 11px;
        padding: 3px 8px;
    }
}
