:root {
    --primary-color: #6441EF;
    --secondary-color: #E4DEFC;
    --text-color: #180859;
    --red-bg-color: #FCDEDE;
    --red-text-color: #590808;
    --green-bg-color: #E2FCDE;
    --green-text-color: #1D5908;
    --orange-bg-color: #FCF2DE;
    --orange-text-color: #593E08;
}

body, h1, h2, h3, h4, h5, h6, p, span, input, label {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    letter-spacing: -0.5px;
    color: var(--text-color);
}

/* 8px, 16px, 20px, 24px, 32px, 36px, 40px */
.mb-8 {
    margin-bottom: 0.5rem; 
}
.mb-16 {
    margin-bottom: 1rem;
}
.mb-20 {
    margin-bottom: 1.25rem;
}
.mb-24 {
    margin-bottom: 1.5rem;
}
.mb-32 {
    margin-bottom: 2rem;
}
.mb-36 {
    margin-bottom: 2.25rem;
}
.mb-40 {
    margin-bottom: 2.5rem!important;
}

/* Login page */
.login-page h1 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -1px;
}

.login-page .card {
    border-radius: 16px;
}

.login-page .card .card-body {
    padding: 2rem 2.25rem;
}

.login-page p {
    opacity: 0.71;
    font-weight: 600;
}

.login-page input[type=text],
.login-page input[type=password] {
    border-radius: 8px!important;
    min-height: 44px;
}

.login-page input,
.login-page input::placeholder, 
.login-page input:focus {
    font-weight: 600;
    letter-spacing: -0.5px;
    color: var(--text-color);
}

.login-page input::placeholder {
    opacity: 0.75;
}

.login-page .checkbox label {
    font-weight: 600;
}

.login-page .label {
    color: var(--text-color);
    font-weight: 600;
    opacity: 0.71;
}

.login-page input[type=checkbox] {
    accent-color: var(--secondary-color);
    outline: var(--secondary-color);
}

.login-page input[type=checkbox]:hover {
    color: var(--secondary-color);
}

.login-page .gap-24 {
    gap: 24px;
}

.login-page .btn-login {
    font-weight: 600;
    background-color: var(--primary-color);
    color: var(--secondary-color);
    letter-spacing: -0.5px;
    flex-grow: 1;
    padding: 16px;
    font-size: 20px;
    border-radius: 8px;
    transition: all;
    transition-duration: 300ms;
}
.login-page .btn-login:hover {
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: var(--primary-color);
}

.login-page .btn-register {
    font-weight: 600;
    color: var(--text-color);
    letter-spacing: -0.5px;
    font-size: 20px;
    gap: 8px;
    opacity: 1;
    transition: all;
    transition-duration: 300ms;
}
.login-page .btn-register:hover {
    opacity: 0.75;
}

/* Sidebar */
.c-sidebar {
    flex: 0 0 316px;
    width: 316px;
    border-top-right-radius: 16px;
    border-bottom-right-radius: 16px;
}

.c-sidebar .c-sidebar-nav-dropdown-toggle::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'%3E%3Cpath fill='rgba(24, 8, 89, 1)' d='M9.148 2.352l-4.148 4.148 4.148 4.148q0.148 0.148 0.148 0.352t-0.148 0.352l-1.297 1.297q-0.148 0.148-0.352 0.148t-0.352-0.148l-5.797-5.797q-0.148-0.148-0.148-0.352t0.148-0.352l5.797-5.797q0.148-0.148 0.352-0.148t0.352 0.148l1.297 1.297q0.148 0.148 0.148 0.352t-0.148 0.352z'/%3E%3C/svg%3E")!important;
}

@media (min-width: 992px) and (min-width: 992px) {
    html:not([dir=rtl]) .c-sidebar.c-sidebar-lg-show:not(.c-sidebar-right).c-sidebar-fixed~.c-wrapper, 
    html:not([dir=rtl]) .c-sidebar.c-sidebar-show:not(.c-sidebar-right).c-sidebar-fixed~.c-wrapper {
        margin-left: 316px;
    }
}

html:not([dir=rtl]) .c-sidebar:not(.c-sidebar-right) {
    margin-left: -316px;
}

.c-sidebar .c-sidebar-brand, 
.c-sidebar .c-sidebar-header {
    padding: 24px;
}

.c-sidebar,
.c-sidebar .c-sidebar-brand, 
.c-sidebar .c-sidebar-header {
    background: #fff;
}

.c-sidebar .company-name {
    font-size: 20px;
}

.c-sidebar .company-logo {
    border-radius: 8px;
    background-color: var(--primary-color);
    height: 51px;
    width: 51px;
    margin-right: 12px;
}

