/*
 * xPlatform-owned color-theme extension point.
 *
 * Keep Metronic's generated style.bundle.rtl.css untouched when adding a new
 * user-selectable palette. Add the new [data-bs-theme="light-{mode-slug}"]
 * override here, after defining its menu entry and explicit persisted value in
 * _PanelLayout.cshtml.
 *
 * Required color-family tokens for every new palette:
 * --bs-primary, --bs-primary-rgb, --bs-primary-active,
 * --bs-primary-light, --bs-primary-inverse, --bs-text-primary,
 * --bs-component-active-bg, --bs-component-hover-color,
 * --bs-component-checked-bg, --bs-menu-link-color-hover/show/here/active,
 * --bs-link-color, --bs-link-color-rgb, --bs-link-hover-color,
 * --bs-link-hover-color-rgb, --bs-focus-ring-color,
 * --bs-menu-dropdown-box-shadow,
 * --bs-aside-bg-color, --bs-aside-bg-color-active,
 * --bs-aside-icon-color and --bs-aside-logo-bg-color.
 *
 * Semantic success/warning/danger colors must not be remapped to the palette.
 */

:root {
    --x-theme-primary: var(--bs-aside-bg-color-active, var(--bs-primary, #009ef7));
    --x-action-primary: #006EAF;
    --x-action-primary-hover: #00598F;
    --x-action-primary-text: #FFFFFF;
    --x-action-primary-soft: var(--bs-primary-light, #F1FAFF);
    --x-action-positive: #0F766E;
    --x-action-positive-hover: #115E59;
    --x-action-positive-text: #FFFFFF;
    --x-action-positive-soft: #EAF7F0;
    --x-action-danger: #C92A3A;
    --x-action-danger-hover: #A91F2E;
    --x-action-danger-text: #FFFFFF;
    --x-action-danger-soft: #FFF0F2;
    --x-action-warning: #E6A100;
    --x-action-warning-hover: #C58700;
    --x-action-warning-text: #302100;
    --x-action-warning-soft: #FFF6DB;
    --x-action-info: #146ED0;
    --x-action-info-hover: #0F58AA;
    --x-action-info-text: #FFFFFF;
    --x-action-info-soft: #EDF5FF;
    --x-action-neutral: var(--bs-gray-300, #DBDFE9);
    --x-action-neutral-hover: var(--bs-gray-400, #B5B5C3);
    --x-action-neutral-text: var(--bs-gray-800, #252F4A);
    --x-action-disabled-bg: var(--bs-gray-200, #F1F1F2);
    --x-action-disabled-text: var(--bs-gray-500, #99A1B7);
    --x-action-focus-ring: var(--bs-focus-ring-color, rgba(0, 158, 247, .28));
}

/* Accessible control tones for each persisted xPlatform palette. */
[data-bs-theme="light"] {
    --x-action-primary: #006EAF;
    --x-action-primary-hover: #00598F;
    --x-action-primary-text: #FFFFFF;
}

[data-bs-theme="light-blue"] {
    --x-action-primary: #4C2A85;
    --x-action-primary-hover: #3A1F67;
    --x-action-primary-text: #FFFFFF;
}

[data-bs-theme="light-brown"] {
    --x-action-primary: #C34617;
    --x-action-primary-hover: #A43A12;
    --x-action-primary-text: #FFFFFF;
}

[data-bs-theme="light-orange"] {
    --x-action-primary: #FCA311;
    --x-action-primary-hover: #E18B00;
    --x-action-primary-text: #2B1A00;
}

/* Role-based action colors shared by Metronic and legacy dynamic controls. */
.btn.btn-primary,.btn.btn-blue{border-color:var(--x-action-primary)!important;background-color:var(--x-action-primary)!important;color:var(--x-action-primary-text)!important}
.btn.btn-primary:hover,.btn.btn-primary:focus-visible,.btn.btn-primary:active,.btn.btn-blue:hover,.btn.btn-blue:focus-visible,.btn.btn-blue:active{border-color:var(--x-action-primary-hover)!important;background-color:var(--x-action-primary-hover)!important;color:var(--x-action-primary-text)!important}
.btn.btn-success,.btn.btn-green{border-color:var(--x-action-positive)!important;background-color:var(--x-action-positive)!important;color:var(--x-action-positive-text)!important}
.btn.btn-success:hover,.btn.btn-success:focus-visible,.btn.btn-success:active,.btn.btn-green:hover,.btn.btn-green:focus-visible,.btn.btn-green:active{border-color:var(--x-action-positive-hover)!important;background-color:var(--x-action-positive-hover)!important;color:var(--x-action-positive-text)!important}
.btn.btn-danger,.btn.btn-red{border-color:var(--x-action-danger)!important;background-color:var(--x-action-danger)!important;color:var(--x-action-danger-text)!important}
.btn.btn-danger:hover,.btn.btn-danger:focus-visible,.btn.btn-danger:active,.btn.btn-red:hover,.btn.btn-red:focus-visible,.btn.btn-red:active{border-color:var(--x-action-danger-hover)!important;background-color:var(--x-action-danger-hover)!important;color:var(--x-action-danger-text)!important}
.btn.btn-warning,.btn.btn-yellow{border-color:var(--x-action-warning)!important;background-color:var(--x-action-warning)!important;color:var(--x-action-warning-text)!important}
.btn.btn-warning:hover,.btn.btn-warning:focus-visible,.btn.btn-warning:active,.btn.btn-yellow:hover,.btn.btn-yellow:focus-visible,.btn.btn-yellow:active{border-color:var(--x-action-warning-hover)!important;background-color:var(--x-action-warning-hover)!important;color:var(--x-action-warning-text)!important}
.btn.btn-info{border-color:var(--x-action-info)!important;background-color:var(--x-action-info)!important;color:var(--x-action-info-text)!important}
.btn.btn-info:hover,.btn.btn-info:focus-visible,.btn.btn-info:active{border-color:var(--x-action-info-hover)!important;background-color:var(--x-action-info-hover)!important;color:var(--x-action-info-text)!important}
.btn.btn-secondary,.btn.btn-gray,.btn.btn-dark,.btn.btn-black{border-color:var(--x-action-neutral)!important;background-color:var(--x-action-neutral)!important;color:var(--x-action-neutral-text)!important}
.btn.btn-secondary:hover,.btn.btn-secondary:focus-visible,.btn.btn-secondary:active,.btn.btn-gray:hover,.btn.btn-gray:focus-visible,.btn.btn-gray:active,.btn.btn-dark:hover,.btn.btn-dark:focus-visible,.btn.btn-dark:active,.btn.btn-black:hover,.btn.btn-black:focus-visible,.btn.btn-black:active{border-color:var(--x-action-neutral-hover)!important;background-color:var(--x-action-neutral-hover)!important;color:var(--x-action-neutral-text)!important}

.btn.btn-light-primary{border-color:color-mix(in srgb,var(--x-action-primary) 36%,var(--bs-border-color,#DBDFE9))!important;background-color:var(--x-action-primary-soft)!important;color:var(--x-action-primary-hover)!important}
.btn.btn-light-success{border-color:color-mix(in srgb,var(--x-action-positive) 38%,var(--bs-border-color,#DBDFE9))!important;background-color:var(--x-action-positive-soft)!important;color:var(--x-action-positive-hover)!important}
.btn.btn-light-danger{border-color:color-mix(in srgb,var(--x-action-danger) 38%,var(--bs-border-color,#DBDFE9))!important;background-color:var(--x-action-danger-soft)!important;color:var(--x-action-danger-hover)!important}
.btn.btn-light-warning{border-color:color-mix(in srgb,var(--x-action-warning) 42%,var(--bs-border-color,#DBDFE9))!important;background-color:var(--x-action-warning-soft)!important;color:#715000!important}
.btn.btn-light-info{border-color:color-mix(in srgb,var(--x-action-info) 38%,var(--bs-border-color,#DBDFE9))!important;background-color:var(--x-action-info-soft)!important;color:var(--x-action-info-hover)!important}
.btn.btn-light-primary:hover,.btn.btn-light-primary:focus-visible,.btn.btn-light-success:hover,.btn.btn-light-success:focus-visible,.btn.btn-light-danger:hover,.btn.btn-light-danger:focus-visible,.btn.btn-light-warning:hover,.btn.btn-light-warning:focus-visible,.btn.btn-light-info:hover,.btn.btn-light-info:focus-visible{filter:saturate(1.08) brightness(.97)}
.btn:focus-visible{outline:3px solid var(--x-action-focus-ring)!important;outline-offset:2px;box-shadow:none!important}
.btn:disabled,.btn.disabled,fieldset:disabled .btn{border-color:var(--x-action-disabled-bg)!important;background-color:var(--x-action-disabled-bg)!important;color:var(--x-action-disabled-text)!important;opacity:.72}
.btn i,.btn i::before,.btn svg,.btn svg path{color:currentColor!important;fill:currentColor}

/*
 * Cartable read rows use .bg-light-primary while their contextual badges use
 * .badge-light-primary. Giving the badge its own opaque surface prevents both
 * elements from collapsing into the same color in palettes such as pistachio.
 */
#inboxTableBody .badge.badge-light-primary {
    border: 1px solid var(--bs-primary-border-subtle, var(--bs-primary));
    background-color: var(--bs-body-bg, #FFFFFF) !important;
    color: var(--bs-primary-text-emphasis, var(--bs-primary-active)) !important;
}

/* Shared navigation affordances for every user-selected color theme. */
.menu-sub-dropdown {
    border: 1px solid var(--bs-border-color, #DBDFE9);
    border: 1px solid color-mix(in srgb, var(--bs-border-color, #DBDFE9) 82%, transparent);
}

.menu-sub-dropdown .x-menu-accordion-toggle {
    min-height: 40px;
    border-radius: 0.475rem;
}

.menu-sub-dropdown .x-menu-accordion-toggle .menu-title {
    color: var(--bs-gray-800, #252F4A);
    font-size: 1.075rem;
    font-weight: 700;
    line-height: 1.6;
}

.x-menu-accordion-indicator {
    display: inline-grid;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    margin-inline-start: auto;
    place-items: center;
    border-radius: 7px;
    background: var(--bs-primary-light, #F1FAFF);
    color: var(--bs-link-color, var(--x-theme-primary));
}

.x-menu-accordion-indicator i {
    display: inline-block;
    color: currentColor !important;
    font-size: 1rem;
    transition: transform 180ms ease;
}

.x-menu-accordion.show > .x-menu-accordion-toggle .x-menu-accordion-indicator,
.x-menu-accordion.showing > .x-menu-accordion-toggle .x-menu-accordion-indicator {
    background: var(--bs-component-active-bg, var(--x-theme-primary));
    color: var(--bs-primary-inverse, #FFFFFF);
}

.x-menu-accordion.show > .x-menu-accordion-toggle .x-menu-accordion-indicator i,
.x-menu-accordion.showing > .x-menu-accordion-toggle .x-menu-accordion-indicator i {
    transform: rotate(180deg);
}

.aside .x-aside-footer-trigger,
.aside .x-aside-footer-trigger i {
    color: var(--bs-aside-icon-color, #FFFFFF) !important;
}

.aside .x-aside-footer-trigger:hover,
.aside .x-aside-footer-trigger:focus-visible,
.aside .x-aside-footer-trigger.show {
    background: var(--bs-aside-bg-color-active, var(--bs-primary, #009EF7)) !important;
    color: var(--bs-primary-inverse, #FFFFFF) !important;
}

.aside .x-aside-footer-trigger:hover i,
.aside .x-aside-footer-trigger:focus-visible i,
.aside .x-aside-footer-trigger.show i {
    color: var(--bs-primary-inverse, #FFFFFF) !important;
}

/*
 * Pistachio green
 *
 * Fresh pistachio surfaces are paired with a deeper leaf green for controls.
 * This keeps long sessions calm without sacrificing hierarchy or contrast.
 */
[data-bs-theme="light-pistachio"] {
    --x-action-primary: #3D8255;
    --x-action-primary-hover: #2C673F;
    --x-action-primary-text: #FFFFFF;

    /* Bootstrap light-theme foundation: custom selectors do not inherit it. */
    --bs-white: #FFFFFF;
    --bs-black: #000000;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-gray-100: #F9F9F9;
    --bs-gray-100-rgb: 249, 249, 249;
    --bs-gray-200: #F1F1F2;
    --bs-gray-200-rgb: 241, 241, 242;
    --bs-gray-300: #DBDFE9;
    --bs-gray-300-rgb: 219, 223, 233;
    --bs-gray-400: #B5B5C3;
    --bs-gray-400-rgb: 181, 181, 195;
    --bs-gray-500: #99A1B7;
    --bs-gray-500-rgb: 153, 161, 183;
    --bs-gray-600: #78829D;
    --bs-gray-600-rgb: 120, 130, 157;
    --bs-gray-700: #4B5675;
    --bs-gray-700-rgb: 75, 86, 117;
    --bs-gray-800: #252F4A;
    --bs-gray-800-rgb: 37, 47, 74;
    --bs-gray-900: #071437;
    --bs-gray-900-rgb: 7, 20, 55;

    --bs-body-color: #071437;
    --bs-body-color-rgb: 7, 20, 55;
    --bs-body-bg: #FFFFFF;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-heading-color: #071437;
    --bs-secondary-color: rgba(7, 20, 55, 0.75);
    --bs-secondary-color-rgb: 7, 20, 55;
    --bs-secondary-bg: #F1F1F2;
    --bs-secondary-bg-rgb: 241, 241, 242;
    --bs-tertiary-color: rgba(7, 20, 55, 0.5);
    --bs-tertiary-color-rgb: 7, 20, 55;
    --bs-tertiary-bg: #F9F9F9;
    --bs-tertiary-bg-rgb: 249, 249, 249;
    --bs-border-color: #DBDFE9;
    --bs-border-color-translucent: rgba(7, 20, 55, 0.16);
    --bs-border-dashed-color: #DBDFE9;

    /* Keep semantic status colors independent from the selected palette. */
    --bs-secondary: #DBDFE9;
    --bs-success: #50CD89;
    --bs-info: #7239EA;
    --bs-warning: #FFC700;
    --bs-danger: #F1416C;
    --bs-dark: #071437;
    --bs-secondary-rgb: 219, 223, 233;
    --bs-success-rgb: 80, 205, 137;
    --bs-info-rgb: 114, 57, 234;
    --bs-warning-rgb: 255, 199, 0;
    --bs-danger-rgb: 241, 65, 108;
    --bs-dark-rgb: 7, 20, 55;
    --bs-success-active: #47BE7D;
    --bs-info-active: #5014D0;
    --bs-warning-active: #F1BC00;
    --bs-danger-active: #D9214E;
    --bs-success-light: #E8FFF3;
    --bs-info-light: #F8F5FF;
    --bs-warning-light: #FFF8DD;
    --bs-danger-light: #FFF5F8;
    --bs-success-inverse: #FFFFFF;
    --bs-info-inverse: #FFFFFF;
    --bs-warning-inverse: #FFFFFF;
    --bs-danger-inverse: #FFFFFF;
    --bs-text-success: #50CD89;
    --bs-text-info: #7239EA;
    --bs-text-warning: #FFC700;
    --bs-text-danger: #F1416C;

    --bs-primary: #3D8255;
    --bs-primary-rgb: 61, 130, 85;
    --bs-primary-active: #2C673F;
    --bs-primary-light: #EFF8E8;
    --bs-primary-inverse: #FFFFFF;
    --bs-text-primary: #3D8255;
    --bs-primary-text-emphasis: #255438;
    --bs-primary-bg-subtle: #E4F3DA;
    --bs-primary-border-subtle: #B8DDA5;

    --bs-link-color: #2F6B45;
    --bs-link-color-rgb: 47, 107, 69;
    --bs-link-hover-color: #255438;
    --bs-link-hover-color-rgb: 37, 84, 56;
    --bs-focus-ring-color: rgba(61, 130, 85, 0.3);

    --bs-component-active-color: #FFFFFF;
    --bs-component-active-bg: #3D8255;
    --bs-component-hover-color: #2F6B45;
    --bs-component-hover-bg: #F4FAF0;
    --bs-component-checked-color: #FFFFFF;
    --bs-component-checked-bg: #3D8255;

    /* Opaque menu and control surfaces. */
    --bs-input-bg: #FFFFFF;
    --bs-input-color: #4B5675;
    --bs-input-solid-color: #4B5675;
    --bs-input-solid-bg: #F9F9F9;
    --bs-input-solid-bg-focus: #F1F1F2;
    --bs-input-solid-placeholder-color: #99A1B7;
    --bs-dropdown-bg: #FFFFFF;
    --bs-drawer-bg-color: #FFFFFF;
    --bs-menu-dropdown-box-shadow: 0 12px 32px rgba(31, 54, 41, 0.16), 0 3px 10px rgba(31, 54, 41, 0.08);
    --bs-menu-dropdown-bg-color: #FFFFFF;
    --bs-menu-heading-color: #78829D;
    --bs-menu-link-bg-color-hover: #F4FAF0;
    --bs-menu-link-bg-color-show: #F4FAF0;
    --bs-menu-link-bg-color-here: #F4FAF0;
    --bs-menu-link-bg-color-active: #F4FAF0;
    --bs-symbol-label-color: #252F4A;
    --bs-symbol-label-bg: #F9F9F9;
    --bs-symbol-border-color: rgba(255, 255, 255, 0.5);
    --bs-scrollbar-color: #F1F1F2;
    --bs-scrollbar-hover-color: #DBDFE9;

    --bs-menu-link-color-hover: #2F6B45;
    --bs-menu-link-color-show: #2F6B45;
    --bs-menu-link-color-here: #2F6B45;
    --bs-menu-link-color-active: #2F6B45;

    --bs-aside-bg-color: #173D2B;
    --bs-aside-bg-color-active: #3D8255;
    --bs-aside-icon-color: #DFF0D5;
    --bs-aside-logo-bg-color: #102D20;
    --bs-page-bg: #F7F9F6;
    --bs-app-blank-bg: #FFFFFF;
    --bs-header-default-bg-color: #FFFFFF;
    --bs-header-fixed-bg-color: #FFFFFF;
    --bs-toolbar-bg-color: #FFFFFF;
    --bs-toolbar-border-top: 1px solid #F1F1F2;
    --bs-footer-bg-color: #FFFFFF;
}
