:root,
[data-bs-theme=light] {
    --bs-primary: #4233CF; /* #17C653; */
    --bs-primary-rgb: 66, 51, 207;
    --bs-primary-light: #F4EDFF;/* #DFFFEA; */
    --bs-primary-active: #7239EA; /* #04B440; */

    --bs-success: #A3D228;
    --bs-success-rgb: 23, 198, 83;
    --bs-success-light: #DFFFEA;
    --bs-success-active: #A5D629; /* #B5DE4F; */

    --bs-text-white: #f2f0eb; /* #ffffff; */
    --bs-text-primary: #4233CF; /* #00A261 */;
    --bs-text-secondary: #09c7d9; /* #363843; */
    --bs-text-light: #F9F9F9;
    --bs-text-success: #A3D228; /* #006AE6; */
    --bs-text-info: #006AE6; /* #883FFF; */

    --bs-link-color: #4233cf; /* #17C653; */
    --bs-link-color-rgb: 66, 51, 207;
    --bs-link-decoration: none;
    --bs-link-hover-color: #7239EA; /* #04B440; */

    --bs-menu-link-color-hover: #4233CF;
    --bs-menu-link-color-show: #4233CF;
    --bs-menu-link-color-here: #4233CF;
    --bs-menu-link-color-active: #4233CF;

    --bs-app-bg-color: #F9F7F7;
    --bs-app-blank-bg-color: #ffffff;
    --bs-app-header-base-bg-color: #4233CF; /* #17C653; */
    --bs-app-header-sticky-bg-color: #ffffff;
    --bs-app-toolbar-base-bg-color: #ffffff;
    --bs-app-toolbar-sticky-bg-color: #ffffff;
    --bs-app-toolbar-sticky-box-shadow: 0px 10px 30px 0px rgba(82, 63, 105, 0.05);
    --bs-app-sidebar-base-bg-color: #1e195a; /* #287884; */
    --bs-app-sidebar-primary-base-bg-color: #1e194d; /* #1E6A75;*/
    --bs-app-sidebar-secondary-base-bg-color: #1e195a; /* #287884; */
}

.btn ::before,
.btn ::after {
    box-sizing: border-box;
}

.btn-primary {
    --bs-btn-color: #000000;
    --bs-btn-bg: #4233CF;
    --bs-btn-border-color: #4233BE;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #4233CF;
    --bs-btn-hover-border-color: #784FDE;
    --bs-btn-focus-shadow-rgb: 23, 112, 217;
    --bs-btn-active-color: #000000;
    --bs-btn-active-bg: #784FDE;
    --bs-btn-active-border-color: #784FDE;
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #FFFFFF;
    --bs-btn-disabled-bg: #5B3BA3;
    --bs-btn-disabled-border-color: #5B3BA3;
}

.app-sidebar-primary .app-sidebar-menu .menu > .menu-item > .menu-link .menu-icon,
.app-sidebar-primary .app-sidebar-menu .menu > .menu-item > .menu-link .menu-icon .svg-icon,
.app-sidebar-primary .app-sidebar-menu .menu > .menu-item > .menu-link .menu-icon i {
    color: #8B7BA8;
}
.app-sidebar-secondary .hover-scroll-y:hover {
    scrollbar-color: #a0e7e5 /*#206670*/ transparent;
}
.app-sidebar-secondary .hover-scroll-y:hover::-webkit-scrollbar-thumb {
    background-color: #a0e7e5; /*#206670*/
}
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link {
    color: #8B7BA8; /* #7DB9C1; */
}
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link .menu-title {
    color: #8B7BA8; /* #7DB9C1; */
}
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link .menu-icon,
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link .menu-icon .svg-icon,
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link .menu-icon i {
    color: #8B7BA8;
}
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link .menu-bullet .bullet {
    background-color: #8B7BA8;
}
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link .menu-arrow:after {
    background-color: #8B7BA8;
    /*rtl:begin:remove*/
    background-color: #8B7BA8;
    /*rtl:end:remove*/
}
.app-sidebar-secondary .app-sidebar-secondary-menu.menu .menu-item .menu-link.active {
    background-color: #09c7d9; /* #a0e7e5;  #226D78; */
}
.app-sidebar-secondary .custom-link {
    color: #09c7d9;
}
.app-sidebar-secondary .custom-link .svg-icon {
    color: #09c7d9;
}
.app-sidebar-secondary .menu-section {
    color: #09c7d9;
}

