/*================================================================================
  TkdIA — Paleta de marca (logo: blanco, azul, rojo)
  Azul primario | Rojo acento | Blanco fondos/texto sobre color
================================================================================*/
:root,
[data-bs-theme='light'],
[data-bs-theme='dark'] {
  --brand-blue: #005eb8;
  --brand-blue-dark: #004494;
  --brand-blue-light: #e8f2fc;
  --brand-red: #e31937;
  --brand-red-dark: #b8142c;
  --brand-white: #ffffff;

  /* Menú: padre abierto vs ítem seleccionado */
  --brand-menu-parent-bg: #d4d5d9;
  --brand-menu-parent-color: #515569;

  --bs-primary: var(--brand-blue);
  --bs-primary-rgb: 0, 94, 184;
  --bs-primary-bg-subtle: rgba(0, 94, 184, 0.12);
  --bs-primary-border-subtle: rgba(0, 94, 184, 0.35);
  --bs-danger: var(--brand-red);
  --bs-danger-rgb: 227, 25, 55;
  --bs-link-color: var(--brand-blue);
  --bs-link-hover-color: var(--brand-blue-dark);
}

/* Botones primarios */
.btn-primary {
  --bs-btn-bg: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: var(--brand-blue-dark);
  --bs-btn-hover-border-color: var(--brand-blue-dark);
  --bs-btn-active-bg: var(--brand-blue-dark);
  --bs-btn-active-border-color: var(--brand-blue-dark);
  --bs-btn-disabled-bg: var(--brand-blue);
  --bs-btn-disabled-border-color: var(--brand-blue);
  color: var(--brand-white) !important;
}

.btn-outline-primary {
  --bs-btn-color: var(--brand-blue);
  --bs-btn-border-color: var(--brand-blue);
  --bs-btn-hover-bg: var(--brand-blue);
  --bs-btn-hover-border-color: var(--brand-blue);
  --bs-btn-hover-color: var(--brand-white);
}

.btn-danger {
  --bs-btn-bg: var(--brand-red);
  --bs-btn-border-color: var(--brand-red);
  --bs-btn-hover-bg: var(--brand-red-dark);
  --bs-btn-hover-border-color: var(--brand-red-dark);
}

/* Guardar / acciones principales en formularios legacy */
button[type='button'].btn.btn-new-green,
button[type='submit'].btn.btn-new-green {
  background-color: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
  color: var(--brand-white) !important;
}

button[type='button'].btn.btn-new-green:hover,
button[type='submit'].btn.btn-new-green:hover {
  background-color: var(--brand-blue-dark) !important;
  border-color: var(--brand-blue-dark) !important;
  color: var(--brand-white) !important;
}

/* Barra de progreso / indicadores */
.progress .indeterminate {
  background-color: var(--brand-red) !important;
}

/* Menú lateral — padre abierto (ej. CATALOGOS): gris más fuerte, texto normal */
.menu-vertical .menu-inner > .menu-item.active > .menu-link.menu-toggle,
.menu-vertical .menu-inner > .menu-item.open > .menu-link.menu-toggle {
  background-color: var(--brand-menu-parent-bg) !important;
  color: var(--brand-menu-parent-color) !important;
}

.menu-vertical .menu-inner > .menu-item.active > .menu-link.menu-toggle > div,
.menu-vertical .menu-inner > .menu-item.active > .menu-link.menu-toggle > i,
.menu-vertical .menu-inner > .menu-item.open > .menu-link.menu-toggle > div,
.menu-vertical .menu-inner > .menu-item.open > .menu-link.menu-toggle > i {
  color: var(--brand-menu-parent-color) !important;
}

/* Submenú — ítem seleccionado (ej. Planes): azul + texto blanco */
.menu-vertical .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle) {
  background-color: var(--brand-blue) !important;
  color: var(--brand-white) !important;
}

.menu-vertical .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle) > div,
.menu-vertical .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle) > i,
.menu-vertical .menu-sub > .menu-item.active > .menu-link:not(.menu-toggle) .menu-icon {
  color: var(--brand-white) !important;
}

