:root {
    --primary-color: #283BA2;
    /* --secondary-color: #cf9c1e; */
    --secondary-color: #ffd600;
}

/* Thin blue scrollbars site-wide */
* {
    scrollbar-width: thin;
    scrollbar-color: var(--primary-color) transparent;
}

*::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}

*::-webkit-scrollbar-track {
    background: transparent;
}

*::-webkit-scrollbar-thumb {
    background-color: var(--primary-color);
    border-radius: 2px;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: #1f2f82;
}

/* DataTables toolbar */
.datatable-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.datatable-length,
.datatable-search,
.dataTables_length,
.dataTables_filter {
    display: flex !important;
    align-items: center;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.datatable-length label,
.dataTables_length label,
.datatable-search label,
.dataTables_filter label {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    margin: 0 !important;
    font-weight: 500;
    color: #495057;
    white-space: nowrap;
}

.dataTables_length select {
    display: inline-block;
    width: auto !important;
    min-width: 4.5rem;
    height: 38px;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    margin: 0 !important;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    background-color: #fff;
    vertical-align: middle;
    line-height: 1.5;
}

.dataTables_filter input {
    display: inline-block;
    width: 220px !important;
    max-width: 100%;
    height: 38px;
    margin: 0 !important;
    padding: 0.375rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    background-color: #fff;
    vertical-align: middle;
    line-height: 1.5;
}

.dataTables_filter input:focus,
.dataTables_length select:focus {
    border-color: var(--primary-color) !important;
    outline: none;
    box-shadow: 0 0 0 0.15rem rgba(40, 59, 162, 0.15);
}

.datatable-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.dataTables_info,
.dataTables_paginate {
    float: none !important;
    padding-top: 0 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:active,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:focus {
    background: var(--primary-color) !important;
    background-color: var(--primary-color) !important;
    background-image: none !important;
    border: 1px solid var(--primary-color) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.dataTables_wrapper .dataTables_paginate span .paginate_button.current {
    color: #ffffff !important;
}

.dataTables_wrapper {
    width: 100%;
    min-width: 0;
}

.datatable-scroll {
    width: 100%;
    overflow-x: auto;
}

.datatable-scroll table.dataTable {
    width: max-content !important;
    min-width: 100%;
}

.responsive-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
}

.responsive-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

@media (max-width: 575.98px) {
    .card-header {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .card-header .card-title {
        order: 0;
        flex: 1 1 100%;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .card-header .card-actions {
        order: 1;
        float: none !important;
        max-width: 100%;
    }

    .user-list-card .card-header {
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .user-list-card .card-header .card-title {
        flex: 0 1 auto;
    }

    .user-list-card .card-header .card-actions {
        flex: 0 0 auto;
    }

    .responsive-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .responsive-actions > .btn {
        width: 100%;
    }

    .responsive-actions > button.btn {
        width: 100%;
    }

    .responsive-fellow-row {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .responsive-fellow-row > span {
        flex: 1 1 9rem;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .responsive-switch-row {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .responsive-switch-row > h5 {
        order: 0;
        flex: 1 1 auto;
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .responsive-switch-row > .form-check {
        order: 1;
        margin-left: auto;
    }

    .responsive-switch-row > div:first-child {
        order: 1;
        margin-left: auto;
    }

    .responsive-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .datatable-toolbar,
    .datatable-footer {
        align-items: stretch;
    }

    .datatable-length,
    .datatable-search,
    .datatable-info,
    .datatable-paginate,
    .dataTables_length,
    .dataTables_filter {
        width: 100%;
    }

    .datatable-paginate {
        min-width: 0;
        max-width: 100%;
    }

    .dataTables_wrapper .dataTables_paginate {
        max-width: 100%;
        white-space: nowrap !important;
        text-align: center !important;
    }

    .dataTables_wrapper .dataTables_paginate ul.pagination {
        justify-content: center !important;
        flex-wrap: nowrap !important;
        width: 100%;
        white-space: nowrap !important;
        gap: 0.125rem;
    }

    .dataTables_wrapper .dataTables_paginate ul.pagination li {
        flex: 0 0 auto;
    }

    .dataTables_wrapper .dataTables_paginate .paginate_button {
        margin-left: 0 !important;
        padding: 0.35rem 0.55rem !important;
    }

    .datatable-search label,
    .dataTables_filter label {
        width: 100%;
    }

    .datatable-search input,
    .dataTables_filter input {
        flex: 1;
        min-width: 0;
        width: auto !important;
    }
}

@media (min-width: 1200px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl {
        max-width: 960px !important;
    }
}

.header {
    margin-bottom: 1rem !important;
}

.border-bottom {
    border-bottom: 1px solid var(--primary-color) !important;
}

.content {
    margin-top: 1rem !important;
}

.wrapper:before {
    height: 10rem !important;
}

/* reset password */
.mb-2-8 {
    margin-bottom: 2.8rem;
}

.title-space {
    padding-bottom: 0.6rem;
}

.btn-accoring-to-text {
    width: revert;
}

/* reset password */

.btn-primary,
.list-group-item.active,
.bg-primary-dark,
.splash .splash-icon {
    background-color: var(--primary-color) !important;
    color: var(--secondary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-primary,
.list-group-item.active,
.bg-primary-dark {
    border: var(--primary-color) !important;
}

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

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

a.sidebar-link .fab,
a.sidebar-link .fal,
a.sidebar-link .far,
a.sidebar-link .fas,
a.sidebar-link svg,
.text-primary {
    color: var(--primary-color) !important;
}

.sidebar-item.active>.sidebar-link .fab,
.sidebar-item.active>.sidebar-link .fal,
.sidebar-item.active>.sidebar-link .far,
.sidebar-item.active>.sidebar-link .fas,
.sidebar-item.active>.sidebar-link svg,
.sidebar-item.active>.sidebar-link {
    color: var(--secondary-color) !important;
}

.sidebar-item.active>.sidebar-link {
    background-color: var(--primary-color) !important;
}


.sidebar-link:hover {
    color: var(--primary-color) !important;
    background-color: #e9e9e9 !important;
}

.sidebar-brand,
.sidebar-brand:hover,
.wrapper:before {
    background-color: var(--primary-color) !important;
}

/* .header-title {
    color: #ed1c24 !important;
} */

.dispatch-note {
    display: block;
    /* Ensures the badge behaves like a block element */
    max-width: 100%;
    /* Prevents overflow */
    white-space: normal;
    /* Allows wrapping */
    word-wrap: break-word;
    /* Breaks long words */
    overflow-wrap: break-word;
    /* Ensures text wraps properly */
    text-align: left;
    /* Align text properly */
    padding: 8px;
    /* Adds spacing inside the badge */
}

input:focus,
textarea:focus,
select:focus,
button:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: var(--primary-color) !important;
    border-width: 1px !important;
}

/* Keep sidebar fixed; scroll its own menu when it overflows */
.sidebar-content {
    position: fixed !important;
    top: 0;
    left: 0;
    bottom: 0;
    width: 250px;
    height: 100vh !important;
    max-height: 100vh !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 100;
}

.sidebar-content > .sidebar-user {
    flex-shrink: 0;
}

.sidebar-content > .sidebar-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.sidebar.toggled .sidebar-content {
    left: -250px;
}

@media (max-width: 991.98px) {
    .sidebar .sidebar-content {
        left: -250px;
    }

    .sidebar.toggled .sidebar-content {
        left: 0;
    }
}

.sidebar-user {
    padding: 1rem 1rem 0.5rem !important;
    overflow: hidden;
}

.sidebar-user .navbar-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    margin: 0;
    padding: 0.5rem 0;
}

/* Keep main menu items aligned with each other, and sub menus with each other */
.sidebar-nav > .sidebar-item > .sidebar-link {
    display: flex !important;
    align-items: center;
    margin: 0 0.5rem !important;
    padding: 0.65rem 0.75rem !important;
}

.sidebar-nav > .sidebar-item > .sidebar-link > i:first-child {
    width: 1.25rem;
    margin-right: 0.75rem !important;
    text-align: center;
    flex-shrink: 0;
}

.sidebar-nav > .sidebar-item > .sidebar-link > span {
    flex: 1;
    min-width: 0;
}

.sidebar-dropdown .sidebar-link,
.sidebar-dropdown .sidebar-item .sidebar-link {
    display: flex !important;
    align-items: center;
    margin: 0 0.5rem !important;
    padding: 0.4rem 0.75rem 0.4rem 1.5rem !important;
}

.sidebar-dropdown .sidebar-link > i:first-child {
    width: 1rem;
    margin-right: 0.5rem !important;
    text-align: center;
    flex-shrink: 0;
}

.sidebar-dropdown .sidebar-link > span {
    flex: 1;
    min-width: 0;
}

.cardscroll {
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    max-height: 20rem;
}

.text-bg-warning,
.bg-warning {
    background-color: var(--secondary-color) !important;
}

.navbar-brand {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding-top: 0;
    padding-bottom: 0;
}

.navbar-brand .logo,
.sidebar-user img,
img.logo {
    display: block;
    height: auto !important;
    width: auto !important;
    max-height: 2rem !important;
    max-width: 100% !important;
    object-fit: contain;
    padding: 0 !important;
}

/* Slightly larger on auth/login cards */
.text-center .navbar-brand {
    justify-content: center;
}

.text-center .navbar-brand .logo,
.text-center img.logo {
    max-height: 2.5rem !important;
}

.center-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nav-tab {
    --bs-nav-link-padding-x: 1rem;
    --bs-nav-link-padding-y: 0.5rem;
    --bs-nav-link-font-weight: ;
    --bs-nav-link-color: var(--bs-link-color);
    --bs-nav-link-hover-color: var(--bs-link-hover-color);
    --bs-nav-link-disabled-color: var(--bs-secondary-color);
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-bottom: 0;
    padding-left: 0;
}

.nav-item-tab {
    padding: 0.5rem !important;
}

.nav-tab .active {
    background-color: #ececec;
}

.sidebar-link,
a.sidebar-link {
    border-radius: .6rem !important;
    padding: .5rem .6rem !important;
}

.sidebar [data-bs-toggle=collapse]:before {
    top: 1.1rem !important;
}

.sidebar-item {
    margin-bottom: 0.3rem !important;
}

.sidebar-dropdown {
    padding-left: 0.25rem !important;
}

.min-height {
    min-height: 85vh !important;
}

.big-checkbox {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #007bff;
    background-color: #fff;
}

.avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: relative;
}

.avatar-sm {
    height: 32px !important;
    width: 32px !important;
    min-width: 32px;
    min-height: 32px;
}

.avatar-md {
    height: 48px !important;
    width: 48px !important;
    min-width: 48px;
    min-height: 48px;
}

.avatar-lg {
    height: 64px !important;
    width: 64px !important;
    min-width: 64px;
    min-height: 64px;
}

.avatar i {
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.avatar-sm i {
    font-size: 12px;
}

.avatar-md i {
    font-size: 16px;
}

.avatar-lg i {
    font-size: 20px;
}

.avatar>* {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.quick-action-icon {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.avatar.d-flex {
    display: flex !important;
}

.stats-card .stat,
.stats-card .bg-primary,
.stats-card .bg-info,
.stats-card .bg-warning,
.stats-card .bg-success,
.stats-card .bg-danger {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 48px;
    width: 48px;
    height: 48px;
}

.stats-card .bg-primary i,
.stats-card .bg-info i,
.stats-card .bg-warning i,
.stats-card .bg-success i,
.stats-card .bg-danger i {
    display: flex;
    align-items: center;
    justify-content: center;
}

.validation-message {
    font-size: 13px !important;
}