:root {
    --primary-gold: #b69d5c;
    --primary-gold-hover: #a58b4b;
    --primary-gold-subtle: rgba(182, 157, 92, 0.1);
    --accent-red: #a14b4b;
    --accent-red-hover: #b85a5a;
    --accent-red-subtle: rgba(161, 75, 75, 0.15);
    --bg-deep: #0a111a;
    --bg-surface: #151d27;
    --bg-card: #1c2633;
    --bg-input: #232f3f;
    --text-main: rgba(225, 235, 245, 0.95);
    --text-muted: rgba(225, 235, 245, 0.65);
    --border-soft: rgba(255, 255, 255, 0.1);
    --border-accent: rgba(161, 75, 75, 0.3);
    --glass-bg: rgba(255, 255, 255, 0.03);
}

body {
    background-color: var(--bg-surface);
    color: var(--text-main);
}

.page-header,
.page-header .navbar,
.page-sidebar,
.card {
    background-color: var(--glass-bg);
    border-color: var(--border-soft);
}

.page-header {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
    border-bottom: 1px solid var(--border-soft);
}

.page-header::before {
    background: linear-gradient(180deg, rgba(23, 25, 32, 0.95) 0%, rgba(33, 36, 43, 0.579) 64%, rgba(18, 20, 26, 0) 100%);
}

.page-header .navbar #navbarNav #leftNav>li>a,
.page-header .navbar #headerNav>ul>li>a,
.page-sidebar .accordion-menu>li>a,
.page-sidebar .accordion-menu>li>a>svg,
.card-title,
.page-sidebar .accordion-menu li ul li a,
.page-sidebar .accordion-menu li.sidebar-title,
.dropdown-item,
.page-header .header-notif .notif-text,
.table,
.tr-text a,
.email-list-item,
.fc-toolbar h2,
#calendar a,
.story-list .story .story-info span.story-author,
.profile-header .profile-header-menu ul li a,
.post-actions ul li a,
.post-comments .post-comm .comment-container span.comment-author,
.post-comments .post-comm .comment-container span.comment-author small,
.post-header .post-header-actions a,
.file-manager-menu ul li a,
.folder .folder-info a,
.blockquote-footer,
.dropdown-menu-dark .dropdown-item,
.toast-header,
.accordion-button,
.invoice-details p.info,
.invoice-table svg,
.dropdown-header,
.form-text {
    color: rgba(225, 235, 245, .87);
}

.text-muted {
    color: rgba(225, 235, 245, .87) !important;
}

.page-sidebar .accordion-menu>li.active-page>a {
    background-color: var(--primary-gold-subtle);
    color: var(--primary-gold);
}

.page-sidebar .accordion-menu>li.active-page>a svg {
    color: var(--primary-gold);
}

.dropdown-menu {
    background: var(--bg-card);
    border: 1px solid var(--border-soft);
}

.form-control {
    background: var(--bg-input);
    border-color: var(--border-soft);
    color: var(--text-main);
}

.form-control:focus {
    background: var(--bg-input);
    border-color: var(--primary-gold);
    color: var(--text-main);
    box-shadow: 0 0 0 0.25rem rgba(182, 157, 92, 0.2);
}

/* Primary Accent Overrides */
.text-primary {
    color: var(--primary-gold) !important;
}

.bg-primary {
    background-color: var(--primary-gold) !important;
}

.btn-primary {
    background-color: var(--primary-gold);
    border-color: var(--primary-gold);
    color: #000;
    font-weight: 600;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--primary-gold-hover);
    border-color: var(--primary-gold-hover);
    color: #000;
}

.bg-primary-subtle {
    background-color: var(--primary-gold-subtle) !important;
}

.border-primary {
    border-color: var(--primary-gold) !important;
}

/* Crimson Danger Accents */
.text-danger {
    color: var(--accent-red) !important;
}

.btn-danger {
    background-color: var(--accent-red);
    border-color: var(--accent-red);
    color: #fff;
}

.btn-danger:hover,
.btn-danger:focus {
    background-color: var(--accent-red-hover);
    border-color: var(--accent-red-hover);
    color: #fff;
}

.btn-outline-danger {
    color: var(--accent-red);
    border-color: var(--accent-red);
}

