/**
 * rsf_tema.css — Tema corporativo Red Sun Farms para las vistas de OFICINA.
 *
 * Aplica la identidad visual de RSF (skill rsf-identidad-visual): verde, naranja,
 * rojo y morado del logo, con tema claro y tema oscuro. Se carga DESPUÉS de
 * style.css (Vws_header.php y login.php) y solo re-pinta: no cambia estructura.
 *
 * NO se carga en las pantallas de TV/piso (opt=operador, opt=bandas y
 * vws_torre_tv): esas vistas quedan exactamente como están (ver Vws_header.php).
 * REVERSA: quitar la línea <link ... rsf_tema.css> de Vws_header.php y login.php.
 *
 * Reglas del skill que se respetan: texto >= 4.5:1; el verde de marca NO se usa
 * como color de texto sobre claro (se usa la variante legible #597D28); el rojo
 * sigue siendo "peligro/error", no el color de acción; lo que flota usa fondo
 * sólido; tablas sin fondos de color en el encabezado.
 */

/* Fuentes de la identidad Red Sun Farms, incluidas en el proyecto (subconjunto latino, licencia OFL;
   ver ass/fonts/LICENCIAS.txt). Así se ven igual en todos los equipos sin depender de internet. */
@font-face { font-family: "Archivo"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/archivo-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/archivo-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/ibm-plex-sans-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/inter-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 700; font-style: normal; font-display: swap; src: url("../fonts/inter-latin-700-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); }

/* ------------------------------------------------------------------ tokens */
:root {
  --marca-verde: #8DC63F; --marca-verde-hondo: #66952E; --marca-naranja: #F79400; --marca-rojo: #ED1C24; --marca-morado: #4B2F86;

  --t-fondo: #F7FAF5;  --t-superficie: #FFFFFF;  --t-superficie-alta: #EDF3E6;  --t-borde: #DCE5D6;
  --t-texto: #1A2416;  --t-tenue: #5B6B57;
  --t-acento: #597D28; --t-acento-hover: #4D6C22; --t-acento-activo: #425D1D; --t-sobre-acento: #FFFFFF;
  --t-exito: #26824B;  --t-alerta: #A56300;       --t-peligro: #E11B22;       --t-info: #4B2F86;
  --t-radio: 10px;     --t-sombra: 0 1px 3px rgba(13, 47, 79, .10);
  --t-navbar: #101611; --t-navbar-linea: #8DC63F; --t-navbar-texto: #DDE7D9;
  --t-font-titulo: "Archivo", "Segoe UI", system-ui, -apple-system, sans-serif;
  --t-font-texto: "IBM Plex Sans", "Segoe UI", system-ui, -apple-system, sans-serif;

  /* Variables de style.css y de las páginas (.apv usa estas) */
  --rsf-rojo: #E11B22; --rsf-rojo-oscuro: #B5151B; --rsf-morado: #4B2F86; --rsf-morado-oscuro: #3C266B;
  --rsf-verde: #26824B; --rsf-verde-claro: #EDF3E6; --rsf-ambar: #A56300; --rsf-azul: #4B2F86;
  --rsf-tinta: #1A2416; --rsf-gris: #5B6B57; --rsf-linea: #DCE5D6; --rsf-fondo: #F7FAF5; --rsf-blanco: #FFFFFF;
  --rsf-sombra: 0 1px 3px rgba(13, 47, 79, .10); --rsf-sombra-sutil: 0 1px 3px rgba(13, 47, 79, .08);
  --rsf-navbar-bg: #101611;
  --rsf-font: var(--t-font-texto);

  /* Bootstrap 5.3 */
  --bs-body-bg: #F7FAF5; --bs-body-color: #1A2416; --bs-body-color-rgb: 26, 36, 22;
  --bs-secondary-color: #5B6B57; --bs-tertiary-bg: #EDF3E6; --bs-border-color: #DCE5D6;
  --bs-link-color: #597D28; --bs-link-color-rgb: 89, 125, 40; --bs-link-hover-color: #425D1D; --bs-link-hover-color-rgb: 66, 93, 29;
  --bs-primary: #597D28; --bs-primary-rgb: 89, 125, 40;
  --bs-success: #26824B; --bs-success-rgb: 38, 130, 75;
  --bs-warning: #F79400; --bs-warning-rgb: 247, 148, 0;
  --bs-danger: #E11B22;  --bs-danger-rgb: 225, 27, 34;
  --bs-info: #4B2F86;    --bs-info-rgb: 75, 47, 134;
  --bs-border-radius: 8px;
}

[data-bs-theme="dark"] {
  --t-fondo: #101611;  --t-superficie: #1B201C;  --t-superficie-alta: #232B22;  --t-borde: rgba(255, 255, 255, .12);
  --t-texto: #E8EFE6;  --t-tenue: #9BAA97;
  --t-acento: #8DC63F; --t-acento-hover: #7BB031; --t-acento-activo: #6C9B2A; --t-sobre-acento: #101611;
  --t-exito: #2E9E5B;  --t-alerta: #F79400;       --t-peligro: #EF333A;       --t-info: #8876AF;
  --t-radio: 8px;      --t-sombra: 0 2px 8px rgba(0, 0, 0, .3);
  --t-navbar: #0A0F0B; --t-navbar-linea: #8DC63F; --t-navbar-texto: #DDE7D9;
  --t-font-titulo: "Inter", system-ui, sans-serif;
  --t-font-texto: "Inter", system-ui, sans-serif;

  --rsf-rojo: #EF333A; --rsf-rojo-oscuro: #C9262C; --rsf-morado: #8876AF; --rsf-morado-oscuro: #6C5B93;
  --rsf-verde: #2E9E5B; --rsf-verde-claro: #1B2B1F; --rsf-ambar: #F79400; --rsf-azul: #8876AF;
  --rsf-tinta: #E8EFE6; --rsf-gris: #9BAA97; --rsf-linea: rgba(255, 255, 255, .12); --rsf-fondo: #101611; --rsf-blanco: #1B201C;
  --rsf-sombra: 0 2px 8px rgba(0, 0, 0, .3); --rsf-sombra-sutil: 0 2px 8px rgba(0, 0, 0, .25);
  --rsf-navbar-bg: #0A0F0B;

  --bs-body-bg: #101611; --bs-body-color: #E8EFE6; --bs-body-color-rgb: 232, 239, 230;
  --bs-secondary-color: #9BAA97; --bs-tertiary-bg: #1B201C; --bs-border-color: rgba(255, 255, 255, .12);
  --bs-link-color: #8DC63F; --bs-link-color-rgb: 141, 198, 63; --bs-link-hover-color: #A9D766; --bs-link-hover-color-rgb: 169, 215, 102;
  --bs-primary: #8DC63F; --bs-primary-rgb: 141, 198, 63;
  --bs-success: #2E9E5B; --bs-success-rgb: 46, 158, 91;
  --bs-danger: #EF333A;  --bs-danger-rgb: 239, 51, 58;
  --bs-info: #8876AF;    --bs-info-rgb: 136, 118, 175;
}

/* ----------------------------------------------------------------- base */
body {
  font-family: var(--t-font-texto) !important;
  background-color: var(--t-fondo);
  color: var(--t-texto);
}
h1, h2, h3, h4, h5, h6 { font-family: var(--t-font-titulo); font-weight: 700; letter-spacing: -.01em; color: var(--t-texto); }
a { color: var(--t-acento); }
a:hover { color: var(--t-acento-activo); }
[data-bs-theme="dark"] a:hover { color: #A9D766; }
code, kbd, samp, pre { font-family: "IBM Plex Mono", ui-monospace, Consolas, monospace; }
.text-muted, .form-text { color: var(--t-tenue) !important; }
::selection { background: color-mix(in srgb, var(--t-acento) 30%, transparent); }

/* --------------------------------------------------------------- navbar */
.navbar.bg-dark {
  background-color: var(--t-navbar) !important;
  border-bottom: 3px solid var(--t-navbar-linea);
}
.navbar-dark .navbar-nav .nav-link { color: var(--t-navbar-texto) !important; }
.navbar-dark .navbar-nav .nav-link:hover { color: #FFFFFF !important; }
.navbar-dark .navbar-nav .nav-link.active { color: #FFFFFF !important; border-bottom: 2px solid var(--t-navbar-linea); }
.navbar .btn-outline-light { border-color: rgba(255, 255, 255, .35); }
.navbar .btn-outline-light:hover { background: #FFFFFF; color: #101611; }

.dropdown-menu {
  background-color: var(--t-superficie);
  border: 1px solid var(--t-borde);
  border-top: 3px solid var(--t-acento);
  border-radius: var(--t-radio);
  box-shadow: var(--t-sombra);
}
.dropdown-item { color: var(--t-texto); }
.dropdown-item:hover, .dropdown-item:focus {
  background-color: color-mix(in srgb, var(--t-acento) 12%, transparent);
  color: var(--t-acento-activo);
}
[data-bs-theme="dark"] .dropdown-item:hover, [data-bs-theme="dark"] .dropdown-item:focus { color: #A9D766; }
.dropdown-item.active, .dropdown-item:active { background-color: var(--t-acento) !important; color: var(--t-sobre-acento) !important; }
.dropdown-divider { border-top-color: var(--t-borde); }

/* -------------------------------------------------------------- botones */
.btn { border-radius: 8px; }
.btn-primary {
  background-color: var(--t-acento) !important; border-color: var(--t-acento) !important; color: var(--t-sobre-acento) !important;
  box-shadow: none;
}
.btn-primary:hover, .btn-primary:focus { background-color: var(--t-acento-hover) !important; border-color: var(--t-acento-hover) !important; transform: none; }
.btn-primary:active { background-color: var(--t-acento-activo) !important; border-color: var(--t-acento-activo) !important; }
.btn-outline-primary { color: var(--t-acento) !important; border-color: var(--t-acento) !important; background: transparent; }
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
  background-color: var(--t-acento) !important; color: var(--t-sobre-acento) !important;
}
.btn-success { background-color: var(--t-exito) !important; border-color: var(--t-exito) !important; color: #FFFFFF !important; }
.btn-outline-success { color: var(--t-exito) !important; border-color: var(--t-exito) !important; }
.btn-outline-success:hover, .btn-outline-success:focus { background-color: var(--t-exito) !important; color: #FFFFFF !important; }
/* naranja de marca con texto oscuro: contraste >= 7:1 en los dos temas */
.btn-warning { background-color: var(--marca-naranja) !important; border-color: var(--marca-naranja) !important; color: #1A2416 !important; }
.btn-warning:hover, .btn-warning:focus { filter: brightness(.92); color: #1A2416 !important; }
.btn-info { background-color: var(--t-info) !important; border-color: var(--t-info) !important; color: #FFFFFF !important; }
[data-bs-theme="dark"] .btn-info { color: #101611 !important; }
.btn-outline-secondary { color: var(--t-tenue) !important; border-color: var(--t-borde) !important; }
.btn-outline-secondary:hover, .btn-outline-secondary:focus { background-color: var(--t-tenue) !important; border-color: var(--t-tenue) !important; color: var(--t-fondo) !important; }
.btn-outline-danger { color: var(--t-peligro); border-color: var(--t-peligro); }
.btn-outline-danger:hover, .btn-outline-danger:focus { background-color: var(--t-peligro); border-color: var(--t-peligro); color: #FFFFFF; }
.btn-danger { background-color: var(--t-peligro); border-color: var(--t-peligro); color: #FFFFFF; }
.btn:focus-visible, .form-control:focus-visible, .form-select:focus-visible, a:focus-visible { outline: 2px solid var(--t-acento); outline-offset: 2px; }

/* ------------------------------------------------------------- tarjetas */
.card { background-color: var(--t-superficie); border: 1px solid var(--t-borde); border-radius: var(--t-radio); box-shadow: var(--t-sombra); }
.card-header {
  background-color: var(--t-superficie); color: var(--t-texto);
  border-top: 3px solid var(--t-acento); border-bottom: 1px solid var(--t-borde);
}
.list-group-item { background-color: var(--t-superficie); border-color: var(--t-borde); color: var(--t-texto); }
.modal-content { background-color: var(--t-superficie); border: 1px solid var(--t-borde); border-radius: var(--t-radio); }
.modal-header, .modal-footer { border-color: var(--t-borde); }

/* --------------------------------------------------------------- tablas */
.table { --bs-table-bg: transparent; --bs-table-color: var(--t-texto); --bs-table-border-color: var(--t-borde); color: var(--t-texto); }
.table thead th,
.table thead.table-dark th,
table.dataTable thead th {
  font-weight: 600; text-transform: uppercase; font-size: .72rem; letter-spacing: .06em;
  background-color: transparent !important; color: var(--t-tenue) !important;
  border-color: var(--t-borde) !important; border-bottom: 1px solid var(--t-borde) !important;
}
.table > :not(caption) > * > * { border-bottom-color: var(--t-borde); }
.table-striped > tbody > tr:nth-of-type(odd) > *,
[data-bs-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * { background-color: var(--t-superficie-alta); color: var(--t-texto); }
.table-hover > tbody > tr:hover > *,
[data-bs-theme="dark"] .table-hover > tbody > tr:hover > * { background-color: var(--t-superficie-alta); color: var(--t-texto); }
.table-responsive, .dataTables_wrapper { color: var(--t-texto); }
.dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_length label, .dataTables_wrapper .dataTables_filter label { color: var(--t-tenue); }

/* ------------------------------------------------------------ formularios */
.form-control, .form-select {
  background-color: var(--t-superficie); color: var(--t-texto);
  border: 1px solid var(--t-borde); border-radius: 8px;
}
.form-control:focus, .form-select:focus,
[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-select:focus {
  background-color: var(--t-superficie); color: var(--t-texto);
  border-color: var(--t-acento); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--t-acento) 22%, transparent);
}
.form-control::placeholder { color: var(--t-tenue); opacity: .75; }
.form-label, .form-check-label { color: var(--t-tenue); font-weight: 600; }
.form-check-input:checked { background-color: var(--t-acento); border-color: var(--t-acento); }
.form-switch .form-check-input:checked { background-color: var(--t-acento); border-color: var(--t-acento); }
.input-group-text { background-color: var(--t-superficie-alta); border-color: var(--t-borde); color: var(--t-tenue); }

/* ----------------------------------------------- insignias, alertas, tabs */
.badge.bg-primary, .badge.text-bg-primary { background-color: var(--t-acento) !important; color: var(--t-sobre-acento) !important; }
.badge.bg-secondary, .badge.text-bg-secondary { background-color: var(--t-tenue) !important; color: var(--t-fondo) !important; }
.badge.bg-success, .badge.text-bg-success { background-color: var(--t-exito) !important; color: #FFFFFF !important; }
.badge.bg-warning, .badge.text-bg-warning { background-color: var(--marca-naranja) !important; color: #1A2416 !important; }
.badge.bg-info, .badge.text-bg-info { background-color: var(--t-info) !important; color: #FFFFFF !important; }
[data-bs-theme="dark"] .badge.bg-info, [data-bs-theme="dark"] .badge.text-bg-info { color: #101611 !important; }
.badge.bg-danger, .badge.text-bg-danger { background-color: var(--t-peligro) !important; color: #FFFFFF !important; }

.alert { border-radius: var(--t-radio); }
.alert-success { background-color: #E6F3EA; color: #1B6B3B; }
.alert-danger  { background-color: #FBE3E4; color: #A8141A; }
.alert-warning { background-color: #FFF1D9; color: #7A4A00; }
.alert-info    { background-color: #ECE8F6; color: #4B2F86; }
[data-bs-theme="dark"] .alert-success { background-color: #16301F; color: #7FD4A1; }
[data-bs-theme="dark"] .alert-danger  { background-color: #3A1A1C; color: #F5978E; }
[data-bs-theme="dark"] .alert-warning { background-color: #3A2A00; color: #F5C97A; }
[data-bs-theme="dark"] .alert-info    { background-color: #251F36; color: #C5B8E6; }

.page-link { color: var(--t-acento); background-color: var(--t-superficie); border-color: var(--t-borde); }
.page-link:hover { color: var(--t-acento-activo); background-color: var(--t-superficie-alta); }
.page-item.active .page-link { background-color: var(--t-acento); border-color: var(--t-acento); color: var(--t-sobre-acento); }
.nav-tabs { border-bottom-color: var(--t-borde); }
.nav-tabs .nav-link { color: var(--t-tenue); }
.nav-tabs .nav-link.active { color: var(--t-acento); border-bottom: 2px solid var(--t-acento); background: transparent; font-weight: 700; }
.nav-pills .nav-link.active { background-color: var(--t-acento); color: var(--t-sobre-acento); }
.progress-bar { background-color: var(--t-acento); }
.breadcrumb-item a { color: var(--t-acento); }

/* ------------------- paletas propias de las páginas del Dashboard Aweta ----
   (.daw = Dashboard, .dat = Tamaños, .tdc = Torre de Control de oficina).
   Se mueven a la paleta corporativa SIN cambiar su significado: el rojo sigue
   siendo rojo (paro / bajo meta), el verde sigue siendo verde (bien). */
html body .daw, html body .dat, html body .tdc {
  --rojo: #E11B22; --morado: #4B2F86; --verde: #26824B; --verde-claro: #EDF3E6; --ambar: #A56300;
  --tinta: #1A2416; --gris: #5B6B57; --linea: #DCE5D6; --fondo: #F7FAF5; --blanco: #FFFFFF;
  --sombra: 0 1px 3px rgba(13, 47, 79, .10); --sombra-sutil: 0 1px 3px rgba(13, 47, 79, .08);
  font-family: var(--t-font-texto);
}
html[data-bs-theme="dark"] body .daw, html[data-bs-theme="dark"] body .dat, html[data-bs-theme="dark"] body .tdc {
  --rojo: #EF333A; --morado: #8876AF; --verde: #2E9E5B; --verde-claro: #1B2B1F; --ambar: #F79400;
  --tinta: #E8EFE6; --gris: #9BAA97; --linea: rgba(255, 255, 255, .12); --fondo: #101611; --blanco: #1B201C;
  --sombra: 0 2px 8px rgba(0, 0, 0, .3); --sombra-sutil: 0 2px 8px rgba(0, 0, 0, .25);
}

/* Respeta a quien prefiere menos movimiento */
@media (prefers-reduced-motion: reduce) { .btn, .dropdown-item, .nav-link { transition: none !important; } }

/* Encabezados oscuros de Bootstrap (.table-dark): sin la línea gris encima */
.table thead.table-dark, .table > thead.table-dark > tr > * { --bs-table-bg: transparent; --bs-table-color: var(--t-tenue); --bs-table-border-color: var(--t-borde); border-top-color: transparent; }

/* En esas páginas el rojo es "paro / bajo meta" (se conserva), pero el color de ACCIÓN
   (botón principal, título, selección activa) pasa al acento corporativo. */
html body .daw .daw-header h1 span, html body .dat .dat-header h1 span, html body .tdc .tdc-head h1 span { color: var(--t-acento); }
html body .daw button.primario, html body .dat button.primario, html body .tdc button.primario,
html body .tdc .pres button.activa, html body .tdc .ab-modo button.activa, html body .tdc .tdc-unidad button.activa {
  background: var(--t-acento); border-color: var(--t-acento); color: var(--t-sobre-acento); box-shadow: none;
}
html body .daw button.primario:hover, html body .dat button.primario:hover, html body .tdc button.primario:hover { background: var(--t-acento-hover); border-color: var(--t-acento-hover); }
html body .tdc .opt-g.activa { box-shadow: inset 2px 0 0 var(--t-acento); }

/* ===================== Segunda ronda (2026-10-16) ===================== */

/* Botones de grupo "radio" (btn-check): el estado activo usaba el azul de Bootstrap */
.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary,
.btn-outline-primary.active, .btn-outline-primary:active, .btn-outline-primary.dropdown-toggle.show {
  background-color: var(--t-acento) !important; border-color: var(--t-acento) !important; color: var(--t-sobre-acento) !important;
}
.btn-check:checked + .btn-outline-success, .btn-outline-success.active { background-color: var(--t-exito) !important; border-color: var(--t-exito) !important; color: #FFFFFF !important; }
.btn-check:checked + .btn-outline-secondary, .btn-outline-secondary.active { background-color: var(--t-tenue) !important; border-color: var(--t-tenue) !important; color: var(--t-fondo) !important; }
.btn-outline-info { color: var(--t-info) !important; border-color: var(--t-info) !important; background: transparent; }
.btn-outline-info:hover, .btn-outline-info:focus, .btn-check:checked + .btn-outline-info {
  background-color: var(--t-info) !important; border-color: var(--t-info) !important; color: #FFFFFF !important;
}
[data-bs-theme="dark"] .btn-outline-info:hover, [data-bs-theme="dark"] .btn-outline-info:focus,
[data-bs-theme="dark"] .btn-check:checked + .btn-outline-info { color: #101611 !important; }

/* Producción en vivo (.apv): la palabra de marca del título pasa al acento */
html body .apv h1 span { color: var(--t-acento); }

/* Induser: sus tokens propios pasan a la paleta corporativa (mismo significado:
   verde = bien, ámbar = atención, rojo = error; el azul pasa al morado de marca) */
html body .induser-wrapper {
  --ind-bg: #F7FAF5; --ind-card: #FFFFFF; --ind-border: #DCE5D6;
  --ind-green: #26824B; --ind-yellow: #A56300; --ind-red: #E11B22; --ind-blue: #4B2F86;
  --ind-text: #1A2416; --ind-muted: #5B6B57;
  --ind-opc: #E6F3EA; --ind-opc-c: #1B6B3B; --ind-calc: #ECE8F6; --ind-calc-c: #4B2F86;
  --ind-sombra: 0 1px 3px rgba(13, 47, 79, .10); --ind-sombra-sutil: 0 1px 3px rgba(13, 47, 79, .08);
}
html[data-bs-theme="dark"] body .induser-wrapper {
  --ind-bg: #101611; --ind-card: #1B201C; --ind-border: rgba(255, 255, 255, .12);
  --ind-green: #2E9E5B; --ind-yellow: #F79400; --ind-red: #EF333A; --ind-blue: #8876AF;
  --ind-text: #E8EFE6; --ind-muted: #9BAA97;
  --ind-opc: #16301F; --ind-opc-c: #7FD4A1; --ind-calc: #251F36; --ind-calc-c: #C5B8E6;
  --ind-sombra: 0 2px 8px rgba(0, 0, 0, .3); --ind-sombra-sutil: 0 2px 8px rgba(0, 0, 0, .25);
}
html body .induser-grad-verde { background: linear-gradient(135deg, #2F9A5C, #1B6B3B); }
html body .induser-grad-ambar { background: linear-gradient(135deg, #E08A00, #A56300); }
html body .induser-grad-rojo  { background: linear-gradient(135deg, #ED3A41, #A8141A); }
html body .induser-grad-azul  { background: linear-gradient(135deg, #6A4AAE, #3C266B); }
html body .induser-grad-gris  { background: linear-gradient(135deg, #8A9786, #5B6B57); }
html body .induser-badge.detenida, html body .induser-tag-ind { background: #FFF1D9; color: #7A4A00; }
html body .induser-badge.error { background: #FBE3E4; color: #A8141A; }
html body .induser-chart-wrap:hover, html body .induser-table tr:hover td { background: #EDF3E6; }
html[data-bs-theme="dark"] body .induser-badge.detenida, html[data-bs-theme="dark"] body .induser-tag-ind { background: #3A2A00; color: #F79400; }
html[data-bs-theme="dark"] body .induser-badge.error { background: #3A1A1C; color: #F5978E; }
html[data-bs-theme="dark"] body .induser-chart-wrap:hover, html[data-bs-theme="dark"] body .induser-table tr:hover td { background: #232B22; }
html[data-bs-theme="dark"] body .induser-table td.td-calc { background: rgba(136, 118, 175, .12); }

/* Detalles que quedaron fuera de la paleta (revisión de listados y formularios) */
.btn-outline-warning { color: var(--t-alerta) !important; border-color: var(--marca-naranja) !important; background: transparent; }
.btn-outline-warning:hover, .btn-outline-warning:focus, .btn-check:checked + .btn-outline-warning {
  background-color: var(--marca-naranja) !important; border-color: var(--marca-naranja) !important; color: #1A2416 !important;
}
:root { --bs-code-color: #4B2F86; }
[data-bs-theme="dark"] { --bs-code-color: #C5B8E6; }
