.light-style .menu .app-brand.demo {
    height: 64px;
}

.dark-style .menu .app-brand.demo {
    height: 64px;
}

.app-brand-logo.demo {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    display: -ms-flexbox;
    display: flex;
}

.app-brand-logo.demo svg {
    width: 35px;
    height: 24px;
}

.app-brand-text.demo {
    font-size: 1.375rem;
}

@media (min-width: 1200px) {
    .app-brand-text.demo img {
        width: 200px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .app-brand-text.demo img {
        width: 200px;
    }
}

@media (min-width: 200px) and (max-width: 991.98px) {
    .app-brand-text.demo img {
        width: 150px;
    }
}

/* ! For .layout-navbar-fixed added fix padding top tpo .layout-page */
.layout-navbar-fixed .layout-wrapper:not(.layout-without-menu) .layout-page {
    padding-top: 64px !important;
}

.layout-navbar-fixed .layout-wrapper:not(.layout-horizontal):not(.layout-without-menu) .layout-page {
    padding-top: 78px !important;
}

/* Navbar page z-index issue solution */
.content-wrapper .navbar {
    z-index: auto;
}

/*
* Content
******************************************************************************/

.demo-blocks>* {
    display: block !important;
}

.demo-inline-spacing>* {
    margin: 1rem 0.375rem 0 0 !important;
}

/* ? .demo-vertical-spacing class is used to have vertical margins between elements. To remove margin-top from the first-child, use .demo-only-element class with .demo-vertical-spacing class. For example, we have used this class in forms-input-groups.html file. */
.demo-vertical-spacing>* {
    margin-top: 1rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.demo-vertical-spacing-lg>* {
    margin-top: 1.875rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing-lg.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.demo-vertical-spacing-xl>* {
    margin-top: 5rem !important;
    margin-bottom: 0 !important;
}

.demo-vertical-spacing-xl.demo-only-element> :first-child {
    margin-top: 0 !important;
}

.rtl-only {
    display: none !important;
    text-align: left !important;
    direction: ltr !important;
}

[dir='rtl'] .rtl-only {
    display: block !important;
}

/*
* Layout demo
******************************************************************************/

.layout-demo-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 1rem;
}

.layout-demo-placeholder img {
    width: 900px;
}

.layout-demo-info {
    text-align: center;
    margin-top: 1rem;
}

.app-brand {
    justify-content: center;
}

.swal2-modal.swal2-popup .swal2-title {
    margin: 0 !important;
    max-width: 100%;
    line-height: 1.47;
}

/* Custom CSS */
:root {
    --bs-primary: #285a43;
    --bs-primary-rgb: 40, 90, 67;
    --bs-link-color: #285a43;
    --bs-link-hover-color: #1e4532;
    --bs-body-bg: #f8f9fa;
}

/* =========================================
   Modern Design System Overrides
   ========================================= */

/* Modern Card */
.card {
    border: none;
    border-radius: 0.75rem;
    box-shadow: 0 0.25rem 1.125rem rgba(75, 70, 92, 0.05);
    transition: all 0.3s ease-in-out;
}

.card:hover {
    box-shadow: 0 0.5rem 1.5rem rgba(75, 70, 92, 0.1);
}

.card-modern {
    border: none;
    border-radius: 0.75rem;
}

/* Modern Buttons */
.btn {
    border-radius: 0.5rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn:not(.btn-sm):not(.btn-xs) {
    padding: 0.5rem 1.25rem;
}

.btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    border-radius: 0.25rem;
}

/* DataTable Buttons */
.dt-button {
    display: inline-block;
    font-weight: 500;
    line-height: 1.5;
    color: #697a8d;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: 0.4375rem 1.25rem;
    font-size: 0.9375rem;
    border-radius: 0.375rem;
    transition: all 0.2s ease-in-out;
}

/* FullCalendar Customization */
.fc-toolbar-chunk .fc-button {
    background-color: #285a43 !important;
    border-color: #285a43 !important;
    color: #fff !important;
    text-transform: capitalize;
    box-shadow: none !important;
}

.fc-toolbar-chunk .fc-button:hover,
.fc-toolbar-chunk .fc-button-active {
    background-color: #1e4532 !important;
    border-color: #1e4532 !important;
    color: #fff !important;
}

.fc-toolbar-chunk .fc-button-group>.fc-button:not(:first-child) {
    margin-left: -1px;
}

.fc-direction-ltr .fc-toolbar>*> :not(:first-child) {
    margin-left: 0.75em;
    /* Increase gap between button groups */
}

/* Specific gap for Today button if it follows navigation */
.fc-prev-button,
.fc-next-button {
    background-color: white !important;
    border-color: #285a43 !important;
    color: #285a43 !important;
}

.fc-prev-button:hover,
.fc-next-button:hover {
    background-color: #285a43 !important;
    color: white !important;
}

.fc-today-button {
    margin-left: 1rem !important;
    /* Force gap before Today */
}

/* Modern View Switcher: Outline by default, Solid when active */
.fc-resourceTimeGridDay-button,
.fc-timeGridWeek-button,
.fc-dayGridMonth-button,
.fc-listDay-button {
    background-color: white !important;
    color: #285a43 !important;
    border-color: #285a43 !important;
}

.fc-resourceTimeGridDay-button:hover,
.fc-timeGridWeek-button:hover,
.fc-dayGridMonth-button:hover,
.fc-listDay-button:hover,
.fc-button-active {
    background-color: #285a43 !important;
    color: white !important;
}


.dt-button.buttons-collection {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    box-shadow: 0 0.125rem 0.25rem 0 rgba(105, 108, 255, 0.4);
}

.dt-button:hover {
    color: #fff;
    background-color: #5f61e6;
    border-color: #5f61e6;
    transform: translateY(-1px);
}

.dt-button.buttons-collection:hover {
    background-color: #1e4532 !important;
    border-color: #1e4532 !important;
    color: #fff !important;
}

/* Actions Dropdown Modernization */
.dropdown-menu {
    border: 0;
    box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
    border-radius: 0.375rem;
    padding: 0.5rem 0;
}

.dropdown-item {
    padding: 0.5rem 1rem;
    font-weight: 400;
    color: #697a8d;
}

.dropdown-item:hover {
    background-color: rgba(67, 89, 113, 0.04);
    color: var(--bs-primary);
}

.dropdown-item i {
    font-size: 0.875rem;
}


.btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(40, 90, 67, 0.2);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #1e4532 !important;
    border-color: #1e4532 !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 15px rgba(40, 90, 67, 0.3);
}

.btn-outline-primary {
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    background: transparent !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

.bg-primary {
    background-color: var(--bs-primary) !important;
}

.border-primary {
    border-color: var(--bs-primary) !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

/* Modern Tables */
.table {
    border-collapse: collapse;
    border-spacing: 0;
    border-bottom: 1px solid #dee2e6;
}

.table thead th {
    font-size: 0.75rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    background-color: #f8f9fa;
    border-bottom: 2px solid #e9ecef;
    padding: 1rem;
    font-weight: 600;
    color: #5e6e82;
    border-right: 1px solid #dee2e6;
}

.table tbody td {
    padding: 1rem;
    vertical-align: middle;
    border-bottom: 1px solid #f1f2f4;
    color: #344050;
    border-right: 1px solid #dee2e6;
}

.table-hover tbody tr:hover {
    background-color: #f8f9fa;
}

.table-modern thead th {
    background-color: #f8f9fa;
    border-bottom: 2px solid #e9ecef;
}

/* Modern Form Controls */
.form-control,
.form-select {
    border-radius: 0.5rem;
    border: 1px solid #dee2e6;
    font-size: 0.95rem;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(40, 90, 67, 0.1);
}

.form-label {
    font-weight: 500;
    font-size: 0.9rem;
    color: #344050;
    margin-bottom: 0.5rem;
}

/* Dashboard & Theme Specifics */
.bg-gradient-theme {
    background: linear-gradient(135deg, #285a43 0%, #4a8a6a 100%) !important;
}

.bg-custom-theme {
    background-color: #285a43 !important;
}

.text-custom-theme {
    color: #285a43 !important;
}

.border-custom-theme {
    border-color: #285a43 !important;
}

.bg-label-custom-theme {
    background-color: rgba(40, 90, 67, 0.1) !important;
    color: #285a43 !important;
}

.btn-custom-theme {
    background-color: #285a43 !important;
    border-color: #285a43 !important;
    color: white !important;
}

.btn-custom-theme:hover {
    background-color: #1e4532 !important;
    border-color: #1e4532 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(40, 90, 67, 0.2);
}

.stat-card-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

/* Badge Updates */
.badge {
    padding: 0.5em 0.8em;
    font-weight: 600;
    border-radius: 0.375rem;
}

.rounded-pill {
    border-radius: 50rem !important;
}

/* DataTables & Filters */
/* Hide DataTables sorting indicators when order: false is set */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc,
table.dataTable thead th.sorting_disabled {
    cursor: default;
}

/* Hide sorting icons/arrows in DataTables headers */
table.dataTable thead th:not(.sorting_disabled)::before,
table.dataTable thead th:not(.sorting_disabled)::after {
    display: none !important;
}

.filter-container {
    background: white;
    border-radius: 10px;
    padding: 1.5rem;
    box-shadow: none;
    margin-bottom: 19px;
    border: 1px solid #dbdade;
}

div.dataTables_wrapper div.dataTables_filter input {
    border-radius: 0.5rem;
    padding: 0.4rem 0.8rem;
    border: 1px solid #dee2e6;
    margin-left: 0.5rem;
}

div.dataTables_wrapper div.dataTables_length select {
    border-radius: 0.5rem;
    padding: 0.4rem 2rem 0.4rem 0.8rem;
    border: 1px solid #dee2e6;
}

/* Legacy Support & Utilities */
.bg-menu-theme.menu-vertical .menu-item.active>.menu-link:not(.menu-toggle) {
    background: linear-gradient(72.47deg, #285a43 22.16%, rgb(40, 90, 67) 76.47%);
    box-shadow: 0px 2px 6px 0px rgb(40 90 67 / 5%);
    color: #fff !important;
}

.page-item.active .page-link,
.pagination li.active>a:not(.page-link) {
    border-color: #285a43;
    background-color: #285a43;
    color: #fff;
}

.dropify-wrapper .dropify-message p {
    margin: 5px 0 0;
    font-size: 15px;
}

.dropify-wrapper {
    border: 1px solid #E5E5E5;
    border-radius: 5px;
}

.swal2-popup {
    font-size: 0.9rem !important;
}

.swal2-title {
    font-size: 1.1rem !important;
}

.swal2-html-container {
    font-size: 0.9rem !important;
}

.swal2-icon {
    width: 2em !important;
    height: 2em !important;
    margin: 1em auto 0.5em !important;
}

.swal2-icon .swal2-icon-content {
    font-size: 2em !important;
}

.colored-toast.swal2-icon-success {
    background-color: #a5dc86 !important;
}

.colored-toast.swal2-icon-error {
    background-color: #f27474 !important;
}

.colored-toast.swal2-icon-warning {
    background-color: #f8bb86 !important;
}

.colored-toast.swal2-icon-info {
    background-color: #3fc3ee !important;
}

.colored-toast.swal2-icon-question {
    background-color: #87adbd !important;
}

.colored-toast .swal2-title {
    color: white;
}

.colored-toast .swal2-close {
    color: white;
}

.colored-toast .swal2-html-container {
    color: white;
}

/* Parsley Validation Styling */
.parsley-errors-list {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0.25rem;
    margin-bottom: 0;
    color: #ea5455;
    font-size: 0.8125rem;
}

.parsley-errors-list li {
    margin-bottom: 0;
}

.parsley-error {
    border-color: #ea5455 !important;
}

.parsley-success {
    border-color: #28c76f !important;
}

.switch-label,
.breadcrumb-item.active {
    color: #285a43;
}

.switch-input:checked~.switch-toggle-slider {
    background: #285a43;
    color: #fff;
}

.switch-input:focus~.switch-toggle-slider {
    border: 1px solid #285a43;
    box-shadow: 0 0 0.25rem 0.05rem rgba(115, 103, 240, 0.1);
}

.breadcrumb-item,
.breadcrumb-item a {
    color: black;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-link.active:hover,
.nav-tabs .nav-link.active:focus {
    box-shadow: 0 -2px 0 #285a43 inset;
    color: #285a43;
}

.nav-tabs .nav-item.show .nav-link {
    color: #285a43;
}

.swal2-loader {
    border-color: #213529 transparent #213529 transparent;
}

.nav-pills .nav-link.active,
.nav-pills .nav-link.active:hover,
.nav-pills .nav-link.active:focus {
    background-color: #285a43;
    color: #fff;
}

/* =========================================
   Standardized Document/Report Styles
   ========================================= */
/* Document Container */
.document-container {
    background: white;
    color: #000;
    margin: 0 auto;
    padding: 0.5in;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}

/* Print Button */
.print-float-btn {
    position: fixed;
    top: 100px;
    right: 30px;
    z-index: 1000;
}

/* Header */
.doc-header {
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 3px solid #000;
    margin-bottom: 25px;
}

.company-name {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.document-title {
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.document-subtitle {
    font-size: 12px;
    color: #444;
    margin-top: 5px;
}

/* Status Section */
.status-section,
.status-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background: #f5f5f5;
    border: 1px solid #000;
    margin-bottom: 25px;
}

.status-item {
    display: flex;
    flex-direction: column;
}

.status-label {
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 3px;
}

.status-value {
    font-size: 14px;
    font-weight: bold;
}

.status-badge {
    padding: 4px 12px;
    border: 2px solid #000;
    display: inline-block;
    font-weight: bold;
    text-transform: uppercase;
}

/* Section Styles */
.doc-section {
    margin-bottom: 25px;
    page-break-inside: avoid;
}

.section-title {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

/* Info Grid */
.info-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .info-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.info-item {
    border-bottom: 1px solid #ccc;
    padding-bottom: 8px;
}

.info-label {
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    color: #555;
    margin-bottom: 3px;
}

.info-value {
    font-size: 14px;
    font-weight: bold;
}

/* Details Box */
.contract-box,
.details-box {
    border: 2px solid #000;
    padding: 20px;
    margin-bottom: 20px;
    background: #fafafa;
}

.contract-grid,
.details-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 15px;
}

@media (min-width: 768px) {

    .contract-grid,
    .details-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.field-group {
    border-bottom: 1px solid #999;
    padding-bottom: 8px;
}

.field-label {
    font-size: 10px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 3px;
    color: #555;
}

.field-value {
    font-size: 13px;
    font-weight: 600;
}

.auto-renew {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #ccc;
}

.checkbox-print {
    width: 16px;
    height: 16px;
    border: 2px solid #000;
    display: inline-block;
    position: relative;
}

.checkbox-print.checked::after {
    content: '✓';
    position: absolute;
    top: -3px;
    left: 2px;
    font-size: 16px;
    font-weight: bold;
}

/* Services Table */
.services-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.services-table th {
    background: #000;
    color: white;
    padding: 10px;
    text-align: left;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
}

.services-table td {
    padding: 10px;
    border: 1px solid #ccc;
    font-size: 13px;
}

.services-table tr:nth-child(even) {
    background: #f9f9f9;
}

.service-checkbox {
    width: 18px;
    height: 18px;
    border: 2px solid #000;
    display: inline-block;
    text-align: center;
    line-height: 14px;
    font-weight: bold;
    margin-right: 10px;
}

.service-checkbox.checked {
    background: #000;
    color: white;
}

/* Commission Box */
.commission-box {
    border: 3px solid #000;
    padding: 20px;
    background: #f5f5f5;
    margin-bottom: 20px;
    text-align: center;
}

.commission-title {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.commission-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    gap: 15px;
}

@media (max-width: 575.98px) {
    .commission-details {
        flex-direction: column;
    }
}

.commission-item {
    text-align: center;
}

.commission-label {
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 5px;
}

.commission-value {
    font-size: 36px;
    font-weight: bold;
}

/* Declaration Box */
.declaration-box {
    border: 2px solid #000;
    padding: 20px;
    background: #f9f9f9;
    margin-bottom: 25px;
}

.declaration-title {
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 12px;
    text-align: center;
}

.declaration-text {
    font-size: 13px;
    line-height: 1.8;
    text-align: justify;
}

/* Signature Section */
.signature-section {
    margin-top: 40px;
    page-break-inside: avoid;
}

.signature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 30px;
}

@media (min-width: 768px) {
    .signature-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.signature-block {
    text-align: center;
}

.signature-line {
    border-top: 2px solid #000;
    margin-bottom: 8px;
    padding-top: 60px;
}

.signature-label {
    font-size: 12px;
    font-weight: bold;
}

.signature-sublabel {
    font-size: 10px;
    color: #666;
    margin-top: 3px;
}

/* Footer */
.doc-footer {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #000;
    text-align: center;
    font-size: 10px;
    color: #666;
}

.page-number {
    margin-top: 10px;
    font-style: italic;
}

/* Print Styles */
@media print {
    body {
        background: white;
    }

    .navbar,
    .sidebar,
    .footer-section,
    .print-float-btn,
    .page-header {
        display: none !important;
    }

    .document-container {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
        box-shadow: none;
    }

    .doc-section {
        page-break-inside: avoid;
    }

    .signature-section {
        page-break-before: avoid;
    }

    @page {
        margin: 0.5in;
        size: letter portrait;
    }
}

.autocomplete-wrapper {
    position: relative;
}

.autocomplete-results {
    position: absolute;
    top: 100%;
}

.autocomplete-results {
    background: #fff;
    border: 1px solid #d9dee3;
    border-top: none;
    max-height: 250px;
    max-height: 300px;
    overflow-y: auto;
    display: none;
    box-shadow: 0 0.25rem 1rem rgba(161, 172, 184, 0.45);
    border-radius: 0 0 0.375rem 0.375rem;
    display: none;
}

.autocomplete-results.show {
    display: block;
}

.autocomplete-item {
    padding: 0.5rem 1rem;
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f2f2f2;
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s ease-in-out;
}

.autocomplete-item:last-child {
    border-bottom: none;
}

.autocomplete-item:hover {
    background-color: #f8f9fa;
    background-color: #f5f7f9;
}

.autocomplete-item img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 15px;
    object-fit: cover;
    border: 1px solid #e0e0e0;
}

.autocomplete-item .info {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.autocomplete-item .name {
    font-weight: 600;
    color: #566a7f;
    margin-bottom: 2px;
}

.autocomplete-item .details {
    font-size: 0.8rem;
    color: #a1acb8;
    line-height: 1.3;
}

.autocomplete-item .details span {
    margin-right: 10px;
}

.autocomplete-no-results {
    padding: 10px 15px;
    color: #a1acb8;
    text-align: center;
    font-size: 0.9rem;
}

/* Selected item view in input - requires JS logic to swap input with this or style input */
.input-group-text.selected-item-logo {
    padding: 0 5px;
    border-right: none;
    background: transparent;
}

.input-group-text.selected-item-logo img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}


/* Select2 Standardization */
.select2-container--default .select2-selection--single {
    border: 1px solid #dee2e6 !important;
    border-radius: 0.5rem !important;
    height: auto !important;
    padding: 0.6rem 1rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    color: #344050 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
    right: 0.5rem !important;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--open .select2-selection--single {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(40, 90, 67, 0.1) !important;
    outline: none !important;
}

/* Fix for Select2 multiple if used */
.select2-container--default .select2-selection--multiple {
    border: 1px solid #dee2e6 !important;
    border-radius: 0.5rem !important;
    padding: 0.2rem 0.5rem !important;
    min-height: 48px;
    /* Approximate height match */
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(40, 90, 67, 0.1) !important;
}

html:not([dir=rtl]) .border-primary,
html[dir=rtl] .border-primary {
    border-color: #285a43 !important;
}

table.table-bordered.dataTable th:first-child,
table.table-bordered.dataTable th:first-child,
table.table-bordered.dataTable td:first-child,
table.table-bordered.dataTable td:first-child {
    border-left-width: 1px !important;
}

table.table-bordered.dataTable th:last-child,
table.table-bordered.dataTable th:last-child,
table.table-bordered.dataTable td:last-child,
table.table-bordered.dataTable td:last-child {
    border-right-width: 1px !important;
}

.bg-menu-theme.menu-vertical .menu-item.active>.menu-link:not(.menu-toggle) {
    background: linear-gradient(72.47deg, #285a43 22.16%, rgb(40 90 67) 76.47%);
    box-shadow: 0px 2px 6px 0px rgb(40 90 67 / 19%);
    color: #fff !important;
}

.bg-custom-theme {
    background-color: #285a43 !important;
}

.text-custom-theme {
    color: #285a43 !important;
}

.border-custom-theme {
    border-color: #285a43 !important;
}

.bg-label-custom-theme {
    background-color: rgba(40, 90, 67, 0.1) !important;
    color: #285a43 !important;
}

.btn-custom-theme {
    background-color: #285a43 !important;
    border-color: #285a43 !important;
}

.btn-custom-theme:hover {
    background-color: #1e4532 !important;
    border-color: #1e4532 !important;
}

.light-style .fc .fc-day-today {
    background-color: white !important;
}

.light-style .fc .fc-toolbar .fc-prev-button .fc-icon,
.light-style .fc .fc-toolbar .fc-next-button .fc-icon {
    color: white;
}

.fc .fc-button-group {
    margin-right: 5px !important;
}

.fc .fc-toolbar .fc-button:not(.fc-next-button):not(.fc-prev-button) {
    padding: 7px 18px;
    margin-left: 6px;
    border-radius: 5px;
}

.btn-text-primary {
    color: #285a43 !important;
}

.btn-text-danger {
    color: #e74a3b !important;
}

.btn-text-warning {
    color: #f59f00 !important;
}

.btn-text-info {
    color: #0dcaf0 !important;
}

#btn_reset_filter {
    margin-bottom: 0px;
    height: 38px;
    box-shadow: none !important;
    border: 1px solid;
    text-transform: capitalize !important;
}

.fc .fc-view-harness {
    margin: 0;
}

.fc .fc-timegrid-axis-cushion,
.fc .fc-timegrid-slot-label-cushion {
    color: #285a43 !important;
    font-weight: 500 !important;
}

.site-text-color {
    color: #285a43 !important;
}

.table> :not(caption)>*>* {
    box-shadow: none !important;
}

.flatpickr-day.selected,
.flatpickr-day.selected.inRange,
.flatpickr-day.selected:focus,
.flatpickr-day.selected:hover,
.flatpickr-day.selected.nextMonthDay,
.flatpickr-day.selected.prevMonthDay,
.flatpickr-day.startRange,
.flatpickr-day.startRange.inRange,
.flatpickr-day.startRange:focus,
.flatpickr-day.startRange:hover,
.flatpickr-day.startRange.nextMonthDay,
.flatpickr-day.startRange.prevMonthDay,
.flatpickr-day.endRange,
.flatpickr-day.endRange.inRange,
.flatpickr-day.endRange:focus,
.flatpickr-day.endRange:hover,
.flatpickr-day.endRange.nextMonthDay,
.flatpickr-day.endRange.prevMonthDay,
.flatpickr-day.week.selected {
    color: #fff !important;
    background: #285a43 !important;
    border-color: #285a43 !important;
}

.flatpickr-day.inRange,
.flatpickr-day.nextMonthDay.inRange,
.flatpickr-day.prevMonthDay.inRange,
.flatpickr-day.today.inRange,
.flatpickr-day.prevMonthDay.today.inRange,
.flatpickr-day.nextMonthDay.today.inRange {
    color: white !important;
    background: #285a43ad !important;
    border-color: #e9e7fd !important;
}

div.dt-button-collection {
    width: auto !important;
    min-width: auto !important;
}

/* Fix DataTables Export Dropdown */
div.dt-button-collection {
    width: auto !important;
    min-width: auto !important;
}

div.dt-button-collection .dt-button {
    min-width: 100px !important;
    text-align: left !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    display: block !important;
    width: 100% !important;
}

div.dt-button-collection .dt-button span {
    margin-left: 0.5rem;
}

div.dt-button-collection .dropdown-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.dropdown-item:not(.disabled).active,
.dropdown-item:not(.disabled):active {
    background-color: transparent;
    color: black;
}

.dt-button:hover {
    border-color: transparent !important;
    background-color: transparent;
}

.menu-icon {
    margin-right: 5px !important;
    font-size: 17px !important;
}

.light-style .dt-button-collection .dropdown-item {
    padding: 5px 0px !important;
}

.btn-primary.disabled,
.btn-primary:disabled {
    color: #fff !important;
    background-color: #285a43 !important;
    border-color: #285a43 !important;
    box-shadow: none !important;
}