/* ============================================================
   ACCESSIBILITY: Focus Indicators (WCAG 2.4.7)
   ============================================================ */

:focus-visible {
    outline: 2px solid #4233CF;
    outline-offset: 2px;
}

a:focus-visible,
button:focus-visible,
/*input:focus-visible,
select:focus-visible,
textarea:focus-visible,*/
.btn:focus-visible {
    outline: 2px solid #4233CF !important;
    outline-offset: 2px !important;
}

.mud-button-root:focus-visible,
/*.mud-input:focus-within,
.mud-select:focus-within,*/
.mud-switch:focus-within {
    outline: 2px solid #4233CF !important;
    outline-offset: 2px !important;
}

.nav-link:focus-visible,
.menu-link:focus-visible {
    outline: 2px solid #4233CF !important;
    outline-offset: 2px !important;
}

/* DataGrid focus states for keyboard navigation */
.mud-table-row:focus-visible,
.mud-table-cell:focus-visible {
    outline: 2px solid #4233CF !important;
    outline-offset: -2px !important;
    background-color: rgba(66, 51, 207, 0.08) !important;
}

.mud-table-row:focus-within {
    background-color: rgba(66, 51, 207, 0.04);
}

.mud-table-cell .mud-button-root:focus-visible {
    outline: 2px solid #4233CF !important;
    outline-offset: 2px !important;
}

/* ============================================================
   MOBILE RESPONSIVE: Document Forms (F.9.7)
   ============================================================ */

/* Sticky footer for mobile - shows Save/Leave buttons */
@media (max-width: 767.98px) {
    .document-sticky-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        background: white;
        padding: 1rem;
        z-index: 100;
        box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
        display: flex;
        gap: 0.5rem;
    }

    .document-sticky-footer .btn {
        flex: 1;
    }

    /* Add padding to form container to avoid overlap with sticky footer */
    .document-form-container {
        padding-bottom: 80px;
    }

    /* Hide desktop sidebar actions on mobile */
    .document-aside-actions-desktop {
        display: none !important;
    }
}

/* Show desktop actions, hide mobile sticky footer on larger screens */
@media (min-width: 768px) {
    .document-sticky-footer {
        display: none !important;
    }

    .document-aside-actions-desktop {
        display: block;
    }
}

/*
    * Phone Input
    */
/* Phone Input Container - Unified block styling */
.phone-input-container {
    display: flex;
    align-items: flex-start;
    gap: 0 !important;
    margin: 0;
    padding: 0;
}

/* Country Select - Remove right border radius and merge with input */
.phone-input-container ::deep .phone-country-select {
    margin: 0 !important;
    padding: 0;
}

.phone-input-container ::deep .phone-country-select .mud-input {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    margin-right: -1px;
}

.phone-input-container ::deep .phone-country-select .mud-input-outlined .mud-input-outlined-border {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right: none;
}

.phone-input-container ::deep .phone-country-select .mud-input-filled {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.phone-input-container ::deep .phone-country-select .mud-input-underline::before,
.phone-input-container ::deep .phone-country-select .mud-input-underline::after {
    border-radius: 0;
}

/* Phone Number Input - Remove left border radius and merge with select */
.phone-input-container ::deep .phone-number-input {
    margin: 0 !important;
    padding: 0;
}

.phone-input-container ::deep .phone-number-input .mud-input {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.phone-input-container ::deep .phone-number-input .mud-input-outlined .mud-input-outlined-border {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.phone-input-container ::deep .phone-number-input .mud-input-filled {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.phone-input-container ::deep .phone-number-input .mud-input-underline::before,
.phone-input-container ::deep .phone-number-input .mud-input-underline::after {
    border-radius: 0;
}

/* Ensure no gap on any screen size */
@media (max-width: 599px) {
    .phone-input-container {
        gap: 0 !important;
    }

    .phone-input-container ::deep .phone-country-select,
    .phone-input-container ::deep .phone-number-input {
        margin: 0 !important;
    }
}