:root {
    --brand-primary: #A57CC7;
    --brand-primary-hover: #8B63B3;
    --brand-primary-dark: #2A1C38;
    --brand-primary-mid: #4A2C6A;
    --brand-primary-soft: #C9A7E6;
    --brand-primary-light: #F4ECFA;
    --brand-success: #3CB8A3;
    --brand-success-hover: #329E8C;
    --brand-warning: #E0B04A;
    --brand-warning-hover: #C99A3A;
    --brand-info: #7B8EE8;
    --brand-info-hover: #6678D0;
    --brand-danger: #E06B8A;
    --brand-danger-hover: #C85A76;
    --brand-text: #3D3550;
    --brand-muted: #8A7FA0;
}

body {
    color: var(--brand-text);
}

.content-wrapper,
.wrapper {
    background-color: var(--brand-primary-light);
}

.main-footer {
    background-color: #fff;
    border-top-color: #E6D9F2;
    color: var(--brand-muted);
}

.navbar-light .navbar-nav .nav-link {
    color: var(--brand-text);
}

.navbar-badge-date b {
    color: var(--brand-primary);
}

.main-header.navbar-white {
    border-bottom: 1px solid #E6D9F2;
}

.brand-link {
    color: #fff !important;
}

/* Sidebar */
.main-sidebar,
.main-sidebar.sidebar-dark-primary {
    background-color: var(--brand-primary-dark);
}

.sidebar-dark-primary .brand-link {
    border-bottom-color: rgba(165, 124, 199, 0.25);
}

