/* Green Business design tokens and authenticated application shell. */
:root {
    --gb-green-50: #F0FDF4;
    --gb-green-100: #DCFCE7;
    --gb-green-200: #BBF7D0;
    --gb-green-300: #86EFAC;
    --gb-green-400: #4ADE80;
    --gb-green-500: #22C55E;
    --gb-green-600: #16A34A;
    --gb-green-700: #15803D;
    --gb-green-800: #166534;
    --gb-green-900: #14532D;
    --gb-green-950: #052E16;

    --gb-lime-500: #84CC16;

    --gb-canvas: #F5F8F6;
    --gb-surface: #FFFFFF;
    --gb-ink: #102019;
    --gb-muted: #5B6B62;
    --gb-border: #DCE8E0;

    --gb-sidebar: #0B2E1B;
    --gb-sidebar-hover: #12412A;
    --gb-sidebar-active: #F0FDF4;
    --gb-sidebar-active-ink: #14532D;

    --gb-primary: #15803D;
    --gb-primary-hover: #166534;
    --gb-focus-ring: #86EFAC;
}

body.gb-app-shell,
.gb-app-shell .page,
.gb-app-shell .wrapper,
.gb-app-shell .content,
.gb-app-shell .post {
    background-color: var(--gb-canvas);
}

.gb-app-shell .header,
.gb-app-shell .footer {
    background-color: var(--gb-surface);
}

.gb-app-shell .gb-app-header {
    border-bottom: 1px solid var(--gb-border);
    box-shadow: 0 8px 24px rgba(16, 32, 25, 0.06);
}

.gb-app-shell a:not(.btn):not(.menu-link):not([class*="text-"]) {
    color: var(--gb-primary);
}

.gb-app-shell a:not(.btn):not(.menu-link):not([class*="text-"]):hover {
    color: var(--gb-primary-hover);
}

.gb-app-shell .text-primary,
.gb-app-shell .text-hover-primary:hover,
.gb-app-shell .link-primary {
    color: var(--gb-primary) !important;
}

.gb-app-shell .bg-primary,
.gb-app-shell .badge-primary,
.gb-app-shell .page-item.active .page-link,
.gb-app-shell .form-check-input:checked {
    background-color: var(--gb-primary) !important;
    border-color: var(--gb-primary) !important;
}

.gb-app-shell .page-item.active .page-link,
.gb-app-shell .page-item.active .page-link:hover,
.gb-app-shell .page-item.active .page-link:focus {
    color: var(--gb-surface) !important;
}

.gb-app-shell .carousel-indicators.carousel-indicators-active-primary .active,
.gb-app-shell .stepper.stepper-pills .stepper-item.current .stepper-icon,
.gb-app-shell .stepper.stepper-pills .stepper-item.completed .stepper-icon {
    color: var(--gb-surface);
    background-color: var(--gb-primary) !important;
}

.gb-app-shell .carousel.carousel-custom .carousel-indicators-active-primary li.active::after {
    background-color: var(--gb-primary) !important;
}

.gb-app-shell .stepper.stepper-pills .stepper-item.current .stepper-icon .stepper-number,
.gb-app-shell .stepper.stepper-pills .stepper-item.completed .stepper-icon .stepper-check {
    color: var(--gb-surface) !important;
}

.gb-app-shell .stepper.stepper-pills .stepper-item.current .stepper-title,
.gb-app-shell .stepper.stepper-pills .stepper-item.completed .stepper-title {
    color: var(--gb-primary);
}

.gb-app-shell .btn.btn-primary,
.gb-app-shell .btn-check:checked + .btn.btn-primary,
.gb-app-shell .show > .btn.btn-primary {
    color: var(--gb-surface);
    background-color: var(--gb-primary);
    border-color: var(--gb-primary);
}

