/* ═══════════════════════════════════════════════════════════════
   Radzen Software — overrides AppliWeb (charger APRÈS RadzenTheme)
   Le thème software remplace --rz-primary (#598087) et style Light gris.
   Boutons / onglets / surbrillance : teal (CTA Ajouter), pas gris décoratif.
   ═══════════════════════════════════════════════════════════════ */

:root,
[data-bs-theme="light"] {
    --rz-primary: var(--aw-primary);
    --rz-primary-light: var(--aw-primary-soft);
    --rz-primary-lighter: var(--aw-primary-soft);
    --rz-primary-dark: var(--aw-primary-hover);
    --rz-primary-darker: var(--aw-primary-pressed);
    --rz-on-primary: var(--aw-on-primary);

    --rz-secondary: var(--aw-secondary);
    --rz-secondary-light: var(--aw-secondary-soft);
    --rz-secondary-lighter: var(--aw-secondary-soft);
    --rz-secondary-dark: var(--aw-secondary-hover);
    --rz-secondary-darker: var(--aw-secondary-pressed);
    --rz-on-secondary: var(--aw-on-secondary);

    --rz-success: var(--aw-success);
    --rz-success-light: var(--aw-success-soft);
    --rz-danger: var(--aw-error);
    --rz-danger-light: var(--aw-error-soft);
    --rz-warning: var(--aw-warning);
    --rz-warning-light: var(--aw-warning-soft);
    --rz-info: var(--aw-info);
    --rz-info-light: var(--aw-info-soft);

    --rz-switch-checked-background-color: var(--aw-primary);
    --rz-checkbox-checked-background-color: var(--aw-primary);
    --rz-radio-button-checked-background-color: var(--aw-primary);
    --rz-grid-header-background-color: var(--aw-primary-soft);
    --rz-grid-header-color: var(--aw-primary-pressed);
    --rz-grid-header-sorted-background-color: var(--aw-primary-soft);
    --rz-grid-header-sorted-color: var(--aw-primary);

    /* Listes / menus Radzen — surlignage teal (thème software utilise secondary = bleu) */
    --rz-dropdown-item-hover-background-color: var(--aw-primary-soft);
    --rz-dropdown-item-hover-color: var(--aw-primary-pressed);
    --rz-dropdown-item-selected-background-color: var(--aw-primary-soft);
    --rz-dropdown-item-selected-color: var(--aw-primary-pressed);
    --rz-dropdown-item-selected-hover-background-color: color-mix(in srgb, var(--aw-primary) 14%, #fff);
    --rz-dropdown-item-selected-hover-color: var(--aw-primary-hover);
    --rz-on-primary-lighter: var(--aw-primary-pressed);
}

/* CTA principal (Ajouter, Valider…) */
.rz-button.rz-primary.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    background-color: var(--aw-primary) !important;
    color: var(--aw-on-primary) !important;
    border-color: var(--aw-primary) !important;
}

.rz-button.rz-primary.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):hover:not(.rz-state-disabled) {
    background-color: var(--aw-primary-hover) !important;
    border-color: var(--aw-primary-hover) !important;
}

/* Secondaire filled — visible (pas un contour pâle) */
.rz-button.rz-secondary.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    background-color: var(--aw-primary-hover) !important;
    color: #ffffff !important;
    border-color: var(--aw-primary-hover) !important;
}

.rz-button.rz-secondary.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):hover:not(.rz-state-disabled) {
    background-color: var(--aw-primary-pressed) !important;
    border-color: var(--aw-primary-pressed) !important;
}

.grh-rz-workspace .grh-rz-actions .rz-button {
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

/* Success / Danger filled — contraste vif (Approuver, Rejeter…) */
.rz-button.rz-success.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    background-color: var(--aw-success) !important;
    color: #ffffff !important;
    border-color: var(--aw-success) !important;
}

.rz-button.rz-success.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):hover:not(.rz-state-disabled) {
    background-color: var(--aw-success-hover) !important;
    border-color: var(--aw-success-hover) !important;
}

