.elementor-2733 .elementor-element.elementor-element-a0e0c0d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-6b7fb2a *//* ==================== ESTILOS MÓDULO 3 ADMIN ACTUALIZADOS ==================== */
.modulo-admin-ieas {
  max-width: 1100px; /* Aumentado para mejor visualización */
  margin: 0 auto;
  padding: 25px;
  font-family: 'Arial', sans-serif;
  background: #ffffff;
  border-radius: 15px;
  border: 2px solid #008542;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Pestañas de Navegación */
.tabs-admin {
  display: flex;
  border-bottom: 2px solid #008542;
  margin-bottom: 25px;
  background: #f8fdf9;
  border-radius: 10px 10px 0 0;
  padding: 0 15px;
  flex-wrap: wrap;
}

.tab-btn {
  padding: 15px 25px;
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  font-weight: 600;
  color: #555;
  transition: all 0.3s ease;
  font-size: 16px;
  border-radius: 5px 5px 0 0;
  white-space: nowrap;
}

.tab-btn:hover {
  background: #e9ecef;
  color: #008542;
}

.tab-btn.active {
  background: white;
  color: #008542;
  border-bottom-color: #008542;
}

/* Contenido de Pestañas */
.tab-content {
  display: none;
  padding: 25px;
  background: white;
  border-radius: 0 0 10px 10px;
}

.tab-content.active {
  display: block;
}

.tab-content h3 {
  color: #006738;
  border-bottom: 2px solid #008542;
  padding-bottom: 12px;
  margin-bottom: 25px;
  font-size: 22px;
}

/* Formularios y Campos - AJUSTADOS */
.campo-grupo {
  margin-bottom: 18px;
}

.campo-grupo label {
  display: block;
  margin-bottom: 6px; /* Reducido */
  font-weight: 600;
  color: #006738;
  font-size: 14px; /* Reducido */
}

.campo-grupo input,
.campo-grupo select,
.campo-grupo textarea {
  width: 100%;
  padding: 10px 12px; /* Reducido */
  border: 1.5px solid #ccc;
  border-radius: 6px; /* Reducido */
  font-size: 14px; /* Reducido */
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

.campo-grupo input:focus,
.campo-grupo select:focus,
.campo-grupo textarea:focus {
  outline: none;
  border-color: #008542;
  box-shadow: 0 0 0 2px rgba(0, 133, 66, 0.2);
}

/* Botones */
.btn-buscar, .btn-actualizar, .btn-agregar, .btn-excel, .btn-pdf {
  padding: 12px 20px; /* Reducido */
  background: #008542;
  color: white;
  border: none;
  border-radius: 6px; /* Reducido */
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s ease, transform 0.2s ease;
  font-size: 14px; /* Reducido */
}

.btn-buscar:hover, .btn-actualizar:hover, .btn-agregar:hover {
  background: #006738;
  transform: translateY(-2px);
}

.btn-excel {
  background: #217346;
}

.btn-excel:hover {
  background: #1a5c38;
  transform: translateY(-2px);
}

.btn-pdf {
  background: #dc3545;
}

.btn-pdf:hover {
  background: #c82333;
  transform: translateY(-2px);
}

.btn-eliminar {
  padding: 6px 12px;
  background: #dc3545;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  transition: background 0.3s ease;
}

.btn-eliminar:hover {
  background: #c82333;
}

/* Búsqueda */
.busqueda-cita {
  display: flex;
  gap: 12px; /* Reducido */
  align-items: end;
  margin-bottom: 20px;
  padding: 18px; /* Reducido */
  background: #f8fdf9;
  border-radius: 8px; /* Reducido */
  border: 1px solid #e9ecef;
}

.busqueda-cita .campo-grupo {
  flex: 1;
  margin-bottom: 0;
}

/* Resultados y Detalles - AJUSTADOS */
.detalles-cita {
  background: #f8fdf9;
  border: 2px solid #008542;
  border-radius: 8px; /* Reducido */
  padding: 20px; /* Reducido */
  margin-bottom: 20px;
}

.detalles-cita h4 {
  color: #006738;
  border-bottom: 2px solid #008542;
  padding-bottom: 8px; /* Reducido */
  margin-bottom: 15px; /* Reducido */
  font-size: 18px; /* Reducido */
}

.info-cita p {
  margin: 10px 0; /* Reducido */
  padding: 6px 0; /* Reducido */
  border-bottom: 1px solid #e9ecef;
  font-size: 14px; /* Reducido */
  line-height: 1.5;
}

/* Campos de documento en línea */
.info-cita p strong {
  display: inline-block;
  min-width: 140px;
  color: #006738;
}

/* Cambio de Estado */
.cambio-estado {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 2px solid #008542;
}

..elementor-2733 .elementor-element.elementor-element-6b7fb2a-estado {
  display: flex;
  gap: 12px; /* Reducido */
  align-items: start;
  margin-top: 12px; /* Reducido */
  flex-wrap: wrap;
}

..elementor-2733 .elementor-element.elementor-element-6b7fb2a-estado select {
  flex: 1;
  min-width: 180px; /* Reducido */
  padding: 8px 10px; /* Reducido */
}

/* Estados */
.estado-activa { color: #28a745; font-weight: bold; }
.estado-atendida { color: #17a2b8; font-weight: bold; }
.estado-cancelada { color: #dc3545; font-weight: bold; }
.estado-no\ asistió { color: #ffc107; font-weight: bold; }

/* Historial */
.historial-container {
  margin-top: 20px;
  padding: 18px; /* Reducido */
  background: #f8f9fa;
  border-radius: 8px; /* Reducido */
  border: 1px solid #e9ecef;
}

.historial-container h4 {
  color: #006738;
  margin-bottom: 12px; /* Reducido */
  font-size: 18px; /* Reducido */
}

.item-historial {
  padding: 10px 12px; /* Reducido */
  margin: 6px 0; /* Reducido */
  background: white;
  border-left: 4px solid #008542;
  border-radius: 5px; /* Reducido */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  font-size: 13px; /* Reducido */
}

/* Bloqueos */
.tipo-bloqueo {
  margin: 12px 0; /* Reducido */
}

.tipo-bloqueo label {
  margin-right: 15px;
  cursor: pointer;
  font-size: 14px; /* Reducido */
}

.horas-lista {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); /* Reducido */
  gap: 8px; /* Reducido */
  margin-top: 8px; /* Reducido */
}

.hora-checkbox {
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  font-size: 13px; /* Reducido */
}

/* Consultar Bloqueos */
.consultar-bloqueos {
  margin-top: 25px;
  padding: 18px; /* Reducido */
  background: #f8fdf9;
  border-radius: 8px; /* Reducido */
  border: 1px solid #008542;
}

.consultar-bloqueos h4 {
  color: #006738;
  margin-bottom: 15px; /* Reducido */
  border-bottom: 2px solid #008542;
  padding-bottom: 8px; /* Reducido */
  font-size: 18px; /* Reducido */
}

.filtros-bloqueos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); /* Reducido */
  gap: 15px; /* Reducido */
  margin-bottom: 20px;
  align-items: end;
}

.lista-bloqueos-filtrados {
  max-height: 350px; /* Reducido */
  overflow-y: auto;
}

.item-bloqueo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px; /* Reducido */
  margin: 6px 0; /* Reducido */
  background: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 5px; /* Reducido */
  font-size: 13px; /* Reducido */
}

.info-bloqueo {
  flex: 1;
}

.info-bloqueo small {
  color: #666;
  font-style: italic;
}

/* Informes */
.filtros-informe {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); /* Reducido */
  gap: 18px; /* Reducido */
  margin-bottom: 25px;
  padding: 18px; /* Reducido */
  background: #f8fdf9;
  border-radius: 8px; /* Reducido */
  border: 1px solid #e9ecef;
}

.tipo-informe {
  grid-column: 1 / -1;
  margin: 10px 0;
}

.tipo-informe label {
  margin-right: 20px;
  cursor: pointer;
  font-size: 14px; /* Reducido */
}

.acciones-informe {
  display: flex;
  gap: 15px; /* Reducido */
  margin-bottom: 25px;
  justify-content: center;
}

/* Panel de Progreso */
.panel-progreso {
  background: #f8fdf9;
  border: 2px solid #008542;
  border-radius: 8px; /* Reducido */
  padding: 20px; /* Reducido */
  margin: 20px 0;
  text-align: center;
}

.panel-progreso h4 {
  color: #006738;
  margin-bottom: 12px; /* Reducido */
  font-size: 18px; /* Reducido */
}

.barra-progreso {
  width: 100%;
  height: 18px; /* Reducido */
  background: #e9ecef;
  border-radius: 9px; /* Reducido */
  overflow: hidden;
  margin: 12px 0; /* Reducido */
}

.progreso {
  height: 100%;
  background: linear-gradient(90deg, #008542, #00c853);
  border-radius: 9px; /* Reducido */
  transition: width 0.3s ease;
  width: 0%;
}

#estado-progreso {
  color: #006738;
  font-style: italic;
  margin: 0;
  font-size: 13px; /* Reducido */
}

/* Estados de carga y error */
.cargando {
  text-align: center;
  padding: 20px;
  color: #006738;
  font-style: italic;
  background: #f8fdf9;
  border-radius: 8px; /* Reducido */
  border: 1px solid #008542;
  font-size: 14px; /* Reducido */
}

.error {
  background: #f8d7da;
  color: #721c24;
  padding: 12px; /* Reducido */
  border-radius: 6px; /* Reducido */
  border: 1px solid #f5c6cb;
  text-align: center;
  font-size: 14px; /* Reducido */
}

.exito {
  background: #d4edda;
  color: #155724;
  padding: 12px; /* Reducido */
  border-radius: 6px; /* Reducido */
  border: 1px solid #c3e6cb;
  text-align: center;
  font-size: 14px; /* Reducido */
}

/* Bloqueado para estados finales */
.bloqueado {
  padding: 12px; /* Reducido */
  background: #f8f9fa;
  border-radius: 6px; /* Reducido */
  border: 1px solid #e9ecef;
  margin-top: 12px; /* Reducido */
  font-size: 14px; /* Reducido */
}

/* ==================== RESPONSIVE MEJORADO ==================== */
@media (max-width: 992px) {
  .modulo-admin-ieas {
    padding: 20px;
  }
  
  .tabs-admin {
    flex-direction: column;
  }
  
  .tab-btn {
    text-align: left;
    border-bottom: 1px solid #ddd;
    border-radius: 0;
    padding: 12px 15px;
  }
}

@media (max-width: 768px) {
  .modulo-admin-ieas {
    padding: 15px;
    margin: 10px;
    max-width: 95%;
  }
  
  .busqueda-cita {
    flex-direction: column;
    gap: 10px;
  }
  
  .filtros-informe {
    grid-template-columns: 1fr;
  }
  
  .filtros-bloqueos {
    grid-template-columns: 1fr;
  }
  
  .acciones-informe {
    flex-direction: column;
    gap: 10px;
  }
  
  ..elementor-2733 .elementor-element.elementor-element-6b7fb2a-estado {
    flex-direction: column;
  }
  
  ..elementor-2733 .elementor-element.elementor-element-6b7fb2a-estado select {
    min-width: 100%;
  }
  
  .tab-content {
    padding: 15px;
  }
  
  .panel-progreso {
    padding: 15px;
  }
  
  .horas-lista {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }
  
  .info-cita p strong {
    min-width: 120px;
  }
}

@media (max-width: 480px) {
  .modulo-admin-ieas {
    padding: 10px;
  }
  
  .tab-btn {
    padding: 10px 12px;
    font-size: 14px;
  }
  
  .campo-grupo input,
  .campo-grupo select,
  .campo-grupo textarea {
    font-size: 13px;
    padding: 8px 10px;
  }
  
  .btn-buscar, .btn-actualizar, .btn-excel, .btn-pdf {
    font-size: 13px;
    padding: 10px 15px;
  }
  
  .detalles-cita {
    padding: 15px;
  }
  
  .historial-container {
    padding: 15px;
  }
  
  .consultar-bloqueos {
    padding: 15px;
  }
  
  .filtros-informe,
  .filtros-bloqueos {
    padding: 15px;
  }
  
  .tipo-informe label {
    display: block;
    margin-bottom: 8px;
  }
  
  .info-cita p strong {
    min-width: 100px;
    font-size: 13px;
  }
  
  .info-cita p {
    font-size: 13px;
  }
}/* End custom CSS */