.btn-outline-danger:hover {
    background-color: var(--accent-red);
    border-color: var(--accent-red);
    color: #fff;
}

.bg-danger {
    background-color: var(--accent-red) !important;
}

.bg-danger-subtle {
    background-color: var(--accent-red-subtle) !important;
}

.badge.bg-danger {
    background-color: var(--accent-red-subtle) !important;
    color: var(--accent-red) !important;
    border: 1px solid var(--border-accent);
}

input {
    color: rgba(225, 235, 245, .87) !important;
}

.page-header .navbar #navbarNav #leftNav>li>a:hover {
    background: #2b3b52;
}

.progress {
    background: var(--bg-input);
}

.tr-card-icon {
    background: var(--primary-gold-subtle) !important;
    color: var(--primary-gold) !important;
}

.email-list li.active a {
    background: var(--primary-gold-subtle);
}

.email-list li a:hover {
    background: #2D3D54;
}

.mail-info {
    border-color: #31415c;
}

.post-comments .post-comm {
    background: #2D3D54;
}

.post-actions ul li a:hover,
.post-header .post-header-actions a:hover {
    color: rgba(225, 235, 245, .57);
}

.card-file-header {
    background: var(--bg-surface);
}

.alert-primary {
    background-color: #7888fc;
    border-color: #7888fc;
    color: #fff;
}

.alert-secondary {
    background-color: #7e8299;
    border-color: #7e8299;
    color: #fff;
}

.alert-success {
    background-color: #6bcac2;
    border-color: #6bcac2;
    color: #fff;
}

.alert-danger {
    background-color: #ee6e83;
    border-color: #ee6e83;
    color: #fff;
}

.alert-warning {
    background-color: #ffaf0f;
    border-color: #ffaf0f;
    color: #fff;
}

.alert-info {
    background-color: #9c6efc;
    border-color: #9c6efc;
    color: #fff;
}

.alert-dark {
    background-color: #212D3D;
    border-color: #212D3D;
    color: #fff;
}

.alert-primary.outline-alert {
    background-color: #253347;
}

.alert-secondary.outline-alert {
    background-color: #253347;
}

.alert-success.outline-alert {
    background-color: #253347;
}

.alert-danger.outline-alert {
    background-color: #253347;
}

.alert-warning.outline-alert {
    background-color: #253347;
}

.alert-info.outline-alert {
    background-color: #253347;
}

.alert-dark.outline-alert {
    background-color: #253347;
    border-color: #212E3D;
    color: #fff;
}

.alert-link {
    font-weight: normal;
}

.page-sidebar .accordion-menu>li.active-page ul li a.active {
    color: #fff;
}

.badge.bg-primary {
    background-color: #7888fc !important;
    color: #fff;
}

.badge.bg-secondary {
    background-color: #7e8299 !important;
    color: #fff !important;
}

.badge.bg-success {
    background-color: #6bcac2 !important;
    color: #fff;
}

.badge.bg-danger {
    background-color: #ee6e83 !important;
    color: #fff;
}

.badge.bg-warning {
    background-color: #ffaf0f !important;
    color: #fff;
}

.badge.bg-info {
    background-color: #9c6efc !important;
    color: #fff;
}

.badge.bg-dark {
    background-color: #212E3D !important;
    color: #fff;
}

.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled {
    background-color: #7888fc;
    border-color: #7888fc;
    color: #fff;
}

.btn-secondary,
.btn-secondary.disabled,
.btn-secondary:disabled {
    background-color: #7e8299;
    border-color: #7e8299;
    color: #fff;
}

.btn-success,
.btn-success:disabled,
.btn-sucess.disabled {
    background-color: #6bcac2;
    border-color: #6bcac2;
    color: #fff;
}

.btn-danger,
.btn-danger.disabled,
.btn-danger:disabled {
    background-color: #ee6e83;
    border-color: #ee6e83;
    color: #fff;
}

.btn-warning,
.btn-warning.disabled,
.btn-warning:disabled {
    background-color: #ffaf0f;
    border-color: #ffaf0f;
    color: #fff;
}

.btn-info,
.btn-info.disabled,
.btn-info:disabled {
    background-color: #9c6efc;
    border-color: #9c6efc;
    color: #fff;
}

