@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ============================================
   SENICALL BRAND — PatternFly 5 overrides
   Keycloak 26 admin console (keycloak.v2)
   ============================================ */

:root {
    /* Primary brand colour — Senicall green */
    --pf-v5-global--primary-color--100: #2f7d6d;
    --pf-v5-global--primary-color--200: #256b5c;
    --pf-v5-global--primary-color--300: #1d5449;
    --pf-v5-global--primary-color--400: #16443a;

    /* Links */
    --pf-v5-global--link--Color: #2f7d6d;
    --pf-v5-global--link--Color--hover: #256b5c;
    --pf-v5-global--link--Color--visited: #256b5c;

    /* Active / focus / selected states */
    --pf-v5-global--active-color--100: #2f7d6d;
    --pf-v5-global--active-color--400: rgba(47, 125, 109, 0.15);

    /* Focus ring */
    --pf-v5-global--BorderColor--200: #2f7d6d;
    --pf-v5-global--focus-ring--Color: #2f7d6d;
    --pf-v5-global--focus-ring--BoxShadow: 0 0 0 3px rgba(47, 125, 109, 0.25);
    --pf-v5-global--OutlineColor: #2f7d6d;

    /* Font */
    --pf-v5-global--FontFamily--sans-serif: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --pf-v5-global--FontFamily--heading--sans-serif: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --pf-v5-global--FontFamily--monospace: 'SFMono-Regular', 'Consolas', 'Liberation Mono', monospace;

    /* Button primary */
    --pf-v5-c-button--m-primary--BackgroundColor: #2f7d6d;
    --pf-v5-c-button--m-primary--hover--BackgroundColor: #256b5c;
    --pf-v5-c-button--m-primary--active--BackgroundColor: #1d5449;
    --pf-v5-c-button--m-primary--focus--BackgroundColor: #256b5c;

    /* Nav active item */
    --pf-v5-c-nav__link--m-current--Color: #2f7d6d;
    --pf-v5-c-nav__item--m-current__link--before--BackgroundColor: #2f7d6d;

    /* Senicall brand colours */
    --sn-primary: #2f7d6d;
    --sn-primary-dark: #256b5c;
}

/* ============================================
   GLOBAL FONT APPLICATION
   ============================================ */

/* Top accent bar — confirms CSS is loaded */
body {
    border-top: 3px solid #2f7d6d !important;
}

body,
.pf-v5-c-page,
.pf-v5-c-nav,
.pf-v5-c-form,
.pf-v5-c-table,
.pf-v5-c-button,
.pf-v5-c-modal-box {
    font-family: var(--pf-v5-global--FontFamily--sans-serif) !important;
}

.pf-v5-c-modal-box {
    border-radius: 12px !important;
}

/* ============================================
   MASTHEAD / TOP NAV BRANDING
   ============================================ */

.pf-v5-c-masthead {
    --pf-v5-c-masthead--BackgroundColor: #ffffff;
    background-color: #ffffff !important;
    border-bottom: 1px solid #e8e8e8;
}

.pf-v5-c-masthead__brand {
    color: #111111;
}

/* Minden szöveg és ikon a mastheadban sötét */
.pf-v5-c-masthead,
.pf-v5-c-masthead *,
.pf-v5-c-masthead .pf-v5-c-button,
.pf-v5-c-masthead .pf-v5-c-dropdown__toggle,
.pf-v5-c-masthead .pf-v5-c-dropdown__toggle-text,
.pf-v5-c-masthead .pf-v5-c-toolbar__item,
.pf-v5-c-masthead .pf-v5-c-avatar + span,
.pf-v5-c-masthead .pf-v5-c-page__header-tools-item {
    color: #111111 !important;
}

/* Ikonok (SVG path/use) sötét */
.pf-v5-c-masthead svg,
.pf-v5-c-masthead .pf-v5-c-button svg {
    fill: #2f7d6d !important;
    color: #2f7d6d !important;
}