.c-sidebar .c-sidebar-nav .c-sidebar-nav-item .c-sidebar-nav-link,
.c-siderbar, .c-sidebar-nav .c-sidebar-nav-dropdown .c-sidebar-nav-dropdown-toggle {
    color: var(--text-color);
    border-radius: 4px;
}

.c-sidebar .c-active.c-sidebar-nav-dropdown-toggle, 
.c-sidebar .c-sidebar-nav-link.c-active {
    background-color: var(--secondary-color);
}

.c-sidebar .c-sidebar-nav-dropdown-toggle:hover, 
.c-sidebar .c-sidebar-nav-link:hover {
    background-color: var(--secondary-color);
}

.c-sidebar .c-sidebar-nav {
    margin-left: 24px;
    margin-right: 24px;
}

.c-sidebar .c-sidebar-nav-dropdown.c-show {
    background-color: var(--secondary-color);
    border-radius: 4px;
}

.c-sidebar .c-sidebar-nav-dropdown.c-show .c-sidebar-nav-dropdown-toggle, 
.c-sidebar .c-sidebar-nav-dropdown.c-show .c-sidebar-nav-link {
    color: var(--text-color);
}

.c-sidebar .c-active.c-sidebar-nav-dropdown-toggle, 
.c-sidebar .c-sidebar-nav-dropdown .c-sidebar-nav-dropdown-items .c-sidebar-nav-link.c-active,
.c-sidebar .c-sidebar-nav-dropdown .c-sidebar-nav-dropdown-items .c-sidebar-nav-link:hover {
    background-color: #CDC2FA;
}

.c-sidebar .c-sidebar-nav-item .c-sidebar-nav-link .c-sidebar-nav-icon,
.c-sidebar .c-sidebar-nav-dropdown .c-sidebar-nav-dropdown-toggle .c-sidebar-nav-icon {
    color: var(--text-color);
    opacity: 0.5;
}

.c-sidebar .c-sidebar-nav-item .c-sidebar-nav-link.c-active .c-sidebar-nav-icon {
    color: var(--primary-color);
    opacity: 1;
}

/* Header */
.c-header-toggler {
    background-color: var(--secondary-color);
    min-width: fit-content;
    height: 40px;
    width: 40px;
    border-radius: 100px;
    padding: 0;
}
.c-header-toggler i {
    color: var(--text-color);
    font-size: 14px;
}

/* Main */
.c-main {
    margin-bottom: 2rem;
}

.c-wrapper .c-body,
.c-wrapper .c-header {
    background-color: #F9F9F9;
    border: 0;
}

/* Users */
.page-title h1 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -1px;
    color: var(--text-color);
    margin-bottom: 0px;
}
.page-title h2 {
    font-size: 16px;
    letter-spacing: -0.5px;
    color: var(--text-color);
    opacity: 0.71;
    margin-bottom: 6px;
}
.page-title p {
    font-size: 14px;
    letter-spacing: -0.5px;
    color: var(--text-color);
    margin-top: 6px;
}

.secondary-title h2 {
    font-size: 20px;
    letter-spacing: -0.5px;
    color: var(--text-color);
}

.dataTables_filter input {
    border-radius: 8px;
    font-weight: 600;
    color: var(--text-color);
    border-color: var(--text-color);
    height: 34px;
    font-size: 14px;
}

.dataTables_filter input:focus {
    color: var(--text-color);
}

.dataTables_filter input::placeholder {
    font-weight: 600;
    color: var(--text-color);
    opacity: 0.71;
}

.dataTables_filter,
.dataTables_filter label {
    margin-bottom: 0;
}

.btn {
    border-radius: 8px;
    font-weight: 600;
    letter-spacing: -0.5px;
}

.table-buttons .dt-buttons {
    text-align: left;
    gap: 8px;
    display: flex;
    flex-wrap: wrap;
}

.table-buttons .dt-buttons a {
    border-radius: 8px;
}

.table-buttons .dt-buttons .buttons-select-all,
.table-buttons .dt-buttons .buttons-select-none  {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}
.table-buttons .dt-buttons .buttons-select-all:hover,
.table-buttons .dt-buttons .buttons-select-none:hover {
    background-color: var(--secondary-color);
    border-color: var(--primary-color);
}

.table-buttons .dt-buttons .buttons-select-all span,
.table-buttons .dt-buttons .buttons-select-none span {
    color: var(--secondary-color);
}
.table-buttons .dt-buttons .buttons-select-all:hover span,
.table-buttons .dt-buttons .buttons-select-none:hover span {
    color: var(--primary-color);
}