.btn-dark,
.btn-dark.disabled,
.btn-dark:disabled {
    background-color: #212E3D;
    border-color: #212E3D;
    color: #fff;
}

.btn-primary.focus,
.btn-primary:focus,
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active {
    background-color: #7888fc;
    border-color: #7888fc;
    color: #fff;
    box-shadow: 0 7px 23px -8px #7888fc;
}

.btn-secondary.focus,
.btn-secondary:focus,
.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active {
    background-color: #7e8299;
    border-color: #7e8299;
    color: #fff;
    box-shadow: 0 7px 23px -8px #7e8299;
}

.btn-success.focus,
.btn-success:focus,
.btn-success:hover,
.btn-success:not(:disabled):not(.disabled).active,
.btn-success:not(:disabled):not(.disabled):active {
    background-color: #6bcac2;
    border-color: #6bcac2;
    color: #fff;
    box-shadow: 0 7px 23px -8px #6bcac2;
}

.btn-danger.focus,
.btn-danger:focus,
.btn-danger:hover,
.btn-danger:not(:disabled):not(.disabled).active,
.btn-danger:not(:disabled):not(.disabled):active {
    background-color: #ee6e83;
    border-color: #ee6e83;
    color: #fff;
    box-shadow: 0 7px 23px -8px #ee6e83;
}

.btn-warning.focus,
.btn-warning:focus,
.btn-warning:hover,
.btn-warning:not(:disabled):not(.disabled).active,
.btn-warning:not(:disabled):not(.disabled):active {
    background-color: #ffaf0f;
    border-color: #ffaf0f;
    color: #fff;
    box-shadow: 0 7px 23px -8px #ffaf0f;
}

.btn-info.focus,
.btn-info:focus,
.btn-info:hover,
.btn-info:not(:disabled):not(.disabled).active,
.btn-info:not(:disabled):not(.disabled):active {
    background-color: #9c6efc;
    border-color: #9c6efc;
    color: #fff;
    box-shadow: 0 7px 23px -8px #9c6efc;
}

.btn-dark.focus,
.btn-dark:focus,
.btn-dark:hover,
.btn-dark:not(:disabled):not(.disabled).active,
.btn-dark:not(:disabled):not(.disabled):active {
    background-color: #212E3D;
    border-color: #212E3D;
    color: #fff;
    box-shadow: 0 7px 23px -8px #212E3D;
}

.btn-outline-secondary {
    color: #fff;
    border-color: #7E8299;
}

.btn-outline-secondary.focus,
.btn-outline-secondary:focus,
.btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.btn-outline-secondary:not(:disabled):not(.disabled):active {
    color: #fff;
    border-color: #7E8299;
    background-color: #7E8299;
    box-shadow: 0 7px 23px -8px #7E8299;
}

.btn-outline-dark {
    color: #fff;
    border-color: #212E3D;
}

.btn-outline-dark.focus,
.btn-outline-dark:focus,
.btn-outline-dark:hover,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.btn-outline-dark:not(:disabled):not(.disabled):active {
    color: #fff;
    border-color: #212E3D;
    background-color: #212E3D;
    box-shadow: 0 7px 23px -8px #212E3D;
}

.dropdown-menu-dark .dropdown-divider {
    border-color: #3e5370;
}

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

.list-group-item {
    background-color: #2D3D54;
    border: 1px solid rgba(0, 0, 0, .125);
}

.list-group-item.disabled,
.list-group-item:disabled {
    color: rgba(225, 235, 245, .57);
    pointer-events: none;
    background-color: #253347;
}

.list-group-item-action {
    color: rgba(225, 235, 245, .87);
}

.list-group-item-action:focus,
.list-group-item-action:hover {
    color: rgba(225, 235, 245, .87);
    background-color: #364963;
}

.list-group-item.active:hover,
.list-group-item.active:focus {
    background: #7888fc;
    color: #fff;
}

.list-group-item-dark {
    color: #575a6e;
}

.toast-header,
.toast {
    background: #2D3D54;
}

.modal-content {
    background: #253347;
}

.page-link {
    background: #2D3D54;
    border-color: #212D3D;
}

