:root,
[data-bs-theme="dark"] {
    color-scheme: dark;
    --bs-body-color: #e8edf2;
    --bs-body-color-rgb: 232, 237, 242;
    --bs-body-bg: #101419;
    --bs-body-bg-rgb: 16, 20, 25;
    --bs-emphasis-color: #ffffff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: #b5bec8;
    --bs-secondary-color-rgb: 181, 190, 200;
    --bs-secondary-bg: #192028;
    --bs-secondary-bg-rgb: 25, 32, 40;
    --bs-tertiary-bg: #202933;
    --bs-tertiary-bg-rgb: 32, 41, 51;
    --bs-border-color: #5f6e7d;
    --bs-border-color-translucent: rgba(197, 210, 223, 0.2);
    --bs-link-color: #82b9ff;
    --bs-link-hover-color: #b1d3ff;
    --bs-code-color: #e9c4ff;
    --bs-highlight-color: #fff0b8;
    --bs-highlight-bg: #59491b;
    --bs-primary: #438fe0;
    --bs-primary-rgb: 67, 143, 224;
    --bs-success: #47ad78;
    --bs-success-rgb: 71, 173, 120;
    --bs-info: #4aa9c7;
    --bs-info-rgb: 74, 169, 199;
    --bs-warning: #d9a634;
    --bs-warning-rgb: 217, 166, 52;
    --bs-danger: #d85b6a;
    --bs-danger-rgb: 216, 91, 106;
}

html,
body {
    min-height: 100%;
    background: var(--bs-body-bg);
}

body {
    letter-spacing: 0;
}

::selection {
    color: #ffffff;
    background: #285f99;
}

.admin-shell,
.admin-login,
.admin-tool {
    background: #101419;
}

.admin-navbar {
    background: #171d24 !important;
    border-color: #5f6e7d !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03);
}

.admin-sidebar {
    background: #141a21;
    border-color: #5f6e7d !important;
}

.admin-main {
    min-width: 0;
    background: #101419;
}

.admin-sidebar .nav-link {
    color: #c6d0da;
    border-left: 3px solid transparent;
    border-radius: 0 0.375rem 0.375rem 0;
    padding: 0.55rem 0.75rem;
}

.admin-sidebar .nav-link:hover,
.admin-sidebar .nav-link:focus-visible {
    color: #ffffff;
    background: #202933;
    border-left-color: #67a8ef;
}

.card,
.list-group-item,
.modal-content,
.dropdown-menu,
.admin-panel {
    background-color: #192028;
    border-color: #5f6e7d;
}

.card.shadow-lg {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.5) !important;
}

.admin-login .card {
    border: 1px solid #5f6e7d !important;
}

.bg-body {
    background-color: #171d24 !important;
}

.bg-body-tertiary {
    background-color: #202933 !important;
}

.text-secondary,
.text-muted,
.form-text {
    color: #b5bec8 !important;
}

.border,
.border-top,
.border-end,
.border-bottom,
.border-start {
    border-color: #5f6e7d !important;
}

.border-danger {
    border-color: #dc6977 !important;
}

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

.text-success {
    color: #70d49d !important;
}

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

.table {
    --bs-table-color: #e8edf2;
    --bs-table-bg: transparent;
    --bs-table-border-color: #5f6e7d;
    --bs-table-striped-color: #e8edf2;
    --bs-table-striped-bg: rgba(255, 255, 255, 0.035);
    --bs-table-hover-color: #ffffff;
    --bs-table-hover-bg: rgba(93, 161, 235, 0.1);
}

.table > thead {
    color: #cbd4dd;
    background: #202933;
}

.table > thead th {
    border-bottom-color: #718090;
}

.form-control,
.form-select {
    color: #f1f4f7;
    background-color: #131920;
    border-color: #687889;
}

.form-control::placeholder {
    color: #8f9aa5;
    opacity: 1;
}

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    color: #ffffff;
    background-color: #171e26;
    border-color: #78b7ff;
    box-shadow: 0 0 0 0.2rem rgba(87, 160, 239, 0.25);
}

.form-control:disabled,
.form-select:disabled,
.form-control[readonly] {
    color: #aeb8c2;
    background-color: #222a33;
    border-color: #5f6e7d;
    opacity: 1;
}

.form-check-input {
    background-color: #131920;
    border-color: #667483;
}

