/* =============================================================================
 * styleestilmedic.css · Tema de Estil Mèdic (T-0.08)
 *
 * Tema de marca de la aplicación. NO sustituye a style.css: lo importa y solo pisa
 * el color de marca de la plantilla y los colores de texto que no llegaban a AA.
 * La plantilla queda intacta y se puede actualizar sin rehacer este fichero.
 *
 * -----------------------------------------------------------------------------
 * LA PALETA SALE DEL LOGOTIPO, MEDIDA
 * -----------------------------------------------------------------------------
 * Contando los píxeles de tinta de logo.png (sin el fondo blanco):
 *
 *     #092144  marino   55,6 % de la tinta   (letras, anillo y perfil)
 *     #A38D72  dorado   20,8 %               (hoja, lema y filetes)
 *
 * Son los valores de la web (#002261 y #CDB893) medidos sobre el logotipo real.
 *
 * -----------------------------------------------------------------------------
 * REPARTO: MARINO ESTRUCTURA, DORADO ACENTO
 * -----------------------------------------------------------------------------
 *     #092144 con tinta blanca -> 16,0:1   botón primario, menú, casillas, iconos
 *     #A38D72 sobre blanco     ->  3,2:1   NO vale para texto sobre blanco
 *     #A38D72 con tinta marino ->  5,0:1   hover del botón primario, selección
 *
 * El dorado va en poca superficie y siempre con tinta marino encima: indicador
 * de «estás aquí», botón primario al pasar por encima, anillo de foco (opaco:
 * con la transparencia de la guía se quedaba en 1,6:1), progreso y selección.
 *
 * -----------------------------------------------------------------------------
 * TEMA OSCURO
 * -----------------------------------------------------------------------------
 * El marino no se ve sobre los fondos oscuros de la plantilla (1,2:1 sobre
 * #111217). En oscuro, el color primario es un marino aclarado, #4074BF, que
 * cumple a la vez con la tinta blanca (4,7:1) y contra el fondo (3,3:1 y 4,0:1),
 * y el texto en color de marca pasa a #85A6D6 (6,3:1). Lo cambian los tokens
 * de [data-theme-version=dark]; el bloque generado usa esos tokens.
 *
 * -----------------------------------------------------------------------------
 * LO QUE ESTE FICHERO NO TOCA
 * -----------------------------------------------------------------------------
 * Los colores semánticos de datos (guía de presentación, §4.3): verde de entrada,
 * rosa de salida y los de aviso y error significan lo mismo en toda la aplicación.
 *
 * -----------------------------------------------------------------------------
 * CÓMO SE MANTIENE
 * -----------------------------------------------------------------------------
 * El bloque entre las marcas GENERADO y FIN lo escribe herramientas/tema/
 * generar_tema.py recorriendo style.css: reescribe el azul de la plantilla,
 * #1E3FB4, y sus 27 derivados (el mismo azul aclarado u oscurecido, que no
 * contiene su hexadecimal). Los derivados pasan al tono del marino conservando
 * su claridad, para que un fondo tenue siga siendo tenue. El generador falla si
 * queda algún azul o si un contraste de la tabla de docs/tema.md baja de AA.
 *
 *     python herramientas/tema/generar_tema.py              regenera el bloque
 *     python herramientas/tema/generar_tema.py --comprobar  lo verifica (CI)
 *
 * El resto del fichero se escribe a mano y el generador lo conserva.
 * ============================================================================= */

@import url("style.css");

:root {
  /* Los dos del logotipo (plan, 2.9). */
  --em-marino: #092144;
  --em-dorado: #A38D72;
  /* Marino aclarado: enlaces al pasar por encima, reposo sobre oscuro. 10,9:1 con blanco. */
  --em-marino-suave: #103B7A;
  /* Dorado oscurecido, solo si hiciera falta texto dorado sobre blanco. 4,5:1. */
  --em-dorado-texto: #897359;

  /* Papeles. Los usa el bloque generado; el tema oscuro los redefine. */
  --em-primario: #092144;
  --em-primario-rgb: 9, 33, 68;
  --em-primario-texto: #092144;
  --em-primario-texto-rgb: 9, 33, 68;
  --em-enlace-hover: var(--em-marino-suave);
  --em-foco: #A38D72;
  --em-foco-rgb: 163, 141, 114;

  /* Texto. La plantilla usa #7E7E7E (4,1:1) y #B1B1B1 en los campos (2,1:1). */
  --em-texto: #666666;
  --em-texto-rgb: 102, 102, 102;
  --em-texto-secundario: #707070;
  /* Títulos y etiquetas de campo: el --bs-heading-color de la plantilla. */
  --em-titulo: #3D4465;
  /* Errores de validación y texto de peligro. El #F94687 de la plantilla se queda en
   * 3,4:1 sobre blanco: aquí, el mismo tono oscurecido hasta AA. */
  --em-error-texto: #DE0755;
  /* Botón de peligro con tinta blanca (4,9:1): el #F94687 de la plantilla se queda en 3,4:1. */
  --em-peligro: #DE0755;
  --em-peligro-hover: #B80646;

  /* Alertas: fondo y texto. La plantilla escribe cada alerta en su propio color sobre la
   * versión clara de ese color (verde, cian, amarillo o rosa) y ninguna llega a AA. */
  --em-alerta-exito-fondo: #E8F5E9;
  --em-alerta-exito-texto: #1E6B32;
  --em-alerta-info-fondo: #E3F2FD;
  --em-alerta-info-texto: #0B4F79;
  --em-alerta-aviso-fondo: #FFF3E0;
  --em-alerta-aviso-texto: #7A4A00;
  --em-alerta-peligro-fondo: #FFEBEE;
  --em-alerta-peligro-texto: #A3163F;

  /* Controles deshabilitados, distintos de los de solo lectura (guía, §6.4). */
  --em-deshabilitado-fondo: #EEF0F3;
  /* Fondo y borde de los campos, los de la plantilla (.form-control), para que el
   * desplegable nativo sea igual que el resto. */
  --em-campo-fondo: #FFFFFF;
  --em-campo-borde: #E6E6E6;

  /* Colores de datos (guía, §4.3). Significan lo mismo en toda la aplicación y no
   * cambian con la marca ni con el tema: solo para series de gráficos. */
  --em-dato-positivo: #2BC155;
  --em-dato-negativo: #FF3282;
  --em-dato-a: #480CEB;
  --em-dato-b: #FF9900;
  --em-dato-apoyo-1: #3FBCDA;
  --em-dato-apoyo-2: #A02CFA;

  /* Estados de cita (C-19): fondo y texto. Van siempre con icono y texto (RNF-09). */
  --em-cita-programada-fondo: #EEF1F6;
  --em-cita-programada-texto: #3D4A5C;
  --em-cita-confirmada-fondo: #DCE5F2;
  --em-cita-confirmada-texto: #092144;
  --em-cita-en-espera-fondo: #F4EDE3;
  --em-cita-en-espera-texto: #6B5537;
  --em-cita-en-curso-fondo: #092144;
  --em-cita-en-curso-texto: #FFFFFF;
  --em-cita-realizada-fondo: #E8F5E9;
  --em-cita-realizada-texto: #1E6B32;
  --em-cita-no-presentado-fondo: #FFEBEE;
  --em-cita-no-presentado-texto: #A3163F;
  --em-cita-cancelada-fondo: #EEEEEE;
  --em-cita-cancelada-texto: #595959;
}

