/* ============================================================
   Capa B — Puente a Bootstrap/Metronic
   Traduce la familia --bs-* a la Capa A (01-tokens.css).

   DEUDA DE PLANTILLA CON FECHA DE CADUCIDAD: el dia que Metronic se
   retire, se borra este fichero y la Capa A sobrevive intacta. Nadie
   deberia necesitar entender Metronic para tocar la identidad.
   ------------------------------------------------------------
   POR QUE EXISTE: cambiar --bs-primary NO basta. 272 usos siguen la
   variable, pero los tokens de abajo llevan el hex azul de Metronic
   ESCRITO LITERAL. El rebrand rojo de 2025 fallo justo por esto: puso
   --bs-primary en rojo y dejo estos en azul. Consecuencia medida hoy:
     .text-primary        -> rgb(27,132,255)  AZUL
     .badge-light-primary -> texto rojo sobre fondo azul #E9F3FF
     --bs-primary-rgb     -> 18,107,138 (teal huerfano)
   Estuvo meses roto en produccion sin que nadie lo viera: no hay tests
   de regresion visual. Ver scripts/test/e2e/identidad/.
   ------------------------------------------------------------
   ESPECIFICIDAD: el bundle define estos tokens en DOS bloques:
     - :root, [data-bs-theme=light]  (core Bootstrap, :7-:102)
     - [data-bs-theme=light]         (Metronic, :28509+)
   Ambos (0,1,0). Nuestro :root:not([data-bs-theme="dark"]) es (0,2,0):
   les gana a los dos y nunca casa con el bloque dark.
   Las lineas citadas son de wwwroot/assets/css/style.bundle.css.
   ============================================================ */
:root:not([data-bs-theme="dark"]) {
  /* --- Tokens que el bundle define DOS veces (core y Metronic).
         Aqui basta declararlos una vez: todo el bloque es una sola regla. --- */
  --bs-primary: var(--primary);                 /* era #DE3217 */
  --bs-primary-rgb: 11, 42, 91;                 /* era 27,132,255 en :43 y 18,107,138
                                                   (teal huerfano) en :28570 — ganaba el
                                                   segundo, y ninguno era el rojo */

  /* --- Bloque core de Bootstrap (:root,[data-bs-theme=light], :50-:102) --- */
  --bs-primary-text-emphasis: #051428;          /* :50  era #0b3566 */
  --bs-primary-bg-subtle: #e7ebf2;              /* :58  era #d1e6ff (AZUL) */
  --bs-primary-border-subtle: #b6c1d3;          /* :66  era #a4ceff (AZUL) */

  /* Enlaces: la guia §1 exige que TODO enlace use --primary.
     Hoy van en #135778, que no es ni el rojo ni el azul: es el teal de
     las plantillas de email. Nadie lo habia mapeado. */
  --bs-link-color: var(--primary);              /* :98  era #135778 */
  --bs-link-color-rgb: 11, 42, 91;              /* :99  era 19,87,120 */
  --bs-link-hover-color: var(--primary-hover);  /* :101 era #056EE9 (AZUL) */
  --bs-link-hover-color-rgb: 18, 58, 120;       /* :102 era 5,110,233 */

  /* --- Bloque de Metronic ([data-bs-theme=light], :28537-:28658) --- */
  --bs-primary-active: var(--primary-hover);    /* :28537 era #FF6044 (el coral de los logos) */
  --bs-primary-light: var(--primary-soft);      /* :28545 era #E9F3FF (AZUL: el bug) */
  --bs-primary-inverse: var(--primary-fg);      /* :28553 ya era #ffffff */
  --bs-primary-clarity: rgba(11, 42, 91, 0.2);  /* :28561 era rgba(27,132,255,.2) (AZUL) */
  --bs-text-primary: var(--primary);            /* :28578 era #1B84FF (AZUL: el bug) */
  --bs-component-active-bg: var(--primary);     /* :28599 era #1B84FF */
  --bs-component-hover-color: var(--primary);   /* :28600 era #1B84FF */
  --bs-component-checked-bg: var(--primary);    /* :28603 era #1B84FF */
  --bs-menu-link-color-hover: var(--primary);   /* :28643 era #1B84FF */
  --bs-menu-link-color-show: var(--primary);    /* :28644 era #1B84FF */
  --bs-menu-link-color-here: var(--primary);    /* :28645 era #1B84FF */
  --bs-menu-link-color-active: var(--primary);  /* :28646 era #1B84FF */
  --bs-ribbon-label-bg: var(--primary);         /* :28658 era #1B84FF */
  /* --bs-scrolltop-bg-color (:28633-4) ya usa var(--bs-primary): no hace falta puentearlo. */
}

