/* ==========================================================================
   PMSM Keycloak Admin Console Theme
   Charte PMSM :
   - Bleu PMSM : #3086ff (identité, liens, actions "primary")
   - Vert PMSM : #3FA536 (succès, accents)
   Surcharge légère de PatternFly v5 (admin = beaucoup de composants, on reste
   prudent pour ne pas casser l'UX).
   ========================================================================== */

:root {
    --pmsm-blue: #3086ff;
    --pmsm-blue-dark: #1f6fd8;
    --pmsm-blue-light: #5ea1ff;
    --pmsm-green: #3FA536;
    --pmsm-green-dark: #2f8a28;
    --pmsm-text: #2b2b2b;
    --pmsm-muted: #6a6e73;

    /* PatternFly v5 – couleur primaire = bleu PMSM (liens, actions, active tab) */
    --pf-v5-global--primary-color--100: #3086ff;
    --pf-v5-global--primary-color--200: #1f6fd8;
    --pf-v5-global--primary-color--300: #144ea8;
    --pf-v5-global--primary-color--dark-100: #3086ff;
    --pf-v5-global--primary-color--light-100: #3086ff;

    /* Liens */
    --pf-v5-global--link--Color: #3086ff;
    --pf-v5-global--link--Color--hover: #1f6fd8;
    --pf-v5-global--link--Color--dark: #1f6fd8;
    --pf-v5-global--link--Color--dark--hover: #144ea8;
    --pf-v5-global--link--Color--light: #5ea1ff;
    --pf-v5-global--link--Color--light--hover: #3086ff;
    --pf-v5-global--link--Color--visited: #1f6fd8;

    /* Accents */
    --pf-v5-global--active-color--100: #3086ff;
    --pf-v5-global--active-color--200: #1f6fd8;

    /* Succès = vert PMSM */
    --pf-v5-global--success-color--100: #3FA536;
    --pf-v5-global--success-color--200: #2f8a28;
}

/* ==========================================================================
   Masthead (bandeau du haut)
   ========================================================================== */

