/*
 * Tema "Mandarina": deriva sus 4 colores de rol (primary/secondary/info/success)
 * de la función HSV() de informe/preamble.R (EPRES2024/2025/2026) - el mismo
 * barrido de matiz que usan los informes PDF desde 2012/13 para las series de
 * gráfico, tomando x=4 (un matiz por rol):
 *   HSV <- function(x) { y <- 5/360 + (i-1)/x; hsv(y, .77, .866) }
 *   primary   #DD4133  HSV(4)[1] - rojo "sucio" (offset 5° desde rojo puro)
 *   secondary #9633DD  HSV(4)[4] - violeta
 *   info      #33CFDD  HSV(4)[3] - celeste (asignado por semántica convencional,
 *             no por orden de barrido - "info" debía leer como azul/celeste)
 *   success   #7ADD33  HSV(4)[2] - verde (idem, "success" debía leer como verde)
 * info y success tienen bajo contraste con texto blanco (1.9 y 1.7 respectivamente)
 * así que sus botones/estados usan texto oscuro en vez de blanco.
 * warning/danger quedan con los valores de flatly: no hay insumo de marca para esos roles.
 *
 * Nota: esta NO es la paleta de gráfico de este theme - ver CHART_THEMES.mandarina
 * en public/js/views/dashboard.js, derivada aparte (6 matices, HCL perceptualmente
 * uniforme, validada con dataviz/scripts/validate_palette.js) porque HSV(x) tal
 * cual falla esa validación en pantalla para series de gráfico.
 *
 * Solo afecta a document.documentElement[data-theme-brand="mandarina"].
 */

:root[data-theme-brand="mandarina"] {
  --bs-primary: #dd4133;
  --bs-primary-rgb: 221, 65, 51;
  --bs-primary-text-emphasis: #581a14;
  --bs-primary-bg-subtle: #f8d9d6;
  --bs-primary-border-subtle: #f1b3ad;

  --bs-secondary: #9633dd;
  --bs-secondary-rgb: 150, 51, 221;
  --bs-secondary-text-emphasis: #3c1458;
  --bs-secondary-bg-subtle: #ead6f8;
  --bs-secondary-border-subtle: #d5adf1;

  --bs-info: #33cfdd;
  --bs-info-rgb: 51, 207, 221;
  --bs-info-text-emphasis: #145358;
  --bs-info-bg-subtle: #d6f5f8;
  --bs-info-border-subtle: #adecf1;

  --bs-success: #7add33;
  --bs-success-rgb: 122, 221, 51;
  --bs-success-text-emphasis: #315814;
  --bs-success-bg-subtle: #e4f8d6;
  --bs-success-border-subtle: #caf1ad;

  --bs-link-color: var(--bs-primary);
  --bs-link-color-rgb: var(--bs-primary-rgb);
  --bs-link-hover-color: #b13429;
  --bs-link-hover-color-rgb: 177, 52, 41;
}

:root[data-theme-brand="mandarina"][data-bs-theme="dark"] {
  --bs-primary-text-emphasis: #eb8d85;
  --bs-primary-bg-subtle: #2c0d0a;
  --bs-primary-border-subtle: #85271f;

  --bs-secondary-text-emphasis: #c085eb;
  --bs-secondary-bg-subtle: #1e0a2c;
  --bs-secondary-border-subtle: #5a1f85;

  --bs-info-text-emphasis: #85e2eb;
  --bs-info-bg-subtle: #0a292c;
  --bs-info-border-subtle: #1f7c85;

  --bs-success-text-emphasis: #afeb85;
  --bs-success-bg-subtle: #182c0a;
  --bs-success-border-subtle: #49851f;

  --bs-link-color: #eb8d85;
  --bs-link-color-rgb: 235, 141, 133;
  --bs-link-hover-color: #f0aba5;
  --bs-link-hover-color-rgb: 240, 171, 165;
}

/* Botones y formularios: Bootstrap fija estos colores como literales por variante
   (no heredan de --bs-primary etc.), así que hay que pisarlos explícitamente. */
:root[data-theme-brand="mandarina"] .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #dd4133;
  --bs-btn-border-color: #dd4133;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #bc372b;
  --bs-btn-hover-border-color: #b13429;
  --bs-btn-focus-shadow-rgb: 221, 65, 51;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #b13429;
  --bs-btn-active-border-color: #a63127;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #dd4133;
  --bs-btn-disabled-border-color: #dd4133;
}

:root[data-theme-brand="mandarina"] .btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #9633dd;
  --bs-btn-border-color: #9633dd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #802bbc;
  --bs-btn-hover-border-color: #7829b1;
  --bs-btn-focus-shadow-rgb: 150, 51, 221;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #7829b1;
  --bs-btn-active-border-color: #7027a6;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #9633dd;
  --bs-btn-disabled-border-color: #9633dd;
}

