﻿@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("fonts/roboto/Roboto-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("fonts/roboto/Roboto-Medium.ttf") format("truetype");
}

@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("fonts/roboto/Roboto-Bold.ttf") format("truetype");
}

:root {
    --fk-primario: rgb(1, 81, 145);
    --fk-secundario: rgb(1, 149, 203);
    --fk-acentuado: #0D6EFD;
    --fk-fuente: "Roboto", sans-serif;
    --fk-tam-titulo: 1.5rem;
    --fk-tam-subtitulo: 1.1rem;
    --fk-tam-contenido: 1rem;
    --fk-color-texto: #212529;
    --fk-color-fondo: #FFFFFF;
    --fk-color-texto-contraste: #FFFFFF;
    --fk-color-blanco: #FFFFFF;
    --fk-color-gris: #6C757D;
    --fk-color-borde: #DCDCDC;
    --fk-color-surface: #FFFFFF;
    --fk-color-error: #DC3545;
    --fk-color-advertencia: #FFC107;
    --fk-overlay: rgba(0, 0, 0, 0.35);
    --fk-sombra-surface: 0 6px 18px rgba(0, 0, 0, 0.15);
    --fk-tab-activo-texto: var(--fk-primario);
    --fk-tab-activo-fondo: var(--fk-color-surface);
    --fk-tab-activo-borde: var(--fk-color-borde);
    --fk-tab-activo-indicador: var(--fk-color-surface);
    --fk-tab-hover-fondo: color-mix(in srgb, var(--fk-color-surface) 92%, var(--fk-color-texto) 8%);
}

body {
    font-family: var(--fk-fuente);
    color: var(--fk-color-texto);
    background-color: var(--fk-color-fondo);
    font-size: var(--fk-tam-contenido);
}

html,
body {
    min-height: 100dvh;
}

h1, .fk-titulo {
    font-size: var(--fk-tam-titulo);
}

h2, h3, .fk-subtitulo {
    font-size: var(--fk-tam-subtitulo);
}

.fk-sidebar {
    /*background-color: var(--fk-primario) !important;*/
    background: linear-gradient(135deg, var(--fk-primario), var(--fk-acentuado)) !important;    
}

.fk-navbar {
    border-bottom: 3px solid var(--fk-secundario);    
}

.fk-navbar,
.fk-navbar .nav-link,
.fk-navbar span {
    color: var(--fk-color-texto) !important;
}

.brand-link {
    /*background-color: var(--fk-primario) !important;*/
    /*background-color: #FFFFFF !important;*/
    border-bottom: 0px !important;
}