/* Mobil hamburger gomb */
.pf-v5-c-masthead .pf-v5-c-button.pf-v5-m-plain,
.pf-v5-c-page__header-nav-toggle {
    color: #2f7d6d !important;
}

.pf-v5-c-masthead .pf-v5-c-button.pf-v5-m-plain svg,
.pf-v5-c-page__header-nav-toggle svg {
    fill: #2f7d6d !important;
}

.pf-v5-c-brand {
    filter: none;
}

/* ============================================
   SIDEBAR NAV
   ============================================ */

.pf-v5-c-page__sidebar,
.pf-v5-c-page__sidebar-body,
.pf-v5-c-nav {
    background-color: #ffffff !important;
    --pf-v5-c-page__sidebar--BackgroundColor: #ffffff;
    --pf-v5-c-nav--BackgroundColor: #ffffff;
}

.pf-v5-c-nav__link {
    color: #111111 !important;
}

.pf-v5-c-nav__item--m-current > .pf-v5-c-nav__link,
.pf-v5-c-nav__link.pf-m-current {
    color: #2f7d6d !important;
    background-color: #2f7d6d8a;
    font-weight: 600;
}

.pf-v5-c-nav__link.pf-m-current:hover {
    color: #2f7d6d !important;
    background-color: #2f7d6d8a
}

.pf-v5-c-nav__link:hover {
    color: #2f7d6d !important;
    background-color: #2f7d6d8a

}

.pf-v5-c-nav__section-title {
    color: #2f7d6d !important;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.7rem;
    border-block-end: #2f7d6d 1px solid;
}

/* ============================================
   BUTTONS
   ============================================ */

.pf-v5-c-button.pf-v5-m-primary {
    background-color: #2f7d6d !important;
    border-color: #2f7d6d !important;
    font-weight: 600;
    letter-spacing: 0.025em;
    border-radius: 0.5rem;
}

.pf-v5-c-button.pf-v5-m-primary:hover,
.pf-v5-c-button.pf-v5-m-primary:focus {
    background-color: #256b5c !important;
    border-color: #256b5c !important;
}

.pf-v5-c-button.pf-v5-m-primary:active {
    background-color: #1d5449 !important;
    border-color: #1d5449 !important;
}

.pf-v5-c-button.pf-v5-m-primary:disabled,
.pf-v5-c-button.pf-v5-m-primary[disabled],
.pf-v5-c-button.pf-v5-m-primary.pf-v5-m-disabled {
    background-color: #2f7d6d !important;
    border-color: #2f7d6d !important;
    color: rgba(255, 255, 255, 0.55) !important;
    cursor: not-allowed;
    opacity: 1;
}

.pf-v5-c-button.pf-v5-m-secondary {
    border-color: #2f7d6d !important;
    color: #2f7d6d !important;
    border-radius: 0.5rem;
    font-weight: 500;
}

.pf-v5-c-button.pf-v5-m-secondary:hover {
    background-color: rgba(47, 125, 109, 0.06) !important;
}

.pf-v5-c-button.pf-v5-m-link {
    color: #2f7d6d !important;
}

.pf-v5-c-button.pf-v5-m-link:hover {
    color: #256b5c !important;
}

/* ============================================
   TABS — active indicator
   ============================================ */

.pf-v5-c-tabs__link.pf-v5-m-current,
.pf-v5-c-tabs__link[aria-selected="true"] {
    color: #2f7d6d !important;
    --pf-v5-c-tabs__link--after--BorderColor: #2f7d6d;
}

.pf-v5-c-tabs__link:hover {
    color: #2f7d6d;
}

/* ============================================
   SELECT — kiválasztott elem pipája
   ============================================ */

:root {
    --pf-v5-c-select__menu-item--m-selected--before--BackgroundColor: #2f7d6d;
    --pf-v5-c-select__toggle--BorderBottomColor: #2f7d6d;
}

.pf-v5-c-select__menu-item.pf-v5-m-selected::before {
    background-color: #2f7d6d !important;
}