/* Primer nivel sin submenú — ítem seleccionado directo: azul + blanco */
.menu-vertical .menu-inner > .menu-item.active:not(.open) > .menu-link:not(.menu-toggle) {
  background-color: var(--brand-blue) !important;
  color: var(--brand-white) !important;
}

.menu-vertical .menu-inner > .menu-item.active:not(.open) > .menu-link:not(.menu-toggle) > div,
.menu-vertical .menu-inner > .menu-item.active:not(.open) > .menu-link:not(.menu-toggle) > i,
.menu-vertical .menu-inner > .menu-item.active:not(.open) > .menu-link:not(.menu-toggle) .menu-icon {
  color: var(--brand-white) !important;
}

.bg-menu-theme .menu-inner > .menu-item.active:before,
.bg-menu-theme .menu-inner > .menu-item.open:before {
  background: var(--brand-blue) !important;
}

/* Auth / utilidades de marca */
.text-brand {
  color: var(--brand-blue) !important;
}

.text-brand-accent {
  color: var(--brand-red) !important;
}

.bg-brand {
  background-color: var(--brand-blue) !important;
  color: var(--brand-white) !important;
}

.bg-brand-accent {
  background-color: var(--brand-red) !important;
  color: var(--brand-white) !important;
}

.border-brand:focus,
.form-control.border-brand:focus,
.code-input:focus {
  border-color: var(--brand-blue) !important;
  box-shadow: 0 0 0 0.2rem rgba(0, 94, 184, 0.25) !important;
}

/* Paginación DataTables / links activos */
.page-item.active .page-link {
  background-color: var(--brand-blue);
  border-color: var(--brand-blue);
}

.page-link {
  color: var(--brand-blue);
}

.page-link:hover {
  color: var(--brand-blue-dark);
}

/* Checkbox / switch primario */
.form-check-input:checked {
  background-color: var(--brand-blue);
  border-color: var(--brand-blue);
}

.form-switch .form-check-input:checked {
  background-color: var(--brand-blue);
  border-color: var(--brand-blue);
}

/* Nav tabs activos */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--brand-blue);
  border-color: var(--brand-blue) var(--brand-blue) var(--brand-white);
}

.nav-tabs .nav-link:hover {
  color: var(--brand-blue-dark);
}

/* TKD /tkd/clases — toolbar FullCalendar (texto blanco sobre fondo blanco del tema) */
.tkd-clases-calendario .fc .fc-header-toolbar .fc-button.fc-button-primary,
.tkd-clases-calendario .fc .fc-header-toolbar .fc-today-button {
  background-color: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
  color: var(--brand-white) !important;
}
.tkd-clases-calendario .fc .fc-header-toolbar .fc-button.fc-button-primary.fc-button-active,
.tkd-clases-calendario .fc .fc-header-toolbar .fc-button.fc-button-primary:hover:not(:disabled),
.tkd-clases-calendario .fc .fc-header-toolbar .fc-today-button:hover:not(:disabled) {
  background-color: var(--brand-blue-dark) !important;
  border-color: var(--brand-blue-dark) !important;
  color: var(--brand-white) !important;
}
.tkd-clases-calendario .fc .fc-header-toolbar .fc-prev-button,
.tkd-clases-calendario .fc .fc-header-toolbar .fc-next-button {
  background-color: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
}
.tkd-clases-calendario .fc .fc-header-toolbar .fc-prev-button .fc-icon,
.tkd-clases-calendario .fc .fc-header-toolbar .fc-next-button .fc-icon {
  color: var(--brand-white) !important;
}

/* Eventos: texto legible sobre el color de fondo del grupo */
.tkd-clases-calendario .fc .fc-event,
.tkd-clases-calendario .fc .fc-event .fc-event-main,
.tkd-clases-calendario .fc .fc-event .fc-event-title,
.tkd-clases-calendario .fc .fc-event .fc-event-time {
  color: var(--fc-event-text-color, #ffffff) !important;
}
.tkd-clases-calendario .fc .fc-list-event .fc-list-event-title,
.tkd-clases-calendario .fc .fc-list-event .fc-list-event-time {
  color: var(--bs-heading-color, #384551) !important;
  font-weight: 500;
}