.gb-app-shell .btn.btn-primary:hover,
.gb-app-shell .btn.btn-primary:focus,
.gb-app-shell .btn.btn-primary:active,
.gb-app-shell .btn.btn-primary.active,
.gb-app-shell .btn-check:active + .btn.btn-primary,
.gb-app-shell .btn-check:checked + .btn.btn-primary:hover,
.gb-app-shell .show > .btn.btn-primary:hover {
    color: var(--gb-surface);
    background-color: var(--gb-primary-hover) !important;
    border-color: var(--gb-primary-hover) !important;
}

.gb-app-shell .btn.btn-light-primary {
    color: var(--gb-primary);
    background-color: var(--gb-green-50);
    border-color: var(--gb-green-100);
}

.gb-app-shell .btn.btn-light-primary:hover,
.gb-app-shell .btn.btn-light-primary:focus,
.gb-app-shell .btn.btn-light-primary:active,
.gb-app-shell .btn.btn-light-primary.active {
    color: var(--gb-surface);
    background-color: var(--gb-primary) !important;
    border-color: var(--gb-primary) !important;
}

.gb-app-shell .btn.btn-active-light-primary:hover,
.gb-app-shell .btn.btn-active-light-primary:focus,
.gb-app-shell .btn.btn-active-light-primary:active,
.gb-app-shell .btn.btn-active-light-primary.active,
.gb-app-shell .btn.btn-active-color-primary:hover,
.gb-app-shell .btn.btn-active-color-primary:focus {
    color: var(--gb-primary) !important;
    background-color: var(--gb-green-50) !important;
}

.gb-app-shell .form-control:focus,
.gb-app-shell .form-select:focus,
.gb-app-shell .select2-container--bootstrap5.select2-container--focus .select2-selection,
.gb-app-shell .select2-container--bootstrap5.select2-container--open .select2-selection {
    border-color: var(--gb-green-300);
    box-shadow: 0 0 0 0.25rem rgba(134, 239, 172, 0.38);
}

.gb-app-shell :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--gb-focus-ring);
    outline-offset: 2px;
}

.gb-app-shell .aside.aside-dark,
.gb-app-shell .aside.aside-dark .aside-logo {
    background-color: var(--gb-sidebar);
}

.gb-app-shell .aside.aside-dark .aside-logo {
    border-bottom: 1px solid rgba(240, 253, 244, 0.12);
}

.gb-sidebar-brand {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.gb-sidebar-logo {
    display: block;
    width: 174px;
    max-width: 100%;
    height: auto;
}

.gb-sidebar-mark {
    display: none;
    width: 39px;
    height: 39px;
}

.gb-mobile-logo {
    display: block;
    width: 146px;
    max-width: 42vw;
    height: auto;
}

.gb-app-shell .aside-dark .hover-scroll-overlay-y {
    scrollbar-color: rgba(187, 247, 208, 0.45) transparent;
}

.gb-app-shell .aside-dark .hover-scroll-overlay-y::-webkit-scrollbar-thumb,
.gb-app-shell .aside-dark .hover-scroll-overlay-y:hover::-webkit-scrollbar-thumb {
    background-color: rgba(187, 247, 208, 0.45);
}

.gb-app-shell .aside-dark .menu .menu-item .menu-link {
    color: var(--gb-green-50);
    border-radius: 0.475rem;
    margin-right: 0.75rem;
    margin-left: 0.75rem;
}

.gb-app-shell .aside-dark .menu .menu-item .menu-link .menu-title,
.gb-app-shell .aside-dark .menu .menu-item .menu-link .menu-icon i {
    color: var(--gb-green-50) !important;
}

.gb-app-shell .aside-dark .menu .menu-item .menu-link .menu-bullet .bullet {
    background-color: var(--gb-green-200);
}

.gb-app-shell .aside-dark .menu .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here),
.gb-app-shell .aside-dark .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here),
.gb-app-shell .aside-dark .menu .menu-item.show > .menu-link {
    color: var(--gb-green-50);
    background-color: var(--gb-sidebar-hover);
}

