:root {
    --ras-red: #b72a35;
    --ras-red-dark: #8f1820;
    --ras-red-darker: #651116;
    --ras-red-light: rgba(183, 42, 53, 0.18);
    --ras-gray-dark: #f1f3f5;
    --ras-gray-border: #3a3f44;
    --ras-white: #1f2327;
    --ras-focus-ring: rgba(183, 42, 53, 0.35);
    --bs-light-rgb: (31, 35, 39);
    color-scheme: dark;
}

body {
    /* background-color: #14171a; */
    background: rgb(var(--bs-light-rgb));
    color: #f1f3f5;
}

a {
    color: #ff6b75;
}

a:hover,
a:focus,
a:focus-visible {
    color: #ff8f97;
}

.top-header {
    background: #1f2327;
    border-bottom-color: var(--ras-red);
}

.top-header .fw-bold {
    color: #f1f3f5 !important;
}

.main-nav {
    background: #8f1820;
    border-bottom-color: #651116;
}

.main-nav .nav-link,
.main-nav .nav-link:hover,
.main-nav .nav-link:focus,
.main-nav .nav-link:focus-visible,
.main-nav .nav-link.active {
    color: #ffffff;
}

.main-nav .nav-link:hover,
.main-nav .nav-link.active {
    background: #651116;
}

.main-nav .nav-link:focus,
.main-nav .nav-link:focus-visible {
    background: #4f0d11;
}

.card {
    background-color: #1f2327;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.card-header,
.card-footer {
    background-color: #252a2f;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.table {
    --bs-table-bg: #1f2327;
    --bs-table-color: #f1f3f5;
    --bs-table-border-color: #3a3f44;
    --bs-table-striped-bg: #252a2f;
    --bs-table-striped-color: #f1f3f5;
    --bs-table-hover-bg: #2b3137;
    --bs-table-hover-color: #ffffff;
}

.form-control,
.form-select {
    background-color: #14171a;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.form-control:focus,
.form-select:focus {
    background-color: #14171a;
    border-color: var(--ras-red);
    color: #f1f3f5;
}

.form-control::placeholder {
    color: #9ca3af;
}

.input-group-text {
    background-color: #252a2f;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.dropdown-menu {
    background-color: #1f2327;
    border-color: #3a3f44;
}

.dropdown-item {
    color: #f1f3f5;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(183, 42, 53, 0.22);
    color: #ffffff;
}

.dropdown-divider {
    border-top-color: #3a3f44;
}

.btn-outline-secondary {
    border-color: #6c757d;
    color: #f1f3f5;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
    background-color: var(--ras-red);
    border-color: var(--ras-red);
    color: #ffffff;
}

.btn-primary {
    background-color: var(--ras-red);
    border-color: var(--ras-red);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--ras-red-dark);
    border-color: var(--ras-red-dark);
}

.btn-outline-primary {
    border-color: #ff6b75;
    color: #ff6b75;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--ras-red);
    border-color: var(--ras-red);
    color: #ffffff;
}

.text-muted {
    color: #adb5bd !important;
}

.alert-success {
    background-color: #16351f;
    border-color: #275d36;
    color: #d1f7dc;
}

.alert-danger {
    background-color: #3b1619;
    border-color: #762d34;
    color: #ffd5d9;
}

.alert-warning {
    background-color: #3a2c12;
    border-color: #7a5b21;
    color: #ffe3a3;
}

.alert-info {
    background-color: #102f3d;
    border-color: #215f7b;
    color: #c5efff;
}

.nav-tabs {
    border-bottom-color: #3a3f44;
}

.nav-tabs .nav-link {
    color: #ff8f97;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    border-color: rgba(183, 42, 53, 0.35) rgba(183, 42, 53, 0.35) #3a3f44;
    color: #ffffff;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    background-color: #1f2327;
    border-color: #3a3f44 #3a3f44 #1f2327;
    border-top-color: var(--ras-red);
    color: #ffffff;
}

.modal-content {
    background-color: #1f2327;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.modal-header,
.modal-footer {
    border-color: #3a3f44;
}

.list-group-item {
    background-color: #1f2327;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.ras-login-divider {
    color: #f1f3f5;
}

.ras-login-divider hr {
    border-top-color: #6c757d;
}

.ras-login-divider span {
    background-color: #1f2327;
    border-color: #3a3f44;
    color: #f1f3f5;
}

.admin-only-section {
    background: rgba(255, 193, 7, 0.12);
    border-color: rgba(255, 193, 7, 0.5) !important;
}

.admin-only-card {
    border-left-color: rgba(255, 193, 7, 0.9);
}