.page-link:hover,
.page-link:focus {
    color: #7888fc;
    background: #2D3D54;
    border-color: #212D3D;
    opacity: 0.8;
}

.page-item.disabled .page-link {
    color: #7888fc;
    opacity: 0.6;
    background: #2D3D54;
    border-color: #212D3D;
}

.accordion-button,
.accordion-button:not(.collapsed) {
    background: #2B3B52;
}

.jstree-default .jstree-hovered {
    background: #2B3B52;
    box-shadow: none;
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
.form-select,
.form-control,
select,
.input-group-text {
    color: var(--text-main) !important;
    background-color: var(--bg-input) !important;
    border-color: var(--border-soft) !important;
}

.form-select option,
.form-control option,
select option {
    background-color: var(--bg-card) !important;
    color: var(--text-main) !important;
}

/* Specific fix for browser defaults on options */
option {
    background-color: var(--bg-card);
    color: var(--text-main);
}

.card-footer,
.card-header {
    background: #253347;
}

.nav-link.disabled,
.nav-tabs .nav-link.disabled {
    color: rgba(225, 235, 245, .87);
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    background: #2B3B52;
    color: #7888fc;
}

.card-header,
.card-footer {
    border-color: #2f4059;
}

.table-primary {
    --bs-table-bg: #7888fc;
    --bs-table-striped-bg: #7888fc;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #7888fc;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #7888fc;
    --bs-table-hover-color: #000;
    color: #fff;
    border-color: #7888fc;
}

.table-secondary {
    --bs-table-bg: #7e8299;
    --bs-table-striped-bg: #7e8299;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #7e8299;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #7e8299;
    --bs-table-hover-color: #000;
    color: #fff;
    border-color: #7e8299;
}

.table-success {
    --bs-table-bg: #6bcac2;
    --bs-table-striped-bg: #6bcac2;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #6bcac2;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #6bcac2;
    --bs-table-hover-color: #000;
    color: #fff;
    border-color: #6bcac2;
}

.table-danger {
    --bs-table-bg: #ee6e83;
    --bs-table-striped-bg: #ee6e83;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #ee6e83;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #ee6e83;
    --bs-table-hover-color: #000;
    color: #fff;
    border-color: #ee6e83;
}

.table-warning {
    --bs-table-bg: #ffaf0f;
    --bs-table-striped-bg: #ffaf0f;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #ffaf0f;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #ffaf0f;
    --bs-table-hover-color: #000;
    color: #fff;
    border-color: #ffaf0f;
}

.table-info {
    --bs-table-bg: #9c6efc;
    --bs-table-striped-bg: #9c6efc;
    --bs-table-striped-color: #000;
    --bs-table-active-bg: #9c6efc;
    --bs-table-active-color: #000;
    --bs-table-hover-bg: #9c6efc;
    --bs-table-hover-color: #000;
    color: #fff;
    border-color: #9c6efc;
}

.table {
    color: var(--text-main) !important;
    border-color: var(--border-soft) !important;
    margin-bottom: 0;
}

.table thead th {
    background-color: var(--bg-surface) !important;
    color: var(--primary-gold) !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05rem !important;
    font-weight: 700 !important;
    border-bottom: 2px solid var(--primary-gold) !important;
    padding: 1rem !important;
    white-space: nowrap;
    border-top: none !important;
}

.table tbody td {
    padding: 1rem !important;
    vertical-align: middle !important;
    border-bottom: 1px solid var(--border-soft) !important;
    transition: all 0.2s ease;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

.table-hover>tbody>tr {
    transition: all 0.2s ease;
}

.table-hover>tbody>tr:hover {
    background-color: var(--bg-surface) !important;
    box-shadow: inset 4px 0 0 var(--primary-gold), 0 8px 25px rgba(0, 0, 0, 0.5) !important;
    transform: translateY(-2px);
    z-index: 1;
    position: relative;
}

.table-responsive {
    padding: 2px;
    margin: -2px;
}

.table-dark {
    --bs-table-bg: var(--bg-deep);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
    --bs-table-striped-color: var(--text-main);
    --bs-table-active-bg: var(--bg-surface);
    --bs-table-active-color: var(--text-main);
    --bs-table-hover-bg: var(--bg-surface);
    --bs-table-hover-color: var(--text-main);
    color: var(--text-main);
    border-color: var(--border-soft);
}

table.dataTable tfoot th,
table.dataTable thead th {
    color: rgba(225, 235, 245, .87);
}

tr.group {
    background: #2B3B52 !important;
}

table.dataTable td,
table.dataTable th {
    border-color: var(--border-soft) !important;
}

.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-soft) !important;
    color: var(--text-main) !important;
    border-radius: 6px;
    padding: 5px 10px;
}