.pf-v5-c-select__menu-item:hover,
.pf-v5-c-select__menu-item:focus {
    color: #2f7d6d !important;
}

/* ============================================
   CHECKBOX — pipa háttérszín
   ============================================ */

input[type="checkbox"] {
    accent-color: #2f7d6d;
}

input[type="checkbox"]:checked {
    accent-color: #2f7d6d;
    background-color: #2f7d6d !important;
    border-color: #2f7d6d !important;
}

.pf-v5-c-check__input {
    accent-color: #2f7d6d;
    --pf-v5-c-check__input--checked--BackgroundColor: #2f7d6d;
}

.pf-v5-c-check__input:checked {
    accent-color: #2f7d6d;
    background-color: #2f7d6d !important;
    border-color: #2f7d6d !important;
}

/* ============================================
   FORM FOCUS RING & HOVER
   ============================================ */

:root {
    --pf-v5-c-form-control--hover--BorderBottomColor: #2f7d6d;
    --pf-v5-c-form-control--hover--after--BorderBottomColor: #2f7d6d;
    --pf-v5-c-form-control--focus--BorderBottomColor: #2f7d6d;
    --pf-v5-c-form-control--focus--after--BorderBottomColor: #2f7d6d;
    --pf-v5-c-form-control--OutlineOffset: 0;
}

/* Globális kék fókusz gyűrű felülírása */
*:focus,
*:focus-visible,
*:focus-within {
    outline-color: #2f7d6d !important;
}

.pf-v5-c-form-control:hover {
    --pf-v5-c-form-control--hover--BorderBottomColor: #2f7d6d !important;
    --pf-v5-c-form-control--hover--after--BorderBottomColor: #2f7d6d !important;
    --pf-v5-c-form-control--after--BorderBottomColor: #2f7d6d !important;
    border-bottom-color: #2f7d6d !important;
}

.pf-v5-c-form-control:hover::after {
    border-bottom-color: #2f7d6d !important;
}

.pf-v5-c-form-control:focus,
.pf-v5-c-form-control:focus-visible,
.pf-v5-c-form-control:focus-within {
    --pf-v5-c-form-control--focus--BorderBottomColor: #2f7d6d;
    --pf-v5-c-form-control--focus--after--BorderBottomColor: #2f7d6d;
    --pf-v5-c-form-control--after--BorderBottomColor: #2f7d6d;
    border-bottom-color: #2f7d6d !important;
    box-shadow: 0 0 0 2px rgba(47, 125, 109, 0.15) !important;
    outline-color: #2f7d6d !important;
}

.pf-v5-c-form-control:focus-within::after,
.pf-v5-c-form-control:focus::after {
    border-bottom-color: #2f7d6d !important;
}

input:focus,
input:focus-visible,
select:focus,
select:focus-visible,
textarea:focus,
textarea:focus-visible {
    outline-color: #2f7d6d !important;
    border-color: #2f7d6d !important;
    box-shadow: 0 0 0 2px rgba(47, 125, 109, 0.15) !important;
}

.pf-v5-c-select__toggle:hover {
    border-bottom-color: #2f7d6d !important;
}

.pf-v5-c-select__toggle:focus,
.pf-v5-c-select__toggle:focus-visible,
.pf-v5-c-select__toggle.pf-v5-m-focus {
    border-bottom-color: #2f7d6d !important;
    box-shadow: 0 0 0 2px rgba(47, 125, 109, 0.15) !important;
    outline-color: #2f7d6d !important;
}

.pf-v5-c-text-input-group__text-input:focus,
.pf-v5-c-text-input-group__text-input:focus-visible {
    outline-color: #2f7d6d !important;
}

.pf-v5-c-search-input__text-input:focus,
.pf-v5-c-search-input__text-input:focus-visible {
    outline-color: #2f7d6d !important;
}

