/* =============================================================================
 * styleatelier.css · Tema del panel de Atelier Detailing
 *
 * Tema de marca del panel. 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 web pública no lo usa: tiene sus propias hojas en css/publico/.
 *
 * -----------------------------------------------------------------------------
 * LA PALETA SALE DE LA WEB Y DEL LOGOTIPO
 * -----------------------------------------------------------------------------
 *     #12171B  tinta      el texto de la web sobre hueso; estructura del panel
 *     #0A0F14  medianoche el fondo de la web; cabecera de la marca
 *     #D81E2C  rojo       la «T» del logotipo; acento
 *     #EFE9DE  hueso      las secciones claras de la web
 *     #AEB6BD  cromo      las letras del logotipo
 *
 * -----------------------------------------------------------------------------
 * REPARTO: TINTA ESTRUCTURA, ROJO ACENTO
 * -----------------------------------------------------------------------------
 *     #12171B con tinta blanca -> 18,0:1   botón primario, casillas, iconos
 *     #D81E2C con tinta blanca ->  5,1:1   botón primario al pasar por encima
 *     #D81E2C sobre blanco     ->  5,1:1   barra de «estás aquí», anillo de foco
 *
 * El rojo va en poca superficie: la barra del menú activo, el botón primario
 * al interactuar, el anillo de foco y la selección de texto. Nunca como fondo
 * grande ni para avisos: los errores tienen su propio color (--at-error-texto)
 * y siempre van con texto.
 *
 * -----------------------------------------------------------------------------
 * TEMA OSCURO
 * -----------------------------------------------------------------------------
 * La tinta no se ve sobre los fondos oscuros de la plantilla. En oscuro, el
 * primario es un acero, #5B7384, que cumple con la tinta blanca (5,0:1) y contra
 * los fondos (3,7:1 y 3,1:1), y el texto en color de marca pasa al cromo, #AEB6BD.
 * Lo cambian los tokens de [data-theme-version=dark]; el bloque generado los usa.
 *
 * -----------------------------------------------------------------------------
 * LO QUE ESTE FICHERO NO TOCA
 * -----------------------------------------------------------------------------
 * Los colores semánticos de datos (guía de presentación, §4.3) y los de estado de
 * cita 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 derivados al tono de la tinta. 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
 *
 * El resto del fichero se escribe a mano y el generador lo conserva.
 * ============================================================================= */

@import url("style.css");

:root {
  /* La marca. */
  --at-tinta: #12171B;
  --at-medianoche: #0A0F14;
  --at-rojo: #D81E2C;
  --at-rojo-oscuro: #B4141F;
  --at-hueso: #EFE9DE;
  --at-cromo: #AEB6BD;
  --at-acero: #5B7384;

  /* Papeles. Los usa el bloque generado; el tema oscuro los redefine. */
  --at-primario: #12171B;
  --at-primario-rgb: 18, 23, 27;
  --at-primario-texto: #12171B;
  --at-primario-texto-rgb: 18, 23, 27;
  --at-enlace-hover: var(--at-rojo-oscuro);
  --at-foco: #D81E2C;
  --at-foco-rgb: 216, 30, 44;

  /* Texto. La plantilla usa #7E7E7E (4,1:1) y #B1B1B1 en los campos (2,1:1). */
  --at-texto: #5C6570;
  --at-texto-rgb: 92, 101, 112;
  --at-texto-secundario: #5C6570;
  --at-titulo: #12171B;
  --at-error-texto: #C0123E;
  --at-peligro: #C0123E;
  --at-peligro-hover: #9A0E31;

  /* Alertas: fondo y texto, AA en los dos temas. */
  --at-alerta-exito-fondo: #E8F5E9;
  --at-alerta-exito-texto: #1E6B32;
  --at-alerta-info-fondo: #E7EDF1;
  --at-alerta-info-texto: #27404F;
  --at-alerta-aviso-fondo: #FFF3E0;
  --at-alerta-aviso-texto: #7A4A00;
  --at-alerta-peligro-fondo: #FFEBEE;
  --at-alerta-peligro-texto: #A3163F;

  --at-deshabilitado-fondo: #EEF0F3;
  --at-campo-fondo: #FFFFFF;
  --at-campo-borde: #DAD2C4;

  /* El fondo de las tarjetas de la plantilla (.card): el hueco entre barras de un gráfico es de su color. */
  --at-tarjeta: #FFFFFF;

  /* Colores de datos (guía, §4.3): significan lo mismo en toda la aplicación. */
  --at-dato-positivo: #2BC155;
  --at-dato-negativo: #FF3282;
  --at-dato-b: #FF9900;
  --at-dato-apoyo-1: #3FBCDA;

  /* Estados de cita: la etiqueta (fondo suave y texto, AA) y el color de la cita en el
   * calendario (relleno y tinta). Van siempre con icono y texto: nunca solo el color. */
  --at-cita-solicitada-fondo: #FFF3E0;
  --at-cita-solicitada-texto: #7A4A00;
  --at-cita-confirmada-fondo: #E4E7EA;
  --at-cita-confirmada-texto: #12171B;
  --at-cita-en-curso-fondo: #E0F4F9;
  --at-cita-en-curso-texto: #0E5466;
  --at-cita-terminada-fondo: #E8F5E9;
  --at-cita-terminada-texto: #1E6B32;
  --at-cita-no-presentado-fondo: #FFEBF2;
  --at-cita-no-presentado-texto: #A3163F;
  --at-cita-cancelada-fondo: #EEEEEE;
  --at-cita-cancelada-texto: #595959;

  --at-calendario-solicitada: #FF9900;
  --at-calendario-confirmada: var(--at-primario);
  --at-calendario-confirmada-tinta: #FFFFFF;
  --at-calendario-en-curso: #3FBCDA;
  --at-calendario-terminada: #2BC155;
  --at-calendario-no-presentado: #FF3282;
  --at-calendario-cancelada: #CFCFCF;
  --at-calendario-tinta: #12171B;

  /* Tipografías de la web pública. */
  --at-fuente-titulos: "Antonio", "Hanken Grotesk", sans-serif;
  --at-fuente-texto: "Hanken Grotesk", system-ui, sans-serif;
  --at-fuente-datos: "Spline Sans Mono", ui-monospace, monospace;
}