/* El tema oscuro de la plantilla se activa en <body data-theme-version="dark">. */
[data-theme-version=dark] {
  --em-primario: #4074BF;
  --em-primario-rgb: 64, 116, 191;
  --em-primario-texto: #85A6D6;
  --em-primario-texto-rgb: 133, 166, 214;
  --em-enlace-hover: var(--em-dorado);

  --em-texto: #A0A4AD;
  --em-texto-rgb: 160, 164, 173;
  --em-texto-secundario: #8E929B;
  --em-titulo: #FFFFFF;
  --em-error-texto: #F94687;

  --em-alerta-exito-fondo: #1F3324;
  --em-alerta-exito-texto: #9FD5A8;
  --em-alerta-info-fondo: #1B2A3A;
  --em-alerta-info-texto: #9CCBF0;
  --em-alerta-aviso-fondo: #3A2E1C;
  --em-alerta-aviso-texto: #F0C987;
  --em-alerta-peligro-fondo: #3D1E27;
  --em-alerta-peligro-texto: #F2A7B8;

  --em-deshabilitado-fondo: #1C1D22;
  --em-campo-fondo: #111217;
  --em-campo-borde: #333A54;

  --em-cita-programada-fondo: #2A2F38;
  --em-cita-programada-texto: #C9D1DC;
  --em-cita-confirmada-fondo: #1C2B44;
  --em-cita-confirmada-texto: #A9C1E4;
  --em-cita-en-espera-fondo: #3A3226;
  --em-cita-en-espera-texto: #D9C3A3;
  --em-cita-en-curso-fondo: #4074BF;
  --em-cita-en-curso-texto: #FFFFFF;
  --em-cita-realizada-fondo: #1F3324;
  --em-cita-realizada-texto: #9FD5A8;
  --em-cita-no-presentado-fondo: #3D1E27;
  --em-cita-no-presentado-texto: #F2A7B8;
  --em-cita-cancelada-fondo: #2E2E2E;
  --em-cita-cancelada-texto: #BDBDBD;
}

/* >>> GENERADO por herramientas/tema/generar_tema.py: no editar a mano <<< */