.rz-button.rz-danger.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    background-color: var(--aw-error) !important;
    color: #ffffff !important;
    border-color: var(--aw-error) !important;
}

.rz-button.rz-danger.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):hover:not(.rz-state-disabled) {
    background-color: var(--aw-error-hover) !important;
    border-color: var(--aw-error-hover) !important;
}

.rz-button.rz-warning.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    background-color: var(--aw-warning) !important;
    color: var(--aw-on-warning) !important;
    border-color: var(--aw-warning) !important;
}

.rz-button.rz-warning.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):hover:not(.rz-state-disabled) {
    background-color: var(--aw-warning-hover) !important;
    border-color: var(--aw-warning-hover) !important;
    color: var(--aw-on-warning) !important;
}

.rz-button.rz-info.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    background-color: var(--aw-info) !important;
    color: var(--aw-on-info) !important;
    border-color: var(--aw-info) !important;
}

.rz-button.rz-info.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):hover:not(.rz-state-disabled) {
    background-color: var(--aw-info-hover) !important;
    border-color: var(--aw-info-hover) !important;
}

/* GRH Ops — boutons filled plus « présents » */
.grh-rz-workspace .rz-button.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    font-weight: 600;
    letter-spacing: 0.01em;
    gap: 0.35rem;
    min-height: 2.125rem;
}

.grh-rz-workspace .rz-button.rz-size-sm.rz-shade-default:not(.rz-variant-outlined):not(.rz-variant-text):not(.rz-variant-flat) {
    min-height: 1.875rem;
}

.grh-rz-workspace .rz-button .rz-button-icon-left,
.grh-rz-workspace .rz-button .aw-rz-btn__bi {
    color: inherit !important;
}

.grh-rz-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

/* Outlined teal (Accueil, Paramétrage, Annuler…) — même teinte que Ajouter */
.rz-button.rz-variant-outlined.rz-primary.rz-shade-default,
.grh-rz-module-nav__side .rz-button.rz-variant-outlined.rz-primary.rz-shade-default {
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary) !important;
    color: var(--aw-primary) !important;
    background-color: var(--aw-surface) !important;
}

.rz-button.rz-variant-outlined.rz-primary.rz-shade-default:hover:not(.rz-state-disabled),
.grh-rz-module-nav__side .rz-button.rz-variant-outlined.rz-primary.rz-shade-default:hover:not(.rz-state-disabled) {
    color: var(--aw-primary-hover) !important;
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary-hover) !important;
    background-color: var(--aw-primary-soft) !important;
}

.rz-button.rz-variant-outlined.rz-light.rz-shade-default,
.grh-rz-workspace .aw-rz-btn--secondary-outline.rz-button,
.grh-rz-module-nav .aw-rz-btn--secondary-outline.rz-button {
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary) !important;
    color: var(--aw-primary) !important;
    background-color: var(--aw-surface) !important;
}

.rz-button.rz-variant-outlined.rz-light.rz-shade-default:hover:not(.rz-state-disabled),
.grh-rz-workspace .aw-rz-btn--secondary-outline.rz-button:hover:not(.rz-state-disabled),
.grh-rz-module-nav .aw-rz-btn--secondary-outline.rz-button:hover:not(.rz-state-disabled) {
    color: var(--aw-primary-hover) !important;
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary-hover) !important;
    background-color: var(--aw-primary-soft) !important;
}

/* Actions icône (ghost) — contour teal */
.aw-rz-btn--ghost.rz-button.rz-variant-outlined.rz-secondary {
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary) !important;
    color: var(--aw-primary) !important;
    background-color: var(--aw-surface) !important;
}

.aw-rz-btn--ghost.rz-button.rz-variant-outlined.rz-secondary:hover:not(.rz-state-disabled) {
    color: var(--aw-primary-hover) !important;
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary-hover) !important;
    background-color: var(--aw-primary-soft) !important;
}

/* Onglets employés (Actifs / Désactivés / Archivés) */
.grh-rz-tabs--nav-only .rz-tabview-nav li .rz-tabview-nav-link {
    background: transparent !important;
    color: var(--aw-muted) !important;
    border-color: transparent !important;
}