.table-buttons .dt-buttons .btn-default {
    background-color: var(--secondary-color);
}
.table-buttons .dt-buttons .btn-default:hover {
    border-color: var(--text-color);
}
.table-buttons .dt-buttons .btn-default span {
    color: var(--text-color);
}

.table-buttons .dt-buttons .btn-danger {
    background-color: var(--red-bg-color);
    border-color: var(--red-bg-color);
}
.table-buttons .dt-buttons .btn-danger:hover {
    border-color: var(--red-text-color);
}
.table-buttons .dt-buttons .btn-danger span {
    color: var(--red-text-color);
}

.btn-success {
    background-color: var(--green-bg-color);
    border-color: var(--green-bg-color);
    color: var(--green-text-color);
}
.btn-success:hover {
    background-color: var(--green-bg-color);
    border-color: var(--green-text-color);
    color: var(--green-text-color);
}

.buttons-columnVisibility {
    background-color: var(--secondary-color);
}
.buttons-columnVisibility.active {
    background-color: var(--primary-color);
}
.buttons-columnVisibility.active span {
    color: var(--secondary-color);
}

.dt-button-collection {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.row-buttons .btn-success {
    margin-left: 0.333em;
}

.length-control .dataTables_length label {
    display: flex;
    gap: 8px;
    align-items: center;
}

.length-control .dataTables_length label select {
    font-weight: 600;
    color: var(--text-color);
}

.dataTables_scrollHeadInner {
    border: 1px solid var(--text-color)!important;
    border-radius: 8px;
    background-color: #fff;
    box-sizing: border-box!important;
}

.dataTables_scrollBody .table.dataTable {
    border-spacing: 0 0.75em;
}

.table.dataTable,
.table.dataTable th {
    border: 0;
    margin-top: 0px!important;
}

.table.dataTable th {
    padding-left: 10px;
}

.table.dataTable tbody tr td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border: 1px solid rgba(24, 8, 89, 0.12);
    border-right-width: 0;
}
.table.dataTable tbody tr td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    border: 1px solid rgba(24, 8, 89, 0.12);
    border-left-width: 0;
}
.table.dataTable tbody tr td:not(:last-child):not(:first-child) {
    border: 1px solid rgba(24, 8, 89, 0.12)!important;
    border-left-width: 0!important;
    border-right-width: 0!important;
}

.dataTables_scrollBody .table.dataTable tr {
    height: 57px;
}

.table.dataTable tr {
    color: var(--text-color);
}

.table-hover tbody tr:hover {
    color: var(--text-color);
    background-color: #fff;
}

.table.dataTable tbody tr:hover td:not(:last-child):not(:first-child),
.table.dataTable tbody tr:hover td {
    border-color: rgba(24, 8, 89, 0.40)!important;
}

table.dataTable tbody>tr.selected, 
table.dataTable tbody>tr>.selected {
    background-color: #fff;
}

table.dataTable tbody>tr.selected td, 
table.dataTable tbody>tr>.selected td,
table.dataTable tbody>tr.selected td:not(:last-child):not(:first-child), 
table.dataTable tbody>tr>.selected td:not(:last-child):not(:first-child) {
    border-color: rgba(24, 8, 89, 0.40)!important;
}

.table .btn-primary,
.table .btn-primary:active,
.datatable-mobile .data-btns .btn-primary,
.datatable-mobile .data-btns .btn-primary:active {
    background-color: var(--green-bg-color)!important;
    border-color: var(--green-bg-color)!important;
    color: var(--green-text-color)!important;
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
}
.table .btn-primary:hover,
.datatable-mobile .data-btns .btn-primary:hover {
    border-color: var(--green-text-color)!important;
}

.table .btn-info,
.table .btn-info:active,
.datatable-mobile .data-btns .btn-info,
.datatable-mobile .data-btns .btn-info:active {
    background-color: var(--orange-bg-color)!important;
    border-color: var(--orange-bg-color)!important;
    color: var(--orange-text-color)!important;
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
}
.table .btn-info:hover,
.datatable-mobile .data-btns .btn-info:hover {
    border-color: var(--orange-text-color)!important;
}

.table .btn-danger,
.table .btn-danger:active,
.datatable-mobile .data-btns .btn-danger,
.datatable-mobile .data-btns .btn-danger:active {
    background-color: var(--red-bg-color)!important;
    border-color: var(--red-bg-color)!important;
    color: var(--red-text-color)!important;
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
}
.table .btn-danger:hover,
.datatable-mobile .data-btns .btn-danger:hover {
    border-color: var(--red-text-color)!important;
}

