/* Global Common CSS */
/* Add custom styles here to avoid using inline styles */

html[data-theme="dark"] .bootbox .modal-content {
  background-color: var(--neutral-100);
  color: var(--text-secondary-light);
  border: 1px solid var(--border-color);
}

html[data-theme="dark"] .bootbox .modal-header,
html[data-theme="dark"] .bootbox .modal-footer {
  border-color: var(--border-color);
}

html[data-theme="dark"] .bootbox .modal-title {
  color: var(--text-primary-light);
}

html[data-theme="dark"] .bootbox .bootbox-body {
  color: var(--text-secondary-light);
}

.no-disponible-text {
  color: #6c757d;
}

html[data-theme="dark"] .no-disponible-text {
  color: var(--text-primary-light);
}

.usuarios-edit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
}

.usuarios-edit-btn iconify-icon {
  color: #ffffff !important;
}

html[data-theme="dark"] .usuarios-edit-btn {
  background-color: #5b8dff !important;
  border-color: #79a1ff !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
}

html[data-theme="dark"] .usuarios-edit-btn:hover {
  background-color: #7aa4ff !important;
  border-color: #9ab9ff !important;
}

/* Keep native select arrow away from the right/left edge */
.form-select {
  background-position: right 0.75rem center !important;
}

[dir="rtl"] .form-select {
  background-position: left 0.75rem center !important;
}

/* Empresa > Editar > Practicas */
.empresa-practicas-module .practicas-shell-card {
  border: 1px solid rgba(27, 39, 51, 0.12);
}

.empresa-practicas-module .practicas-subtabs {
  border-bottom: 1px solid rgba(27, 39, 51, 0.14);
  gap: 0.4rem;
}

.empresa-practicas-module .practicas-subtabs .nav-link {
  border: 1px solid transparent;
  border-radius: 0.55rem;
  padding: 0.55rem 0.9rem;
  color: #425466;
  font-weight: 600;
  line-height: 1.25;
}

.empresa-practicas-module .practicas-subtabs .nav-link:hover,
.empresa-practicas-module .practicas-subtabs .nav-link:focus {
  background: #f3f7fb;
  color: #1c2d3d;
  border-color: rgba(27, 39, 51, 0.14);
}

.empresa-practicas-module .practicas-subtabs .nav-link.active {
  background: #e8f1ff;
  color: #123f7a;
  border-color: rgba(18, 63, 122, 0.28);
}

.empresa-practicas-module .practicas-card {
  border: 1px solid rgba(27, 39, 51, 0.14);
}