.form-check-input:checked {
    background-color: #438fe0;
    border-color: #69aaf0;
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #2f78c4;
    --bs-btn-border-color: #4a91da;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #3a88d5;
    --bs-btn-hover-border-color: #68a9eb;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #286cad;
    --bs-btn-active-border-color: #68a9eb;
}

.btn-success {
    --bs-btn-color: #08150e;
    --bs-btn-bg: #68c891;
    --bs-btn-border-color: #80d8a6;
    --bs-btn-hover-color: #06100a;
    --bs-btn-hover-bg: #7bd39f;
    --bs-btn-hover-border-color: #9ae2b9;
}

.btn-danger {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #ae3948;
    --bs-btn-border-color: #db6876;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #c14757;
    --bs-btn-hover-border-color: #f0808d;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #96313f;
    --bs-btn-active-border-color: #f0808d;
}

.btn-warning {
    --bs-btn-color: #11161b;
    --bs-btn-bg: #d9a634;
    --bs-btn-border-color: #efc45d;
    --bs-btn-hover-color: #0d1115;
    --bs-btn-hover-bg: #e7b84e;
    --bs-btn-hover-border-color: #f5d37c;
}

.btn-outline-primary {
    --bs-btn-color: #82b9ff;
    --bs-btn-border-color: #5da1eb;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #2f78c4;
    --bs-btn-hover-border-color: #78b7ff;
}

.btn-outline-secondary {
    --bs-btn-color: #c8d1da;
    --bs-btn-border-color: #718090;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #354251;
    --bs-btn-hover-border-color: #8c9aa8;
    --bs-btn-active-bg: #465565;
}

.btn-outline-warning {
    --bs-btn-color: #f2c85f;
    --bs-btn-border-color: #d9a634;
    --bs-btn-hover-color: #11161b;
    --bs-btn-hover-bg: #d9a634;
    --bs-btn-hover-border-color: #efc45d;
}

.btn-outline-danger {
    --bs-btn-color: #ff8996;
    --bs-btn-border-color: #d85b6a;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #ae3948;
    --bs-btn-hover-border-color: #f0808d;
}

.nav-tabs {
    --bs-nav-tabs-border-color: #5f6e7d;
    --bs-nav-tabs-link-hover-border-color: #687889 #687889 #5f6e7d;
    --bs-nav-tabs-link-active-color: #ffffff;
    --bs-nav-tabs-link-active-bg: #192028;
    --bs-nav-tabs-link-active-border-color: #4c5c6c #4c5c6c #192028;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    color: #ffffff;
    background-color: #25303b;
}

.list-group-item.active {
    color: #ffffff;
    background-color: #286caf;
    border-color: #63a6ea;
}

.alert-danger {
    color: #ffd9dd;
    background-color: #421d23;
    border-color: #8e3d49;
}

.alert-success {
    color: #d4f6e2;
    background-color: #173a28;
    border-color: #347755;
}

.alert-warning {
    color: #ffefc1;
    background-color: #433615;
    border-color: #8e7126;
}

.text-bg-warning {
    color: #14181d !important;
    background-color: #e2b44d !important;
}

.text-bg-info {
    color: #07171d !important;
    background-color: #69bdd8 !important;
}

.text-bg-success {
    color: #07160e !important;
    background-color: #68c891 !important;
}

.text-bg-danger {
    color: #ffffff !important;
    background-color: #b93f4e !important;
}

.text-bg-secondary {
    color: #ffffff !important;
    background-color: #566575 !important;
}

pre,
code,
kbd,
samp {
    color: #e9c4ff;
}

pre {
    background-color: #11171d;
    border-color: #5f6e7d;
}

summary {
    color: #9bc8ff;
    cursor: pointer;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 2px solid #8ec4ff;
    outline-offset: 2px;
}

@media (min-width: 992px) {
    .admin-sidebar {
        min-height: calc(100vh - 57px);
    }
}

@media (max-width: 991.98px) {
    .admin-sidebar {
        border-right: 0 !important;
        border-bottom: 1px solid #5f6e7d;
    }

    .admin-sidebar .nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-navbar .container-fluid {
        align-items: flex-start;
    }
}

@media (max-width: 575.98px) {
    .admin-sidebar .nav {
        grid-template-columns: 1fr;
    }
}