.table.dataTable .badge,
.datatable-mobile .data-block .badge {
    background-color: transparent;
    border: 1px solid var(--primary-color)!important;
    color: var(--primary-color)!important;
    padding: 0.5em 0.25em 0.45em 0.25em;
    font-size: 14px;
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
    border: 0;
}

.dataTables_info {
    color: var(--text-color)!important;
    padding-top: 0!important;
}

.dataTables_paginate .pagination .previous.disabled,
.dataTables_paginate .pagination .next.disabled {
    display: none; 
}

.dataTables_paginate .pagination .previous:hover,
.dataTables_paginate .pagination .next:hover {
    opacity: 0.71;
}

.dataTables_paginate .pagination .previous {
    margin-right: 8px;
}

.dataTables_paginate .pagination .next {
    margin-left: 8px;
}

.dataTables_paginate .pagination li .page-link {
    border: 0;
    font-size: 12px;
    height: 26px;
    padding: 0;
    display: flex;
    align-items: center;
    color: var(--text-color);
}
.dataTables_paginate .pagination li .page-link:hover {
    background-color: transparent;
}

.dataTables_paginate .pagination li:not(.next):not(.previous) .page-link {
    border-radius: 100px;
    width: 26px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.dataTables_paginate .pagination li:not(.next):not(.previous) .page-link:hover {
    background-color: var(--secondary-color);
}


.dataTables_paginate .pagination .active .page-link {
    background-color: var(--secondary-color);
}

.dataTables_wrapper .bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

form label {
    opacity: 0.71;
}

form select.form-control,
form textarea {
    letter-spacing: -0.5px;
}

form input[type=text],
form input[type=password],
form input[type=email],
form input[type=number],
form .select2-selection,
form select.form-control {
    min-height: 44px;
    border-color: rgba(24, 8, 89, 0.12);
}

form input[type=text],
form input[type=text]:focus,
form input[type=email],
form input[type=email]:focus,
form input[type=password],
form input[type=password]:focus,
form input[type=number],
form input[type=number]:focus,
form select.form-control,
form select.form-control:focus,
form textarea,
form textarea:focus {
    color: var(--text-color)!important;
    font-weight: 600;
}

form input[type=text]:focus,
form input[type=email]:focus,
form input[type=password]:focus,
form input[type=number]:focus,
form select.form-control:focus,
form textarea:focus {
    border-color: var(--text-color);
}

form .select2-container .select2-selection .select2-selection__arrow {
    height: 44px;
}

form .select2-container .select2-selection .select2-selection__arrow b {
    border-color: var(--text-color) transparent transparent transparent;
}

form .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    color: var(--text-color);
}

form .select2-container .select2-selection--single,
form .select2-container .select2-selection--multiple {
    border-color: rgba(24, 8, 89, 0.12);
    min-height: 44px;
}

form .btn-danger {
    background-color: var(--red-bg-color);
    border-color: var(--red-bg-color);
    color: var(--red-text-color);
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
}
form .btn-danger:hover {
    background-color: var(--red-bg-color);
    border-color: var(--red-text-color);
    color: var(--red-text-color);
}

form .btn-success {
    background-color: var(--green-bg-color);
    border-color: var(--green-bg-color);
    color: var(--green-text-color);
    font-size: 14px;
    padding-left: 8px;
    padding-right: 8px;
}
form .btn-success:hover {
    background-color: var(--green-bg-color);
    border-color: var(--green-text-color);
    color: var(--green-text-color);
}

form .select-all {
    background-color: var(--orange-bg-color);
    border-color: var(--orange-bg-color);
    color: var(--orange-text-color);
    border-radius: 4px!important;
}
form .select-all:hover {
    background-color: var(--orange-bg-color);
    border-color: var(--orange-text-color);
    color: var(--orange-text-color);
}

form .deselect-all {
    background-color: var(--red-bg-color);
    border-color: var(--red-bg-color);
    color: var(--red-text-color);
    border-radius: 4px!important;
}
form .deselect-all:hover {
    background-color: var(--red-bg-color);
    border-color: var(--red-text-color);
    color: var(--red-text-color);
}

form .select2-container {
    min-height: 44px;
    height: auto;
}

form .select2-container--default .select2-selection--multiple .select2-selection__choice {
    padding: 6px;
    background-color: var(--secondary-color);
    border: 0;
}

form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--text-color);
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--secondary-color);
    color: var(--text-color);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--primary-color);
    color: var(--secondary-color);
}

form .select2-selection__rendered {
    padding-bottom: 0!important;
}

.back-link {
    gap: 8px;
    color: var(--text-color);
}