.gb-app-shell .aside-dark .menu .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here) .menu-title,
.gb-app-shell .aside-dark .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) .menu-title,
.gb-app-shell .aside-dark .menu .menu-item.show > .menu-link .menu-title,
.gb-app-shell .aside-dark .menu .menu-item.hover:not(.here) > .menu-link:not(.disabled):not(.active):not(.here) .menu-icon i,
.gb-app-shell .aside-dark .menu .menu-item:not(.here) .menu-link:hover:not(.disabled):not(.active):not(.here) .menu-icon i,
.gb-app-shell .aside-dark .menu .menu-item.show > .menu-link .menu-icon i {
    color: var(--gb-green-50) !important;
}

.gb-app-shell .aside-dark .menu .menu-item .menu-link.active {
    color: var(--gb-sidebar-active-ink);
    background-color: var(--gb-sidebar-active);
}

.gb-app-shell .aside-dark .menu .menu-item .menu-link.active .menu-title,
.gb-app-shell .aside-dark .menu .menu-item .menu-link.active .menu-icon i {
    color: var(--gb-sidebar-active-ink) !important;
    font-weight: 600;
}

.gb-app-shell .aside-dark .menu .menu-item .menu-link.active .menu-bullet .bullet {
    background-color: var(--gb-sidebar-active-ink);
}

.gb-app-shell .aside-dark .menu .gb-menu-section {
    padding: 0.4rem 0.875rem;
    margin: 0.55rem 0.75rem 0.2rem;
    background-color: rgba(240, 253, 244, 0.09);
    border: 1px solid rgba(240, 253, 244, 0.08);
    border-radius: 0.475rem;
}

.gb-app-shell .aside-dark .menu .gb-menu-section .menu-heading {
    color: var(--gb-green-200);
    letter-spacing: 0.035em;
}

.gb-app-shell .aside.aside-dark .aside-toggle svg [fill]:not(.permanent):not(g) {
    fill: var(--gb-green-200);
}

.gb-app-shell .aside.aside-dark #kt_aside_toggle,
.gb-app-shell .aside.aside-dark #kt_aside_toggle:hover,
.gb-app-shell .aside.aside-dark #kt_aside_toggle:focus,
.gb-app-shell .aside.aside-dark #kt_aside_toggle:active,
.gb-app-shell .aside.aside-dark #kt_aside_toggle.active {
    background-color: transparent !important;
    box-shadow: none !important;
}

.gb-app-shell .aside.aside-dark #kt_aside_toggle:focus-visible {
    outline: 3px solid var(--gb-focus-ring) !important;
    outline-offset: 2px;
}

.gb-app-shell .aside.aside-dark .aside-toggle:hover svg [fill]:not(.permanent):not(g),
.gb-app-shell .aside.aside-dark .aside-toggle:focus svg [fill]:not(.permanent):not(g) {
    fill: var(--gb-surface);
}

@media (min-width: 992px) {
    .gb-app-shell[data-kt-aside-minimize="on"] .aside:not(:hover) .aside-logo {
        padding-right: 0;
        padding-left: 0;
    }

    .gb-app-shell[data-kt-aside-minimize="on"] .aside:not(:hover) .gb-sidebar-brand {
        justify-content: center;
        width: 100%;
    }

    .gb-app-shell[data-kt-aside-minimize="on"] .aside:not(:hover) .gb-sidebar-logo {
        display: none;
    }

    .gb-app-shell[data-kt-aside-minimize="on"] .aside:not(:hover) .gb-sidebar-mark {
        display: block;
    }

    .gb-app-shell[data-kt-aside-minimize="on"] .aside:not(:hover) #kt_aside_toggle {
        display: none;
    }
}

@media (max-width: 991.98px) {
    .gb-app-shell .gb-app-header {
        box-shadow: 0 6px 18px rgba(16, 32, 25, 0.06);
    }

    .gb-app-shell #kt_header_user_menu_toggle {
        padding-left: 0.75rem !important;
        border-left: 0 !important;
    }
}

@media (max-width: 575.98px) {
    .gb-mobile-logo {
        width: 126px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gb-app-shell *,
    .gb-app-shell *::before,
    .gb-app-shell *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