/* info: texto oscuro - el celeste #33cfdd no da suficiente contraste con blanco (1.9:1) */
:root[data-theme-brand="mandarina"] .btn-info {
  --bs-btn-color: #14282a;
  --bs-btn-bg: #33cfdd;
  --bs-btn-border-color: #33cfdd;
  --bs-btn-hover-color: #14282a;
  --bs-btn-hover-bg: #2bb0bc;
  --bs-btn-hover-border-color: #29a6b1;
  --bs-btn-focus-shadow-rgb: 51, 207, 221;
  --bs-btn-active-color: #14282a;
  --bs-btn-active-bg: #29a6b1;
  --bs-btn-active-border-color: #269ba6;
  --bs-btn-disabled-color: #14282a;
  --bs-btn-disabled-bg: #33cfdd;
  --bs-btn-disabled-border-color: #33cfdd;
}

/* success: texto oscuro - el verde #7add33 no da suficiente contraste con blanco (1.7:1) */
:root[data-theme-brand="mandarina"] .btn-success {
  --bs-btn-color: #182c0a;
  --bs-btn-bg: #7add33;
  --bs-btn-border-color: #7add33;
  --bs-btn-hover-color: #182c0a;
  --bs-btn-hover-bg: #68bc2b;
  --bs-btn-hover-border-color: #62b129;
  --bs-btn-focus-shadow-rgb: 122, 221, 51;
  --bs-btn-active-color: #182c0a;
  --bs-btn-active-bg: #62b129;
  --bs-btn-active-border-color: #5ba626;
  --bs-btn-disabled-color: #182c0a;
  --bs-btn-disabled-bg: #7add33;
  --bs-btn-disabled-border-color: #7add33;
}

:root[data-theme-brand="mandarina"] .btn-outline-primary {
  --bs-btn-color: #dd4133;
  --bs-btn-border-color: #dd4133;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #dd4133;
  --bs-btn-hover-border-color: #dd4133;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #dd4133;
  --bs-btn-active-border-color: #dd4133;
  --bs-btn-focus-shadow-rgb: 221, 65, 51;
  --bs-btn-disabled-color: #dd4133;
  --bs-btn-disabled-border-color: #dd4133;
}

:root[data-theme-brand="mandarina"] .btn-outline-secondary {
  --bs-btn-color: #9633dd;
  --bs-btn-border-color: #9633dd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #9633dd;
  --bs-btn-hover-border-color: #9633dd;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #9633dd;
  --bs-btn-active-border-color: #9633dd;
  --bs-btn-focus-shadow-rgb: 150, 51, 221;
  --bs-btn-disabled-color: #9633dd;
  --bs-btn-disabled-border-color: #9633dd;
}

:root[data-theme-brand="mandarina"] .btn-outline-info {
  --bs-btn-color: #33cfdd;
  --bs-btn-border-color: #33cfdd;
  --bs-btn-hover-color: #14282a;
  --bs-btn-hover-bg: #33cfdd;
  --bs-btn-hover-border-color: #33cfdd;
  --bs-btn-active-color: #14282a;
  --bs-btn-active-bg: #33cfdd;
  --bs-btn-active-border-color: #33cfdd;
  --bs-btn-focus-shadow-rgb: 51, 207, 221;
  --bs-btn-disabled-color: #33cfdd;
  --bs-btn-disabled-border-color: #33cfdd;
}

:root[data-theme-brand="mandarina"] .btn-outline-success {
  --bs-btn-color: #7add33;
  --bs-btn-border-color: #7add33;
  --bs-btn-hover-color: #182c0a;
  --bs-btn-hover-bg: #7add33;
  --bs-btn-hover-border-color: #7add33;
  --bs-btn-active-color: #182c0a;
  --bs-btn-active-bg: #7add33;
  --bs-btn-active-border-color: #7add33;
  --bs-btn-focus-shadow-rgb: 122, 221, 51;
  --bs-btn-disabled-color: #7add33;
  --bs-btn-disabled-border-color: #7add33;
}

:root[data-theme-brand="mandarina"] .form-control:focus,
:root[data-theme-brand="mandarina"] .form-select:focus {
  border-color: #33cfdd;
  box-shadow: 0 0 0 0.25rem rgba(221, 65, 51, 0.25);
}

:root[data-theme-brand="mandarina"] .form-check-input:checked {
  background-color: #dd4133;
  border-color: #dd4133;
}

:root[data-theme-brand="mandarina"] .form-check-input:focus {
  border-color: #33cfdd;
  box-shadow: 0 0 0 0.25rem rgba(221, 65, 51, 0.25);
}

/* El navbar de la app fuerza data-bs-theme="dark" sobre bg-primary (ver navbar.js). */
:root[data-theme-brand="mandarina"] .navbar[data-bs-theme="dark"] {
  --bs-navbar-hover-color: #afeb85;
  --bs-navbar-active-color: #afeb85;
  --bs-navbar-brand-hover-color: #afeb85;
}
