﻿/* Adaptador: solo este archivo define la apariencia común de los widgets dx.
   No modificar el CSS distribuido por DevExtreme. Excluir estados semánticos. */
body:is(.ianua-theme, :has(.kumen-vista-container)) {
    --dx-color-primary: var(--ianua-primary);
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-button-mode-contained.dx-button-default {
    background:var(--ianua-primary); border-color:var(--ianua-primary); color:var(--ianua-primary-contrast);
    border-radius:var(--ianua-control-radius);
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-button-mode-contained.dx-button-default.dx-state-hover,
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-button-mode-contained.dx-button-default.dx-state-active {
    background:var(--ianua-primary-hover); border-color:var(--ianua-primary-hover);
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-button-default :is(.dx-icon,.dx-button-text) { color:inherit; }
body:is(.ianua-theme, :has(.kumen-vista-container)) :is(.dx-button-mode-text,.dx-button-mode-outlined).dx-button-default {
    color:var(--ianua-primary); border-radius:var(--ianua-control-radius);
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-button-mode-outlined.dx-button-default { border-color:var(--ianua-primary); }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-button.dx-state-focused { outline:2px solid var(--ianua-focus); outline-offset:2px; }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-texteditor.dx-editor-outlined {
    border-color:var(--ianua-border); border-radius:var(--ianua-control-radius);
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-texteditor.dx-state-focused:not(.dx-invalid) { border-color:var(--ianua-primary); }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-texteditor.dx-state-focused::after { border-color:var(--ianua-primary); }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-checkbox-checked .dx-checkbox-icon,
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-checkbox-indeterminate .dx-checkbox-icon { background-color:var(--ianua-primary); border-color:var(--ianua-primary); }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-radiobutton-checked .dx-radiobutton-icon-dot { background:var(--ianua-primary); }
body:is(.ianua-theme, :has(.kumen-vista-container)) :is(.dx-pager,.dx-pagination) .dx-selection { background:var(--ianua-primary); color:var(--ianua-primary-contrast); }
/* Política común, por encima de los estilos locales y variantes de Fluent. */
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab-selected,
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab:is(.dx-state-hover,.dx-state-active,.dx-state-focused) {
    background:var(--ianua-primary-soft) !important;
    color:var(--ianua-primary) !important;
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab:is(.dx-tab-selected,.dx-state-hover,.dx-state-active,.dx-state-focused) :is(.dx-tab-text,.dx-icon) { color:var(--ianua-primary) !important; }
/* Fluent draws indicators on both the tab and its content, even before selection. */
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab::before,
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab::after,
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab .dx-tab-content::before,
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab .dx-tab-content::after { display:none !important; }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab {
    outline:none !important;
    border-color:transparent !important;
    box-shadow:none !important;
    transition:none !important;
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab .dx-inkripple { display:none !important; }
/* Keep a keyboard focus cue without drawing a border. */
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tabs .dx-tab:focus-visible .dx-tab-text { font-weight:700; }
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-tab .dx-badge {
    background-color:var(--ianua-primary);
    color:var(--ianua-primary-contrast);
}
body:is(.ianua-theme, :has(.kumen-vista-container)) .dx-datagrid .dx-link { color:var(--ianua-primary); }
/* Los popups de recuperación se montan fuera de la tarjeta del login. */
body.ianua-theme:has(.km-login-bg) .dx-popup-title { color:var(--ianua-heading); background:var(--ianua-surface); }
body.ianua-theme:has(.km-login-bg) .dx-popup-content { background:var(--ianua-background); }

/* Perfil y selector de agrupación: el popup se monta fuera de la vista. */
body.ianua-theme .km-user-popup .dx-overlay-content { border:1px solid var(--ianua-border); border-radius:16px; }
body.ianua-theme .km-user-popup .km-user-menu-surface { background:var(--ianua-background) !important; color:var(--ianua-text); }
body.ianua-theme .km-user-popup #kmUserMenuGreeting { color:var(--ianua-heading); }
body.ianua-theme .km-user-popup #agrBox { border-color:var(--ianua-border) !important; background:var(--ianua-surface) !important; }
body.ianua-theme .km-user-popup #agrTitle { color:var(--ianua-heading) !important; }
body.ianua-theme .km-user-popup #agrSubtitle { color:var(--ianua-muted) !important; }
body.ianua-theme .km-user-popup #lstAgrupaciones .dx-list-item:is(.dx-list-item-selected,.dx-state-hover,.dx-state-focused,.dx-state-active) { background:var(--ianua-primary-soft) !important; color:var(--ianua-primary); }
body.ianua-theme .km-user-popup .km-agr-current { background:var(--ianua-primary-soft) !important; color:var(--ianua-primary) !important; }
body.ianua-theme .km-user-popup :is(.km-agr-fallback,.kpi-initials) { background:var(--ianua-primary-soft); color:var(--ianua-primary); }
body.ianua-theme .km-user-popup .dx-icon-check { color:var(--ianua-primary); }