.pf-v5-c-button:focus,
.pf-v5-c-button:focus-visible {
    outline-color: #2f7d6d !important;
    box-shadow: 0 0 0 3px rgba(47, 125, 109, 0.25) !important;
}

.pf-v5-c-nav__link:focus,
.pf-v5-c-nav__link:focus-visible {
    outline-color: #2f7d6d !important;
}

.pf-v5-c-tabs__link:focus,
.pf-v5-c-tabs__link:focus-visible {
    outline-color: #2f7d6d !important;
}

/* ============================================
   ALERTS / NOTIFICATIONS
   ============================================ */

.pf-v5-c-alert.pf-v5-m-success {
    --pf-v5-c-alert--m-success--BackgroundColor: rgba(47, 125, 109, 0.08);
    --pf-v5-c-alert--m-success--Color: #2f7d6d;
}

/* ============================================
   LABEL — current realm badge (kék → zöld)
   ============================================ */

.pf-v5-c-label.pf-m-blue {
    --pf-v5-c-label--BackgroundColor: rgba(47, 125, 109, 0.12) !important;
    --pf-v5-c-label--Color: #2f7d6d !important;
    --pf-v5-c-label__icon--Color: #2f7d6d !important;
    --pf-v5-c-label--BorderColor: rgba(47, 125, 109, 0.3) !important;
    color: #2f7d6d !important;
    background-color: rgba(47, 125, 109, 0.12) !important;
    border-color: rgba(47, 125, 109, 0.3) !important;
}

.pf-v5-c-label.pf-m-blue .pf-v5-c-label__content,
.pf-v5-c-label.pf-m-blue .pf-v5-c-label__text {
    color: #2f7d6d !important;
}

.pf-v5-c-label.pf-m-blue .pf-v5-c-label__icon svg {
    fill: #2f7d6d !important;
    color: #2f7d6d !important;
}


.pf-v5-c-table__td a {
    color: #2f7d6d !important;
}

/* ============================================
   DARK MODE — system preference
   ============================================ */

:where(.pf-v5-theme-dark) .pf-v5-c-masthead .pf-v5-c-toolbar {
    background-color: #1b1d21 !important;
}

@media (prefers-color-scheme: dark) {
    .pf-v5-c-masthead {
        --pf-v5-c-masthead--BackgroundColor: #1b1d21 !important;
        background-color: #1b1d21 !important;
        border-bottom-color: #2d3142 !important;
    }

    .pf-v5-c-masthead .pf-v5-c-toolbar {
        background-color: #1b1d21 !important;
    }

    .pf-v5-c-masthead__brand,
    .pf-v5-c-masthead,
    .pf-v5-c-masthead *,
    .pf-v5-c-masthead .pf-v5-c-button,
    .pf-v5-c-masthead .pf-v5-c-dropdown__toggle,
    .pf-v5-c-masthead .pf-v5-c-dropdown__toggle-text,
    .pf-v5-c-masthead .pf-v5-c-toolbar__item,
    .pf-v5-c-masthead .pf-v5-c-avatar + span,
    .pf-v5-c-masthead .pf-v5-c-page__header-tools-item {
        color: #e0e2e6 !important;
    }

    .pf-v5-c-page__sidebar,
    .pf-v5-c-page__sidebar-body,
    .pf-v5-c-nav {
        background-color: #151719 !important;
        --pf-v5-c-page__sidebar--BackgroundColor: #151719;
        --pf-v5-c-nav--BackgroundColor: #151719;
    }

    .pf-v5-c-nav__link {
        color: #c5c8d0 !important;
    }

    .pf-v5-c-nav__link:hover {
        background-color: rgba(47, 125, 109, 0.15) !important;
    }

    .pf-v5-c-nav__item--m-current > .pf-v5-c-nav__link,
    .pf-v5-c-nav__link.pf-m-current {
        background-color: rgba(47, 125, 109, 0.2) !important;
    }
}

.pf-v5-c-button.pf-m-primary {
    color: #ffffff !important;
}