.grh-rz-tabs--nav-only .rz-tabview-nav li .rz-tabview-nav-link:hover {
    color: var(--aw-primary) !important;
    background: color-mix(in srgb, var(--aw-primary-soft) 50%, transparent) !important;
}

.grh-rz-tabs--nav-only .rz-tabview-nav li.rz-tabview-selected .rz-tabview-nav-link {
    color: var(--aw-primary) !important;
    font-weight: 600;
    background: var(--aw-primary-soft) !important;
    border-color: var(--aw-primary) !important;
}

/* Badges statut « neutre » Light → fond sémantique lisible */
.grh-rz-workspace .rz-badge.rz-light.rz-shade-default {
    background-color: var(--aw-primary-soft) !important;
    color: var(--aw-primary-pressed) !important;
}

/* Onglets module (Tableau de bord, Personnel…) — inactifs lisibles, pas gris pâle */
.grh-rz-module-nav__tab.rz-button:not(.grh-rz-module-nav__tab--active) {
    color: var(--aw-muted) !important;
}

.grh-rz-module-nav__tab.rz-button:not(.grh-rz-module-nav__tab--active) .rzi,
.grh-rz-module-nav__tab.rz-button:not(.grh-rz-module-nav__tab--active) .notranslate {
    color: inherit !important;
}

.grh-rz-module-nav__side .grh-rz-module-nav__side-btn--active.rz-button {
    box-shadow: inset 0 0 0 var(--rz-border-width, 1px) var(--aw-primary) !important;
    color: var(--aw-primary) !important;
    background: var(--aw-primary-soft) !important;
}

/* Icônes édition Bootstrap (Présences…) — contour teal au lieu de gris */
.grh-rz-workspace .btn-outline-light {
    border-color: var(--aw-primary) !important;
    color: var(--aw-primary) !important;
    background: var(--aw-surface) !important;
}

.grh-rz-workspace .btn-outline-light:hover {
    background: var(--aw-primary-soft) !important;
    color: var(--aw-primary-hover) !important;
    border-color: var(--aw-primary-hover) !important;
}

/* ═══ GRH — teal primaire + sémantique vive (success / info / warning / danger) ═══ */
.main-area:has(.grh-rz-module-nav),
.aw-grh-shell {
    --rz-info: var(--aw-info);
    --rz-info-light: var(--aw-info-soft);
    --rz-secondary: var(--aw-primary-hover);
    --rz-secondary-light: var(--aw-primary-soft);
    --grh-color-info: var(--aw-info);
    --grh-color-info-soft: var(--aw-info-soft);
    --grh-color-success: var(--aw-success);
    --grh-color-success-soft: var(--aw-success-soft);
    --grh-color-warning: var(--aw-warning);
    --grh-color-warning-soft: var(--aw-warning-soft);
    --grh-color-danger: var(--aw-error);
    --grh-color-danger-soft: var(--aw-error-soft);
}

.main-area:has(.grh-rz-module-nav) .grh-rz-tabs--nav-only .rz-tabview-nav li:not(.rz-tabview-selected) .rz-tabview-nav-link,
.aw-grh-shell .grh-rz-tabs--nav-only .rz-tabview-nav li:not(.rz-tabview-selected) .rz-tabview-nav-link {
    color: var(--aw-muted) !important;
    background: var(--aw-surface) !important;
}

.main-area:has(.grh-rz-module-nav) .grh-rz-workspace__breadcrumb a,
.main-area:has(.grh-rz-module-nav) .grh-rz-workspace__breadcrumb .rz-breadcrumb-item-link,
.aw-grh-shell .grh-rz-workspace__breadcrumb a,
.aw-grh-shell .grh-rz-workspace__breadcrumb .rz-breadcrumb-item-link {
    color: var(--aw-primary) !important;
}

.main-area:has(.grh-rz-module-nav) .grh-rz-workspace__breadcrumb a:hover,
.aw-grh-shell .grh-rz-workspace__breadcrumb a:hover {
    color: var(--aw-primary-hover) !important;
}