:root, [data-bs-theme=light] {
  --bs-primary: var(--em-primario);
  --bs-primary-rgb: var(--em-primario-rgb);
  --bs-primary-text-emphasis: #040D1A;
  --bs-primary-bg-subtle: #D0DDEF;
  --bs-primary-border-subtle: #94B1DB;
  --bs-link-color: var(--em-primario-texto);
  --bs-link-color-rgb: var(--em-primario-texto-rgb);
  --bs-link-hover-color: #091B35;
  --bs-link-hover-color-rgb: 9, 27, 53;
  --bs-focus-ring-color: var(--em-foco);
}
[data-theme-version=dark] {
  --bs-primary: var(--em-primario);
  --bs-primary-rgb: var(--em-primario-rgb);
  --bs-link-color: var(--em-primario-texto);
  --bs-link-color-rgb: var(--em-primario-texto-rgb);
  --bs-focus-ring-color: var(--em-foco);
}
[data-bs-theme=dark] {
  --bs-primary-text-emphasis: #507FC5;
  --bs-primary-bg-subtle: #02070D;
  --bs-primary-border-subtle: #071428;
  --bs-link-color: #507FC5;
  --bs-link-hover-color: #799DD2;
  --bs-link-color-rgb: 80, 127, 197;
  --bs-link-hover-color-rgb: 121, 157, 210;
}
.table-primary {
  --bs-table-bg: #D0DDEF;
  --bs-table-border-color: #B2BFD2;
  --bs-table-striped-bg: #C2CFE1;
  --bs-table-active-bg: #B2BFD2;
  --bs-table-hover-bg: #BAC7DA;
}
.form-control:focus {
  border-color: #7399D1;
  box-shadow: 0 0 0 0.25rem var(--em-foco);
}
.form-select:focus {
  border-color: #7399D1;
  box-shadow: 0 0 0 0.25rem var(--em-foco);
}
.form-check-input:focus {
  border-color: #7399D1;
  box-shadow: 0 0 0 0.25rem var(--em-foco);
}
.form-check-input:checked {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--em-foco);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--em-foco);
}
.form-range::-webkit-slider-thumb {
  background-color: var(--em-primario);
}
.form-range::-webkit-slider-thumb:active {
  background-color: #B4C8E6;
}
.form-range::-moz-range-thumb {
  background-color: var(--em-primario);
}
.form-range::-moz-range-thumb:active {
  background-color: #B4C8E6;
}
.btn-primary {
  --bs-btn-bg: var(--em-primario);
  --bs-btn-border-color: var(--em-primario);
  --bs-btn-hover-bg: #0A1C38;
  --bs-btn-hover-border-color: #091B35;
  --bs-btn-focus-shadow-rgb: var(--em-foco-rgb);
  --bs-btn-active-bg: #091B35;
  --bs-btn-active-border-color: #081931;
  --bs-btn-disabled-bg: var(--em-primario);
  --bs-btn-disabled-border-color: var(--em-primario);
}
.btn-outline-primary {
  --bs-btn-color: var(--em-primario-texto);
  --bs-btn-border-color: var(--em-primario);
  --bs-btn-hover-bg: var(--em-primario);
  --bs-btn-hover-border-color: var(--em-primario);
  --bs-btn-focus-shadow-rgb: var(--em-foco-rgb);
  --bs-btn-active-bg: var(--em-primario);
  --bs-btn-active-border-color: var(--em-primario);
  --bs-btn-disabled-color: var(--em-primario-texto);
  --bs-btn-disabled-border-color: var(--em-primario);
}
.btn-link {
  --bs-btn-focus-shadow-rgb: var(--em-foco-rgb);
}
.dropdown-menu {
  --bs-dropdown-link-active-bg: var(--em-primario);
}
.dropdown-menu-dark {
  --bs-dropdown-link-active-bg: var(--em-primario);
}
.nav-link:focus-visible {
  box-shadow: 0 0 0 0.25rem var(--em-foco);
}
.nav-pills {
  --bs-nav-pills-link-active-bg: var(--em-primario);
}
.accordion {
  --bs-accordion-btn-focus-border-color: var(--em-foco);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--em-foco);
}
.pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--em-foco);
  --bs-pagination-active-bg: var(--em-primario);
  --bs-pagination-active-border-color: var(--em-primario);
}
.progress, .progress-stacked {
  --bs-progress-bar-bg: var(--em-primario);
}
.list-group {
  --bs-list-group-active-bg: var(--em-primario);
  --bs-list-group-active-border-color: var(--em-primario);
}
.btn-close {
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem var(--em-foco);
}
::selection {
  background: var(--em-primario);
}
* ::-webkit-scrollbar-thumb {
  background: rgb(var(--em-primario-rgb));
}
.sk-three-bounce .sk-child {
  background-color: var(--em-primario);
}
.footer .copyright a {
  color: var(--em-primario-texto);
}
.hamburger .line {
  background: var(--em-primario);
}
svg.pulse-svg .first-circle, svg.pulse-svg .third-circle, svg.pulse-svg .second-circle {
  fill: var(--em-primario);
}
.header-right .notification_dropdown .nav-link {
  color: var(--em-primario-texto);
  background: rgba(var(--em-primario-rgb), 0.1);
}
.header-right .notification_dropdown .nav-link.primary {
  background: #D9E6F9;
  color: var(--em-primario-texto);
}
.header-right .notification_dropdown .nav-link.primary [fill] {
  fill: var(--em-primario);
}
.header-right .notification_dropdown .nav-link .badge {
  box-shadow: 0px 0px 10px 3px rgba(var(--em-primario-rgb), 0.2);
}
.header-right .dropdown-menu {
  box-shadow: 0 0 37px rgba(3, 12, 24, 0.05);
}
.header-right .header-profile .dropdown-menu a:hover, .header-right .header-profile .dropdown-menu a:focus, .header-right .header-profile .dropdown-menu a.active {
  color: var(--em-primario-texto);
}
.header-right .header-profile .profile_title {
  background: var(--em-primario);
}
.notification_dropdown .dropdown-menu-end .notification_title, .header-profile .dropdown-menu-end .notification_title {
  background: var(--em-primario);
}
.notification_dropdown .dropdown-menu-end .media > span.primary, .header-profile .dropdown-menu-end .media > span.primary {
  background: #D9E6F9;
  color: var(--em-primario-texto);
}
.notification_dropdown .dropdown-menu-end .all-notification, .header-profile .dropdown-menu-end .all-notification {
  color: var(--em-primario-texto);
}
.deznav .metismenu > li > a svg {
  color: var(--em-primario-texto);
}
.deznav .metismenu > li > a g [fill] {
  fill: var(--em-primario);
}
.deznav .metismenu > li:hover > a, .deznav .metismenu > li:focus > a {
  color: var(--em-primario-texto);
}
.deznav .metismenu > li:hover > a g [fill], .deznav .metismenu > li:focus > a g [fill] {
  fill: var(--em-primario);
}
.deznav .metismenu > li.mm-active > a {
  color: var(--em-primario-texto);
}
.deznav .metismenu > li.mm-active > a g [fill] {
  fill: var(--em-primario);
}
.deznav .metismenu ul a:hover, .deznav .metismenu ul a:focus, .deznav .metismenu ul a.mm-active {
  color: var(--em-primario-texto);
}
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li > a:before {
  background: var(--em-primario);
}
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li.mm-active > a {
  color: var(--em-primario-texto);
  background: rgba(var(--em-primario-rgb), 0.1);
}
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li.mm-active > a i {
  color: var(--em-primario-texto);
}
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .nav-header .nav-control .hamburger .line {
  background-color: var(--em-primario) !important;
}
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .deznav .metismenu > li.mm-active > a {
  background: var(--em-primario);
}
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .deznav .metismenu > li:hover > a {
  background: var(--em-primario);
}
@media only screen and (min-width: 768px) {
  [data-sidebar-style=mini][data-layout=vertical] .deznav .metismenu > li.mm-active > a {
    background: var(--em-primario);
  }
  [data-sidebar-style=mini][data-layout=vertical] .deznav .metismenu > li:hover > a {
    background: var(--em-primario);
  }
}
@media (min-width: 767px) {
  [data-sidebar-style=compact] .deznav .metismenu li a:before {
    background: var(--em-primario);
  }
  [data-sidebar-style=modern] .deznav .metismenu > li > a:hover > a, [data-sidebar-style=modern] .deznav .metismenu > li > a:focus > a, [data-sidebar-style=modern] .deznav .metismenu > li > a:active > a, [data-sidebar-style=modern] .deznav .metismenu > li > a.mm-active > a {
    background-color: #D9E6F9;
  }
}
[data-sidebar-style=overlay] .nav-header .hamburger.is-active .line {
  background-color: var(--em-primario);
}
.sidebar-right .sidebar-right-trigger {
  color: var(--em-primario-texto);
}
.sidebar-right .sidebar-right-trigger:hover {
  color: var(--em-primario-texto);
}
.sidebar-right #nav_header_color_3 + label, .sidebar-right #header_color_3 + label, .sidebar-right #sidebar_color_3 + label, .sidebar-right #primary_color_3 + label {
  background-color: var(--em-primario);
}
.nav-user {
  background: var(--em-primario);
}
.chatbox .nav {
  background: var(--em-primario);
}
.chatbox .img_cont.primary {
  background: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .chatbox .img_cont.primary {
  background: rgba(var(--em-primario-rgb), 0.2);
}
[data-theme-version=dark] .chatbox .chat-list-header a {
  background: rgba(var(--em-primario-rgb), 0.2);
}
.chatbox .msg_cotainer {
  background: var(--em-primario);
}
.chatbox .msg_cotainer:after {
  border-right: 10px solid var(--em-primario);
}
[data-headerbg=color_1] .nav-header .hamburger.is-active .line, [data-headerbg=color_1] .nav-header .hamburger .line {
  background: var(--em-primario) !important;
}
.bg-primary-alt {
  background-color: rgba(var(--em-primario-rgb), 0.1);
}
#external-events [data-class=bg-primary]::before {
  background: var(--em-primario);
}
.email-left-box .intro-title {
  background: rgba(var(--em-primario-rgb), 0.1);
}
.email-left-box .intro-title i {
  color: var(--em-primario-texto);
}
.email-right-box .right-box-border {
  border-right: 2px solid rgba(var(--em-primario-rgb), 0.1);
}
.mail-list .list-group-item.active {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
.single-mail.active {
  background: var(--em-primario);
}
.email-tools-box {
  background-color: #D9E6F9;
  color: var(--em-primario-texto);
}
.email-tools-box.active {
  background-color: var(--em-primario);
}
.profile-info h4.text-primary, .profile-info .text-primary.h4 {
  color: var(--em-primario-texto) !important;
}
.profile-tab .nav-item .nav-link:hover, .profile-tab .nav-item .nav-link.active {
  border-bottom: 0.2px solid var(--em-primario);
  color: var(--em-primario-texto);
}
.profile-blog a:hover {
  color: var(--em-primario-texto);
}
.ct-chart .ct-series.ct-series-a .ct-bar, .ct-chart .ct-series.ct-series-a .ct-line, .ct-chart .ct-series.ct-series-a .ct-point, .ct-chart .ct-series.ct-series-a .ct-slice-donut {
  stroke: var(--em-primario);
}
.morris-hover {
  background: var(--em-primario);
}
[data-theme-version=light] .input-primary .form-control, [data-theme-version=dark] .input-primary .form-control {
  border-color: var(--em-primario);
}
[data-theme-version=light] .input-primary .input-group-text, [data-theme-version=dark] .input-primary .input-group-text {
  background-color: var(--em-primario);
}
[data-theme-version=light] .input-primary-o .form-control, [data-theme-version=dark] .input-primary-o .form-control {
  border-color: var(--em-primario);
}
[data-theme-version=light] .input-primary-o .input-group-text, [data-theme-version=dark] .input-primary-o .input-group-text {
  border-color: var(--em-primario);
  color: var(--em-primario-texto);
}
.custom-select:focus {
  border-color: var(--em-primario);
  color: var(--em-primario-texto);
}
.form-switch .form-check-input:checked {
  background: #D9E6F9;
}
.form-switch .form-check-input:checked:after {
  background: var(--em-primario);
}
.check-switch .custom-control-label:after, .check-switch .custom-control-label:before {
  border-color: rgba(var(--em-primario-rgb), 0.3);
}
.is-invalid .input-group-prepend .input-group-text i {
  color: #1D59B0;
}
.daterangepicker td.active:hover {
  background-color: var(--em-primario);
}
.daterangepicker button.applyBtn {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
.daterangepicker td.active {
  background-color: var(--em-primario);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--em-primario);
}
.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--em-primario);
}
.select2-container--classic.select2-container--open .select2-selection--multiple, .select2-container--classic.select2-container--open .select2-dropdown {
  border-color: var(--em-primario);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  color: var(--em-primario-texto);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #D9E6F9;
  border-color: #D9E6F9;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  border-color: var(--em-primario);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  color: var(--em-primario-texto);
}
.form-wizard .nav-wizard li .nav-link span {
  border: 2px solid var(--em-primario);
  color: var(--em-primario-texto);
}
.form-wizard .nav-wizard li .nav-link.done:after {
  background: var(--em-primario) !important;
}
.form-wizard .nav-wizard li .nav-link.done span {
  background-color: var(--em-primario);
}
.form-wizard .toolbar-bottom .btn {
  background-color: var(--em-primario);
}
.datamaps-hoverover {
  color: var(--em-primario-texto);
  border: 1px solid rgba(var(--em-primario-rgb), 0.3);
}
.jqvmap-zoomin, .jqvmap-zoomout {
  background-color: var(--em-primario);
}
.clipboard-btn:hover {
  background-color: var(--em-primario);
}
.twitter-typeahead .tt-menu .tt-suggestion:hover {
  background-color: var(--em-primario);
}
.noUi-connect {
  background-color: var(--em-primario);
}
.noUi-connect.c-3-color {
  background-color: var(--em-primario);
}
.noUi-horizontal .noUi-handle, .noUi-vertical .noUi-handle {
  background-color: var(--em-primario);
}
#slider-toggle.off .noUi-handle {
  border-color: var(--em-primario);
}
.dd-handle {
  background: var(--em-primario);
}
.dd-handle:hover {
  background: var(--em-primario);
}
.dd3-content:hover {
  background: var(--em-primario);
}
.pignose-calendar {
  border-color: var(--em-primario);
}
.pignose-calendar .pignose-calendar-top-date {
  background-color: var(--em-primario);
}
.pignose-calendar.pignose-calendar-blue .pignose-calendar-body .pignose-calendar-row .pignose-calendar-unit.pignose-calendar-unit-active a {
  background-color: var(--em-primario);
}
.cd-h-timeline__dates::before {
  background: var(--em-primario);
}
.cd-h-timeline__dates::after {
  background: var(--em-primario);
}
.cd-h-timeline__line {
  background-color: var(--em-primario);
}
.cd-h-timeline__date::after {
  border-color: #0C2549;
  background-color: var(--em-primario);
}
.cd-h-timeline__navigation {
  border-color: #0C2549;
}
.cd-h-timeline__navigation--inactive:hover {
  border-color: #0C2549;
}
.toast-success {
  background-color: var(--em-primario);
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: var(--em-primario);
}
.ck.ck-editor .ck.ck-button {
  color: var(--em-primario-texto);
}
.fc-h-event, .fc-v-event {
  background: var(--em-primario);
}
.fc-daygrid-dot-event .fc-daygrid-event-dot {
  border-color: var(--em-primario);
}
.fc .fc-button-group > .fc-button:focus, .fc .fc-button-group > .fc-button:active, .fc .fc-button-group > .fc-button:hover, .fc .fc-button-group > .fc-button.fc-button-active {
  background: var(--em-primario);
  border-color: var(--em-primario);
}
.fc-button.fc-button-primary.fc-today-button {
  background: var(--em-primario);
}
.fc-unthemed .fc-toolbar .fc-button.fc-button-active, .fc-unthemed .fc-toolbar .fc-button:active, .fc-unthemed .fc-toolbar .fc-button:focus {
  background: var(--em-primario);
  border: 1px solid var(--em-primario);
}
.accordion-primary .accordion-button {
  background: var(--em-primario);
  border-color: var(--em-primario);
  box-shadow: rgba(4, 25, 55, 0.2) 0px 8px 24px;
}
.accordion-primary .accordion-button.collapsed {
  background: #D9E6F9;
  border-color: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .accordion-primary .accordion-button.collapsed {
  background: rgba(4, 25, 55, 0.1);
  border-color: rgba(4, 25, 55, 0.1);
}
.accordion-primary-solid .accordion-button {
  background: var(--em-primario);
  border-color: var(--em-primario);
  box-shadow: 0 -0.625rem 1.25rem 0 #D9E6F9;
}
.accordion-primary-solid .accordion-button.collapsed {
  background: #D9E6F9;
  border-color: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .accordion-primary-solid .accordion-button.collapsed {
  background: #D9E6F9;
  border-color: #D9E6F9;
}
.accordion-primary-solid .accordion-body {
  border: 0.125rem solid var(--em-primario);
  box-shadow: 0 0.9375rem 1.25rem 0 #D9E6F9;
}
.accordion-header-bg .accordion-header-primary .accordion-button {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
[data-theme-version=dark] .accordion-header-bg .accordion-header-primary .accordion-button {
  background-color: var(--em-primario);
}
.accordion-solid-bg .accordion-button {
  background-color: #D9E6F9;
}
.accordion-solid-bg .accordion-body {
  background-color: #D9E6F9;
}
.alert-primary {
  background: #D9E6F9;
  border-color: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .alert-primary {
  background: rgba(var(--em-primario-rgb), 0.2);
  border-color: rgba(var(--em-primario-rgb), 0.2);
}
.alert-alt.alert-primary {
  border-left: 4px solid var(--em-primario);
}
.alert-alt.alert-primary.solid {
  border-left: 4px solid #040D1A !important;
}
.alert.alert-primary.solid {
  background: var(--em-primario);
  border-color: var(--em-primario);
}
.alert.alert-outline-primary {
  color: var(--em-primario-texto);
  border-color: var(--em-primario);
}
.badge-outline-primary {
  border: 1px solid var(--em-primario);
  color: var(--em-primario-texto);
}
.badge-primary {
  background-color: var(--em-primario);
}
.light.badge-primary {
  background-color: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .light.badge-primary {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
.page-titles .breadcrumb li.active a {
  color: var(--em-primario-texto);
}
.page-titles .breadcrumb .breadcrumb-item + .breadcrumb-item:before {
  color: var(--em-primario-texto);
}
.light.btn-primary {
  background-color: #D9E6F9;
  border-color: #D9E6F9;
  color: var(--em-primario-texto);
}
.light.btn-primary g [fill] {
  fill: var(--em-primario);
}
[data-theme-version=dark] .light.btn-primary {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
.light.btn-primary:hover {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
.btn.tp-btn.btn-primary {
  color: var(--em-primario-texto);
}
.btn.tp-btn.btn-primary g [fill] {
  fill: var(--em-primario);
}
.btn.tp-btn.btn-primary:hover {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
.btn.tp-btn-light.btn-primary {
  color: var(--em-primario-texto);
}
.btn.tp-btn-light.btn-primary g [fill] {
  fill: var(--em-primario);
}
.btn.tp-btn-light.btn-primary:hover {
  background-color: #D9E6F9;
  border-color: #D9E6F9;
  color: var(--em-primario-texto);
}
.btn.tp-btn-light.btn-primary:hover g [fill] {
  fill: var(--em-primario);
}
.shadow.btn-primary {
  -webkit-box-shadow: 0 5px 15px 0 rgba(var(--em-primario-rgb), 0.2) !important;
  box-shadow: 0 5px 15px 0 rgba(var(--em-primario-rgb), 0.2) !important;
}
.card-action .dropdown {
  color: var(--em-primario-texto);
}
.card-loader i {
  background: #091C37;
}
.card-link:hover {
  color: var(--em-primario-texto);
}
.dropdown-outline {
  border: 0.1rem solid var(--em-primario);
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus, .dropdown-menu .dropdown-item:active, .dropdown-menu .dropdown-item.active {
  color: var(--em-primario-texto);
}
.dropdown-menu .dropdown-item.active, .dropdown-menu .dropdown-item:active {
  color: var(--em-primario-texto) !important;
}
.card-action .custom-dropdown {
  background: #6297E5;
}
.card-action .custom-dropdown.show, .card-action .custom-dropdown:focus, .card-action .custom-dropdown:hover {
  background: var(--em-primario);
}
.label-primary {
  background: var(--em-primario);
}
.pagination .page-item.active .page-link {
  background: var(--em-primario);
  border-color: var(--em-primario);
}
.pagination .page-item .page-link:hover {
  background: var(--em-primario);
  border-color: var(--em-primario);
}
.pagination .page-item.active .page-link {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
  box-shadow: 0 10px 20px 0px rgba(var(--em-primario-rgb), 0.2);
}
.pagination.no-bg.pagination-primary li:not(.page-indicator):not(.active):hover .page-link {
  background: var(--em-primario);
  border-color: var(--em-primario);
}
[data-theme-version=dark] .pagination.no-bg.pagination-primary li:not(.page-indicator):not(.active):hover .page-link {
  background: var(--em-primario);
  border-color: var(--em-primario);
}
.pagination-primary .page-item .page-link {
  background: #D9E6F9;
  border-color: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .pagination-primary .page-item .page-link {
  background: rgba(var(--em-primario-rgb), 0.2);
  color: var(--em-primario-texto);
}
.pagination-primary .page-item:hover .page-link, .pagination-primary .page-item.active .page-link {
  background: var(--em-primario);
  border-color: var(--em-primario);
  box-shadow: 0 10px 20px 0px rgba(var(--em-primario-rgb), 0.2);
}
.bootstrap-popover-wrapper .bootstrap-popover button:hover, .bootstrap-popover-wrapper .bootstrap-popover button:focus {
  background: var(--em-primario);
}
.progress-bar {
  background-color: var(--em-primario);
}
.progress-bar-primary {
  background-color: var(--em-primario);
}
.ribbon__four {
  background-color: var(--em-primario);
}
.ribbon__four:after, .ribbon__four:before {
  background-color: #236BD5;
}
.ribbon__five {
  background-color: var(--em-primario);
}
.ribbon__five::before {
  border-color: transparent transparent var(--em-primario) transparent;
}
.ribbon__six {
  background-color: var(--em-primario);
}
.multi-steps > li {
  color: var(--em-primario-texto);
}
.multi-steps > li:before {
  border-color: var(--em-primario);
}
.multi-steps > li:after {
  background-color: var(--em-primario);
}
.multi-steps > li.is-active:before {
  border-color: var(--em-primario);
}
.default-tab .nav-link i {
  color: var(--em-primario-texto);
}
.default-tab .nav-link:focus, .default-tab .nav-link:hover, .default-tab .nav-link.active {
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .default-tab .nav-link:focus, [data-theme-version=dark] .default-tab .nav-link:hover, [data-theme-version=dark] .default-tab .nav-link.active {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
.custom-tab-1 .nav-link i {
  color: var(--em-primario-texto);
}
.custom-tab-1 .nav-link:focus, .custom-tab-1 .nav-link:hover, .custom-tab-1 .nav-link.active {
  border-color: var(--em-primario);
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .custom-tab-1 .nav-link:focus, [data-theme-version=dark] .custom-tab-1 .nav-link:hover, [data-theme-version=dark] .custom-tab-1 .nav-link.active {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
.nav-pills.light .nav-link.active, .nav-pills.light .show > .nav-link {
  background: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .nav-pills.light .nav-link.active, [data-theme-version=dark] .nav-pills.light .show > .nav-link {
  background: rgba(var(--em-primario-rgb), 0.2);
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  box-shadow: 0 0 20px 0 rgba(var(--em-primario-rgb), 0.2);
}
.tooltip-wrapper button:hover {
  background: var(--em-primario);
}
.widget-timeline .timeline-badge.primary {
  border-color: #D9E6F9;
}
[data-theme-version=dark] .widget-timeline .timeline-badge.primary {
  border-color: rgba(var(--em-primario-rgb), 0.2);
}
.widget-timeline .timeline-badge.primary:after {
  background-color: var(--em-primario) !important;
  box-shadow: 0 5px 10px 0 rgba(var(--em-primario-rgb), 0.2);
}
.widget-timeline .timeline-badge.primary + .timeline-panel {
  background: #D9E6F9;
  border-color: #D9E6F9;
}
[data-theme-version=dark] .widget-timeline .timeline-badge.primary + .timeline-panel {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
.widget-timeline.style-1 .timeline .timeline-badge.primary + .timeline-panel {
  border-color: var(--em-primario);
}
.widget-timeline.style-1 .timeline .timeline-badge.primary + .timeline-panel:after {
  background: var(--em-primario);
}
.chart_widget_tab_one .nav-link.active {
  background-color: var(--em-primario);
  border: 1px solid var(--em-primario);
}
.chart_widget_tab_one .nav-link.active:hover {
  border: 1px solid var(--em-primario);
}
.social-icon2 a {
  border: 0.1rem solid var(--em-primario);
}
.social-icon2 i {
  color: var(--em-primario-texto);
}
.social-icon3 ul li a:hover i {
  color: var(--em-primario-texto);
}
.bgl-primary {
  background: #D9E6F9;
  border-color: #D9E6F9;
}
[data-theme-version=dark] .bgl-primary {
  background-color: rgba(var(--em-primario-rgb), 0.2);
  border-color: rgba(var(--em-primario-rgb), 0.2);
}
.bg-primary-light {
  background: rgba(217, 230, 249, 0.5);
}
[data-theme-version=dark] .bg-primary-light {
  background-color: rgba(var(--em-primario-rgb), 0.05);
}
.overlay-box:after {
  background: var(--em-primario);
}
.tdl-holder input[type=checkbox]:checked + i {
  background: var(--em-primario);
}
.picker .picker__frame .picker__box .picker__header .picker__year {
  color: var(--em-primario-texto);
}
.picker .picker__frame .picker__box .picker__header .picker__nav--prev:hover, .picker .picker__frame .picker__box .picker__header .picker__nav--next:hover {
  background-color: #6297E5 !important;
  color: var(--em-primario-texto) !important;
}
.picker .picker__frame .picker__box .picker__table .picker__day.picker__day--highlighted {
  background-color: #6297E5 !important;
}
.picker .picker__frame .picker__box .picker__table .picker__day:hover {
  background-color: #6297E5 !important;
}
.picker .picker__frame .picker__box .picker__footer .picker__button--today {
  background-color: #6297E5 !important;
}
.picker .picker__frame .picker__box .picker__footer .picker__button--clear:hover, .picker .picker__frame .picker__box .picker__footer .picker__button--close:hover, .picker .picker__frame .picker__box .picker__footer .picker__button--today:hover {
  background-color: #6297E5 !important;
}
.widget-media .timeline .timeline-panel .media-primary {
  background: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .widget-media .timeline .timeline-panel .media-primary {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
.table .thead-primary th {
  background-color: var(--em-primario);
}
.table.primary-table-bg-hover thead th {
  background-color: #0A1D3A;
}
.table.primary-table-bg-hover tbody tr {
  background-color: var(--em-primario);
}
.table.primary-table-bg-hover tbody tr:hover {
  background-color: #123568;
}
.table.primary-table-bg-hover tbody tr:not(:last-child) td, .table.primary-table-bg-hover tbody tr:not(:last-child) th {
  border-bottom: 1px solid #0A1D3A;
}
.table-primary, .table-primary > th, .table-primary > td {
  background-color: #D9E6F9;
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .table-primary, [data-theme-version=dark] .table-primary > th, [data-theme-version=dark] .table-primary > td {
  background-color: rgba(var(--em-primario-rgb), 0.2);
}
table.dataTable tr.selected {
  color: var(--em-primario-texto);
}
.dataTables_wrapper .dataTables_paginate span {
  background: rgba(var(--em-primario-rgb), 0.08);
  border: 0px solid var(--em-primario);
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--em-primario-texto) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.current {
  background: var(--em-primario) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous, .dataTables_wrapper .dataTables_paginate .paginate_button.next {
  background: var(--em-primario) !important;
  border: 0px solid var(--em-primario) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.next:hover {
  background: var(--em-primario) !important;
}
.svg-icons-ov .svg-icons-prev svg path[fill] {
  fill: var(--em-primario);
}
.svg-icons-ov .svg-icons-prev .feather {
  stroke: var(--em-primario);
}
.svg-icons-ov .svg-icons-prev i {
  color: var(--em-primario-texto);
}
.svg-icons-ov .svg-icon-popup .btn {
  color: var(--em-primario-texto);
}
.svg-icons-ov .svg-icon-popup .btn:hover {
  background-color: var(--em-primario);
}
.svg-icons-ov:hover {
  border-color: var(--em-primario);
}
.svg-icons-ov.style-1 .svg-icons-prev {
  background-color: #D9E6F9;
}
.welcome-content::after {
  background: var(--em-primario);
}
.page-timeline .timeline-workplan.page-timeline .timeline .timeline-badge {
  background-color: var(--em-primario);
}
.page-timeline .timeline-workplan.page-timeline .timeline .timeline-badge::after {
  background-color: rgba(var(--em-primario-rgb), 0.4);
}
.iconbox i {
  background: var(--em-primario);
}
.widget-timeline-icon li {
  border-left: 3px solid var(--em-primario);
}
.plan-list .list-row .play-button {
  color: var(--em-primario-texto);
}
.plan-list .list-row:hover {
  background: var(--em-primario);
}
.event-calender .datepicker table tr td.active.active {
  color: var(--em-primario-texto) !important;
}
.event-calender .bootstrap-datetimepicker-widget table td.today:before {
  background: var(--em-primario);
}
.event-calender .bootstrap-datetimepicker-widget table td span.active {
  color: var(--em-primario-texto);
}
.date-icon {
  color: var(--em-primario-texto);
  background: rgba(var(--em-primario-rgb), 0.2);
}
.review-tab .nav-link.active {
  color: var(--em-primario-texto);
  border-color: var(--em-primario);
}
.plus-icon {
  background-color: var(--em-primario);
}
.nav-tabs.diet-tabs .nav-link {
  background-color: #D9E6F9;
}
.nav-tabs.diet-tabs .nav-link.active {
  background-color: var(--em-primario);
}
.cm-content-box .content-title .cpa {
  color: var(--em-primario-texto);
}
.dd-handle.move-media {
  background-color: var(--em-primario);
}
.tab-my.nav-tabs .nav-link.active {
  background-color: var(--em-primario);
}
.main-check {
  border: 1px solid var(--em-primario);
}
.content-title.box-primary, .content-title.box-secondary, .content-title.box-success, .content-title.box-danger, .content-title.box-warning, .content-title.box-info, .content-title.box-dark, .content-title.box-light {
  background-color: var(--em-primario);
}
.datepicker table tr td.today {
  background-color: var(--em-primario);
}
.datepicker table tr td.today:hover:hover {
  background-color: var(--em-primario);
}
.datepicker table tr td.selected, .datepicker table tr td.active.active, .datepicker.datepicker-dropdown td.day:hover, .datepicker.datepicker-dropdown th.next:hover, .datepicker.datepicker-dropdown th.prev:hover {
  background-color: var(--em-primario) !important;
}
.datepicker table tr td.today {
  background-color: var(--em-primario) !important;
}
.form-head .dropdown:after {
  color: var(--em-primario-texto);
}
.chart-link a i.text-primary {
  color: var(--em-primario-texto);
}
.card-tabs .nav-tabs .nav-link.active {
  color: var(--em-primario-texto);
}
span#counter {
  color: var(--em-primario-texto);
}
.add-menu-sidebar {
  background: var(--em-primario);
}
.testimonial-one .owl-nav .owl-prev, .testimonial-one .owl-nav .owl-next {
  color: var(--em-primario-texto) !important;
}
.testimonial-one .owl-nav .owl-prev:hover, .testimonial-one .owl-nav .owl-next:hover {
  background-color: var(--em-primario) !important;
}
.card-footer.style-1 a {
  color: var(--em-primario-texto);
}
.default-select.style-1 {
  background-color: #D9E6F9;
}
.default-select.style-1 .btn {
  color: var(--em-primario-texto) !important;
}
a:hover {
  color: var(--em-primario-texto);
}
.new-arrival-content .price {
  color: var(--em-primario-texto);
}
[data-theme-version=dark] .list-group-item.active {
  border-color: var(--em-primario);
}
[data-theme-version=dark] .list-group-item.active:focus, [data-theme-version=dark] .list-group-item.active:hover, [data-theme-version=dark] .list-group-item.active:focus {
  background-color: var(--em-primario);
  border-color: var(--em-primario);
}
[data-theme-version=dark] .daterangepicker {
  border-color: var(--em-primario);
}
[data-theme-version=dark] .daterangepicker .calendar-table {
  border-color: var(--em-primario);
}
[data-theme-version=dark] .daterangepicker .calendar-table .table-condensed td:hover {
  background-color: var(--em-primario);
}
[data-theme-version=dark] .daterangepicker td.off:hover, [data-theme-version=dark] .daterangepicker td.off.in-range:hover, [data-theme-version=dark] .daterangepicker td.off.start-date:hover, [data-theme-version=dark] .daterangepicker td.off.end-date:hover {
  background-color: var(--em-primario);
}
[data-theme-version=dark] .nav-tabs.diet-tabs .nav-link.active {
  background-color: var(--em-primario);
}
[data-theme-version=dark] .header-left input:focus {
  border-color: var(--em-primario);
}
[data-theme-version=dark] .header-right .right-sidebar a {
  color: var(--em-primario-texto);
}

/* >>> FIN DEL BLOQUE GENERADO <<< */

/* =============================================================================
 * EL DORADO, DONDE APORTA
 *
 * Escrito a mano y al final, para que gane al bloque generado. En todos estos
 * sitios el dorado va sobre poca superficie y con tinta marino encima.
 * ========================================================================== */

/* 1. El indicador de «estás aquí» en el menú: una barra fina que tiene que
 * saltar a la vista y es tan pequeña que no cansa. El texto sigue en marino. */
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li > a:before,
[data-sidebar-style=compact] .deznav .metismenu li a:before {
  background: var(--em-dorado);
}

/* 2. El botón primario al pasar por encima: marino en reposo y dorado con tinta
 * marino al interactuar, que es el propio logotipo. Por variables de Bootstrap:
 * la plantilla no define un .btn-primary:hover propio para color_1. */
.btn-primary {
  --bs-btn-hover-bg: var(--em-dorado);
  --bs-btn-hover-border-color: var(--em-dorado);
  --bs-btn-hover-color: var(--em-marino);
  --bs-btn-active-bg: var(--em-dorado);
  --bs-btn-active-border-color: var(--em-dorado);
  --bs-btn-active-color: var(--em-marino);
}

/* 3. Seleccionar texto: dorado con tinta marino (5,0:1). */
::selection {
  background: var(--em-dorado);
  color: var(--em-marino);
}
::-moz-selection {
  background: var(--em-dorado);
  color: var(--em-marino);
}

/* 4. Barras de progreso en dorado. Contra la pista gris quedan en 2,7:1: la barra
 * va siempre acompañada de su valor en texto (guía, §8.2). */
.progress-bar {
  background-color: var(--em-dorado);
}
.progress,
.progress-stacked {
  --bs-progress-bar-bg: var(--em-dorado);
}

/* -----------------------------------------------------------------------------
 * Foco: anillo dorado opaco en todos los controles (plan, 2.9)
 * -------------------------------------------------------------------------- */

/* La plantilla quita el anillo de los campos (box-shadow: none al enfocar). */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem var(--em-foco);
}
.btn {
  --bs-btn-focus-box-shadow: 0 0 0 0.25rem var(--em-foco);
}
a:focus-visible,
[tabindex]:focus-visible,
.deznav .metismenu a:focus-visible {
  outline: 2px solid var(--em-foco);
  outline-offset: 2px;
}

/* -----------------------------------------------------------------------------
 * Texto legible (AA) en claro y en oscuro
 * -------------------------------------------------------------------------- */

:root {
  --bs-body-color: var(--em-texto);
  --bs-body-color-rgb: var(--em-texto-rgb);
  --bs-secondary-color: var(--em-texto-secundario);
  --bs-heading-color: var(--em-titulo);
}
[data-theme-version=dark] {
  --bs-body-color: var(--em-texto);
  --bs-body-color-rgb: var(--em-texto-rgb);
  --bs-secondary-color: var(--em-texto-secundario);
  --bs-heading-color: var(--em-titulo);
  color: var(--em-texto);
}
/* Colores fijos de la plantilla que en oscuro no se leen: el interruptor escribe en
 * negro y las migas en #656773 (2,9:1 sobre #222327). */
[data-theme-version=dark] .form-switch,
[data-theme-version=dark] .page-titles .breadcrumb li a {
  color: var(--em-texto);
}
a {
  color: var(--em-texto);
}
a:hover {
  color: var(--em-enlace-hover);
}
/* La plantilla escribe en los campos en #B1B1B1 al pasar por encima y al enfocar. */
.form-control,
.form-control:hover,
.form-control:focus,
.form-control.active {
  color: var(--em-texto);
}
.form-control::placeholder {
  color: var(--em-texto-secundario);
}
[data-theme-version=dark] .text-primary {
  color: var(--em-primario-texto) !important;
}
/* Mensajes de error junto al campo y texto de peligro. */
:root,
[data-theme-version=dark] {
  --bs-form-invalid-color: var(--em-error-texto);
}
.invalid-feedback {
  color: var(--em-error-texto);
}
.text-danger {
  color: var(--em-error-texto) !important;
}

/* Alertas legibles en claro y en oscuro. La plantilla les pone el fondo y el color
 * directamente, y en oscuro con más especificidad: se pisan los dos. */
.alert-success,
[data-theme-version=dark] .alert-success {
  --bs-alert-color: var(--em-alerta-exito-texto);
  --bs-alert-link-color: var(--em-alerta-exito-texto);
  background: var(--em-alerta-exito-fondo);
  border-color: var(--em-alerta-exito-fondo);
  color: var(--em-alerta-exito-texto);
}
.alert-info,
[data-theme-version=dark] .alert-info {
  --bs-alert-color: var(--em-alerta-info-texto);
  --bs-alert-link-color: var(--em-alerta-info-texto);
  background: var(--em-alerta-info-fondo);
  border-color: var(--em-alerta-info-fondo);
  color: var(--em-alerta-info-texto);
}
.alert-warning,
[data-theme-version=dark] .alert-warning {
  --bs-alert-color: var(--em-alerta-aviso-texto);
  --bs-alert-link-color: var(--em-alerta-aviso-texto);
  background: var(--em-alerta-aviso-fondo);
  border-color: var(--em-alerta-aviso-fondo);
  color: var(--em-alerta-aviso-texto);
}
.alert-danger,
[data-theme-version=dark] .alert-danger {
  --bs-alert-color: var(--em-alerta-peligro-texto);
  --bs-alert-link-color: var(--em-alerta-peligro-texto);
  background: var(--em-alerta-peligro-fondo);
  border-color: var(--em-alerta-peligro-fondo);
  color: var(--em-alerta-peligro-texto);
}

/* Botón de peligro: tinta blanca en reposo, al pasar por encima y al pulsar (la
 * plantilla la cambia a negro al interactuar). */
.btn-danger {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: var(--em-peligro);
  --bs-btn-border-color: var(--em-peligro);
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: var(--em-peligro-hover);
  --bs-btn-hover-border-color: var(--em-peligro-hover);
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: var(--em-peligro-hover);
  --bs-btn-active-border-color: var(--em-peligro-hover);
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: var(--em-peligro);
  --bs-btn-disabled-border-color: var(--em-peligro);
}

/* Desplegable nativo (js/common/selects-nativos.js) con la forma y los colores de los
 * campos de la plantilla, y la flecha clara en oscuro. */
.form-select {
  height: 56px;
  border-radius: 0.625rem;
  border-color: var(--em-campo-borde);
  background-color: var(--em-campo-fondo);
  color: var(--em-texto);
}
[data-theme-version=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* Títulos de tarjeta como se escriben en español, en minúscula salvo la primera
 * letra: la plantilla pone mayúscula a cada palabra («Entradas Y Salidas»). */
.card-title {
  text-transform: none;
}

/* -----------------------------------------------------------------------------
 * Marca: logotipo e isotipo para cada tema (docs/tema.md)
 *
 * El JSP pone las dos variantes; aquí solo se oculta la que no toca, sin forzar
 * nunca la visible, para que la plantilla siga decidiendo cuándo se ve el
 * logotipo y cuándo el isotipo (menú plegado).
 * -------------------------------------------------------------------------- */

body:not([data-theme-version=dark]) .logo-tema-oscuro,
[data-theme-version=dark] .logo-tema-claro {
  display: none !important;
}

/* Símbolo y nombre a la misma altura. Con los tamaños de la plantilla (52 px y hasta 250 px)
 * ocupaban 312 px, y la cabecera del menú deja 245 px, o 222 px entre 1200 y 1400 px de ancho:
 * el nombre invadía el botón del menú. A 2.25rem ocupan 217 px. Si aun así faltara sitio, se
 * encoge el nombre sin deformarlo. */
.nav-header .brand-logo .logo-abbr,
.nav-header .brand-logo .brand-title {
  height: 2.25rem;
  width: auto;
  max-width: none;
}
.nav-header .brand-logo .logo-abbr {
  flex-shrink: 0;
}
.nav-header .brand-logo .brand-title {
  min-width: 0;
  object-fit: contain;
  object-position: left center;
}

/* Versión apilada de la hoja de marca, centrada en la pantalla de acceso. La imagen tiene el
 * doble de resolución que este ancho, para pantallas de alta densidad. */
.marca-acceso {
  width: 15rem;
  max-width: 100%;
  height: auto;
}

/* -----------------------------------------------------------------------------
 * Estados de cita (C-19)
 *
 * Una clase por estado. El icono lo pone la clase y el texto, el JSP: el estado
 * nunca depende solo del color (RNF-09). Uso:
 *   <span class="estado-cita estado-cita-confirmada">Confirmada</span>
 * -------------------------------------------------------------------------- */

.estado-cita {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}
.estado-cita::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-style: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.estado-cita-programada {
  background-color: var(--em-cita-programada-fondo);
  color: var(--em-cita-programada-texto);
}
.estado-cita-programada::before {
  content: "\f133";
  content: "\f133" / "";
}
.estado-cita-confirmada {
  background-color: var(--em-cita-confirmada-fondo);
  color: var(--em-cita-confirmada-texto);
}
.estado-cita-confirmada::before {
  content: "\f274";
  content: "\f274" / "";
}
.estado-cita-en-espera {
  background-color: var(--em-cita-en-espera-fondo);
  color: var(--em-cita-en-espera-texto);
}
.estado-cita-en-espera::before {
  content: "\f252";
  content: "\f252" / "";
}
.estado-cita-en-curso {
  background-color: var(--em-cita-en-curso-fondo);
  color: var(--em-cita-en-curso-texto);
}
.estado-cita-en-curso::before {
  content: "\f0f0";
  content: "\f0f0" / "";
}
.estado-cita-realizada {
  background-color: var(--em-cita-realizada-fondo);
  color: var(--em-cita-realizada-texto);
}
.estado-cita-realizada::before {
  content: "\f058";
  content: "\f058" / "";
}
.estado-cita-no-presentado {
  background-color: var(--em-cita-no-presentado-fondo);
  color: var(--em-cita-no-presentado-texto);
}
.estado-cita-no-presentado::before {
  content: "\f235";
  content: "\f235" / "";
}
.estado-cita-cancelada {
  background-color: var(--em-cita-cancelada-fondo);
  color: var(--em-cita-cancelada-texto);
}
.estado-cita-cancelada::before {
  content: "\f05e";
  content: "\f05e" / "";
}