.empresa-practicas-module .practicas-card-header {
  background: linear-gradient(180deg, #f8fbff 0%, #f2f6fc 100%);
  border-bottom: 1px solid rgba(27, 39, 51, 0.14);
}

.empresa-practicas-module .practicas-list-wrap {
  max-height: 320px;
  overflow-y: auto;
  background: #f8fafc;
  border: 1px solid rgba(27, 39, 51, 0.12);
  border-radius: 0.65rem;
}

.empresa-practicas-module .practicas-list-item {
  border-bottom: 1px solid rgba(27, 39, 51, 0.12);
}

.empresa-practicas-module .practicas-list-item:last-child {
  border-bottom: 0;
  padding-bottom: 0 !important;
}

.empresa-practicas-module .practicas-date {
  color: #5b6c7d;
  font-weight: 500;
}

.empresa-practicas-module .practicas-desc {
  color: #263544;
}

.empresa-practicas-module .practicas-empty {
  color: #526170;
  margin: 0;
}

.empresa-practicas-module .practicas-form .practicas-input {
  border: 1px solid rgba(27, 39, 51, 0.18);
  border-radius: 0.55rem;
}

.empresa-practicas-module .practicas-form .practicas-input:focus {
  border-color: #2b6cb0;
  box-shadow: 0 0 0 0.22rem rgba(43, 108, 176, 0.18);
}

.empresa-practicas-module .practicas-form .btn {
  min-width: 145px;
  font-weight: 600;
}

html[data-theme="dark"] .empresa-practicas-module .practicas-shell-card,
html[data-theme="dark"] .empresa-practicas-module .practicas-card {
  border-color: rgba(255, 255, 255, 0.16);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-subtabs {
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-subtabs .nav-link {
  color: #c9d6e2;
  background: rgba(255, 255, 255, 0.03);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-subtabs .nav-link:hover,
html[data-theme="dark"] .empresa-practicas-module .practicas-subtabs .nav-link:focus {
  color: #f2f7fb;
  background: rgba(90, 133, 190, 0.22);
  border-color: rgba(160, 196, 244, 0.42);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-subtabs .nav-link.active {
  color: #ffffff;
  background: rgba(66, 116, 188, 0.45);
  border-color: rgba(160, 196, 244, 0.62);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-card-header {
  background: linear-gradient(180deg, rgba(120, 153, 203, 0.24) 0%, rgba(66, 116, 188, 0.14) 100%);
  border-bottom-color: rgba(255, 255, 255, 0.16);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-list-wrap {
  background: rgba(7, 18, 32, 0.74);
  border-color: rgba(166, 196, 229, 0.28);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-list-item {
  border-bottom-color: rgba(199, 216, 235, 0.26);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-date {
  color: #b8d2ed;
}

html[data-theme="dark"] .empresa-practicas-module .practicas-desc {
  color: #eaf3fc;
}

html[data-theme="dark"] .empresa-practicas-module .practicas-empty {
  color: #d2e3f5;
}

html[data-theme="dark"] .empresa-practicas-module .practicas-form .practicas-input {
  background-color: rgba(9, 23, 38, 0.78);
  color: #edf5fe;
  border-color: rgba(180, 205, 234, 0.35);
}

html[data-theme="dark"] .empresa-practicas-module .practicas-form .practicas-input::placeholder {
  color: #a8bfd8;
}

html[data-theme="dark"] .empresa-practicas-module .practicas-form .practicas-input:focus {
  border-color: #8cbcff;
  box-shadow: 0 0 0 0.22rem rgba(140, 188, 255, 0.24);
}

/* DataTables: hide "entries per page" selector on mobile */
@media (max-width: 767.98px) {
  div.dt-container .dt-length,
  .dataTables_wrapper .dataTables_length {
    display: none !important;
  }
}

/* DataTables ColumnControl: contains-only mode (hide logic selector + icon) */
.dtcc-search .dtcc-search-type-icon,
.dtcc-search select,
.dtcc-contains-only .dtcc-search .dtcc-search-type-icon,
.dtcc-contains-only .dtcc-search select {
  display: none;
}

/* Mobile filter toggles */
.mobile-filters-toggle {
  display: none;
}

@media (max-width: 767.98px) {
  .mobile-filters-toggle {
    display: inline-flex;
  }
}

@media (min-width: 768px) {
  .mobile-filters-collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
  }
}

/* Ficha tabs horizontal scroll on mobile */
@media (max-width: 767.98px) {
  #fichaTab,
  #proyectoTab,
  #projectPlacementTab {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 4px;
  }

  #fichaTab .nav-item,
  #proyectoTab .nav-item,
  #projectPlacementTab .nav-item {
    flex: 0 0 auto;
  }

  #fichaTab .nav-link,
  #proyectoTab .nav-link,
  #projectPlacementTab .nav-link {
    white-space: nowrap;
  }
}

/* Principal shortcuts */
.principal-shortcuts .card .card-body {
  padding: 18px;
}

.principal-shortcuts > [class*="col-"] > a {
  display: block;
  height: 100%;
}

.principal-card-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.hover-scale {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hover-scale:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.bg-primary-gradient {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

.bg-success-gradient {
  background: linear-gradient(135deg, #5ee7df 0%, #b490ca 100%);
}

.bg-warning-gradient {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.bg-danger-gradient {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

.bg-info-gradient {
  background: linear-gradient(135deg, #30cfd0 0%, #330867 100%);
}

.bg-purple-gradient {
  background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
}

.bg-cyan-gradient {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

@media (max-width: 575.98px) {
  .principal-shortcuts > [class*="col-"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .principal-shortcuts .card .card-body {
    padding: 16px;
  }
}

/* Project calendar page */
.project-calendar-page .project-list-scroll {
  max-height: 620px;
  overflow: auto;
}

.project-calendar-page .project-list-toggle {
  display: none;
}

.project-calendar-page #calendar .fc-event.project-event {
  border: 0 !important;
  border-radius: 6px !important;
  padding: 2px 6px !important;
  font-weight: 600;
}

.project-calendar-page #calendar .fc-content {
  min-width: 0 !important;
}

.project-calendar-page #calendar .fc-event-inner,
.project-calendar-page #calendar .fc-event-title {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.project-calendar-page #calendar .fc-day-content {
  min-height: 0 !important;
}

.project-calendar-page #calendar .fc-event.project-state-1 { background-color: #e5e7eb !important; color: #111827 !important; }
.project-calendar-page #calendar .fc-event.project-state-2 { background-color: #fef3c7 !important; color: #92400e !important; }
.project-calendar-page #calendar .fc-event.project-state-3 { background-color: #dbeafe !important; color: #1e3a8a !important; }
.project-calendar-page #calendar .fc-event.project-state-4 { background-color: #ede9fe !important; color: #5b21b6 !important; }
.project-calendar-page #calendar .fc-event.project-state-5 { background-color: #dcfce7 !important; color: #166534 !important; }
.project-calendar-page #calendar .fc-event.project-state-6 { background-color: #fee2e2 !important; color: #991b1b !important; }

@media (max-width: 991.98px) {
  .project-calendar-page .project-list-toggle {
    display: inline-flex;
  }

  .project-calendar-page #calendar .fc-header-title h2 {
    font-size: 18px !important;
  }

  .project-calendar-page #calendar table.fc-header tr {
    display: block !important;
  }

  .project-calendar-page #calendar td.fc-header-left,
  .project-calendar-page #calendar td.fc-header-center,
  .project-calendar-page #calendar td.fc-header-right {
    display: block;
    margin-bottom: 8px;
    text-align: left !important;
  }

  .project-calendar-page #calendar .fc-event.project-event {
    font-size: 11px !important;
    padding: 1px 4px !important;
  }
}

/* Informe Pagos subtitle contrast in dark mode */
html[data-theme="dark"] .informes-pagos-subtitle {
  color: #afbccb !important;
}

/* Informe Pagos table refinements */
.ip-merged-cell {
  vertical-align: middle !important;
}

[data-theme="dark"] #tabla-informe-pagos_wrapper .dt-search input,
[data-theme="dark"] #tabla-informe-pagos_wrapper .dt-length select {
  background-color: var(--input-bg);
  border-color: var(--input-form-light);
  color: var(--text-primary-light);
}

[data-theme="dark"] #tabla-informe-pagos_wrapper .dt-info,
[data-theme="dark"] #tabla-informe-pagos_wrapper .dt-paging .dt-paging-button {
  color: var(--text-secondary-light) !important;
}

[data-theme="dark"] #tabla-informe-pagos_wrapper .dt-paging .dt-paging-button.current,
[data-theme="dark"] #tabla-informe-pagos_wrapper .dt-paging .dt-paging-button.current:hover {
  background: var(--neutral-200) !important;
  border-color: var(--neutral-300) !important;
  color: var(--text-primary-light) !important;
}