/* El tema oscuro de la plantilla se activa en <body data-theme-version="dark">. */
[data-theme-version=dark] {
  /* Colores de datos en oscuro: el mismo tono, un paso más bajo, para que quepan en la banda de luminosidad de los
   * gráficos sobre el fondo de la tarjeta (#111217) y se sigan distinguiendo con daltonismo. */
  --at-dato-positivo: #23A347;
  --at-dato-apoyo-1: #33A3BE;
  --at-tarjeta: #111217;
  --at-primario: #5B7384;
  --at-primario-rgb: 91, 115, 132;
  --at-primario-texto: #AEB6BD;
  --at-primario-texto-rgb: 174, 182, 189;
  --at-enlace-hover: #F7787F;
  --at-foco: #E8454F;
  --at-foco-rgb: 232, 69, 79;

  --at-texto: #A9B2BA;
  --at-texto-rgb: 169, 178, 186;
  --at-texto-secundario: #98A2AB;
  --at-titulo: #FFFFFF;
  --at-error-texto: #F7787F;
  --at-peligro: #D6284F;
  --at-peligro-hover: #B81E42;

  --at-alerta-exito-fondo: #1F3324;
  --at-alerta-exito-texto: #9FD5A8;
  --at-alerta-info-fondo: #1B2731;
  --at-alerta-info-texto: #B7C7D2;
  --at-alerta-aviso-fondo: #3A2E1C;
  --at-alerta-aviso-texto: #F0C987;
  --at-alerta-peligro-fondo: #3D1E27;
  --at-alerta-peligro-texto: #F2A7B8;

  --at-deshabilitado-fondo: #1C1D22;
  --at-campo-fondo: #111217;
  --at-campo-borde: #333A40;

  --at-cita-solicitada-fondo: #3A2E1C;
  --at-cita-solicitada-texto: #F0C987;
  --at-cita-confirmada-fondo: #2A3238;
  --at-cita-confirmada-texto: #D6DEE4;
  --at-cita-en-curso-fondo: #15323A;
  --at-cita-en-curso-texto: #9EDDEC;
  --at-cita-terminada-fondo: #1F3324;
  --at-cita-terminada-texto: #9FD5A8;
  --at-cita-no-presentado-fondo: #3D1E27;
  --at-cita-no-presentado-texto: #F2A7B8;
  --at-cita-cancelada-fondo: #2E2E2E;
  --at-cita-cancelada-texto: #BDBDBD;

  --at-calendario-cancelada: #4A4A4A;
}

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