.fk-login-pantalla {
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(135deg, #FFFFFF 0%, #D7E7F6 38%, #7DADD5 100%);
}

.fk-login-panel {
    width: 100%;
    max-width: 420px;
    background-color: var(--fk-color-surface);
    border: 1px solid rgba(1, 81, 145, 0.16);
    border-radius: 10px;
    box-shadow: 0 20px 44px rgba(1, 81, 145, 0.18);
    overflow: hidden;
}

.fk-login-encabezado {
    padding: 28px 32px 20px 32px;
    border-bottom: 1px solid rgba(1, 81, 145, 0.10);
    text-align: center;
}

.fk-login-titulo {
    color: var(--fk-primario);
    font-size: 2.15rem;
    font-weight: 700;
    line-height: 1.1;
}

.fk-login-subtitulo {
    margin-top: 10px;
    color: #61748A;
    font-size: 0.98rem;
}

.fk-login-form {
    padding: 24px 32px 32px 32px;
}

.fk-login-campo + .fk-login-campo {
    margin-top: 16px;
}

.fk-login-etiqueta {
    display: block;
    margin-bottom: 8px;
    color: var(--fk-color-texto);
    font-size: 0.95rem;
    font-weight: 500;
}

.fk-login-editor.dxbl-text-edit {
    width: 100%;
}

.fk-login-editor.dxbl-text-edit,
.fk-login-editor.dxbl-text-edit:focus-within {
    min-height: 0;
}

.fk-login-editor.dxbl-text-edit input {
    width: 100%;
    box-sizing: border-box;
}

.fk-login-botonera {
    padding-top: 22px;
}

.fk-login-button.dxbl-btn {
    width: 100%;
    min-height: 42px;
    font-weight: 500;
}

.fk-login-button.dxbl-btn.dxbl-btn-primary {
    background-color: var(--fk-primario) !important;
    border-color: var(--fk-primario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.fk-login-button.dxbl-btn.dxbl-btn-primary:hover,
.fk-login-button.dxbl-btn.dxbl-btn-primary:focus,
.fk-login-button.dxbl-btn.dxbl-btn-primary:active {
    background-color: var(--fk-secundario) !important;
    border-color: var(--fk-secundario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.fk-btn-primario.dxbl-btn {
    background-color: var(--fk-boton-primario-fondo) !important;
    border-color: var(--fk-boton-primario-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
}

    .fk-btn-primario.dxbl-btn:hover,
    .fk-btn-primario.dxbl-btn:focus,
    .fk-btn-primario.dxbl-btn:active {
        background-color: var(--fk-boton-primario-hover-fondo) !important;
        border-color: var(--fk-boton-primario-hover-fondo) !important;
        color: var(--fk-boton-primario-texto) !important;
    }

.fk-btn-secundario.dxbl-btn {
    background-color: var(--fk-boton-secundario-fondo) !important;
    border-color: var(--fk-boton-secundario-fondo) !important;
    color: var(--fk-boton-secundario-texto) !important;
}

.fk-btn-peligro.dxbl-btn {
    background-color: var(--fk-boton-peligro-fondo) !important;
    border-color: var(--fk-boton-peligro-fondo) !important;
    color: var(--fk-boton-peligro-texto) !important;
}

.fk-btn-advertencia.dxbl-btn {
    background-color: var(--fk-boton-advertencia-fondo) !important;
    border-color: var(--fk-boton-advertencia-fondo) !important;
    color: var(--fk-boton-advertencia-texto) !important;
}

.fk-btn-exito.dxbl-btn {
    background-color: var(--fk-boton-exito-fondo) !important;
    border-color: var(--fk-boton-exito-fondo) !important;
    color: var(--fk-boton-exito-texto) !important;
}

.fk-btn-informacion.dxbl-btn {
    background-color: var(--fk-boton-informacion-fondo) !important;
    border-color: var(--fk-boton-informacion-fondo) !important;
    color: var(--fk-boton-informacion-texto) !important;
}

.fk-btn-ligero.dxbl-btn {
    background-color: var(--fk-boton-ligero-fondo) !important;
    border-color: var(--fk-color-borde) !important;
    color: var(--fk-boton-ligero-texto) !important;
}

.fk-btn-cerrar.dxbl-btn {
    background-color: var(--fk-boton-cerrar-fondo) !important;
    border-color: transparent !important;
    color: var(--fk-boton-cerrar-texto) !important;
}

    .fk-btn-cerrar.dxbl-btn:hover,
    .fk-btn-cerrar.dxbl-btn:focus,
    .fk-btn-cerrar.dxbl-btn:active {
        background-color: var(--fk-boton-cerrar-hover-fondo) !important;
        border-color: transparent !important;
        color: var(--fk-boton-cerrar-texto) !important;
    }

.nav-sidebar .nav-link.active {
    background-color: var(--fk-secundario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

/* El padre abierto no debe resaltarse; solo el submenu seleccionado. */
.nav-sidebar > .nav-item > .nav-link.active {
    background-color: transparent !important;
    color: #c2c7d0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nav-sidebar .nav-treeview > .nav-item > .nav-link.active {
    background-color: transparent !important;
    color: var(--fk-color-texto-contraste) !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.nav-sidebar .nav-treeview > .nav-item > .fk-submenu-link {
    margin-left: 0 !important;
    padding-left: 34px !important;
    width: 100% !important;
    border-radius: 8px !important;
    position: relative;
}

.nav-sidebar .nav-treeview > .nav-item > .fk-submenu-link > p {
    margin-left: 0 !important;
}

.nav-sidebar .menu-open > .nav-link,
.nav-sidebar .menu-open > .nav-link:hover,
.nav-sidebar .menu-open > .nav-link:focus {
    background-color: transparent !important;
    color: #c2c7d0 !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.nav-sidebar .nav-item > .nav-treeview {
    margin-left: 14px !important;
    padding-left: 10px !important;
    border-left: 1px dashed rgba(255, 255, 255, 0.25) !important;
}

.nav-sidebar .nav-treeview > .nav-item > .fk-submenu-link::before {
    content: "";
    position: absolute;
    left: 16px;
    top: 50%;
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
}

.nav-sidebar .nav-treeview > .nav-item > .fk-submenu-link.active {
    background: rgba(255, 255, 255, 0.12) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.nav-sidebar .nav-treeview > .nav-item > .fk-submenu-link.active::before {
    background: var(--fk-color-texto-contraste) !important;
}

.fk-tema-oscuro .content-wrapper,
.fk-tema-oscuro .main-footer,
.fk-tema-oscuro .container-fluid {
    background-color: var(--fk-color-fondo);
    color: var(--fk-color-texto);
}

.fk-tema-oscuro .fk-sidebar {
    background: linear-gradient(180deg, #1f2f44, #162236) !important;
}

.fk-tema-oscuro .fk-navbar {
    background-color: #1f2f44 !important;
    border-bottom-color: var(--fk-secundario) !important;
}

.fk-tema-oscuro .brand-link,
.fk-tema-oscuro .fk-navbar .nav-link,
.fk-tema-oscuro .fk-navbar span {
    color: var(--fk-color-texto-contraste) !important;
}

.fk-tema-oscuro {
    --fk-tab-activo-texto: var(--fk-color-texto);
    --fk-tab-activo-fondo: var(--fk-ventana-fondo);
    --fk-tab-activo-borde: var(--fk-color-borde);
    --fk-tab-activo-indicador: var(--fk-ventana-fondo);
    --fk-tab-hover-fondo: color-mix(in srgb, var(--fk-ventana-fondo) 90%, var(--fk-color-texto) 10%);
}

.fk-mensaje-popup,
.fk-espera-popup {
    z-index: 2000;
}

.fk-mensaje-popup .dxbl-popup-content,
.fk-espera-popup .dxbl-popup-content {
    padding: 0 !important;
    border-radius: 8px;
    overflow: hidden;
}

.fk-mensaje-popup .dxbl-popup-header,
.fk-espera-popup .dxbl-popup-header {
    padding: 0 !important;
    border-bottom: 0 !important;
}

.fk-mensaje-popup .dxbl-modal-root,
.fk-espera-popup .dxbl-modal-root {
    background: var(--fk-overlay);
}

.fk-mensaje-contenido,
.fk-espera-contenido {
    min-width: 320px;
    max-width: 560px;
    background: var(--fk-ventana-fondo);
    color: var(--fk-color-texto);
}

.fk-espera-contenido {
    font-weight: 500;
}

.fk-espera-inline {
    display: flex;
    align-items: center;
    gap: 12px;
}

.fk-espera-texto {
    color: var(--fk-color-texto);
    line-height: 1.2;
}

.fk-espera-spinner {
    width: 24px;
    height: 24px;
    position: relative;
    animation: fk-rotar 1.1s linear infinite;
}

.fk-espera-spinner span {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--fk-secundario);
    opacity: .28;
    animation: fk-pulso 1.1s linear infinite;
}

.fk-espera-spinner span:nth-child(1) { top: 0; left: 9px; animation-delay: 0s; }
.fk-espera-spinner span:nth-child(2) { top: 3px; right: 3px; animation-delay: .12s; }
.fk-espera-spinner span:nth-child(3) { top: 9px; right: 0; animation-delay: .24s; }
.fk-espera-spinner span:nth-child(4) { bottom: 3px; right: 3px; animation-delay: .36s; }
.fk-espera-spinner span:nth-child(5) { bottom: 0; left: 9px; animation-delay: .48s; }
.fk-espera-spinner span:nth-child(6) { bottom: 3px; left: 3px; animation-delay: .60s; }
.fk-espera-spinner span:nth-child(7) { top: 9px; left: 0; animation-delay: .72s; }
.fk-espera-spinner span:nth-child(8) { top: 3px; left: 3px; animation-delay: .84s; }

@keyframes fk-pulso {
    0% { opacity: .25; }
    50% { opacity: 1; }
    100% { opacity: .25; }
}

@keyframes fk-rotar {
    100% { transform: rotate(360deg); }
}

.fk-confirmacion-ventana {
    background: var(--fk-ventana-fondo);
    min-height: 100%;
}


.fk-confirmacion-titulo {
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px 0 12px;
    background-color: var(--fk-ventana-encabezado-fondo);
    color: var(--fk-ventana-encabezado-texto);
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    box-sizing: border-box;
}

.fk-mensaje-error .fk-confirmacion-icono {
    background-color: var(--fk-color-error);
}

.fk-mensaje-advertencia .fk-confirmacion-icono {
    background-color: var(--fk-color-advertencia);
    color: #212529;
}

.fk-mensaje-pregunta .fk-confirmacion-titulo {
    background-color: var(--fk-ventana-encabezado-fondo);
    color: var(--fk-ventana-encabezado-texto);
}

.fk-mensaje-pregunta .fk-confirmacion-icono,
.fk-mensaje-informacion .fk-confirmacion-icono {
    background-color: var(--fk-secundario);
}

.fk-confirmacion-cuerpo {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 16px;
    min-height: 72px;
}

.fk-confirmacion-icono {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: var(--fk-secundario);
    color: var(--fk-color-texto-contraste);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.fk-confirmacion-texto {
    color: var(--fk-color-texto);
}

.fk-confirmacion-botones {
    padding: 0 12px 12px;
    display: flex;
    justify-content: flex-end;
}

.fk-confirmacion-botones .btn,
.fk-confirmacion-botones .dxbl-btn {
    min-width: 64px;
}

.fk-mensaje-boton.dxbl-btn.dxbl-btn-primary {
    background-color: var(--fk-primario) !important;
    border-color: var(--fk-primario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.fk-mensaje-boton.dxbl-btn.dxbl-btn-secondary {
    min-width: 64px;
}

/* Normalizacion visual: todos los colores base salen de variables fk-*. */
.wrapper {
    --bs-primary: var(--fk-primario);
    --bs-secondary: var(--fk-color-gris);
    --bs-info: var(--fk-secundario);
    --bs-warning: var(--fk-acentuado);
    --bs-body-color: var(--fk-color-texto);
    --bs-body-bg: var(--fk-color-fondo);
    --bs-border-color: var(--fk-color-borde);
    min-height: 100dvh !important;
    background-color: var(--fk-color-fondo);
}

.fk-sidebar .sidebar {
    min-height: calc(100dvh - 57px);
    display: flex;
    flex-direction: column;
}

.fk-sidebar-menu {
    flex: 1 1 auto;
}

.fk-sidebar-version {
    margin-top: auto;
    padding: 10px 16px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    color: rgba(255, 255, 255, 0.72);
    font-size: 12px;
    line-height: 1;
}

.main-sidebar {
    min-height: 100dvh !important;
}

    .main-sidebar.fk-sidebar {
        position: fixed !important;
        top: 0;
        bottom: 0;
        height: 100dvh !important;
        overflow: hidden;
    }

.content-wrapper {
    min-height: calc(100dvh - 43px) !important;
    padding-bottom: 36px;
}

.wrapper,
.content-wrapper,
.container-fluid,
.main-footer,
.card,
.card-header,
.card-footer,
.table,
.table thead th,
.table tbody td {
    color: var(--fk-color-texto) !important;
}

.content-wrapper,
.container-fluid,
.main-footer {
    background-color: var(--fk-color-fondo) !important;
}

.border,
.border-top,
.border-end,
.border-bottom,
.border-start {
    border-color: var(--fk-color-borde) !important;
}

.main-footer {
    border-top: 1px solid var(--fk-color-borde) !important;
    height: 36px;
    min-height: 36px !important;
    padding: 8px 16px !important;
    font-size: 12px;
    line-height: 18px;
    display: flex;
    align-items: center;
    gap: 4px;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1020;
    white-space: nowrap;
    box-shadow: none;
}

.card,
.card-header,
.card-footer,
.fk-cat-toolbar {
    background-color: var(--fk-ventana-fondo) !important;
    border-color: var(--fk-color-borde) !important;
}

.card-outline.card-primary {
    border-top: 3px solid var(--fk-secundario) !important;
}

.fk-cat-toolbar {
    border-bottom: 1px solid var(--fk-color-borde) !important;
}

.fk-det-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.fk-det-header-texto {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fk-det-header-titulo {
    font-size: var(--fk-tam-titulo);
    font-weight: 500;
    line-height: 1.2;
}

.fk-det-header-subtitulo {
    color: var(--fk-color-gris);
    font-size: .92rem;
    line-height: 1.2;
}

.fk-popup-close.dxbl-btn {
    min-width: 38px;
    padding-inline: 0;
    border-color: transparent !important;
    background-color: transparent !important;
    color: var(--fk-color-texto-contraste) !important;
    box-shadow: none !important;
}

.fk-popup-close.dxbl-btn:hover,
.fk-popup-close.dxbl-btn:focus,
.fk-popup-close.dxbl-btn:active {
    border-color: transparent !important;
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.fk-det-tabs {
    border-bottom: 1px solid var(--fk-color-borde) !important;
}

.fk-det-tabs .nav-link.fk-det-tab,
.fk-det-tabs .nav-link.fk-det-tab:visited,
.fk-det-tabs .nav-link.fk-det-tab:focus,
.fk-det-tabs .nav-link.fk-det-tab:focus-visible,
.fk-det-tabs .nav-link.fk-det-tab:active {
    color: var(--fk-color-texto) !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 4px 4px 0 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

.fk-det-tabs .nav-link.fk-det-tab:hover {
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
    background-color: var(--fk-tab-hover-fondo) !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.fk-det-tabs .nav-link.fk-det-tab.active,
.fk-det-tabs .nav-link.fk-det-tab.active:hover,
.fk-det-tabs .nav-link.fk-det-tab.active:focus,
.fk-det-tabs .nav-link.fk-det-tab.active:focus-visible,
.fk-det-tabs .nav-link.fk-det-tab.active:active {
    color: var(--fk-tab-activo-texto) !important;
    background-color: var(--fk-tab-activo-fondo) !important;
    border-top-color: var(--fk-tab-activo-borde) !important;
    border-right-color: var(--fk-tab-activo-borde) !important;
    border-left-color: var(--fk-tab-activo-borde) !important;
    border-bottom-color: var(--fk-tab-activo-fondo) !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
}

.nav-tabs .nav-link.active::before,
.nav-tabs .nav-link:focus-visible::before,
.nav-tabs .nav-link:focus::before,
.nav-tabs .nav-link:hover::before {
    border-bottom-color: var(--fk-tab-activo-indicador) !important;
    color: var(--fk-tab-activo-texto) !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.fk-accion-agregar .dxbl-btn,
.fk-accion-agregar .dxbl-file-input-select-button,
.fk-accion-agregar .dxbl-upload-select-button,
.fk-accion-agregar button,
.fk-accion-agregar [class*="select-button"],
.fk-accion-agregar [class*="choose-button"] {
    background-color: var(--fk-boton-primario-fondo) !important;
    border-color: var(--fk-boton-primario-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
}

.fk-accion-agregar .dxbl-btn:hover,
.fk-accion-agregar .dxbl-file-input-select-button:hover,
.fk-accion-agregar .dxbl-upload-select-button:hover,
.fk-accion-agregar button:hover,
.fk-accion-agregar [class*="select-button"]:hover,
.fk-accion-agregar [class*="choose-button"]:hover,
.fk-accion-agregar .dxbl-btn:focus,
.fk-accion-agregar .dxbl-file-input-select-button:focus,
.fk-accion-agregar .dxbl-upload-select-button:focus,
.fk-accion-agregar button:focus {
    background-color: var(--fk-boton-primario-hover-fondo) !important;
    border-color: var(--fk-boton-primario-hover-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
    box-shadow: none !important;
}

.fk-accion-agregar .dxbl-btn-icon,
.fk-accion-agregar .dxbl-image,
.fk-accion-agregar svg {
    color: var(--fk-boton-primario-texto) !important;
    fill: currentColor !important;
}

.fk-mensaje-popup .dxbl-popup-body,
.fk-espera-popup .dxbl-popup-body {
    padding: 0 !important;
}

.table thead th,
.table tbody td {
    border-color: var(--fk-color-borde) !important;
    background-color: transparent !important;
}

.table-hover tbody tr:hover {
    background-color: color-mix(in srgb, var(--fk-secundario) 10%, transparent) !important;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:hover {
    background-color: var(--fk-primario) !important;
    border-color: var(--fk-primario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.btn-info,
.btn-info:focus,
.btn-info:hover {
    background-color: var(--fk-secundario) !important;
    border-color: var(--fk-secundario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.btn-warning,
.btn-warning:focus,
.btn-warning:hover {
    background-color: var(--fk-acentuado) !important;
    border-color: var(--fk-acentuado) !important;
    color: var(--fk-color-texto-contraste) !important;
}

.btn-danger,
.btn-danger:focus,
.btn-danger:hover {
    background-color: var(--fk-color-gris) !important;
    border-color: var(--fk-color-gris) !important;
    color: var(--fk-color-blanco) !important;
}

.btn-secondary,
.btn-secondary:focus,
.btn-secondary:hover {
    background-color: var(--fk-color-gris) !important;
    border-color: var(--fk-color-gris) !important;
    color: var(--fk-color-blanco) !important;
}

.fk-btn-tema {
    width: 32px;
    height: 32px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.fk-icon-btn {
    width: 34px;
    height: 34px;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--fk-color-gris) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.fk-icon-btn:hover,
.fk-icon-btn:focus {
    background: color-mix(in srgb, var(--fk-secundario) 16%, transparent) !important;
    color: var(--fk-color-texto) !important;
    box-shadow: none !important;
    outline: none !important;
}

.fk-btn-avatar {
    width: 34px;
    height: 34px;
    font-size: 18px;
}

.fk-user-menu-wrap {
    position: relative;
}

.fk-user-dropdown {
    position: absolute;
    top: 42px;
    right: 0;
    min-width: 240px;
    border: 1px solid var(--fk-color-borde);
    border-radius: 10px;
    background-color: var(--fk-color-surface);
    box-shadow: var(--fk-sombra-surface);
    z-index: 2100;
    overflow: hidden;
}

.fk-user-dropdown-head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    text-align: center;
    padding: 14px 12px 12px;
    border-bottom: 1px solid var(--fk-color-borde);
}

.fk-user-avatar-lg {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--fk-primario), var(--fk-secundario));
    color: var(--fk-color-texto-contraste);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.fk-user-info {
    min-width: 0;
    text-align: center;
}

.fk-user-name {
    font-weight: 600;
    color: var(--fk-color-texto);
    line-height: 1.2;
}

.fk-user-role {
    font-size: 12px;
    color: var(--fk-color-gris);
}

.fk-user-dropdown-body {
    padding: 10px 12px;
}

.fk-btn-cerrar-sesion {
    width: 100%;
    background-color: var(--fk-primario);
    border: 1px solid var(--fk-primario);
    color: var(--fk-color-texto-contraste);
}

.fk-btn-cerrar-sesion:hover,
.fk-btn-cerrar-sesion:focus {
    background-color: var(--fk-secundario);
    border-color: var(--fk-secundario);
    color: var(--fk-color-texto-contraste);
}

/* Homologacion visual del FrmDetalle con FrmCatalogo. */
.fk-modal-n1 .fk-det-toolbar .btn {
    min-width: 78px;
}

.fk-modal-n1,
.fk-modal-n2 {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 20px 10px;
}

.fk-modal-n1 .modal-dialog,
.fk-modal-n2 .modal-dialog {
    margin: 0 auto !important;
}

.fk-modal-n1 .modal-dialog {
    width: min(96vw, 1400px) !important;
    max-width: min(96vw, 1400px) !important;
}

.fk-modal-n1 .modal-content {
    min-height: auto !important;
    max-height: 84vh !important;
}

.fk-modal-n1 .modal-body {
    height: auto !important;
    max-height: calc(100vh - 16rem);
    overflow-y: auto;
}

.fk-modal-n1 .card-outline.card-secondary {
    border-top: 3px solid var(--fk-secundario) !important;
}

.fk-modal-n1 .card,
.fk-modal-n1 .card-footer {
    border-color: var(--fk-color-borde) !important;
}

.fk-modal-n1 .card-header,
.fk-modal-n1 .table thead th,
.fk-modal-n1 .table tbody td {
    border-color: var(--fk-color-borde) !important;
}

.fk-modal-n1 .table tbody td {
    border-bottom-color: var(--fk-color-borde) !important;
}

.fk-modal-n1 .table tbody tr:last-child td {
    border-bottom-color: var(--fk-color-borde) !important;
}

.fk-modal-n2 .fk-subdet-dialog {
    max-width: 920px;
}

.fk-modal-n2 .modal-content {
    min-height: auto !important;
    max-height: 78vh !important;
}

.fk-modal-n2 .modal-body {
    height: auto !important;
    max-height: calc(100vh - 20rem);
    overflow-y: auto;
}

.fk-modal-n2 .card-outline.card-secondary {
    border-top: 3px solid var(--fk-secundario) !important;
}

.fk-modal-n2 .card,
.fk-modal-n2 .card-header,
.fk-modal-n2 .card-footer,
.fk-modal-n2 .table thead th,
.fk-modal-n2 .table tbody td {
    border-color: var(--fk-color-borde) !important;
}

/* Ajustes modo oscuro para FrmDetalle / FrmSubDetalle */
.fk-tema-oscuro .fk-modal-n1 .modal-content,
.fk-tema-oscuro .fk-modal-n2 .modal-content {
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.fk-tema-oscuro .fk-modal-n1 .modal-header,
.fk-tema-oscuro .fk-modal-n2 .modal-header,
.fk-tema-oscuro .fk-modal-n1 .modal-footer,
.fk-tema-oscuro .fk-modal-n2 .modal-footer,
.fk-tema-oscuro .fk-modal-n1 .modal-body,
.fk-tema-oscuro .fk-modal-n2 .modal-body {
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.fk-tema-oscuro .fk-modal-n1 .text-muted,
.fk-tema-oscuro .fk-modal-n2 .text-muted {
    color: color-mix(in srgb, var(--fk-color-texto) 65%, transparent) !important;
}

.fk-tema-oscuro .fk-modal-n1 .close,
.fk-tema-oscuro .fk-modal-n2 .close {
    color: var(--fk-color-texto) !important;
    text-shadow: none !important;
    opacity: .8;
}

.fk-tema-oscuro .fk-modal-n1 .close:hover,
.fk-tema-oscuro .fk-modal-n2 .close:hover {
    opacity: 1;
}

.fk-tema-oscuro .fk-modal-n1 .form-control,
.fk-tema-oscuro .fk-modal-n2 .form-control,
.fk-tema-oscuro .fk-modal-n1 select.form-control,
.fk-tema-oscuro .fk-modal-n2 select.form-control,
.fk-tema-oscuro .fk-modal-n1 textarea.form-control,
.fk-tema-oscuro .fk-modal-n2 textarea.form-control {
    background-color: color-mix(in srgb, var(--fk-color-fondo) 58%, var(--fk-color-surface)) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.fk-tema-oscuro .fk-modal-n1 .form-control:focus,
.fk-tema-oscuro .fk-modal-n2 .form-control:focus {
    border-color: var(--fk-secundario) !important;
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--fk-secundario) 25%, transparent) !important;
}

.fk-tema-oscuro .fk-modal-n1 .form-control[readonly],
.fk-tema-oscuro .fk-modal-n2 .form-control[readonly],
.fk-tema-oscuro .fk-modal-n1 .form-control:disabled,
.fk-tema-oscuro .fk-modal-n2 .form-control:disabled,
.fk-tema-oscuro .fk-modal-n1 select.form-control:disabled,
.fk-tema-oscuro .fk-modal-n2 select.form-control:disabled,
.fk-tema-oscuro .fk-modal-n1 textarea.form-control[readonly],
.fk-tema-oscuro .fk-modal-n2 textarea.form-control[readonly] {
    background-color: color-mix(in srgb, var(--fk-color-surface) 85%, #000000 15%) !important;
    border-color: color-mix(in srgb, var(--fk-color-borde) 70%, #000000 30%) !important;
    color: color-mix(in srgb, var(--fk-color-texto) 75%, transparent) !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

.fk-tema-oscuro .fk-modal-n1 input[type="date"]::-webkit-calendar-picker-indicator,
.fk-tema-oscuro .fk-modal-n2 input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(88%) sepia(5%) saturate(274%) hue-rotate(176deg) brightness(92%) contrast(90%);
    opacity: 1;
}

/* DevExpress Grid - modo oscuro */
.fk-tema-oscuro .dxbl-grid {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

    .fk-tema-oscuro .dxbl-grid table {
        background-color: var(--fk-ventana-fondo) !important;
        color: var(--fk-color-texto) !important;
    }

    .fk-tema-oscuro .dxbl-grid tr,
    .fk-tema-oscuro .dxbl-grid td,
    .fk-tema-oscuro .dxbl-grid th {
        background-color: var(--fk-ventana-fondo) !important;
        color: var(--fk-color-texto) !important;
        border-color: var(--fk-color-borde) !important;
    }

        .fk-tema-oscuro .dxbl-grid tr[aria-selected="true"] td {
            background-color: var(--fk-grid-seleccion-fondo) !important;
            color: var(--fk-grid-seleccion-texto) !important;
        }



/* DevExpress Popup - modo oscuro */
.fk-tema-oscuro .dxbl-popup,
.fk-tema-oscuro .dxbl-popup-content,
.fk-tema-oscuro .dxbl-popup-header,
.fk-tema-oscuro .dxbl-popup-body,
.fk-tema-oscuro .dxbl-popup-footer {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.fk-tema-oscuro .fk-det-header {
    background-color: var(--fk-ventana-encabezado-fondo) !important;
    color: var(--fk-ventana-encabezado-texto) !important;
}

/* DevExpress Modal / Popup - tema global */
.dxbl-modal-content,
.dxbl-modal-header,
.dxbl-modal-body,
.dxbl-modal-footer,
.dxbl-popup-header,
.dxbl-popup-body,
.dxbl-popup-footer {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-modal-header-default {
    background-color: var(--fk-ventana-encabezado-fondo) !important;
    color: var(--fk-ventana-encabezado-texto) !important;
}

    .dxbl-modal-header-default .dxbl-text,
    .dxbl-modal-header-default .fk-det-header,
    .dxbl-modal-header-default .fk-det-header-titulo,
    .dxbl-modal-header-default .fk-det-header-subtitulo {
        color: var(--fk-ventana-encabezado-texto) !important;
    }


/* DevExpress FormLayout / Groups - tema global */
.dxbl-fl,
.dxbl-fl-group,
.dxbl-group,
.dxbl-group-body,
.dxbl-fl-group-body,
.dxbl-group-body-content {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-group-header {
    background-color: var(--fk-grupo-encabezado-fondo) !important;
    color: var(--fk-grupo-encabezado-texto) !important;
    border-color: var(--fk-color-borde) !important;
    font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
    font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
}

    .dxbl-group-header .dxbl-text,
    .dxbl-fl-cpt,
    .dxbl-fl .dxbl-text {
        color: var(--fk-grupo-encabezado-texto) !important;
        font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
        font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
    }

.fk-panel-header {
    background-color: var(--fk-grupo-encabezado-fondo) !important;
    color: var(--fk-grupo-encabezado-texto) !important;
    font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
    font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
}


/* DevExpress Editors - tema global */
.dxbl-text-edit,
.dxbl-text-edit-input,
.dxbl-memo-edit,
.dxbl-memo-edit textarea,
.dxbl-combo-box,
.dxbl-date-edit,
.dxbl-spinedit {
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

    .dxbl-text-edit-input,
    .dxbl-memo-edit textarea {
        background-color: transparent !important;
        color: var(--fk-color-texto) !important;
    }

    .dxbl-text-edit:focus-within,
    .dxbl-memo-edit:focus-within,
    .dxbl-combo-box:focus-within,
    .dxbl-date-edit:focus-within,
    .dxbl-spinedit:focus-within {
        border-color: var(--fk-secundario) !important;
        box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--fk-secundario) 25%, transparent) !important;
    }

.dxbl-readonly,
.dxbl-readonly .dxbl-text-edit-input {
    background-color: color-mix(in srgb, var(--fk-color-surface) 85%, #000000 15%) !important;
    color: var(--fk-color-texto) !important;
}

/* =========================================================
   FinanKari - Tema global para DevExpress
   ========================================================= */

/* Modal / Popup */
.dxbl-modal-content,
.dxbl-modal-header,
.dxbl-modal-body,
.dxbl-modal-footer,
.dxbl-popup-header,
.dxbl-popup-body,
.dxbl-popup-footer,
.dxbl-popup-content {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-modal-header-default {
    background-color: var(--fk-ventana-encabezado-fondo) !important;
    color: var(--fk-ventana-encabezado-texto) !important;
}

    .dxbl-modal-header-default .dxbl-text,
    .dxbl-modal-header-default .fk-det-header,
    .dxbl-modal-header-default .fk-det-header-titulo,
    .dxbl-modal-header-default .fk-det-header-subtitulo {
        color: var(--fk-ventana-encabezado-texto) !important;
    }

/* Botón X de ventanas */
.fk-popup-close.dxbl-btn,
.fk-popup-close.dxbl-btn.dxbl-btn-secondary {
    background-color: var(--fk-boton-cerrar-fondo) !important;
    border-color: transparent !important;
    color: var(--fk-boton-cerrar-texto) !important;
    box-shadow: none !important;
}

    .fk-popup-close.dxbl-btn:hover,
    .fk-popup-close.dxbl-btn:focus,
    .fk-popup-close.dxbl-btn:active {
        background-color: var(--fk-boton-cerrar-hover-fondo) !important;
        border-color: transparent !important;
        color: var(--fk-boton-cerrar-texto) !important;
    }

/* FormLayout / grupos */
.dxbl-fl,
.dxbl-fl-group,
.dxbl-group,
.dxbl-group-body,
.dxbl-fl-group-body,
.dxbl-group-body-content,
.dxbl-expandable-container {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-group-header {
    background-color: var(--fk-ventana-encabezado-fondo) !important;
    color: var(--fk-grupo-encabezado-texto) !important;
    border-color: var(--fk-color-borde) !important;
    font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
    font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
}

    .dxbl-group-header .dxbl-text {
        color: var(--fk-grupo-encabezado-texto) !important;
        font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
        font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
    }

.dxbl-fl-cpt,
.dxbl-fl .dxbl-text,
.dxbl-fl label {
    color: var(--fk-color-texto) !important;
}

/* Editores */
.dxbl-text-edit,
.dxbl-memo-edit,
.dxbl-combo-box,
.dxbl-date-edit,
.dxbl-spinedit {
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

    .dxbl-text-edit-input,
    .dxbl-memo-edit textarea,
    .dxbl-text-edit input,
    .dxbl-text-edit textarea {
        background-color: transparent !important;
        color: var(--fk-color-texto) !important;
    }

    .dxbl-text-edit:focus-within,
    .dxbl-memo-edit:focus-within,
    .dxbl-combo-box:focus-within,
    .dxbl-date-edit:focus-within,
    .dxbl-spinedit:focus-within {
        border-color: var(--fk-secundario) !important;
        box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--fk-secundario) 25%, transparent) !important;
    }

    /* Editores solo lectura / deshabilitados */
    .dxbl-readonly,
    .dxbl-readonly .dxbl-text-edit-input,
    .dxbl-disabled,
    .dxbl-disabled .dxbl-text-edit-input,
    .dxbl-text-edit:has(input[readonly]):not(.fk-combo-habilitado),
    .dxbl-text-edit:has(input:disabled) {
        background-color: color-mix(in srgb, var(--fk-color-surface) 85%, #000000 15%) !important;
        color: var(--fk-color-texto) !important;
        border-color: var(--fk-color-borde) !important;
    }

    /* Botones internos de editores */
    .dxbl-text-edit .dxbl-btn,
    .dxbl-spinedit .dxbl-btn,
    .dxbl-date-edit .dxbl-btn,
    .dxbl-combo-box .dxbl-btn,
    .dxbl-edit-btn-dropdown,
    .dxbl-spin-btn-inc,
    .dxbl-spin-btn-dec {
        background-color: color-mix(in srgb, var(--fk-color-surface) 90%, #000000 10%) !important;
        border-color: var(--fk-color-borde) !important;
        color: var(--fk-color-texto) !important;
    }

/* Grid */
.dxbl-grid,
.dxbl-grid-table,
.dxbl-scroll-viewer,
.dxbl-scroll-viewer-content {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

/* DevExpress Pager - página seleccionada */
.dxbl-pager .dxbl-pager-active-page-btn,
.dxbl-pager .dxbl-pager-active-page-btn:hover,
.dxbl-pager .dxbl-pager-active-page-btn:focus {
    background-color: var(--fk-primario) !important;
    border-color: var(--fk-primario) !important;
    color: var(--fk-color-texto-contraste) !important;
}

    .dxbl-pager .dxbl-pager-active-page-btn span {
        color: var(--fk-color-texto-contraste) !important;
    }

    .dxbl-grid table,
    .dxbl-grid thead,
    .dxbl-grid tbody,
    .dxbl-grid tr,
    .dxbl-grid td,
    .dxbl-grid th {
        background-color: var(--fk-ventana-fondo) !important;
        color: var(--fk-color-texto) !important;
        border-color: var(--fk-color-borde) !important;
    }

/* Header del grid */
.dxbl-grid-header,
.dxbl-grid-header-content,
.dxbl-grid-header-row th {
    background-color: color-mix(in srgb, var(--fk-ventana-fondo) 88%, var(--fk-color-texto) 12%) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

/* Fila de filtros */
.dxbl-grid-filter-row td,
.dxbl-grid-filter-row .dxbl-text-edit,
.dxbl-grid-filter-row .dxbl-text-edit-input {
    background-color: color-mix(in srgb, var(--fk-ventana-fondo) 92%, var(--fk-color-texto) 8%) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

/* Fila seleccionada / enfocada */
.dxbl-grid tr[aria-selected="true"] td,
.dxbl-grid .dxbl-grid-focused-row td {
    background-color: var(--fk-grid-seleccion-fondo) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

    .dxbl-grid tr[aria-selected="true"] td *,
    .dxbl-grid .dxbl-grid-focused-row td * {
        color: var(--fk-grid-seleccion-texto) !important;
    }

/* Hover del grid */
.dxbl-grid tbody tr:hover td {
    background-color: color-mix(in srgb, var(--fk-grid-seleccion-fondo) 35%, var(--fk-ventana-fondo)) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

/* Celdas vacías / relleno */
.dxbl-grid-empty-cell,
.dxbl-grid-empty-row td {
    background-color: var(--fk-ventana-fondo) !important;
    border-color: var(--fk-color-borde) !important;
}

/* Scrollbars DevExpress */
.dxbl-scroll-viewer-vert-scroll-bar,
.dxbl-scroll-viewer-hor-scroll-bar {
    background-color: color-mix(in srgb, var(--fk-ventana-fondo) 85%, #000000 15%) !important;
}

.dxbl-scroll-viewer-scroll-thumb {
    background-color: var(--fk-color-borde) !important;
}

/* =========================================================
   FinanKari - Correcciones finales DevExpress
   ========================================================= */

/* Grupos: no usar encabezado azul en grupos internos */
.dxbl-group-header {
    background-color: var(--fk-grupo-encabezado-fondo) !important;
    color: var(--fk-grupo-encabezado-texto) !important;
    border-color: var(--fk-color-borde) !important;
    font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
    font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
}

    .dxbl-group-header .dxbl-text {
        color: var(--fk-grupo-encabezado-texto) !important;
        font-size: var(--fk-grupo-encabezado-tam-fuente) !important;
        font-weight: var(--fk-grupo-encabezado-peso-fuente) !important;
    }

/* Editores: alinear texto verticalmente y quitar líneas raras */
.dxbl-text-edit,
.dxbl-text-edit.form-control,
.form-control.dxbl-text-edit,
.dxbl-spinedit,
.dxbl-date-edit,
.dxbl-combo-box {
    min-height: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    border: 1px solid var(--fk-color-borde) !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: hidden !important;
}

    .dxbl-text-edit-input,
    .dxbl-text-edit input {
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
        background-color: transparent !important;
        color: var(--fk-color-texto) !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 12px !important;
        line-height: normal !important;
    }

/* Memo: no forzar altura de 34px */
.dxbl-memo-edit,
.dxbl-memo-edit.form-control,
.form-control.dxbl-memo-edit {
    height: auto !important;
    min-height: 80px !important;
    display: block !important;
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    border: 1px solid var(--fk-color-borde) !important;
    box-shadow: none !important;
    padding: 0 !important;
}

    .dxbl-memo-edit textarea {
        background-color: transparent !important;
        color: var(--fk-color-texto) !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 8px 12px !important;
    }

/* Botones internos de editores: selector, calendario y spin */
.input-group .dxbl-btn,
.dxbl-text-edit .dxbl-btn,
.dxbl-spinedit .dxbl-btn,
.dxbl-date-edit .dxbl-btn,
.dxbl-combo-box .dxbl-btn,
.dxbl-edit-btn-dropdown,
.dxbl-spin-btn-inc,
.dxbl-spin-btn-dec {
    min-height: 34px !important;
    height: 34px !important;
    background-color: color-mix(in srgb, var(--fk-color-surface) 88%, var(--fk-color-texto) 12%) !important;
    border-color: var(--fk-color-borde) !important;
    color: var(--fk-color-texto) !important;
    box-shadow: none !important;
}

    .dxbl-btn .dxbl-image,
    .dxbl-edit-btn-dropdown .dxbl-image,
    .dxbl-spin-btn-inc .dxbl-image,
    .dxbl-spin-btn-dec .dxbl-image {
        color: var(--fk-color-texto) !important;
        fill: currentColor !important;
        opacity: 1 !important;
    }

/* Grid: encabezado uniforme, sin recuadros extraños */
.dxbl-grid-header,
.dxbl-grid-header-row th,
.dxbl-grid-header-content {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
    box-shadow: none !important;
}

.dxbl-grid-header-content {
    padding: 4px 8px !important;
}

/* Grid: filtros visibles */
.dxbl-grid-filter-row td {
    background-color: var(--fk-ventana-fondo) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-grid-filter-row .dxbl-text-edit,
.dxbl-grid-filter-row .dxbl-spinedit {
    width: 100% !important;
    min-height: 28px !important;
    height: 28px !important;
    background-color: var(--fk-color-surface) !important;
    border: 1px solid var(--fk-color-borde) !important;
}

/* Menú lateral: hover legible */
.fk-sidebar .nav-link:hover,
.fk-sidebar .nav-link:focus,
.nav-sidebar .nav-link:hover,
.nav-sidebar .nav-link:focus,
.nav-sidebar .menu-open > .nav-link:hover,
.nav-sidebar .menu-open > .nav-link:focus {
    background-color: color-mix(in srgb, var(--fk-secundario) 28%, transparent) !important;
    color: var(--fk-color-texto-contraste) !important;
    box-shadow: none !important;
    outline: none !important;
}

    .fk-sidebar .nav-link:hover p,
    .fk-sidebar .nav-link:hover i,
    .nav-sidebar .nav-link:hover p,
    .nav-sidebar .nav-link:hover i {
        color: var(--fk-color-texto-contraste) !important;
    }


/* FinanKari - Grid filtros a ancho completo */
.dxbl-grid-filter-row td {
    padding: 2px 4px !important;
}

.dxbl-grid-filter-row .dxbl-text-edit,
.dxbl-grid-filter-row .dxbl-spinedit,
.dxbl-grid-filter-row .dxbl-date-edit,
.dxbl-grid-filter-row .dxbl-combo-box {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

.dxbl-grid-filter-row .dxbl-text-edit-input,
.dxbl-grid-filter-row input {
    width: 100% !important;
    box-sizing: border-box !important;
}


/* FinanKari - Filtros del grid ocupando toda la celda */
.dxbl-grid-filter-row td {
    padding: 0 !important;
    height: 28px !important;
    vertical-align: middle !important;
}

.dxbl-grid-filter-row dxbl-input-editor,
.dxbl-grid-filter-row dxbl-spinedit,
.dxbl-grid-filter-row dxbl-date-edit,
.dxbl-grid-filter-row dxbl-combo-box,
.dxbl-grid-filter-row .dxbl-text-edit,
.dxbl-grid-filter-row .dxbl-spinedit,
.dxbl-grid-filter-row .dxbl-date-edit,
.dxbl-grid-filter-row .dxbl-combo-box {
    width: 100% !important;
    max-width: none !important;
    height: 28px !important;
    min-height: 28px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    border-radius: 0 !important;
}

.dxbl-grid-filter-row .dxbl-text-edit-input,
.dxbl-grid-filter-row input {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
}

/* =========================================================
   FinanKari - Corrección de botones internos y bordes
   ========================================================= */

/* Controles DevExpress: evitar cortes visuales en esquinas */
.dxbl-text-edit,
.dxbl-spinedit,
.dxbl-date-edit,
.dxbl-combo-box,
.dxbl-memo-edit {
    border-radius: 4px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

    /* El input no debe tapar los botones internos */
    .dxbl-text-edit-input,
    .dxbl-text-edit input,
    .dxbl-date-edit input,
    .dxbl-spinedit input,
    .dxbl-combo-box input {
        padding-right: 34px !important;
    }

    /* Botones internos visibles: selector, calendario, spin */
    .dxbl-text-edit .dxbl-btn,
    .dxbl-spinedit .dxbl-btn,
    .dxbl-date-edit .dxbl-btn,
    .dxbl-combo-box .dxbl-btn,
    .dxbl-edit-btn-dropdown,
    .dxbl-spin-btn-inc,
    .dxbl-spin-btn-dec {
        width: 30px !important;
        min-width: 30px !important;
        height: 100% !important;
        min-height: 100% !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: color-mix(in srgb, var(--fk-color-surface) 82%, var(--fk-color-texto) 18%) !important;
        border-color: var(--fk-color-borde) !important;
        color: var(--fk-color-texto) !important;
        opacity: 1 !important;
    }

        /* Íconos SVG DevExpress visibles */
        .dxbl-text-edit .dxbl-btn svg,
        .dxbl-spinedit .dxbl-btn svg,
        .dxbl-date-edit .dxbl-btn svg,
        .dxbl-combo-box .dxbl-btn svg,
        .dxbl-text-edit .dxbl-btn .dxbl-image,
        .dxbl-spinedit .dxbl-btn .dxbl-image,
        .dxbl-date-edit .dxbl-btn .dxbl-image,
        .dxbl-combo-box .dxbl-btn .dxbl-image {
            width: 14px !important;
            height: 14px !important;
            color: var(--fk-color-texto) !important;
            fill: currentColor !important;
            opacity: 1 !important;
        }

/* Spin buttons: no usar bloque gris ciego */
.dxbl-spin-btns {
    height: 100% !important;
}

.dxbl-spin-btn-inc,
.dxbl-spin-btn-dec {
    height: 50% !important;
    min-height: 0 !important;
    padding: 0 !important;
}

/* Botón de selector "..." */
.input-group > .dxbl-btn {
    height: 34px !important;
    align-self: stretch !important;
    border-radius: 0 4px 4px 0 !important;
}

/* DateEdit: reservar espacio para botón de calendario */
.dxbl-date-edit .dxbl-btn-group,
.dxbl-combo-box .dxbl-btn-group,
.dxbl-spinedit .dxbl-spin-btns {
    height: 100% !important;
}

/* Bordes de grupos: trazo completo */
.dxbl-group,
.dxbl-fl-group,
.dxbl-group-body,
.dxbl-fl-group-body {
    border: 1px solid var(--fk-color-borde) !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}

/* Header de grupo sin cortar borde */
.dxbl-group-header {
    border-bottom: 1px solid var(--fk-color-borde) !important;
    border-radius: 4px 4px 0 0 !important;
}

/* Cuerpo de grupo sin corte inferior */
.dxbl-group-body,
.dxbl-fl-group-body,
.dxbl-group-body-content {
    border-radius: 0 0 4px 4px !important;
}

/* =========================================================
   FinanKari - DateEdit Calendar / Popup
   ========================================================= */

.dxbl-calendar.dxbl-date-time-edit-calendar,
.dxbl-calendar,
.dxbl-calendar-content,
.dxbl-calendar-content table,
.dxbl-calendar-content tbody,
.dxbl-calendar-week-row,
.dxbl-calendar-days-of-week,
.dxbl-calendar-footer,
.dxbl-calendar-header {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-calendar-header,
.dxbl-calendar-footer {
    background-color: var(--fk-calendario-encabezado-fondo) !important;
    border-color: var(--fk-color-borde) !important;
    color: var(--fk-calendario-encabezado-texto) !important;
}

    .dxbl-calendar-header .dxbl-btn,
    .dxbl-calendar-footer .dxbl-btn,
    .dxbl-calendar-header .dxbl-btn-tool,
    .dxbl-calendar-header .dxbl-btn-text-secondary {
        background-color: transparent !important;
        border-color: transparent !important;
        color: var(--fk-calendario-encabezado-texto) !important;
        box-shadow: none !important;
    }

    .dxbl-calendar-header .dxbl-btn-caption,
    .dxbl-calendar-footer .dxbl-btn-caption {
        color: var(--fk-calendario-encabezado-texto) !important;
    }

    .dxbl-calendar-header .dxbl-image {
        color: var(--fk-calendario-encabezado-texto) !important;
        fill: currentColor !important;
        opacity: 1 !important;
    }

.dxbl-calendar-days-of-week th,
.dxbl-calendar-week-number,
.dxbl-calendar-cell,
.dxbl-calendar-day,
.dxbl-calendar-day a {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-calendar-not-current-view a,
.dxbl-calendar-not-current-view {
    color: var(--fk-color-gris) !important;
}

.dxbl-calendar-weekend a {
    color: var(--fk-color-texto) !important;
}

.dxbl-calendar-day:hover,
.dxbl-calendar-day:hover a {
    background-color: color-mix(in srgb, var(--fk-grid-seleccion-fondo) 35%, var(--fk-ventana-fondo)) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-calendar-selected-item,
.dxbl-calendar-selected-item a,
.dxbl-calendar-today,
.dxbl-calendar-today a {
    background-color: var(--fk-grid-seleccion-fondo) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-calendar-footer .dxbl-btn,
.dxbl-calendar-footer .dxbl-btn-secondary {
    background-color: var(--fk-calendario-hoy-fondo) !important;
    border-color: var(--fk-calendario-hoy-fondo) !important;
    color: var(--fk-calendario-hoy-texto) !important;
}

.dxbl-calendar-footer .dxbl-btn .dxbl-btn-caption,
.dxbl-calendar-footer .dxbl-btn-secondary .dxbl-btn-caption,
.dxbl-calendar-footer .dxbl-btn span,
.dxbl-calendar-footer .dxbl-btn-secondary span,
.dxbl-calendar-footer .dxbl-btn .dxbl-image,
.dxbl-calendar-footer .dxbl-btn-secondary .dxbl-image,
.dxbl-calendar-footer .dxbl-btn svg,
.dxbl-calendar-footer .dxbl-btn-secondary svg {
    color: var(--fk-calendario-hoy-texto) !important;
    fill: currentColor !important;
}

.dxbl-calendar-footer .dxbl-btn:hover,
.dxbl-calendar-footer .dxbl-btn:focus,
.dxbl-calendar-footer .dxbl-btn-secondary:hover,
.dxbl-calendar-footer .dxbl-btn-secondary:focus {
    background-color: var(--fk-calendario-hoy-hover-fondo) !important;
    border-color: var(--fk-calendario-hoy-hover-fondo) !important;
    color: var(--fk-calendario-hoy-hover-texto) !important;
}

.dxbl-calendar-footer .dxbl-btn:hover .dxbl-btn-caption,
.dxbl-calendar-footer .dxbl-btn:focus .dxbl-btn-caption,
.dxbl-calendar-footer .dxbl-btn-secondary:hover .dxbl-btn-caption,
.dxbl-calendar-footer .dxbl-btn-secondary:focus .dxbl-btn-caption,
.dxbl-calendar-footer .dxbl-btn:hover span,
.dxbl-calendar-footer .dxbl-btn:focus span,
.dxbl-calendar-footer .dxbl-btn-secondary:hover span,
.dxbl-calendar-footer .dxbl-btn-secondary:focus span,
.dxbl-calendar-footer .dxbl-btn:hover .dxbl-image,
.dxbl-calendar-footer .dxbl-btn:focus .dxbl-image,
.dxbl-calendar-footer .dxbl-btn-secondary:hover .dxbl-image,
.dxbl-calendar-footer .dxbl-btn-secondary:focus .dxbl-image,
.dxbl-calendar-footer .dxbl-btn:hover svg,
.dxbl-calendar-footer .dxbl-btn:focus svg,
.dxbl-calendar-footer .dxbl-btn-secondary:hover svg,
.dxbl-calendar-footer .dxbl-btn-secondary:focus svg {
    color: var(--fk-calendario-hoy-hover-texto) !important;
    fill: currentColor !important;
}

.dxbl-dropdown,
.dxbl-dropdown-dialog,
.dxbl-listbox,
.dxbl-listbox > div,
.dxbl-list-editor,
.dxbl-list-editor-container {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-listbox-item,
.dxbl-list-editor-item,
.dxbl-listbox-item > span,
.dxbl-list-editor-item > span,
.dxbl-listbox-item > div,
.dxbl-list-editor-item > div {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
}

.dxbl-listbox-item:hover,
.dxbl-listbox-item:focus,
.dxbl-list-editor-item:hover,
.dxbl-list-editor-item:focus,
.dxbl-listbox-item.dxbl-hovered,
.dxbl-list-editor-item.dxbl-hovered {
    background-color: color-mix(in srgb, var(--fk-grid-seleccion-fondo) 35%, var(--fk-ventana-fondo)) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-listbox-item:hover *,
.dxbl-listbox-item:focus *,
.dxbl-list-editor-item:hover *,
.dxbl-list-editor-item:focus *,
.dxbl-listbox-item.dxbl-hovered *,
.dxbl-list-editor-item.dxbl-hovered * {
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-listbox-item.dxbl-selected,
.dxbl-listbox-item.dxbl-focused,
.dxbl-listbox-item[aria-selected="true"],
.dxbl-list-editor-item.dxbl-selected,
.dxbl-list-editor-item.dxbl-focused,
.dxbl-list-editor-item[aria-selected="true"] {
    background-color: var(--fk-grid-seleccion-fondo) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-listbox-item.dxbl-selected *,
.dxbl-listbox-item.dxbl-focused *,
.dxbl-listbox-item[aria-selected="true"] *,
.dxbl-list-editor-item.dxbl-selected *,
.dxbl-list-editor-item.dxbl-focused *,
.dxbl-list-editor-item[aria-selected="true"] * {
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-list-box,
.dxbl-list-box > ul,
.dxbl-list-box > div {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
}

.dxbl-list-box-item,
.dxbl-list-box-item > span,
.dxbl-list-box-item > div {
    background-color: var(--fk-ventana-fondo) !important;
    color: var(--fk-color-texto) !important;
}

.dxbl-list-box-item:hover,
.dxbl-list-box-item:focus,
.dxbl-list-box-item.dxbl-hovered,
.dxbl-list-box-item-focused {
    background-color: color-mix(in srgb, var(--fk-grid-seleccion-fondo) 35%, var(--fk-ventana-fondo)) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-list-box-item:hover *,
.dxbl-list-box-item:focus *,
.dxbl-list-box-item.dxbl-hovered *,
.dxbl-list-box-item-focused * {
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-list-box-item-selected,
.dxbl-list-box-item-selected:hover,
.dxbl-list-box-item-selected:focus,
.dxbl-list-box-item[aria-selected="true"] {
    background-color: var(--fk-grid-seleccion-fondo) !important;
    color: var(--fk-grid-seleccion-texto) !important;
}

.dxbl-list-box-item-selected *,
.dxbl-list-box-item-selected:hover *,
.dxbl-list-box-item-selected:focus *,
.dxbl-list-box-item[aria-selected="true"] * {
    color: var(--fk-grid-seleccion-texto) !important;
}

/* FinanKari - Botón limpiar de DxTextBox */
.dxbl-text-edit .dxbl-edit-btn-clear {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--fk-color-gris) !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}

    .dxbl-text-edit .dxbl-edit-btn-clear .dxbl-image {
        display: none !important;
    }

    .dxbl-text-edit .dxbl-edit-btn-clear::before {
        content: "×";
        font-size: 18px;
        font-weight: 600;
        line-height: 1;
        color: var(--fk-color-gris);
    }

    .dxbl-text-edit .dxbl-edit-btn-clear:hover,
    .dxbl-text-edit .dxbl-edit-btn-clear:focus {
        background-color: color-mix(in srgb, var(--fk-color-error) 12%, transparent) !important;
        color: var(--fk-color-error) !important;
    }

        .dxbl-text-edit .dxbl-edit-btn-clear:hover::before,
        .dxbl-text-edit .dxbl-edit-btn-clear:focus::before {
            color: var(--fk-color-error);
        }

/* FinanKari - Login: no reservar espacio visual para estado de validación inline */
.fk-login-editor .dxbl-edit-validation-status {
    display: none !important;
}

/* FinanKari - Login: botón mostrar/ocultar contraseña */
.fk-login-editor .dxbl-text-edit-btn {
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--fk-color-gris) !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 100% !important;
    min-height: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

    .fk-login-editor .dxbl-text-edit-btn .dxbl-btn-icon,
    .fk-login-editor .dxbl-text-edit-btn .dxbl-image {
        color: var(--fk-color-gris) !important;
        font-size: 13px !important;
        width: 13px !important;
        height: 13px !important;
        line-height: 13px !important;
        opacity: 1 !important;
    }

    .fk-login-editor .dxbl-text-edit-btn:hover,
    .fk-login-editor .dxbl-text-edit-btn:focus {
        background-color: color-mix(in srgb, var(--fk-secundario) 12%, transparent) !important;
        border-color: transparent !important;
        color: var(--fk-secundario) !important;
        box-shadow: none !important;
    }

        .fk-login-editor .dxbl-text-edit-btn:hover .dxbl-btn-icon,
        .fk-login-editor .dxbl-text-edit-btn:hover .dxbl-image,
        .fk-login-editor .dxbl-text-edit-btn:focus .dxbl-btn-icon,
        .fk-login-editor .dxbl-text-edit-btn:focus .dxbl-image {
            color: var(--fk-secundario) !important;
        }

    /* FinanKari - Login: limpiar líneas internas del botón ojo */
    .fk-login-editor .dxbl-text-edit-btn,
    .fk-login-editor .dxbl-text-edit-btn:hover,
    .fk-login-editor .dxbl-text-edit-btn:focus,
    .fk-login-editor .dxbl-text-edit-btn:active {
        border-top: 0 !important;
        border-bottom: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

.fk-login-editor .dxbl-btn-group,
.fk-login-editor .dxbl-btn-group-right {
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    display: flex !important;
    align-items: stretch !important;
}

.fk-login-editor .dxbl-text-edit-btn::before,
.fk-login-editor .dxbl-text-edit-btn::after {
    display: none !important;
    content: none !important;
}

/* FinanKari - DxPopup: evitar cortes visuales en esquinas */
.dxbl-popup .dxbl-modal-content {
    border-radius: 4px !important;
    overflow: hidden !important;
}

.dxbl-popup .dxbl-modal-header,
.dxbl-popup .dxbl-modal-header-default {
    border-radius: 4px 4px 0 0 !important;
}

.dxbl-popup .dxbl-modal-footer {
    border-radius: 0 0 4px 4px !important;
}

/* FinanKari - Editores DevExpress: botones internos sin franjas superior/inferior */
.dxbl-text-edit .dxbl-btn-group-right {
    align-self: stretch !important;
    height: auto !important;
}

    .dxbl-text-edit .dxbl-btn-group-right > .dxbl-edit-btn-dropdown {
        height: auto !important;
        align-self: stretch !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-top-width: 0 !important;
        border-bottom-width: 0 !important;
        background-clip: border-box !important;
    }

/* FinanKari - FormLayoutGroup: separación vertical estándar */
.dxbl-modal-body dxbl-form-layout-group.dxbl-fl-group {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    box-sizing: border-box !important;
}

/* FinanKari - Total inferior de GridSubDetalle */
/*.fk-grid-subdetalle-total {
    padding: 6px 0 4px 0;
    line-height: 18px;
    font-size: 12px;
}*/

/* FinanKari - Total inferior de GridSubDetalle */
.fk-grid-subdetalle-total {
    min-height: 38px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    line-height: normal;
    font-size: inherit;
    border-top: 1px solid var(--fk-color-borde);
    background-color: transparent;
    color: var(--fk-color-texto);
}

/* FinanKari - Variables DevExpress para UcMemoEdit */
.fk-memo-edit {
    --dxbl-text-edit-bg: var(--fk-color-surface);
    --dxbl-text-edit-color: var(--fk-color-texto);
    --dxbl-text-edit-border-color: var(--fk-color-borde);
    --dxbl-text-edit-readonly-bg: color-mix(in srgb, var(--fk-color-surface) 85%, #000000 15%);
}

/* FinanKari - Botones del paginador DevExpress */
.dxbl-pager .dxbl-btn {
    min-width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 8px !important;
    color: var(--fk-color-texto) !important;
    background-color: var(--fk-color-surface) !important;
    border-color: var(--fk-color-borde) !important;
}

    .dxbl-pager .dxbl-btn span,
    .dxbl-pager .dxbl-btn .dxbl-image,
    .dxbl-pager .dxbl-btn svg {
        color: var(--fk-color-texto) !important;
        fill: currentColor !important;
    }

    .dxbl-pager .dxbl-btn:disabled,
    .dxbl-pager .dxbl-btn.dxbl-disabled {
        opacity: .45 !important;
    }

/* FinanKari - Input del paginador DevExpress */
.dxbl-pager .dxbl-text-edit,
.dxbl-pager .dxbl-text-edit input,
.dxbl-pager input {
    color: var(--fk-color-texto) !important;
    background-color: var(--fk-color-surface) !important;
    border-color: var(--fk-color-borde) !important;
}

    .dxbl-pager .dxbl-text-edit:focus-within {
        border-color: var(--fk-secundario) !important;
        box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--fk-secundario) 25%, transparent) !important;
    }

/* FinanKari - Input del paginador DevExpress */
.dxbl-pager .dxbl-text-edit-input {
    padding: 0 6px !important;
    text-align: center !important;
    color: var(--fk-color-texto) !important;
    -webkit-text-fill-color: var(--fk-color-texto) !important;
    background-color: transparent !important;
    caret-color: var(--fk-color-texto) !important;
    opacity: 1 !important;
}

.fk-picture-edit-subdetalle .dxbl-btn,
.fk-picture-edit-subdetalle .dxbl-file-input-select-button,
.fk-picture-edit-subdetalle .dxbl-upload-select-button {
    background-color: var(--fk-boton-primario-fondo) !important;
    border-color: var(--fk-boton-primario-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
}

.fk-picture-edit-subdetalle .dxbl-btn:hover,
.fk-picture-edit-subdetalle .dxbl-file-input-select-button:hover,
.fk-picture-edit-subdetalle .dxbl-upload-select-button:hover {
    background-color: var(--fk-boton-primario-hover-fondo) !important;
    border-color: var(--fk-boton-primario-hover-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-uploader button,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-btn,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader [class*="select-button"],
.fk-picture-edit-subdetalle .fk-picture-edit-uploader [class*="choose-button"] {
    background-color: var(--fk-boton-primario-fondo) !important;
    border-color: var(--fk-boton-primario-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-uploader button:hover,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-btn:hover,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader [class*="select-button"]:hover,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader [class*="choose-button"]:hover {
    background-color: var(--fk-boton-primario-hover-fondo) !important;
    border-color: var(--fk-boton-primario-hover-fondo) !important;
    color: var(--fk-boton-primario-texto) !important;
}

.fk-picture-edit-subdetalle .progress-bar,
.fk-picture-edit-subdetalle [role="progressbar"] {
    background-color: var(--fk-secundario) !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-btn-icon,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-image,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader svg {
    color: var(--fk-boton-primario-texto) !important;
    fill: currentColor !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-quitar.dxbl-btn {
    min-width: 140px !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-acciones {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
}

.fk-picture-edit-subdetalle .fk-picture-edit-accion-izquierda,
.fk-picture-edit-subdetalle .fk-picture-edit-accion-derecha {
    display: flex;
    align-items: flex-start;
    align-self: flex-start;
}

.fk-picture-edit-subdetalle .fk-picture-edit-uploader {
    align-self: flex-start;
    min-width: 140px !important;
    width: 140px !important;
    max-width: 140px !important;
    overflow: hidden !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-uploader,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader > div,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-file-input,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-file-input-drop-zone {
    width: 140px !important;
    max-width: 140px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-self: flex-start !important;
    overflow: hidden !important;
}

.fk-picture-edit-subdetalle .fk-picture-edit-uploader .dxbl-btn,
.fk-picture-edit-subdetalle .fk-picture-edit-uploader button {
    min-width: 140px !important;
    width: 140px !important;
    max-width: 140px !important;
    margin-top: 0 !important;
    vertical-align: top !important;
}

.fk-combo-habilitado.dxbl-combo-box,
.fk-combo-habilitado.dxbl-combo-box.dxbl-text-edit:has(input[readonly]),
.fk-combo-habilitado.dxbl-combo-box .dxbl-text-edit-input,
.fk-combo-habilitado.dxbl-combo-box input,
.fk-combo-habilitado.dxbl-combo-box .dxbl-btn,
.fk-combo-habilitado.dxbl-combo-box .dxbl-btn-group,
.fk-combo-habilitado.dxbl-combo-box .dxbl-edit-btn-dropdown {
    background-color: var(--fk-color-surface) !important;
    color: var(--fk-color-texto) !important;
    -webkit-text-fill-color: var(--fk-color-texto) !important;
    border-color: var(--fk-color-borde) !important;
    opacity: 1 !important;
}