.back-link:hover {
    text-decoration: none;
    color: var(--text-color);
}

.back-link:hover .back-arrow {
    border-color: var(--text-color);
}

.back-link .back-arrow {
    width: 27px; 
    height: 27px;
    border-radius: 100px;
    border: 1px solid var(--secondary-color);
    background-color: var(--secondary-color);
}

.table.show {
    color: var(--text-color);
}
.table-striped.show tbody tr:nth-of-type(odd) {
    background: rgba(228, 222, 252, 0.5);
}

.nav-tabs {
    border: 0;
}
.nav-tabs .nav-item .nav-link {
    color: var(--text-color);
    border-radius: 100px;
    border: 0;
}
.nav-tabs .nav-item .nav-link.active {
    background-color: var(--secondary-color);
}

.dropzone {
    border-color: rgba(24, 8, 89, 0.12);
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}

div.dt-button-info {
    border-radius: 12px;
    border-color: rgba(24, 8, 89, 0.12);
    background-color: var(--secondary-color);
    color: var(--text-color);
}
div.dt-button-info h2 {
    font-weight: 700;
    color: var(--text-color);
}

/* .datatable-mobile {
    background-color: #fff;
    border: 1px solid rgba(24, 8, 89, 0.12);
    padding: 16px 24px 28px 24px;
    border-radius: 12px;
    margin-bottom: 24px;
}

.datatable-mobile .data-block {
    padding-top: 12px;
    padding-bottom: 12px;
}

.datatable-mobile .data-block div:first-child {
    color: var(--text-color);
    opacity: 0.71;
}

.datatable-mobile .data-block div:last-child {
    color: var(--text-color);
    text-align: right;
}

.datatable-mobile .data-btns {
    padding-top: 12px;
    gap: 8px;
} */

@media (max-width: 768px) {
    .table.dataTable tbody tr td:not(:last-child):not(:first-child) {
        border-top: 0!important;
    }

    .datatable thead, .dataTables_scrollHeadInner {
        display: none;
    }
    
    .datatable, .datatable tbody, .datatable tr, .datatable td {
        display: block;
    }
    
    .datatable tr {
        margin-bottom: 20px;
        border: 1px solid rgba(24, 8, 89, 0.12);
        border-radius: 12px;
        padding: 10px;
        background-color: #fff;
    }
    
    .datatable td {
        display: flex;
        justify-content: space-between;
        padding: 5px 0;
        border: none;
    }
    
    .datatable td[data-label]:before {
        content: attr(data-label);
        font-weight: bold;
        width: 40%;
        display: inline-block;
        text-align: left;
        color: var(--text-color);
        opacity: 0.71;
        align-self: start;
    }
    .datatable td[data-label]:last-child:before {
        width: 20%;
    }

    .datatable td:last-child {
        display: block;
        border: 0!important;
    }

    .dataTables_scrollBody .table.dataTable tr {
        height: initial;
    }

    .datatable td[data-label=""]:before {
        content: "";
    }

    .table.dataTable tbody tr td:first-child {
        border-right-width: 1px;
        border-radius: 8px;
    }

    .datatable tbody tr td:first-child {
        /* margin-bottom: 20px;  */
        display: none!important;
    }
    
    .dataTable tbody th, 
    .dataTable tbody td {
        padding: 8px 0!important;
        align-items: center;
    }

    .table.dataTable tbody>tr.selected td,
    .table.dataTable tbody>tr:hover td,
    .table.dataTable tbody>tr.selected td:not(:last-child):not(:first-child),
    .table.dataTable tbody>tr:hover td:not(:last-child):not(:first-child) {
        border-color: rgba(24, 8, 89, 0.12)!important;
    }

    .table.dataTable tbody>tr.selected {
        border-color: rgba(24, 8, 89, 0.40)!important;
    }

    .row-buttons {
        display: none!important;
    }

    .table.dataTable .badge {
        font-size: 10px;
    }

    .table.dataTable tbody tr td:last-child a,
    .table.dataTable tbody tr td:last-child form {
        float: right;
    }
    .table.dataTable tbody tr td:last-child a:nth-child(2) {
        margin-left: 8px;
        margin-right: 8px;
    }
}

/* Frontend */
.navbar .navbar-brand {
    color: var(--text-color);
}

.navbar .navbar-nav .nav-item .nav-link {
    color: rgba(24, 8, 89, 0.71);
}
.navbar .navbar-nav .nav-item .nav-link:hover {
    color: var(--text-color);
}

.table.frontend {
    border-spacing: 0 1rem;
    border-bottom: 0!important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0!important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: transparent;
    border-color: var(--secondary-color);
}