.dataTables_wrapper .dataTables_info {
    font-size: 0.8rem;
    color: var(--text-muted) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-soft) !important;
    color: var(--text-main) !important;
    border-radius: 6px !important;
    transition: all 0.2s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--primary-gold) !important;
    color: #000 !important;
    border-color: var(--primary-gold) !important;
    font-weight: 700;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--primary-gold-subtle) !important;
    color: var(--primary-gold) !important;
    border-color: var(--primary-gold) !important;
}

.fc table,
.fc table tr,
.fc table th,
.fc table td {
    border-color: #2F4059 !important;
}

.btn-close {
    filter: invert(98%) sepia(98%) saturate(0%) hue-rotate(327deg) brightness(104%) contrast(101%);
}

.blockUI.blockOverlay {
    background: rgba(32, 44, 59) !important;
}

.loader {
    background: #202C3B;
}

.fc-next-button.fc-button.fc-button-primary,
.fc-next-button.fc-button.fc-button-primary.active,
.fc-next-button.fc-button.fc-button-primary:focus,
.fc-prev-button.fc-button.fc-button-primary,
.fc-prev-button.fc-button.fc-button-primary.active,
.fc-prev-button.fc-button.fc-button-primary:focus {
    background-color: #7888fc;
    border-color: #7888fc;
    color: #fff;
}

.fc-next-button.fc-button.fc-button-primary:hover,
.fc-prev-button.fc-button.fc-button-primary:hover {
    background-color: #7888fc;
    border-color: #7888fc;
    color: #fff;
    box-shadow: 0 7px 23px -8px #7888fc;
}

.fc-today-button.fc-button.fc-button-primary,
.fc-today-button.fc-button.fc-button-primary.active,
.fc-today-button.fc-button.fc-button-primary:focus {
    background-color: #9c6efc;
    border-color: #9c6efc;
    color: #fff;
}

.fc-h-event {
    background-color: #222E3D;
    border-color: #222E3D;
    padding: 3px;
    border-radius: 15px;
}

.fc-h-event:hover,
.fc-daygrid-event:hover {
    background-color: #222E3D;
    border-color: #222E3D;
}

.fc .fc-daygrid-day.fc-day-today {
    background-color: #222E3D;
}

.page-header .navbar #headerNav>ul>li>a.notifications-dropdown {
    background: #ee6e83;
    color: #fff;
}

@media (max-width: 1200px) {
    .profile-name h3 {
        color: rgba(225, 235, 245, .87) !important;
    }
}

/* Decorative Accents */
.card-accent-red {
    border-top: 3px solid var(--accent-red) !important;
}

.card-accent-gold {
    border-top: 3px solid var(--primary-gold) !important;
}

.header-accent-red {
    border-bottom: 2px solid var(--accent-red) !important;
}

.sidebar-accent-red .accordion-menu>li.active-page>a {
    border-left: 3px solid var(--accent-red);
}

.bg-dark-soft {
    background-color: var(--bg-surface) !important;
    border: 1px solid var(--border-soft);
}

@media (max-width: 1200px) {

    .profile-header .profile-header-menu ul li a.active,
    .profile-header .profile-header-menu ul li a:hover {
        color: rgba(225, 235, 245, .87);
    }
}

/* Premium Modal Depth */
.modal-content {
    background-color: var(--bg-card) !important;
    border: 1px solid var(--border-soft) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8) !important;
    border-radius: 16px !important;
    overflow: hidden;
}

.modal-header {
    border-bottom: 1px solid var(--border-soft) !important;
    padding: 1.5rem !important;
}

.modal-footer {
    border-top: 1px solid var(--border-soft) !important;
    padding: 1.25rem !important;
}

.modal-backdrop.show {
    opacity: 0.85 !important;
}