.pf-v5-c-masthead,
.pf-v5-c-page__header {
    --pf-v5-c-masthead--BackgroundColor: transparent !important;
    background-color: #3086ff !important;
    background-image: linear-gradient(135deg, #3086ff 0%, #1f6fd8 100%) !important;
    color: #ffffff !important;
    border-bottom: 3px solid var(--pmsm-green) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.pf-v5-c-masthead.pf-m-light,
.pf-v5-c-masthead.pf-m-light-200 {
    --pf-v5-c-masthead--m-light--BackgroundColor: transparent !important;
    --pf-v5-c-masthead--m-light-200--BackgroundColor: transparent !important;
    background-image: linear-gradient(135deg, #3086ff 0%, #1f6fd8 100%) !important;
}

/* Texte/icônes du masthead en blanc */
.pf-v5-c-masthead,
.pf-v5-c-masthead *,
.pf-v5-c-masthead a,
.pf-v5-c-masthead__brand,
.pf-v5-c-masthead__content .pf-v5-c-button,
.pf-v5-c-masthead__content .pf-v5-c-menu-toggle,
.pf-v5-c-masthead__content .pf-v5-c-menu-toggle__text,
.pf-v5-c-masthead__content .pf-v5-c-menu-toggle__controls,
.pf-v5-c-masthead__content svg,
.pf-v5-c-masthead__toggle .pf-v5-c-button {
    color: #ffffff !important;
    fill: currentColor;
}

/* Menu déroulant (toggle) : bord blanc subtil */
.pf-v5-c-masthead .pf-v5-c-menu-toggle {
    border-color: rgba(255, 255, 255, 0.4) !important;
    background-color: transparent !important;
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

/* Popup du menu sur fond clair : remet la couleur lisible */
.pf-v5-c-menu,
.pf-v5-c-menu *,
.pf-v5-c-menu a,
.pf-v5-c-menu__item-text {
    color: var(--pmsm-text) !important;
    fill: currentColor;
}

.pf-v5-c-menu a.pf-v5-c-menu__item-text,
.pf-v5-c-menu .pf-v5-c-menu__item:hover {
    color: var(--pmsm-blue) !important;
}

/* Logo encapsulé dans un cadre blanc */
.pf-v5-c-brand,
.pf-v5-c-masthead__brand img,
.pf-v5-c-page__header-brand img {
    max-height: 44px;
    height: auto;
    width: auto;
    background: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
}

.pf-v5-c-avatar {
    border: 2px solid rgba(255, 255, 255, 0.5);
    background-color: rgba(255, 255, 255, 0.1);
}

/* ==========================================================================
   Sidebar / Navigation gauche
   ========================================================================== */

.pf-v5-c-page__sidebar,
.pf-v5-c-page__sidebar.pf-m-light,
.pf-v5-c-page__sidebar.pf-m-expanded {
    --pf-v5-c-page__sidebar--BackgroundColor: #ffffff !important;
    background-color: #ffffff !important;
    border-right: 1px solid #e4e4e6;
    color: var(--pmsm-text) !important;
}

.pf-v5-c-page__sidebar-body {
    background-color: #ffffff !important;
    color: var(--pmsm-text) !important;
}

.pf-v5-c-page__sidebar .pf-v5-c-nav,
.pf-v5-c-page__sidebar .pf-v5-c-nav * {
    color: var(--pmsm-text);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link {
    --pf-v5-c-nav__link--Color: var(--pmsm-text) !important;
    --pf-v5-c-nav__link--BackgroundColor: transparent !important;
    color: var(--pmsm-text) !important;
    background-color: transparent !important;
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link:hover,
.pf-v5-c-page__sidebar .pf-v5-c-nav__link:focus {
    --pf-v5-c-nav__link--hover--Color: var(--pmsm-blue) !important;
    --pf-v5-c-nav__link--hover--BackgroundColor: rgba(48, 134, 255, 0.06) !important;
    --pf-v5-c-nav__link--focus--Color: var(--pmsm-blue) !important;
    --pf-v5-c-nav__link--focus--BackgroundColor: rgba(48, 134, 255, 0.06) !important;
    color: var(--pmsm-blue) !important;
    background-color: rgba(48, 134, 255, 0.06) !important;
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-page__sidebar .pf-v5-c-nav__item.pf-m-current > .pf-v5-c-nav__link {
    --pf-v5-c-nav__link--active--Color: var(--pmsm-blue) !important;
    --pf-v5-c-nav__link--active--BackgroundColor: rgba(48, 134, 255, 0.08) !important;
    --pf-v5-c-nav__link--active--after--BorderColor: var(--pmsm-green) !important;
    color: var(--pmsm-blue) !important;
    background-color: rgba(48, 134, 255, 0.08) !important;
    font-weight: 600;
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__link.pf-m-current::before,
.pf-v5-c-page__sidebar .pf-v5-c-nav__link.pf-m-current::after {
    border-color: var(--pmsm-green) !important;
    border-inline-start-color: var(--pmsm-green) !important;
    background-color: var(--pmsm-green) !important;
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title,
.pf-v5-c-page__sidebar .pf-v5-c-nav__subnav-title {
    color: var(--pmsm-muted) !important;
    font-weight: 600;
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__toggle,
.pf-v5-c-page__sidebar .pf-v5-c-nav__toggle-icon {
    color: var(--pmsm-text) !important;
}

.pf-v5-c-page__sidebar .pf-v5-c-divider {
    background-color: #e4e4e6 !important;
    --pf-v5-c-divider--BackgroundColor: #e4e4e6 !important;
}

/* ==========================================================================
   Sélecteur de realm (dropdown en haut de la sidebar dans l'admin)
   ========================================================================== */

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle,
.pf-v5-c-page__sidebar .pf-v5-c-select__toggle {
    background-color: #f6f7f8 !important;
    color: var(--pmsm-text) !important;
    border: 1px solid #e4e4e6 !important;
}

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle:hover,
.pf-v5-c-page__sidebar .pf-v5-c-select__toggle:hover {
    border-color: var(--pmsm-blue) !important;
}

/* ==========================================================================
   Contenu principal
   ========================================================================== */

body,
.pf-v5-c-page__main,
.pf-v5-c-page__main-section {
    background-color: #f4f6fa !important;
    color: var(--pmsm-text);
}

/* Bandeau de titre d'une section (page header interne) */
.pf-v5-c-page__main-section.pf-m-light,
.pf-v5-c-page__main-section.pf-m-light-100 {
    background-color: #ffffff !important;
}

/* Cartes */
.pf-v5-c-card {
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    border: 1px solid #e8eaee;
}

/* ==========================================================================
   Boutons
   ========================================================================== */

.pf-v5-c-button {
    border-radius: 6px;
    font-weight: 600;
    min-height: 36px;
}

.pf-v5-c-button.pf-m-primary {
    background-color: var(--pmsm-blue) !important;
    border-color: var(--pmsm-blue) !important;
    color: #ffffff !important;
}

.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus {
    background-color: var(--pmsm-blue-dark) !important;
    border-color: var(--pmsm-blue-dark) !important;
}

.pf-v5-c-button.pf-m-secondary {
    color: var(--pmsm-blue) !important;
    border: 1px solid var(--pmsm-blue) !important;
    background: transparent;
}

.pf-v5-c-button.pf-m-secondary:hover {
    background: rgba(48, 134, 255, 0.08) !important;
    color: var(--pmsm-blue-dark) !important;
}

.pf-v5-c-button.pf-m-link {
    color: var(--pmsm-blue) !important;
}

.pf-v5-c-button.pf-m-link:hover {
    color: var(--pmsm-blue-dark) !important;
}

/* ==========================================================================
   Formulaires
   ========================================================================== */

.pf-v5-c-form-control {
    border-radius: 6px;
    min-height: 36px;
}

.pf-v5-c-form-control:focus,
.pf-v5-c-form-control:focus-within {
    border-color: var(--pmsm-blue) !important;
    box-shadow: 0 0 0 3px rgba(48, 134, 255, 0.18) !important;
}

/* ==========================================================================
   Tabs
   ========================================================================== */

.pf-v5-c-tabs__link.pf-m-current,
.pf-v5-c-tabs__item.pf-m-current .pf-v5-c-tabs__link {
    color: var(--pmsm-blue) !important;
}

.pf-v5-c-tabs__item.pf-m-current .pf-v5-c-tabs__link::after,
.pf-v5-c-tabs__link.pf-m-current::after {
    --pf-v5-c-tabs__link--m-current--after--BorderColor: var(--pmsm-green) !important;
    border-color: var(--pmsm-green) !important;
}

/* ==========================================================================
   Alertes / Badges / Switches
   ========================================================================== */

.pf-v5-c-alert.pf-m-success {
    border-left: 4px solid var(--pmsm-green);
}

.pf-v5-c-alert.pf-m-info {
    border-left: 4px solid var(--pmsm-blue);
}

.pf-v5-c-badge.pf-m-read {
    background-color: var(--pmsm-blue);
    color: #ffffff;
}

.pf-v5-c-switch__input:checked ~ .pf-v5-c-switch__toggle {
    background-color: var(--pmsm-green) !important;
}

/* ==========================================================================
   Tables
   ========================================================================== */

.pf-v5-c-table thead {
    background-color: #f6f7f8;
}

.pf-v5-c-table tbody tr:hover {
    background-color: rgba(48, 134, 255, 0.04) !important;
}

/* ==========================================================================
   Liens génériques
   ========================================================================== */

a {
    color: var(--pmsm-blue);
}

a:hover {
    color: var(--pmsm-blue-dark);
}

/* ==========================================================================
   Responsive – mobile & tablette (l'admin est peu utilisé sur mobile, mais
   on évite la casse)
   ========================================================================== */

@media (max-width: 768px) {
    .pf-v5-c-page__main-section {
        padding: 12px !important;
    }

    .pf-v5-c-card__body,
    .pf-v5-c-card__header,
    .pf-v5-c-card__footer {
        padding: 14px !important;
    }

    .pf-v5-c-button {
        min-height: 40px;
    }

    .pf-v5-c-form-control {
        min-height: 40px;
        font-size: 16px; /* évite le zoom iOS */
    }

    .pf-v5-c-masthead,
    .pf-v5-c-page__header {
        padding: 6px 10px !important;
    }

    .pf-v5-c-brand,
    .pf-v5-c-masthead__brand img,
    .pf-v5-c-page__header-brand img {
        max-height: 36px;
        padding: 3px 8px;
    }

    .pf-v5-c-table {
        font-size: 13px;
    }
}