:root, [data-bs-theme=light] {
  --bs-primary: var(--at-primario);
  --bs-primary-rgb: var(--at-primario-rgb);
  --bs-primary-text-emphasis: #07090B;
  --bs-primary-bg-subtle: #DBE0E4;
  --bs-primary-border-subtle: #AAB6BF;
  --bs-link-color: var(--at-primario-texto);
  --bs-link-color-rgb: var(--at-primario-texto-rgb);
  --bs-link-hover-color: #0E1216;
  --bs-link-hover-color-rgb: 14, 18, 22;
  --bs-focus-ring-color: var(--at-foco);
}
[data-theme-version=dark] {
  --bs-primary: var(--at-primario);
  --bs-primary-rgb: var(--at-primario-rgb);
  --bs-link-color: var(--at-primario-texto);
  --bs-link-color-rgb: var(--at-primario-texto-rgb);
  --bs-focus-ring-color: var(--at-foco);
}
[data-bs-theme=dark] {
  --bs-primary-text-emphasis: #738695;
  --bs-primary-bg-subtle: #040505;
  --bs-primary-border-subtle: #0B0E10;
  --bs-link-color: #738695;
  --bs-link-hover-color: #95A3AF;
  --bs-link-color-rgb: 115, 134, 149;
  --bs-link-hover-color-rgb: 149, 163, 175;
}
.table-primary {
  --bs-table-bg: #DBE0E4;
  --bs-table-border-color: #BCC1C5;
  --bs-table-striped-bg: #CCD1D5;
  --bs-table-active-bg: #BCC1C5;
  --bs-table-hover-bg: #C4C9CD;
}
.form-control:focus {
  border-color: #909FAC;
  box-shadow: 0 0 0 0.25rem var(--at-foco);
}
.form-select:focus {
  border-color: #909FAC;
  box-shadow: 0 0 0 0.25rem var(--at-foco);
}
.form-check-input:focus {
  border-color: #909FAC;
  box-shadow: 0 0 0 0.25rem var(--at-foco);
}
.form-check-input:checked {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--at-foco);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--at-foco);
}
.form-range::-webkit-slider-thumb {
  background-color: var(--at-primario);
}
.form-range::-webkit-slider-thumb:active {
  background-color: #C5CDD3;
}
.form-range::-moz-range-thumb {
  background-color: var(--at-primario);
}
.form-range::-moz-range-thumb:active {
  background-color: #C5CDD3;
}
.btn-primary {
  --bs-btn-bg: var(--at-primario);
  --bs-btn-border-color: var(--at-primario);
  --bs-btn-hover-bg: #0F1417;
  --bs-btn-hover-border-color: #0E1216;
  --bs-btn-focus-shadow-rgb: var(--at-foco-rgb);
  --bs-btn-active-bg: #0E1216;
  --bs-btn-active-border-color: #0E1114;
  --bs-btn-disabled-bg: var(--at-primario);
  --bs-btn-disabled-border-color: var(--at-primario);
}
.btn-outline-primary {
  --bs-btn-color: var(--at-primario-texto);
  --bs-btn-border-color: var(--at-primario);
  --bs-btn-hover-bg: var(--at-primario);
  --bs-btn-hover-border-color: var(--at-primario);
  --bs-btn-focus-shadow-rgb: var(--at-foco-rgb);
  --bs-btn-active-bg: var(--at-primario);
  --bs-btn-active-border-color: var(--at-primario);
  --bs-btn-disabled-color: var(--at-primario-texto);
  --bs-btn-disabled-border-color: var(--at-primario);
}
.btn-link {
  --bs-btn-focus-shadow-rgb: var(--at-foco-rgb);
}
.dropdown-menu {
  --bs-dropdown-link-active-bg: var(--at-primario);
}
.dropdown-menu-dark {
  --bs-dropdown-link-active-bg: var(--at-primario);
}
.nav-link:focus-visible {
  box-shadow: 0 0 0 0.25rem var(--at-foco);
}
.nav-pills {
  --bs-nav-pills-link-active-bg: var(--at-primario);
}
.accordion {
  --bs-accordion-btn-focus-border-color: var(--at-foco);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--at-foco);
}
.pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--at-foco);
  --bs-pagination-active-bg: var(--at-primario);
  --bs-pagination-active-border-color: var(--at-primario);
}
.progress, .progress-stacked {
  --bs-progress-bar-bg: var(--at-primario);
}
.list-group {
  --bs-list-group-active-bg: var(--at-primario);
  --bs-list-group-active-border-color: var(--at-primario);
}
.btn-close {
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem var(--at-foco);
}
::selection {
  background: var(--at-primario);
}
* ::-webkit-scrollbar-thumb {
  background: rgb(var(--at-primario-rgb));
}
.sk-three-bounce .sk-child {
  background-color: var(--at-primario);
}
.footer .copyright a {
  color: var(--at-primario-texto);
}
.hamburger .line {
  background: var(--at-primario);
}
svg.pulse-svg .first-circle, svg.pulse-svg .third-circle, svg.pulse-svg .second-circle {
  fill: var(--at-primario);
}
.header-right .notification_dropdown .nav-link {
  color: var(--at-primario-texto);
  background: rgba(var(--at-primario-rgb), 0.1);
}
.header-right .notification_dropdown .nav-link.primary {
  background: #E5EAEE;
  color: var(--at-primario-texto);
}
.header-right .notification_dropdown .nav-link.primary [fill] {
  fill: var(--at-primario);
}
.header-right .notification_dropdown .nav-link .badge {
  box-shadow: 0px 0px 10px 3px rgba(var(--at-primario-rgb), 0.2);
}
.header-right .dropdown-menu {
  box-shadow: 0 0 37px rgba(6, 8, 10, 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(--at-primario-texto);
}
.header-right .header-profile .profile_title {
  background: var(--at-primario);
}
.notification_dropdown .dropdown-menu-end .notification_title, .header-profile .dropdown-menu-end .notification_title {
  background: var(--at-primario);
}
.notification_dropdown .dropdown-menu-end .media > span.primary, .header-profile .dropdown-menu-end .media > span.primary {
  background: #E5EAEE;
  color: var(--at-primario-texto);
}
.notification_dropdown .dropdown-menu-end .all-notification, .header-profile .dropdown-menu-end .all-notification {
  color: var(--at-primario-texto);
}
.deznav .metismenu > li > a svg {
  color: var(--at-primario-texto);
}
.deznav .metismenu > li > a g [fill] {
  fill: var(--at-primario);
}
.deznav .metismenu > li:hover > a, .deznav .metismenu > li:focus > a {
  color: var(--at-primario-texto);
}
.deznav .metismenu > li:hover > a g [fill], .deznav .metismenu > li:focus > a g [fill] {
  fill: var(--at-primario);
}
.deznav .metismenu > li.mm-active > a {
  color: var(--at-primario-texto);
}
.deznav .metismenu > li.mm-active > a g [fill] {
  fill: var(--at-primario);
}
.deznav .metismenu ul a:hover, .deznav .metismenu ul a:focus, .deznav .metismenu ul a.mm-active {
  color: var(--at-primario-texto);
}
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li > a:before {
  background: var(--at-primario);
}
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li.mm-active > a {
  color: var(--at-primario-texto);
  background: rgba(var(--at-primario-rgb), 0.1);
}
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li.mm-active > a i {
  color: var(--at-primario-texto);
}
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .nav-header .nav-control .hamburger .line {
  background-color: var(--at-primario) !important;
}
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .deznav .metismenu > li.mm-active > a {
  background: var(--at-primario);
}
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .deznav .metismenu > li:hover > a {
  background: var(--at-primario);
}
@media only screen and (min-width: 768px) {
  [data-sidebar-style=mini][data-layout=vertical] .deznav .metismenu > li.mm-active > a {
    background: var(--at-primario);
  }
  [data-sidebar-style=mini][data-layout=vertical] .deznav .metismenu > li:hover > a {
    background: var(--at-primario);
  }
}
@media (min-width: 767px) {
  [data-sidebar-style=compact] .deznav .metismenu li a:before {
    background: var(--at-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: #E5EAEE;
  }
}
[data-sidebar-style=overlay] .nav-header .hamburger.is-active .line {
  background-color: var(--at-primario);
}
.sidebar-right .sidebar-right-trigger {
  color: var(--at-primario-texto);
}
.sidebar-right .sidebar-right-trigger:hover {
  color: var(--at-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(--at-primario);
}
.nav-user {
  background: var(--at-primario);
}
.chatbox .nav {
  background: var(--at-primario);
}
.chatbox .img_cont.primary {
  background: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .chatbox .img_cont.primary {
  background: rgba(var(--at-primario-rgb), 0.2);
}
[data-theme-version=dark] .chatbox .chat-list-header a {
  background: rgba(var(--at-primario-rgb), 0.2);
}
.chatbox .msg_cotainer {
  background: var(--at-primario);
}
.chatbox .msg_cotainer:after {
  border-right: 10px solid var(--at-primario);
}
[data-headerbg=color_1] .nav-header .hamburger.is-active .line, [data-headerbg=color_1] .nav-header .hamburger .line {
  background: var(--at-primario) !important;
}
.bg-primary-alt {
  background-color: rgba(var(--at-primario-rgb), 0.1);
}
#external-events [data-class=bg-primary]::before {
  background: var(--at-primario);
}
.email-left-box .intro-title {
  background: rgba(var(--at-primario-rgb), 0.1);
}
.email-left-box .intro-title i {
  color: var(--at-primario-texto);
}
.email-right-box .right-box-border {
  border-right: 2px solid rgba(var(--at-primario-rgb), 0.1);
}
.mail-list .list-group-item.active {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
.single-mail.active {
  background: var(--at-primario);
}
.email-tools-box {
  background-color: #E5EAEE;
  color: var(--at-primario-texto);
}
.email-tools-box.active {
  background-color: var(--at-primario);
}
.profile-info h4.text-primary, .profile-info .text-primary.h4 {
  color: var(--at-primario-texto) !important;
}
.profile-tab .nav-item .nav-link:hover, .profile-tab .nav-item .nav-link.active {
  border-bottom: 0.2px solid var(--at-primario);
  color: var(--at-primario-texto);
}
.profile-blog a:hover {
  color: var(--at-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(--at-primario);
}
.morris-hover {
  background: var(--at-primario);
}
[data-theme-version=light] .input-primary .form-control, [data-theme-version=dark] .input-primary .form-control {
  border-color: var(--at-primario);
}
[data-theme-version=light] .input-primary .input-group-text, [data-theme-version=dark] .input-primary .input-group-text {
  background-color: var(--at-primario);
}
[data-theme-version=light] .input-primary-o .form-control, [data-theme-version=dark] .input-primary-o .form-control {
  border-color: var(--at-primario);
}
[data-theme-version=light] .input-primary-o .input-group-text, [data-theme-version=dark] .input-primary-o .input-group-text {
  border-color: var(--at-primario);
  color: var(--at-primario-texto);
}
.custom-select:focus {
  border-color: var(--at-primario);
  color: var(--at-primario-texto);
}
.form-switch .form-check-input:checked {
  background: #E5EAEE;
}
.form-switch .form-check-input:checked:after {
  background: var(--at-primario);
}
.check-switch .custom-control-label:after, .check-switch .custom-control-label:before {
  border-color: rgba(var(--at-primario-rgb), 0.3);
}
.is-invalid .input-group-prepend .input-group-text i {
  color: #4B6070;
}
.daterangepicker td.active:hover {
  background-color: var(--at-primario);
}
.daterangepicker button.applyBtn {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
.daterangepicker td.active {
  background-color: var(--at-primario);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--at-primario);
}
.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--at-primario);
}
.select2-container--classic.select2-container--open .select2-selection--multiple, .select2-container--classic.select2-container--open .select2-dropdown {
  border-color: var(--at-primario);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  color: var(--at-primario-texto);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #E5EAEE;
  border-color: #E5EAEE;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  border-color: var(--at-primario);
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__display {
  color: var(--at-primario-texto);
}
.form-wizard .nav-wizard li .nav-link span {
  border: 2px solid var(--at-primario);
  color: var(--at-primario-texto);
}
.form-wizard .nav-wizard li .nav-link.done:after {
  background: var(--at-primario) !important;
}
.form-wizard .nav-wizard li .nav-link.done span {
  background-color: var(--at-primario);
}
.form-wizard .toolbar-bottom .btn {
  background-color: var(--at-primario);
}
.datamaps-hoverover {
  color: var(--at-primario-texto);
  border: 1px solid rgba(var(--at-primario-rgb), 0.3);
}
.jqvmap-zoomin, .jqvmap-zoomout {
  background-color: var(--at-primario);
}
.clipboard-btn:hover {
  background-color: var(--at-primario);
}
.twitter-typeahead .tt-menu .tt-suggestion:hover {
  background-color: var(--at-primario);
}
.noUi-connect {
  background-color: var(--at-primario);
}
.noUi-connect.c-3-color {
  background-color: var(--at-primario);
}
.noUi-horizontal .noUi-handle, .noUi-vertical .noUi-handle {
  background-color: var(--at-primario);
}
#slider-toggle.off .noUi-handle {
  border-color: var(--at-primario);
}
.dd-handle {
  background: var(--at-primario);
}
.dd-handle:hover {
  background: var(--at-primario);
}
.dd3-content:hover {
  background: var(--at-primario);
}
.pignose-calendar {
  border-color: var(--at-primario);
}
.pignose-calendar .pignose-calendar-top-date {
  background-color: var(--at-primario);
}
.pignose-calendar.pignose-calendar-blue .pignose-calendar-body .pignose-calendar-row .pignose-calendar-unit.pignose-calendar-unit-active a {
  background-color: var(--at-primario);
}
.cd-h-timeline__dates::before {
  background: var(--at-primario);
}
.cd-h-timeline__dates::after {
  background: var(--at-primario);
}
.cd-h-timeline__line {
  background-color: var(--at-primario);
}
.cd-h-timeline__date::after {
  border-color: #161C21;
  background-color: var(--at-primario);
}
.cd-h-timeline__navigation {
  border-color: #161C21;
}
.cd-h-timeline__navigation--inactive:hover {
  border-color: #161C21;
}
.toast-success {
  background-color: var(--at-primario);
}
.lg-outer .lg-thumb-item.active, .lg-outer .lg-thumb-item:hover {
  border-color: var(--at-primario);
}
.ck.ck-editor .ck.ck-button {
  color: var(--at-primario-texto);
}
.fc-h-event, .fc-v-event {
  background: var(--at-primario);
}
.fc-daygrid-dot-event .fc-daygrid-event-dot {
  border-color: var(--at-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(--at-primario);
  border-color: var(--at-primario);
}
.fc-button.fc-button-primary.fc-today-button {
  background: var(--at-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(--at-primario);
  border: 1px solid var(--at-primario);
}
.accordion-primary .accordion-button {
  background: var(--at-primario);
  border-color: var(--at-primario);
  box-shadow: rgba(13, 18, 22, 0.2) 0px 8px 24px;
}
.accordion-primary .accordion-button.collapsed {
  background: #E5EAEE;
  border-color: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .accordion-primary .accordion-button.collapsed {
  background: rgba(13, 18, 22, 0.1);
  border-color: rgba(13, 18, 22, 0.1);
}
.accordion-primary-solid .accordion-button {
  background: var(--at-primario);
  border-color: var(--at-primario);
  box-shadow: 0 -0.625rem 1.25rem 0 #E5EAEE;
}
.accordion-primary-solid .accordion-button.collapsed {
  background: #E5EAEE;
  border-color: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .accordion-primary-solid .accordion-button.collapsed {
  background: #E5EAEE;
  border-color: #E5EAEE;
}
.accordion-primary-solid .accordion-body {
  border: 0.125rem solid var(--at-primario);
  box-shadow: 0 0.9375rem 1.25rem 0 #E5EAEE;
}
.accordion-header-bg .accordion-header-primary .accordion-button {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
[data-theme-version=dark] .accordion-header-bg .accordion-header-primary .accordion-button {
  background-color: var(--at-primario);
}
.accordion-solid-bg .accordion-button {
  background-color: #E5EAEE;
}
.accordion-solid-bg .accordion-body {
  background-color: #E5EAEE;
}
.alert-primary {
  background: #E5EAEE;
  border-color: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .alert-primary {
  background: rgba(var(--at-primario-rgb), 0.2);
  border-color: rgba(var(--at-primario-rgb), 0.2);
}
.alert-alt.alert-primary {
  border-left: 4px solid var(--at-primario);
}
.alert-alt.alert-primary.solid {
  border-left: 4px solid #07090B !important;
}
.alert.alert-primary.solid {
  background: var(--at-primario);
  border-color: var(--at-primario);
}
.alert.alert-outline-primary {
  color: var(--at-primario-texto);
  border-color: var(--at-primario);
}
.badge-outline-primary {
  border: 1px solid var(--at-primario);
  color: var(--at-primario-texto);
}
.badge-primary {
  background-color: var(--at-primario);
}
.light.badge-primary {
  background-color: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .light.badge-primary {
  background-color: rgba(var(--at-primario-rgb), 0.2);
}
.page-titles .breadcrumb li.active a {
  color: var(--at-primario-texto);
}
.page-titles .breadcrumb .breadcrumb-item + .breadcrumb-item:before {
  color: var(--at-primario-texto);
}
.light.btn-primary {
  background-color: #E5EAEE;
  border-color: #E5EAEE;
  color: var(--at-primario-texto);
}
.light.btn-primary g [fill] {
  fill: var(--at-primario);
}
[data-theme-version=dark] .light.btn-primary {
  background-color: rgba(var(--at-primario-rgb), 0.2);
}
.light.btn-primary:hover {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
.btn.tp-btn.btn-primary {
  color: var(--at-primario-texto);
}
.btn.tp-btn.btn-primary g [fill] {
  fill: var(--at-primario);
}
.btn.tp-btn.btn-primary:hover {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
}
.btn.tp-btn-light.btn-primary {
  color: var(--at-primario-texto);
}
.btn.tp-btn-light.btn-primary g [fill] {
  fill: var(--at-primario);
}
.btn.tp-btn-light.btn-primary:hover {
  background-color: #E5EAEE;
  border-color: #E5EAEE;
  color: var(--at-primario-texto);
}
.btn.tp-btn-light.btn-primary:hover g [fill] {
  fill: var(--at-primario);
}
.shadow.btn-primary {
  -webkit-box-shadow: 0 5px 15px 0 rgba(var(--at-primario-rgb), 0.2) !important;
  box-shadow: 0 5px 15px 0 rgba(var(--at-primario-rgb), 0.2) !important;
}
.card-action .dropdown {
  color: var(--at-primario-texto);
}
.card-loader i {
  background: #0F1316;
}
.card-link:hover {
  color: var(--at-primario-texto);
}
.dropdown-outline {
  border: 0.1rem solid var(--at-primario);
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus, .dropdown-menu .dropdown-item:active, .dropdown-menu .dropdown-item.active {
  color: var(--at-primario-texto);
}
.dropdown-menu .dropdown-item.active, .dropdown-menu .dropdown-item:active {
  color: var(--at-primario-texto) !important;
}
.card-action .custom-dropdown {
  background: #8CA2B3;
}
.card-action .custom-dropdown.show, .card-action .custom-dropdown:focus, .card-action .custom-dropdown:hover {
  background: var(--at-primario);
}
.label-primary {
  background: var(--at-primario);
}
.pagination .page-item.active .page-link {
  background: var(--at-primario);
  border-color: var(--at-primario);
}
.pagination .page-item .page-link:hover {
  background: var(--at-primario);
  border-color: var(--at-primario);
}
.pagination .page-item.active .page-link {
  background-color: var(--at-primario);
  border-color: var(--at-primario);
  box-shadow: 0 10px 20px 0px rgba(var(--at-primario-rgb), 0.2);
}
.pagination.no-bg.pagination-primary li:not(.page-indicator):not(.active):hover .page-link {
  background: var(--at-primario);
  border-color: var(--at-primario);
}
[data-theme-version=dark] .pagination.no-bg.pagination-primary li:not(.page-indicator):not(.active):hover .page-link {
  background: var(--at-primario);
  border-color: var(--at-primario);
}
.pagination-primary .page-item .page-link {
  background: #E5EAEE;
  border-color: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .pagination-primary .page-item .page-link {
  background: rgba(var(--at-primario-rgb), 0.2);
  color: var(--at-primario-texto);
}
.pagination-primary .page-item:hover .page-link, .pagination-primary .page-item.active .page-link {
  background: var(--at-primario);
  border-color: var(--at-primario);
  box-shadow: 0 10px 20px 0px rgba(var(--at-primario-rgb), 0.2);
}
.bootstrap-popover-wrapper .bootstrap-popover button:hover, .bootstrap-popover-wrapper .bootstrap-popover button:focus {
  background: var(--at-primario);
}
.progress-bar {
  background-color: var(--at-primario);
}
.progress-bar-primary {
  background-color: var(--at-primario);
}
.ribbon__four {
  background-color: var(--at-primario);
}
.ribbon__four:after, .ribbon__four:before {
  background-color: #5D778C;
}
.ribbon__five {
  background-color: var(--at-primario);
}
.ribbon__five::before {
  border-color: transparent transparent var(--at-primario) transparent;
}
.ribbon__six {
  background-color: var(--at-primario);
}
.multi-steps > li {
  color: var(--at-primario-texto);
}
.multi-steps > li:before {
  border-color: var(--at-primario);
}
.multi-steps > li:after {
  background-color: var(--at-primario);
}
.multi-steps > li.is-active:before {
  border-color: var(--at-primario);
}
.default-tab .nav-link i {
  color: var(--at-primario-texto);
}
.default-tab .nav-link:focus, .default-tab .nav-link:hover, .default-tab .nav-link.active {
  color: var(--at-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(--at-primario-rgb), 0.2);
}
.custom-tab-1 .nav-link i {
  color: var(--at-primario-texto);
}
.custom-tab-1 .nav-link:focus, .custom-tab-1 .nav-link:hover, .custom-tab-1 .nav-link.active {
  border-color: var(--at-primario);
  color: var(--at-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(--at-primario-rgb), 0.2);
}
.nav-pills.light .nav-link.active, .nav-pills.light .show > .nav-link {
  background: #E5EAEE;
  color: var(--at-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(--at-primario-rgb), 0.2);
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  box-shadow: 0 0 20px 0 rgba(var(--at-primario-rgb), 0.2);
}
.tooltip-wrapper button:hover {
  background: var(--at-primario);
}
.widget-timeline .timeline-badge.primary {
  border-color: #E5EAEE;
}
[data-theme-version=dark] .widget-timeline .timeline-badge.primary {
  border-color: rgba(var(--at-primario-rgb), 0.2);
}
.widget-timeline .timeline-badge.primary:after {
  background-color: var(--at-primario) !important;
  box-shadow: 0 5px 10px 0 rgba(var(--at-primario-rgb), 0.2);
}
.widget-timeline .timeline-badge.primary + .timeline-panel {
  background: #E5EAEE;
  border-color: #E5EAEE;
}
[data-theme-version=dark] .widget-timeline .timeline-badge.primary + .timeline-panel {
  background-color: rgba(var(--at-primario-rgb), 0.2);
}
.widget-timeline.style-1 .timeline .timeline-badge.primary + .timeline-panel {
  border-color: var(--at-primario);
}
.widget-timeline.style-1 .timeline .timeline-badge.primary + .timeline-panel:after {
  background: var(--at-primario);
}
.chart_widget_tab_one .nav-link.active {
  background-color: var(--at-primario);
  border: 1px solid var(--at-primario);
}
.chart_widget_tab_one .nav-link.active:hover {
  border: 1px solid var(--at-primario);
}
.social-icon2 a {
  border: 0.1rem solid var(--at-primario);
}
.social-icon2 i {
  color: var(--at-primario-texto);
}
.social-icon3 ul li a:hover i {
  color: var(--at-primario-texto);
}
.bgl-primary {
  background: #E5EAEE;
  border-color: #E5EAEE;
}
[data-theme-version=dark] .bgl-primary {
  background-color: rgba(var(--at-primario-rgb), 0.2);
  border-color: rgba(var(--at-primario-rgb), 0.2);
}
.bg-primary-light {
  background: rgba(229, 234, 238, 0.5);
}
[data-theme-version=dark] .bg-primary-light {
  background-color: rgba(var(--at-primario-rgb), 0.05);
}
.overlay-box:after {
  background: var(--at-primario);
}
.tdl-holder input[type=checkbox]:checked + i {
  background: var(--at-primario);
}
.picker .picker__frame .picker__box .picker__header .picker__year {
  color: var(--at-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: #8CA2B3 !important;
  color: var(--at-primario-texto) !important;
}
.picker .picker__frame .picker__box .picker__table .picker__day.picker__day--highlighted {
  background-color: #8CA2B3 !important;
}
.picker .picker__frame .picker__box .picker__table .picker__day:hover {
  background-color: #8CA2B3 !important;
}
.picker .picker__frame .picker__box .picker__footer .picker__button--today {
  background-color: #8CA2B3 !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: #8CA2B3 !important;
}
.widget-media .timeline .timeline-panel .media-primary {
  background: #E5EAEE;
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .widget-media .timeline .timeline-panel .media-primary {
  background-color: rgba(var(--at-primario-rgb), 0.2);
}
.table .thead-primary th {
  background-color: var(--at-primario);
}
.table.primary-table-bg-hover thead th {
  background-color: #101418;
}
.table.primary-table-bg-hover tbody tr {
  background-color: var(--at-primario);
}
.table.primary-table-bg-hover tbody tr:hover {
  background-color: #263039;
}
.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 #101418;
}
.table-primary, .table-primary > th, .table-primary > td {
  background-color: #E5EAEE;
  color: var(--at-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(--at-primario-rgb), 0.2);
}
table.dataTable tr.selected {
  color: var(--at-primario-texto);
}
.dataTables_wrapper .dataTables_paginate span {
  background: rgba(var(--at-primario-rgb), 0.08);
  border: 0px solid var(--at-primario);
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: var(--at-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(--at-primario) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous, .dataTables_wrapper .dataTables_paginate .paginate_button.next {
  background: var(--at-primario) !important;
  border: 0px solid var(--at-primario) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.previous:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.next:hover {
  background: var(--at-primario) !important;
}
.svg-icons-ov .svg-icons-prev svg path[fill] {
  fill: var(--at-primario);
}
.svg-icons-ov .svg-icons-prev .feather {
  stroke: var(--at-primario);
}
.svg-icons-ov .svg-icons-prev i {
  color: var(--at-primario-texto);
}
.svg-icons-ov .svg-icon-popup .btn {
  color: var(--at-primario-texto);
}
.svg-icons-ov .svg-icon-popup .btn:hover {
  background-color: var(--at-primario);
}
.svg-icons-ov:hover {
  border-color: var(--at-primario);
}
.svg-icons-ov.style-1 .svg-icons-prev {
  background-color: #E5EAEE;
}
.welcome-content::after {
  background: var(--at-primario);
}
.page-timeline .timeline-workplan.page-timeline .timeline .timeline-badge {
  background-color: var(--at-primario);
}
.page-timeline .timeline-workplan.page-timeline .timeline .timeline-badge::after {
  background-color: rgba(var(--at-primario-rgb), 0.4);
}
.iconbox i {
  background: var(--at-primario);
}
.widget-timeline-icon li {
  border-left: 3px solid var(--at-primario);
}
.plan-list .list-row .play-button {
  color: var(--at-primario-texto);
}
.plan-list .list-row:hover {
  background: var(--at-primario);
}
.event-calender .datepicker table tr td.active.active {
  color: var(--at-primario-texto) !important;
}
.event-calender .bootstrap-datetimepicker-widget table td.today:before {
  background: var(--at-primario);
}
.event-calender .bootstrap-datetimepicker-widget table td span.active {
  color: var(--at-primario-texto);
}
.date-icon {
  color: var(--at-primario-texto);
  background: rgba(var(--at-primario-rgb), 0.2);
}
.review-tab .nav-link.active {
  color: var(--at-primario-texto);
  border-color: var(--at-primario);
}
.plus-icon {
  background-color: var(--at-primario);
}
.nav-tabs.diet-tabs .nav-link {
  background-color: #E5EAEE;
}
.nav-tabs.diet-tabs .nav-link.active {
  background-color: var(--at-primario);
}
.cm-content-box .content-title .cpa {
  color: var(--at-primario-texto);
}
.dd-handle.move-media {
  background-color: var(--at-primario);
}
.tab-my.nav-tabs .nav-link.active {
  background-color: var(--at-primario);
}
.main-check {
  border: 1px solid var(--at-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(--at-primario);
}
.datepicker table tr td.today {
  background-color: var(--at-primario);
}
.datepicker table tr td.today:hover:hover {
  background-color: var(--at-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(--at-primario) !important;
}
.datepicker table tr td.today {
  background-color: var(--at-primario) !important;
}
.form-head .dropdown:after {
  color: var(--at-primario-texto);
}
.chart-link a i.text-primary {
  color: var(--at-primario-texto);
}
.card-tabs .nav-tabs .nav-link.active {
  color: var(--at-primario-texto);
}
span#counter {
  color: var(--at-primario-texto);
}
.add-menu-sidebar {
  background: var(--at-primario);
}
.testimonial-one .owl-nav .owl-prev, .testimonial-one .owl-nav .owl-next {
  color: var(--at-primario-texto) !important;
}
.testimonial-one .owl-nav .owl-prev:hover, .testimonial-one .owl-nav .owl-next:hover {
  background-color: var(--at-primario) !important;
}
.card-footer.style-1 a {
  color: var(--at-primario-texto);
}
.default-select.style-1 {
  background-color: #E5EAEE;
}
.default-select.style-1 .btn {
  color: var(--at-primario-texto) !important;
}
a:hover {
  color: var(--at-primario-texto);
}
.new-arrival-content .price {
  color: var(--at-primario-texto);
}
[data-theme-version=dark] .list-group-item.active {
  border-color: var(--at-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(--at-primario);
  border-color: var(--at-primario);
}
[data-theme-version=dark] .daterangepicker {
  border-color: var(--at-primario);
}
[data-theme-version=dark] .daterangepicker .calendar-table {
  border-color: var(--at-primario);
}
[data-theme-version=dark] .daterangepicker .calendar-table .table-condensed td:hover {
  background-color: var(--at-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(--at-primario);
}
[data-theme-version=dark] .nav-tabs.diet-tabs .nav-link.active {
  background-color: var(--at-primario);
}
[data-theme-version=dark] .header-left input:focus {
  border-color: var(--at-primario);
}
[data-theme-version=dark] .header-right .right-sidebar a {
  color: var(--at-primario-texto);
}

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

/* =============================================================================
 * EL ROJO, DONDE APORTA
 *
 * Escrito a mano y al final, para que gane al bloque generado. En todos estos
 * sitios el rojo va sobre poca superficie.
 * ========================================================================== */

/* 1. El indicador de «estás aquí» en el menú: una barra fina. El texto sigue en tinta. */
[data-sidebar-style=full][data-layout=vertical] .deznav .metismenu > li > a:before,
[data-sidebar-style=compact] .deznav .metismenu li a:before {
  background: var(--at-rojo);
}

/* 2. El botón primario al interactuar: tinta en reposo y rojo con tinta blanca al pasar por
 * encima, como la «T» del logotipo. */
.btn-primary {
  --bs-btn-hover-bg: var(--at-rojo);
  --bs-btn-hover-border-color: var(--at-rojo);
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-active-bg: var(--at-rojo-oscuro);
  --bs-btn-active-border-color: var(--at-rojo-oscuro);
  --bs-btn-active-color: #FFFFFF;
}

/* 3. Seleccionar texto: rojo con tinta blanca (5,1:1). */
::selection {
  background: var(--at-rojo);
  color: #FFFFFF;
}
::-moz-selection {
  background: var(--at-rojo);
  color: #FFFFFF;
}

/* 4. Barras de progreso (la ocupación de la semana) en tinta, acompañadas de su valor. */
.progress-bar {
  background-color: var(--at-primario);
}

/* -----------------------------------------------------------------------------
 * Foco: anillo rojo opaco en todos los controles
 * -------------------------------------------------------------------------- */

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem var(--at-foco);
}
.btn {
  --bs-btn-focus-box-shadow: 0 0 0 0.2rem var(--at-foco);
}
a:focus-visible,
[tabindex]:focus-visible,
.deznav .metismenu a:focus-visible {
  outline: 2px solid var(--at-foco);
  outline-offset: 2px;
}

/* -----------------------------------------------------------------------------
 * Tipografía: la de la web pública
 * -------------------------------------------------------------------------- */

body,
[data-typography=poppins] {
  font-family: var(--at-fuente-texto);
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6,
.card-title,
.dashboard_bar,
.modal-title {
  font-family: var(--at-fuente-titulos);
  letter-spacing: 0.01em;
}
.dashboard_bar {
  text-transform: uppercase;
}
.etiqueta-dato {
  font-family: var(--at-fuente-datos);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

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

:root {
  --bs-body-color: var(--at-texto);
  --bs-body-color-rgb: var(--at-texto-rgb);
  --bs-secondary-color: var(--at-texto-secundario);
  --bs-heading-color: var(--at-titulo);
}
[data-theme-version=dark] {
  --bs-body-color: var(--at-texto);
  --bs-body-color-rgb: var(--at-texto-rgb);
  --bs-secondary-color: var(--at-texto-secundario);
  --bs-heading-color: var(--at-titulo);
  color: var(--at-texto);
}
[data-theme-version=dark] .form-switch,
[data-theme-version=dark] .page-titles .breadcrumb li a {
  color: var(--at-texto);
}
a {
  color: var(--at-primario-texto);
}
a:hover {
  color: var(--at-enlace-hover);
}
.form-control,
.form-control:hover,
.form-control:focus,
.form-control.active {
  color: var(--at-texto);
}
.form-control::placeholder {
  color: var(--at-texto-secundario);
}
.text-muted {
  color: var(--at-texto-secundario) !important;
}
[data-theme-version=dark] .text-primary {
  color: var(--at-primario-texto) !important;
}
:root,
[data-theme-version=dark] {
  --bs-form-invalid-color: var(--at-error-texto);
}
.invalid-feedback {
  color: var(--at-error-texto);
}
.text-danger {
  color: var(--at-error-texto) !important;
}

.alert-success,
[data-theme-version=dark] .alert-success {
  --bs-alert-color: var(--at-alerta-exito-texto);
  --bs-alert-link-color: var(--at-alerta-exito-texto);
  background: var(--at-alerta-exito-fondo);
  border-color: var(--at-alerta-exito-fondo);
  color: var(--at-alerta-exito-texto);
}
.alert-info,
[data-theme-version=dark] .alert-info {
  --bs-alert-color: var(--at-alerta-info-texto);
  --bs-alert-link-color: var(--at-alerta-info-texto);
  background: var(--at-alerta-info-fondo);
  border-color: var(--at-alerta-info-fondo);
  color: var(--at-alerta-info-texto);
}
.alert-warning,
[data-theme-version=dark] .alert-warning {
  --bs-alert-color: var(--at-alerta-aviso-texto);
  --bs-alert-link-color: var(--at-alerta-aviso-texto);
  background: var(--at-alerta-aviso-fondo);
  border-color: var(--at-alerta-aviso-fondo);
  color: var(--at-alerta-aviso-texto);
}
.alert-danger,
[data-theme-version=dark] .alert-danger {
  --bs-alert-color: var(--at-alerta-peligro-texto);
  --bs-alert-link-color: var(--at-alerta-peligro-texto);
  background: var(--at-alerta-peligro-fondo);
  border-color: var(--at-alerta-peligro-fondo);
  color: var(--at-alerta-peligro-texto);
}

.btn-danger {
  --bs-btn-color: #FFFFFF;
  --bs-btn-bg: var(--at-peligro);
  --bs-btn-border-color: var(--at-peligro);
  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: var(--at-peligro-hover);
  --bs-btn-hover-border-color: var(--at-peligro-hover);
  --bs-btn-active-color: #FFFFFF;
  --bs-btn-active-bg: var(--at-peligro-hover);
  --bs-btn-active-border-color: var(--at-peligro-hover);
  --bs-btn-disabled-color: #FFFFFF;
  --bs-btn-disabled-bg: var(--at-peligro);
  --bs-btn-disabled-border-color: var(--at-peligro);
}

/* Desplegable nativo (js/common/selects-nativos.js) con la forma de los campos. */
.form-select {
  height: 56px;
  border-radius: 0.625rem;
  border-color: var(--at-campo-borde);
  background-color: var(--at-campo-fondo);
  color: var(--at-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");
}
.form-select-sm {
  height: auto;
}

.card-title {
  text-transform: none;
}

/* -----------------------------------------------------------------------------
 * Marca: la cabecera del menú es una placa medianoche con el logotipo cromado,
 * en los dos temas, como el rótulo del taller.
 * -------------------------------------------------------------------------- */

.nav-header,
[data-theme-version=dark] .nav-header {
  background-color: var(--at-medianoche);
}
.nav-header .hamburger .line,
[data-sidebar-style=full][data-layout=vertical] .menu-toggle .nav-header .nav-control .hamburger .line {
  background-color: #FFFFFF !important;
}
.nav-header .brand-logo .logo-abbr {
  height: 2.5rem;
  width: auto;
  flex-shrink: 0;
}
.nav-header .brand-logo .brand-title {
  height: 2.1rem;
  width: auto;
  max-width: 11rem;
  min-width: 0;
  object-fit: contain;
  object-position: left center;
}
.marca-acceso {
  width: 18rem;
  max-width: 100%;
  height: auto;
  border-radius: 0.375rem;
}

/* -----------------------------------------------------------------------------
 * Estados de cita
 *
 * Una clase por estado. El icono lo pone la clase y el texto, el JSP o el JS: el
 * estado nunca depende solo del color. 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: 600;
  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-solicitada {
  background-color: var(--at-cita-solicitada-fondo);
  color: var(--at-cita-solicitada-texto);
}
.estado-cita-solicitada::before {
  content: "\f017";
  content: "\f017" / "";
}
.estado-cita-confirmada {
  background-color: var(--at-cita-confirmada-fondo);
  color: var(--at-cita-confirmada-texto);
}
.estado-cita-confirmada::before {
  content: "\f274";
  content: "\f274" / "";
}
.estado-cita-en-curso {
  background-color: var(--at-cita-en-curso-fondo);
  color: var(--at-cita-en-curso-texto);
}
.estado-cita-en-curso::before {
  content: "\f1b9";
  content: "\f1b9" / "";
}
.estado-cita-terminada {
  background-color: var(--at-cita-terminada-fondo);
  color: var(--at-cita-terminada-texto);
}
.estado-cita-terminada::before {
  content: "\f058";
  content: "\f058" / "";
}
.estado-cita-no-presentado {
  background-color: var(--at-cita-no-presentado-fondo);
  color: var(--at-cita-no-presentado-texto);
}
.estado-cita-no-presentado::before {
  content: "\f235";
  content: "\f235" / "";
}
.estado-cita-cancelada {
  background-color: var(--at-cita-cancelada-fondo);
  color: var(--at-cita-cancelada-texto);
  text-decoration: line-through;
}
.estado-cita-cancelada::before {
  content: "\f05e";
  content: "\f05e" / "";
}