/* ============================================================
   Familia semantica — guia §2.  [F2 Task 1]

   EL HALLAZGO CENTRAL DE F2: en Metronic v8 --bs-info ES MORADO
   (#7239EA, bundle :38 y :28533). Los "banners morados" que la guia §10
   manda migrar a co-info NO usan ninguna clase morada propia: son la
   clase estandar alert-info (78 usos) y su familia — text-info (61),
   badge-light-info (52), bg-light-info (23), btn-light-info (14).
   Redefinir este token los migra TODOS de golpe sin tocar un .razor.

   Lo mismo --bs-danger, que es rosa fucsia y explica "Urgente rosa" y
   "Administrador rosa" (auditoria E3, H5).

   NO eran decisiones de diseno: son variables huerfanas del rebrand rojo
   de 2024, que solo toco --bs-primary y dejo el resto de la familia con
   los valores de Metronic.

   Quedan 43 hex #7239ea inline en 16 ficheros (13 en LidIAConfig.razor)
   que SI exigen editar el .razor -> F2 Task 3.
   ============================================================ */
:root:not([data-bs-theme="dark"]) {
  --bs-info: #0284c7;            /* :38 / :28533 era #7239EA MORADO */
  --bs-info-rgb: 2, 132, 199;
  --bs-info-light: var(--info-soft);
  --bs-text-info: var(--info);
  --bs-info-active: #0369a1;

  --bs-danger: #dc2626;          /* :40 / :28531 era #F8285A rosa fucsia */
  --bs-danger-rgb: 220, 38, 38;
  --bs-danger-light: var(--danger-soft);
  --bs-text-danger: var(--danger);
  --bs-danger-active: #b91c1c;

  --bs-success: #2ed47a;         /* :37 era #17C653 */
  --bs-success-rgb: 46, 212, 122;
  --bs-success-light: var(--accent-soft);
  --bs-text-success: var(--success-text);
  --bs-success-active: #26b869;

  --bs-warning: #f59e0b;         /* :39 era #F6C000 */
  --bs-warning-rgb: 245, 158, 11;
  --bs-warning-light: var(--warning-soft);
  --bs-text-warning: var(--warning-text);
  --bs-warning-active: #d97706;
}

/* ============================================================
   Reglas del core de Bootstrap con #1B84FF LITERAL.
   No las alcanza ningun token: hay que pisarlas por selector.

   El mapeo automatico dijo "37 lineas"; comprobado a mano son 10, y 2 de
   ellas son de .landing-header (bundle :48117 y :48154), que es la landing
   y no el panel. Se omiten a proposito. Quedan 7 reglas relevantes.
   ============================================================ */

/* Checkboxes y toggles — guia §9: booleano editable = toggle --primary.
   Es la regla mas importante de este bloque: gobierna TODOS los checkboxes
   y switches del panel. bundle :2626-2627 */
:root:not([data-bs-theme="dark"]) .form-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}

/* bundle :2636-2637 */
:root:not([data-bs-theme="dark"]) .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--primary);
  border-color: var(--primary);
}

/* bundle :37272 */
:root:not([data-bs-theme="dark"]) .form-check.form-check-solid .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--primary);
}

/* Sliders — bundle :2731 y :2759 */
:root:not([data-bs-theme="dark"]) .form-range::-webkit-slider-thumb { background-color: var(--primary); }
:root:not([data-bs-theme="dark"]) .form-range::-moz-range-thumb { background-color: var(--primary); }

/* Separador — bundle :29423 (lleva !important en el bundle, hay que igualarlo) */
:root:not([data-bs-theme="dark"]) .separator.separator-content.border-primary::before,
:root:not([data-bs-theme="dark"]) .separator.separator-content.border-primary::after {
  border-color: var(--primary) !important;
}

/* Icono del accordion — bundle :4776. El hex va URL-encodeado DENTRO del
   data-URI (%231B84FF), asi que no se puede sustituir por variable: hay que
   reescribir el data-URI entero. %230b2a5b = #0b2a5b.
   OJO CON EL SCOPE: Bootstrap define --bs-accordion-* dentro de ".accordion"
   (bundle :4760), NO en :root. Un override en :root NO tiene efecto aqui.
   Especificidad (0,2,1) > .accordion (0,1,0). */
:root:not([data-bs-theme="dark"]) .accordion {
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230b2a5b'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* ============================================================
   Tipografia del cuerpo — guia §3.
   El bundle hardcodea en body (:48248):
       font-family: Inter, Helvetica, "sans-serif";
   puenteando --bs-body-font-family (:79 -> var(--bs-font-sans-serif)).
   El VALOR no es incorrecto (Inter ES la fuente de cuerpo de la guia),
   pero al no pasar por la variable la fuente no se puede gobernar desde
   los tokens: F1/F2 no podrian tocarla sin volver a hardcodear.
   Se reconduce al token de la Capa A.

   Especificidad de "body" (0,0,1), igual que la del bundle: gana por
   orden de carga (esta capa va despues).

   NO se toca el "font-size: 13px !important" de :48246 — cambiar el
   tamano base afecta a las 151 paginas y es decision de F2, no de F0.
   ============================================================ */
:root:not([data-bs-theme="dark"]) {
  --bs-font-sans-serif: var(--vzt-font-cuerpo);
}
body {
  font-family: var(--vzt-font-cuerpo);
}