.sidebar-dark-primary .user-panel {
    border-bottom-color: rgba(165, 124, 199, 0.25);
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active:hover,
.sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link,
.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link.active {
    background-color: var(--brand-primary) !important;
    color: #fff;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link:hover,
.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link:hover {
    background-color: rgba(165, 124, 199, 0.22);
}

.sidebar-dark-primary .nav-header {
    color: var(--brand-primary-soft);
}

/* Buttons */
.btn-primary {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    background-color: var(--brand-primary-hover) !important;
    border-color: var(--brand-primary-hover) !important;
    color: #fff;
}

.btn-success {
    background-color: var(--brand-success);
    border-color: var(--brand-success);
    color: #fff;
}
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active {
    background-color: var(--brand-success-hover) !important;
    border-color: var(--brand-success-hover) !important;
    color: #fff;
}

.btn-warning {
    background-color: var(--brand-warning);
    border-color: var(--brand-warning);
    color: var(--brand-text);
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active {
    background-color: var(--brand-warning-hover) !important;
    border-color: var(--brand-warning-hover) !important;
}

.btn-info {
    background-color: var(--brand-info);
    border-color: var(--brand-info);
    color: #fff;
}
.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active {
    background-color: var(--brand-info-hover) !important;
    border-color: var(--brand-info-hover) !important;
    color: #fff;
}

.btn-danger {
    background-color: var(--brand-danger);
    border-color: var(--brand-danger);
    color: #fff;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active {
    background-color: var(--brand-danger-hover) !important;
    border-color: var(--brand-danger-hover) !important;
    color: #fff;
}

.btn-outline-primary {
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.btn-outline-primary:hover, .btn-outline-primary:focus, .btn-outline-primary:active {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
}

.btn-outline-danger {
    color: var(--brand-danger);
    border-color: var(--brand-danger);
}
.btn-outline-danger:hover, .btn-outline-danger:focus, .btn-outline-danger:active {
    background-color: var(--brand-danger);
    border-color: var(--brand-danger);
    color: #fff;
}

.btn-outline-info {
    color: var(--brand-info);
    border-color: var(--brand-info);
}
.btn-outline-info:hover {
    background-color: var(--brand-info);
    border-color: var(--brand-info);
    color: #fff;
}

.btn-outline-success {
    color: var(--brand-success);
    border-color: var(--brand-success);
}
.btn-outline-success:hover {
    background-color: var(--brand-success);
    border-color: var(--brand-success);
    color: #fff;
}

/* Backgrounds / small boxes */
.bg-primary, .badge-primary, .label-primary { background-color: var(--brand-primary) !important; }
.bg-success, .badge-success, .label-success { background-color: var(--brand-success) !important; }
.bg-warning, .badge-warning, .label-warning { background-color: var(--brand-warning) !important; color: var(--brand-text) !important; }
.bg-info, .badge-info, .label-info { background-color: var(--brand-info) !important; }
.bg-danger, .badge-danger, .label-danger { background-color: var(--brand-danger) !important; }

.text-primary { color: var(--brand-primary) !important; }
.text-success { color: var(--brand-success) !important; }
.text-warning { color: var(--brand-warning-hover) !important; }
.text-info { color: var(--brand-info) !important; }
.text-danger { color: var(--brand-danger) !important; }

.small-box.bg-primary { background-color: var(--brand-primary) !important; }
.small-box.bg-success { background-color: var(--brand-success) !important; }
.small-box.bg-warning { background-color: var(--brand-warning) !important; color: var(--brand-text) !important; }
.small-box.bg-info { background-color: var(--brand-info) !important; }
.small-box.bg-danger { background-color: var(--brand-danger) !important; }
.small-box .small-box-footer {
    background-color: rgba(0, 0, 0, 0.08);
}

.info-box-icon.bg-primary { background-color: var(--brand-primary) !important; }
.info-box-icon.bg-success { background-color: var(--brand-success) !important; }
.info-box-icon.bg-warning { background-color: var(--brand-warning) !important; }
.info-box-icon.bg-info { background-color: var(--brand-info) !important; }
.info-box-icon.bg-danger { background-color: var(--brand-danger) !important; }

/* Alerts */
.alert-success { background-color: #E5F7F3; border-color: #B7E8DE; color: #1F6F63; }
.alert-danger { background-color: #FBE8EE; border-color: #F3C2CF; color: #8E3250; }
.alert-warning { background-color: #FBF3DC; border-color: #F0DC9A; color: #7A5C18; }
.alert-info { background-color: #E8ECFB; border-color: #C5CDF3; color: #35448A; }
.alert-primary { background-color: #F4ECFA; border-color: #E0C9F0; color: var(--brand-primary-mid); }

/* Cards / nav */
.card-primary:not(.card-outline) > .card-header {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.card-primary.card-outline {
    border-top-color: var(--brand-primary);
}
.card-success.card-outline { border-top-color: var(--brand-success); }
.card-warning.card-outline { border-top-color: var(--brand-warning); }
.card-info.card-outline { border-top-color: var(--brand-info); }
.card-danger.card-outline { border-top-color: var(--brand-danger); }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--brand-primary);
}

.nav-tabs .nav-link.active {
    color: var(--brand-primary);
    border-top-color: var(--brand-primary);
}

.page-item.active .page-link {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}
.page-link {
    color: var(--brand-primary);
}
.page-link:hover {
    color: var(--brand-primary-hover);
    background-color: var(--brand-primary-light);
}

.list-group-item.active {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.dropdown-item.active, .dropdown-item:active {
    background-color: var(--brand-primary);
}

.progress-bar { background-color: var(--brand-primary); }
.progress-bar.bg-success { background-color: var(--brand-success) !important; }
.progress-bar.bg-warning { background-color: var(--brand-warning) !important; }
.progress-bar.bg-info { background-color: var(--brand-info) !important; }
.progress-bar.bg-danger { background-color: var(--brand-danger) !important; }

.custom-control-input:checked ~ .custom-control-label::before,
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before,
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.form-control:focus,
.custom-select:focus,
.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(165, 124, 199, 0.25);
}

a {
    color: var(--brand-primary);
}
a:hover {
    color: var(--brand-primary-hover);
}

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

.swal2-styled.swal2-confirm {
    background-color: var(--brand-primary) !important;
}
.swal2-styled.swal2-cancel {
    background-color: #C5B8D4 !important;
}

.table thead th {
    color: var(--brand-text);
}

.card {
    border-color: #E6D9F2;
}