.main-area:has(.grh-rz-module-nav) .rz-badge-info,
.aw-grh-shell .rz-badge-info {
    background-color: var(--aw-primary-soft) !important;
    color: var(--aw-primary-pressed) !important;
}

.main-area:has(.grh-rz-module-nav) .aw-pager .rz-pager-element,
.main-area:has(.grh-rz-module-nav) .aw-pager .rz-pager-page,
.aw-grh-shell .aw-pager .rz-pager-element,
.aw-grh-shell .aw-pager .rz-pager-page {
    color: var(--aw-primary) !important;
}

.main-area:has(.grh-rz-module-nav) .aw-pager .rz-pager-page.rz-state-active,
.aw-grh-shell .aw-pager .rz-pager-page.rz-state-active {
    background-color: var(--aw-primary) !important;
    color: var(--aw-on-primary) !important;
    border-color: var(--aw-primary) !important;
}

.main-area:has(.grh-rz-module-nav) .aw-pager .rz-pager-page:not(.rz-state-active):hover,
.aw-grh-shell .aw-pager .rz-pager-page:not(.rz-state-active):hover {
    background-color: var(--aw-primary-soft) !important;
    color: var(--aw-primary-hover) !important;
}

.main-area:has(.grh-rz-module-nav) .aw-pager .rz-dropdown,
.aw-grh-shell .aw-pager .rz-dropdown {
    border-color: var(--aw-border-strong) !important;
}

.main-area:has(.grh-rz-module-nav) .grh-rz-workspace a:not(.rz-button):not(.btn):not(.nav-link):not(.text-dark),
.aw-grh-shell .grh-rz-workspace a:not(.rz-button):not(.btn):not(.nav-link):not(.text-dark) {
    color: var(--aw-primary);
}

.main-area:has(.grh-rz-module-nav) .grh-rz-workspace a:not(.rz-button):not(.btn):not(.nav-link):not(.text-dark):hover,
.aw-grh-shell .grh-rz-workspace a:not(.rz-button):not(.btn):not(.nav-link):not(.text-dark):hover {
    color: var(--aw-primary-hover);
}

/* Switch / checkbox / radio coché — teal, pas bleu (formulaires GRH) */
.rz-switch.rz-switch-checked {
    background-color: var(--aw-primary) !important;
}

.rz-switch:focus-within {
    outline-color: var(--aw-primary) !important;
}

.rz-checkbox.rz-state-checked .rz-chkbox-box,
.rz-radiobutton.rz-state-checked .rz-radiobutton-box {
    background-color: var(--aw-primary) !important;
    border-color: var(--aw-primary) !important;
}

/* SplitButton GRH — items plats, pas boutons primary pleins */
body:has(.grh-rz-module-nav) .rz-splitbutton-menu.rz-popup {
    background-color: var(--aw-surface) !important;
    border: 1px solid var(--aw-border) !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
    padding: 0.2rem 0 !important;
}

body:has(.grh-rz-module-nav) .rz-splitbutton-menu .rz-dropdown-item,
body:has(.grh-rz-module-nav) .rz-splitbutton-menu li {
    font-size: 0.84rem;
    font-weight: 500;
}

body:has(.grh-rz-module-nav) .rz-splitbutton-menu .rz-button {
    width: 100%;
    justify-content: flex-start !important;
    text-align: left;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--aw-ink) !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    min-height: 2.15rem;
}

body:has(.grh-rz-module-nav) .rz-splitbutton-menu .rz-button:hover:not(.rz-state-disabled),
body:has(.grh-rz-module-nav) .rz-splitbutton-menu .rz-button.rz-state-highlight {
    background-color: var(--aw-primary-soft) !important;
    color: var(--aw-primary-pressed) !important;
}

body:has(.grh-rz-module-nav) .rz-splitbutton-menu .rz-button.rz-state-disabled {
    opacity: 0.55;
    color: var(--aw-text-disabled) !important;
}
