:root,
[data-bs-theme="dark"] {
    --roh-bg-1: #0f0d0b;
    --roh-bg-2: #18120e;
    --roh-panel: #1f1813;
    --roh-panel-soft: #2a2119;
    --roh-border: #6b5237;
    --roh-border-soft: #4f3c2a;
    --roh-text: #eee2cb;
    --roh-text-muted: #c1ab89;
    --roh-accent: #c79b5d;
    --roh-accent-strong: #d9ad73;
    --roh-accent-dark: #6f4a25;
    --roh-success: #446a3a;
    --roh-danger: #8f4747;
    --roh-info: #5b7a8d;
    --bs-body-bg: var(--roh-bg-1);
    --bs-body-color: var(--roh-text);
    --bs-secondary-color: var(--roh-text-muted);
    --bs-border-color: var(--roh-border-soft);
    --bs-emphasis-color: var(--roh-text);
    --bs-primary: var(--roh-accent);
    --bs-primary-rgb: 199, 155, 93;
    --bs-primary-text-emphasis: #f2d3a4;
    --bs-secondary-text-emphasis: #d5c1a1;
    --bs-success-text-emphasis: #d3e7cb;
    --bs-info-text-emphasis: #d6e5ee;
    --bs-warning-text-emphasis: #f2dfbb;
    --bs-danger-text-emphasis: #f1cbcb;
    --bs-light-text-emphasis: #f8eddc;
    --bs-dark-text-emphasis: #c6ae89;
    --bs-primary-bg-subtle: rgba(199, 155, 93, 0.2);
    --bs-secondary-bg-subtle: rgba(96, 74, 50, 0.35);
    --bs-success-bg-subtle: rgba(72, 106, 58, 0.3);
    --bs-info-bg-subtle: rgba(91, 122, 141, 0.3);
    --bs-warning-bg-subtle: rgba(138, 101, 44, 0.3);
    --bs-danger-bg-subtle: rgba(143, 71, 71, 0.3);
    --bs-light-bg-subtle: rgba(238, 226, 203, 0.18);
    --bs-dark-bg-subtle: rgba(58, 43, 31, 0.5);
    --bs-primary-border-subtle: rgba(217, 173, 115, 0.55);
    --bs-secondary-border-subtle: rgba(120, 90, 60, 0.55);
    --bs-success-border-subtle: rgba(98, 138, 79, 0.55);
    --bs-info-border-subtle: rgba(113, 151, 175, 0.55);
    --bs-warning-border-subtle: rgba(179, 138, 70, 0.55);
    --bs-danger-border-subtle: rgba(176, 94, 94, 0.55);
    --bs-light-border-subtle: rgba(228, 210, 182, 0.45);
    --bs-dark-border-subtle: rgba(96, 72, 51, 0.55);
    --bs-link-color: var(--roh-accent-strong);
    --bs-link-hover-color: #f0c98f;
    --bs-focus-ring-color: rgba(199, 155, 93, 0.28);
    --bs-theme: var(--roh-accent);
}

html,
body {
    background:
            radial-gradient(120% 100% at 0% 0%, rgba(199, 155, 93, 0.13) 0%, rgba(0, 0, 0, 0) 45%),
            linear-gradient(180deg, var(--roh-bg-2), var(--roh-bg-1));
    color: var(--roh-text);
}

#app,
.app,
.app-content {
    background: transparent;
    color: var(--roh-text);
}

.app-header,
.app-footer {
    background:
            linear-gradient(180deg, rgba(45, 34, 24, 0.96), rgba(26, 20, 15, 0.98)) !important;
    border-color: var(--roh-border-soft) !important;
}

.app-sidebar,
.app-sidebar .app-sidebar-content {
    background:
            linear-gradient(180deg, rgba(33, 25, 18, 0.98), rgba(22, 17, 12, 0.98)) !important;
    border-color: var(--roh-border-soft) !important;
}

.brand .brand-text {
    color: var(--roh-text) !important;
}

.menu .menu-link,
.app-sidebar .menu .menu-link {
    color: var(--roh-text-muted);
}

.menu .menu-link:hover,
.app-sidebar .menu .menu-link:hover,
.menu .menu-item.active > .menu-link,
.app-sidebar .menu .menu-item.active > .menu-link {
    color: var(--roh-text);
    background: rgba(199, 155, 93, 0.14);
}

.jmb-header-bars {
    border: 1px solid var(--roh-border-soft);
    border-radius: 12px;
    background:
            linear-gradient(180deg, rgba(199, 155, 93, 0.06), rgba(21, 16, 12, 0.78));
}

.progress {
    background: rgba(24, 17, 12, 0.9);
    border: 1px solid var(--roh-border-soft);
    --bs-progress-bg: rgba(24, 17, 12, 0.9);
    --bs-progress-bar-bg: var(--roh-accent);
}

.progress .progress-bar.bg-theme,
.bg-theme {
    background-color: var(--roh-accent) !important;
    color: #1a120c !important;
}

.text-theme {
    color: var(--roh-accent) !important;
}

.card,
.dropdown-menu,
.modal-content,
.list-group-item {
    background:
            linear-gradient(180deg, rgba(199, 155, 93, 0.06), rgba(0, 0, 0, 0) 36%),
            rgba(26, 20, 15, 0.93) !important;
    border-color: var(--roh-border-soft) !important;
    color: var(--roh-text);
}

.card {
    --bs-card-bg: rgba(26, 20, 15, 0.93);
    --bs-card-cap-bg: rgba(50, 38, 27, 0.8);
    --bs-card-border-color: var(--roh-border-soft);
    --bs-card-color: var(--roh-text);
    --bs-card-title-color: var(--roh-text);
}

.card-header,
.card-footer,
.modal-header,
.modal-footer,
.dropdown-divider,
.list-group-item {
    border-color: var(--roh-border-soft) !important;
}

.dropdown-item {
    color: var(--roh-text-muted);
}

.dropdown-item:hover,
.dropdown-item:focus {
    color: var(--roh-text);
    background: rgba(199, 155, 93, 0.16);
}

.dropdown-menu-dark {
    --bs-dropdown-bg: rgba(25, 18, 13, 0.97);
    --bs-dropdown-border-color: var(--roh-border-soft);
    --bs-dropdown-link-color: var(--roh-text-muted);
    --bs-dropdown-link-hover-color: var(--roh-text);
    --bs-dropdown-link-hover-bg: rgba(199, 155, 93, 0.16);
    --bs-dropdown-link-active-bg: rgba(217, 173, 115, 0.72);
    --bs-dropdown-link-active-color: #23170d;
}

.btn-primary,
.btn-theme {
    background-color: var(--roh-accent-dark);
    border-color: #9f6d3a;
    color: #f8edd9;
}

.btn-primary:hover,
.btn-theme:hover {
    background-color: #8b5d2f;
    border-color: #b37a41;
    color: #fff7e9;
}

.btn-success {
    background-color: var(--roh-success);
    border-color: #5b8650;
}

.btn-warning {
    background-color: #8a652c;
    border-color: #a57b3a;
    color: #fff5e2;
}

.btn-danger {
    background-color: #763939;
    border-color: #955151;
}

.btn-outline-secondary,
.btn-outline-light {
    color: #dac09c;
    border-color: var(--roh-border);
}

.btn-outline-secondary:hover,
.btn-outline-light:hover {
    color: #fff2dd;
    border-color: #ddb57c;
    background: rgba(199, 155, 93, 0.18);
}

.btn-outline-warning {
    color: #efc98e;
    border-color: rgba(239, 201, 142, 0.58);
}

.btn-outline-warning:hover {
    color: #1d140c;
    background-color: #d8ab64;
    border-color: #e6b66d;
}

.btn-link {
    color: var(--roh-accent-strong);
    text-decoration-color: rgba(217, 173, 115, 0.45);
}

.btn-link:hover,
.btn-link:focus {
    color: #f4d4a3;
    text-decoration-color: rgba(244, 212, 163, 0.8);
}

.form-control,
.form-select,
.input-group-text {
    color: var(--roh-text);
    background-color: rgba(34, 26, 19, 0.9);
    border-color: var(--roh-border);
}

.form-control::placeholder,
.form-select::placeholder {
    color: #c9b391;
}

.form-control:focus,
.form-select:focus {
    color: var(--roh-text);
    background-color: rgba(28, 21, 15, 0.94);
    border-color: var(--roh-accent-strong);
    box-shadow: 0 0 0 0.2rem rgba(199, 155, 93, 0.22);
}

.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--roh-text);
    --bs-table-border-color: var(--roh-border-soft);
    --bs-table-striped-bg: rgba(199, 155, 93, 0.05);
    --bs-table-hover-bg: rgba(199, 155, 93, 0.11);
}

.table > :not(caption) > * > * {
    color: inherit;
    border-bottom-color: var(--roh-border-soft);
}

.table thead th {
    color: #efddb9;
    background: rgba(199, 155, 93, 0.1);
}

.table-group-divider {
    border-top-color: var(--roh-border-soft);
}

.alert {
    color: var(--roh-text);
    border-color: var(--roh-border-soft);
    background-color: rgba(31, 23, 16, 0.92);
}

.alert-info {
    border-color: rgba(91, 122, 141, 0.7);
    background-color: rgba(37, 52, 61, 0.72);
}

.alert-success {
    border-color: rgba(87, 124, 78, 0.68);
    background-color: rgba(39, 58, 35, 0.72);
}

.alert-warning {
    border-color: rgba(177, 137, 71, 0.7);
    background-color: rgba(64, 47, 24, 0.73);
}

.alert-danger {
    border-color: rgba(168, 84, 84, 0.72);
    background-color: rgba(67, 31, 31, 0.76);
}

.alert-link {
    color: #ffe8bf;
    text-decoration-color: rgba(255, 232, 191, 0.6);
}

.badge.bg-secondary {
    background-color: rgba(99, 77, 53, 0.9) !important;
}

.badge.bg-dark {
    background-color: rgba(44, 32, 22, 0.92) !important;
    color: #f1dfbf !important;
}

a {
    color: var(--roh-accent-strong);
}

a:hover {
    color: #f0c98f;
}

.link-primary { color: #efcb92 !important; }
.link-secondary { color: #d3b88f !important; }
.link-success { color: #bfdab3 !important; }
.link-info { color: #c7deeb !important; }
.link-warning { color: #efd4a6 !important; }
.link-danger { color: #e7b2b2 !important; }
.link-light { color: #fff1d9 !important; }
.link-dark { color: #c9af88 !important; }

.link-primary:hover,
.link-secondary:hover,
.link-success:hover,
.link-info:hover,
.link-warning:hover,
.link-danger:hover,
.link-light:hover,
.link-dark:hover {
    color: #fff2da !important;
}

.app-sidebar-mobile-backdrop {
    background: rgba(13, 10, 8, 0.62);
}

.card-arrow .card-arrow-top-left,
.card-arrow .card-arrow-top-right,
.card-arrow .card-arrow-bottom-left,
.card-arrow .card-arrow-bottom-right {
    border-color: rgba(199, 155, 93, 0.35) !important;
}

/* Auth + dashboard helper classes used outside regular cards */
.roh-card {
    border: 1px solid rgba(199, 155, 93, 0.28);
    background:
            radial-gradient(1100px 500px at 20% -10%, rgba(199, 155, 93, 0.16), transparent 60%),
            radial-gradient(900px 500px at 120% 10%, rgba(132, 89, 48, 0.13), transparent 55%),
            rgba(18, 14, 11, 0.72);
}

.roh-card::after {
    background: linear-gradient(135deg, rgba(199, 155, 93, 0.35), rgba(139, 93, 47, 0.24), rgba(255, 255, 255, 0.08));
}

.roh-footer-sep {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent),
    linear-gradient(90deg, transparent, rgba(199, 155, 93, 0.24), rgba(139, 93, 47, 0.22), transparent);
}

.hud-notepad {
    background: rgba(199, 155, 93, 0.08) !important;
    border: 2px dashed rgba(199, 155, 93, 0.58) !important;
}

.hud-notepad:focus {
    background: rgba(199, 155, 93, 0.12) !important;
    border-color: rgba(215, 174, 116, 0.9) !important;
    box-shadow: 0 0 0 0.25rem rgba(199, 155, 93, 0.2) !important;
}

/* Comprehensive component pass so all common UI primitives share the medieval theme */
:root,
[data-bs-theme="dark"] {
    --bs-secondary-bg: #241b14;
    --bs-tertiary-bg: #2b2119;
    --bs-border-color-translucent: rgba(199, 155, 93, 0.2);
    --bs-heading-color: var(--roh-text);
    --bs-code-color: #f0ca8d;
}

::selection {
    color: #20160f;
    background: rgba(217, 173, 115, 0.8);
}

hr,
.border,
.border-top,
.border-end,
.border-bottom,
.border-start {
    border-color: var(--roh-border-soft) !important;
}

.text-body-secondary,
.text-body-tertiary,
.text-muted {
    color: var(--roh-text-muted) !important;
}

.card-title,
.card-subtitle,
.modal-title,
.offcanvas-title,
h1, h2, h3, h4, h5, h6 {
    color: var(--roh-text);
}

.lead {
    color: #e6d3b3;
}

mark,
.mark {
    color: #24180d;
    background-color: rgba(217, 173, 115, 0.72);
}

.figure-caption,
.blockquote-footer {
    color: #bda885;
}

.dropdown-menu,
.modal-content,
.offcanvas,
.toast,
.popover,
.accordion-item {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.36);
}

.dropdown-menu {
    --bs-dropdown-link-active-bg: rgba(199, 155, 93, 0.28);
    --bs-dropdown-link-active-color: #24180d;
    --bs-dropdown-link-disabled-color: #988466;
}

.dropdown-header {
    color: #e8d4b2;
}

.dropdown-item.active,
.dropdown-item:active {
    color: #23170d;
    background: rgba(217, 173, 115, 0.7);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: #8f7b60;
}

.btn {
    --bs-btn-focus-shadow-rgb: 199, 155, 93;
}

.btn:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(199, 155, 93, 0.25);
}

.btn-secondary {
    background-color: #5b4631;
    border-color: #735a3f;
    color: #f2dfbf;
}

.btn-secondary:hover {
    background-color: #6a5238;
    border-color: #846746;
    color: #fff2da;
}

.btn-info {
    background-color: #49687b;
    border-color: #5f8399;
    color: #eef7fd;
}

.btn-info:hover {
    background-color: #577b91;
    border-color: #6e98b0;
    color: #fff;
}

.btn-light {
    background-color: #d4bea0;
    border-color: #ddc8ab;
    color: #2a1d12;
}

.btn-light:hover {
    background-color: #e2ceb3;
    border-color: #ead8be;
    color: #1f140b;
}

.btn-dark {
    background-color: #2f2319;
    border-color: #4a3727;
    color: #f0debf;
}

.btn-dark:hover {
    background-color: #3c2d20;
    border-color: #5b442f;
    color: #fff0d6;
}

.btn-outline-primary {
    color: #edc387;
    border-color: rgba(217, 173, 115, 0.65);
}

.btn-outline-primary:hover {
    color: #1f150d;
    background-color: #d8ab64;
    border-color: #e6b66d;
}

.btn-outline-info {
    color: #b9d4e4;
    border-color: rgba(107, 145, 168, 0.72);
}

.btn-outline-info:hover {
    color: #10202b;
    background-color: #7ea4bc;
    border-color: #91b5cb;
}

.btn-outline-success {
    color: #b8d5ab;
    border-color: rgba(102, 141, 87, 0.72);
}

.btn-outline-success:hover {
    color: #13210f;
    background-color: #6f955f;
    border-color: #80a96d;
}

.btn-outline-danger {
    color: #ebb8b8;
    border-color: rgba(168, 84, 84, 0.72);
}

.btn-outline-danger:hover {
    color: #261111;
    background-color: #ba6767;
    border-color: #cd7979;
}

.btn-outline-dark {
    color: #ddc6a5;
    border-color: rgba(110, 84, 58, 0.72);
}

.btn-outline-dark:hover {
    color: #f9ecd8;
    background-color: #4a3726;
    border-color: #5e452f;
}

.btn-check:checked + .btn-outline-secondary,
.btn-check:checked + .btn-outline-light {
    color: #21160c;
    background-color: #d7ab6c;
    border-color: #e5ba78;
}

.btn:disabled,
.btn.disabled {
    opacity: 0.65;
    filter: saturate(0.8);
}

.btn-close {
    filter: invert(0.88) sepia(0.2) saturate(0.7) hue-rotate(340deg);
}

.btn-close-white {
    filter: invert(0.95) sepia(0.15) saturate(0.6);
}

.form-label,
.col-form-label,
.form-check-label,
label {
    color: #ead8b7;
}

.form-text,
.invalid-feedback,
.valid-feedback {
    color: var(--roh-text-muted);
}

.form-control,
.form-select,
.form-control-plaintext,
.input-group-text,
.form-floating > label {
    color: var(--roh-text);
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    color: #e0c499;
}

.form-control-color {
    border-color: var(--roh-border);
    background-color: rgba(34, 26, 19, 0.9);
}

.form-control,
.form-select,
.form-control-plaintext,
.input-group-text {
    border-color: var(--roh-border);
}

.form-control:disabled,
.form-control[readonly],
.form-select:disabled,
.form-select[readonly] {
    background-color: rgba(47, 36, 26, 0.82);
    color: #bea98a;
    border-color: #5a4733;
}

.form-control::file-selector-button {
    color: #20150d;
    background-color: #d1a665;
    border-color: #e0b270;
}

.form-control:hover::file-selector-button {
    background-color: #deba82;
}

.form-check-input {
    border-color: rgba(217, 173, 115, 0.65);
    background-color: rgba(27, 20, 15, 0.92);
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(199, 155, 93, 0.25);
}

.form-check-input:checked {
    background-color: #c89c5d;
    border-color: #d9ad73;
}

.form-check-input:checked[type="checkbox"],
.form-check-input:checked[type="radio"] {
    background-color: #c89c5d;
}

.was-validated .form-control:valid,
.form-control.is-valid,
.was-validated .form-select:valid,
.form-select.is-valid {
    border-color: rgba(98, 138, 79, 0.8);
    box-shadow: 0 0 0 0.15rem rgba(72, 106, 58, 0.2);
}

.was-validated .form-control:invalid,
.form-control.is-invalid,
.was-validated .form-select:invalid,
.form-select.is-invalid {
    border-color: rgba(176, 94, 94, 0.8);
    box-shadow: 0 0 0 0.15rem rgba(143, 71, 71, 0.22);
}

.form-check-input:disabled {
    opacity: 0.5;
}

.form-range::-webkit-slider-runnable-track {
    background: rgba(74, 55, 37, 0.92);
}

.form-range::-webkit-slider-thumb {
    background: #d2aa6f;
    border: 1px solid #e4be83;
}

.form-range::-moz-range-track {
    background: rgba(74, 55, 37, 0.92);
}

.form-range::-moz-range-thumb {
    background: #d2aa6f;
    border: 1px solid #e4be83;
}

.input-group .btn {
    border-color: var(--roh-border);
}

.nav-tabs {
    border-bottom-color: var(--roh-border-soft);
}

.nav-tabs .nav-link {
    color: #d3bc98;
    border-color: transparent;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    color: #f2dfc2;
    border-color: rgba(199, 155, 93, 0.35);
    background-color: rgba(199, 155, 93, 0.12);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: #f7e9d1;
    background-color: rgba(58, 43, 30, 0.82);
    border-color: var(--roh-border-soft) var(--roh-border-soft) transparent;
}

.nav-pills .nav-link {
    color: #d8c09e;
}

.nav-pills .nav-link:hover,
.nav-pills .nav-link:focus {
    color: #faebd3;
    background-color: rgba(199, 155, 93, 0.15);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #21160c;
    background-color: #d5a867;
}

.nav-underline .nav-link {
    color: #d7c09c;
}

.nav-underline .nav-link:hover,
.nav-underline .nav-link:focus {
    color: #f5e2c4;
}

.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
    color: #f5e2c4;
    border-bottom-color: #d7ab6c;
}

.pagination {
    --bs-pagination-bg: rgba(40, 30, 21, 0.95);
    --bs-pagination-color: #e5cfac;
    --bs-pagination-border-color: var(--roh-border-soft);
    --bs-pagination-hover-bg: rgba(199, 155, 93, 0.2);
    --bs-pagination-hover-color: #fff0d8;
    --bs-pagination-hover-border-color: #b98f59;
    --bs-pagination-focus-color: #fff0d8;
    --bs-pagination-focus-bg: rgba(199, 155, 93, 0.24);
    --bs-pagination-focus-box-shadow: 0 0 0 0.15rem rgba(199, 155, 93, 0.24);
    --bs-pagination-active-bg: #d0a061;
    --bs-pagination-active-border-color: #dcb174;
    --bs-pagination-active-color: #26190f;
    --bs-pagination-disabled-bg: rgba(37, 28, 20, 0.7);
    --bs-pagination-disabled-color: #8f7b61;
}

.page-link {
    border-color: var(--roh-border-soft);
}

.accordion {
    --bs-accordion-bg: rgba(31, 23, 16, 0.92);
    --bs-accordion-color: var(--roh-text);
    --bs-accordion-border-color: var(--roh-border-soft);
    --bs-accordion-btn-bg: rgba(45, 34, 24, 0.92);
    --bs-accordion-btn-color: #eedcc1;
    --bs-accordion-active-bg: rgba(73, 53, 35, 0.92);
    --bs-accordion-active-color: #f7e8ce;
    --bs-accordion-btn-focus-border-color: #d4a86b;
    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(199, 155, 93, 0.24);
}

.accordion-button::after {
    filter: sepia(0.55) saturate(0.6) brightness(1.25);
}

.accordion-button:not(.collapsed) {
    box-shadow: inset 0 -1px 0 rgba(199, 155, 93, 0.24);
}

.list-group-item-action {
    color: var(--roh-text);
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    color: #f9ead0;
    background-color: rgba(199, 155, 93, 0.15);
}

.list-group-item.active {
    color: #1f140c;
    background-color: #d5a867;
    border-color: #ddb477;
}

.list-group {
    --bs-list-group-bg: rgba(26, 20, 15, 0.93);
    --bs-list-group-border-color: var(--roh-border-soft);
    --bs-list-group-color: var(--roh-text);
    --bs-list-group-hover-bg: rgba(199, 155, 93, 0.14);
    --bs-list-group-action-color: var(--roh-text);
    --bs-list-group-action-hover-color: #f9ead0;
    --bs-list-group-action-active-bg: rgba(217, 173, 115, 0.2);
}

.table-responsive,
.table-responsive-sm,
.table-responsive-md,
.table-responsive-lg,
.table-responsive-xl {
    border-color: var(--roh-border-soft);
}

.table-light,
.table-dark {
    --bs-table-bg: rgba(37, 28, 21, 0.95);
    --bs-table-color: var(--roh-text);
}

.alert-primary {
    border-color: rgba(199, 155, 93, 0.76);
    background-color: rgba(75, 55, 35, 0.74);
}

.alert-secondary {
    border-color: rgba(123, 95, 63, 0.75);
    background-color: rgba(58, 43, 31, 0.76);
}

.alert-dark {
    border-color: rgba(79, 60, 42, 0.82);
    background-color: rgba(27, 20, 14, 0.88);
}

.badge,
.text-bg-secondary {
    color: #f0debf;
    border: 1px solid rgba(199, 155, 93, 0.24);
}

.badge {
    font-weight: 600;
    letter-spacing: 0.02em;
    box-shadow: inset 0 1px 0 rgba(255, 245, 229, 0.12);
}

.badge.bg-primary,
.badge.text-bg-primary {
    color: #24170d !important;
    border-color: rgba(96, 65, 34, 0.45);
}

.badge.bg-secondary,
.badge.text-bg-secondary {
    color: #f0debf !important;
    background-color: #58422f !important;
    border-color: rgba(199, 155, 93, 0.26);
}

.badge.bg-success,
.badge.text-bg-success {
    color: #f0f7ec !important;
    border-color: rgba(62, 95, 52, 0.58);
}

.badge.bg-info,
.badge.text-bg-info {
    color: #0f1a22 !important;
    border-color: rgba(58, 89, 106, 0.55);
}

.badge.bg-danger,
.badge.text-bg-danger {
    color: #fff0f0 !important;
    border-color: rgba(109, 47, 47, 0.58);
}

.badge.bg-warning,
.badge.text-bg-warning {
    color: #2a1a0d !important;
    border-color: rgba(113, 80, 34, 0.52);
}

.badge.bg-light,
.badge.text-bg-light {
    color: #2b1d10 !important;
    border-color: rgba(145, 112, 73, 0.35);
}

.badge.bg-dark,
.badge.text-bg-dark {
    color: #f0debf !important;
    border-color: rgba(199, 155, 93, 0.2);
}

.bg-primary,
.text-bg-primary {
    color: #24170d !important;
    background-color: #d4a667 !important;
}

.bg-success,
.text-bg-success {
    background-color: #5b7f4c !important;
}

.bg-info,
.text-bg-info {
    color: #0f1a22 !important;
    background-color: #7ea2b9 !important;
}

.bg-danger,
.text-bg-danger {
    background-color: #a15959 !important;
}

.bg-warning,
.text-bg-warning {
    color: #2a1a0d !important;
    background-color: #c99c59 !important;
}

.bg-light,
.text-bg-light {
    color: #2b1d10 !important;
    background-color: #e4d2b6 !important;
}

.bg-dark,
.text-bg-dark {
    color: #f0debf !important;
    background-color: #3b2d21 !important;
}

.navbar {
    --bs-navbar-color: #cfb88f;
    --bs-navbar-hover-color: #f2dfc2;
    --bs-navbar-active-color: #f8eacf;
    --bs-navbar-brand-color: #f3e3c5;
    --bs-navbar-brand-hover-color: #fff1d7;
    --bs-navbar-disabled-color: #8f7b61;
    --bs-navbar-toggler-border-color: rgba(199, 155, 93, 0.35);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28217,173,115,0.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgba(199, 155, 93, 0.24);
}

.navbar-nav .nav-link.disabled {
    color: #8f7b61;
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 245, 229, 0.12) 25%, transparent 25%, transparent 50%, rgba(255, 245, 229, 0.12) 50%, rgba(255, 245, 229, 0.12) 75%, transparent 75%, transparent);
}

.spinner-border,
.spinner-grow {
    color: var(--roh-accent-strong);
}

.placeholder {
    background-color: rgba(199, 155, 93, 0.28);
    opacity: 0.45;
}

.vr {
    background-color: rgba(199, 155, 93, 0.26);
    opacity: 1;
}

.modal-backdrop.show,
.offcanvas-backdrop.show {
    opacity: 0.7;
    background-color: #110d09;
}

.offcanvas-header,
.offcanvas-body {
    border-color: var(--roh-border-soft);
}

.offcanvas {
    --bs-offcanvas-bg: rgba(26, 20, 15, 0.96);
    --bs-offcanvas-color: var(--roh-text);
    --bs-offcanvas-border-color: var(--roh-border-soft);
}

.toast {
    --bs-toast-bg: rgba(29, 21, 15, 0.94);
    --bs-toast-border-color: var(--roh-border-soft);
    --bs-toast-color: var(--roh-text);
    --bs-toast-header-bg: rgba(56, 42, 30, 0.88);
    --bs-toast-header-color: #f0ddc0;
}

.toast-header {
    border-bottom-color: var(--roh-border-soft);
}

.toast .btn-close {
    filter: invert(0.9) sepia(0.2) saturate(0.7) hue-rotate(336deg);
}

.popover {
    --bs-popover-bg: rgba(34, 25, 18, 0.96);
    --bs-popover-border-color: var(--roh-border-soft);
    --bs-popover-header-bg: rgba(66, 49, 34, 0.88);
    --bs-popover-header-color: #f4e3c8;
    --bs-popover-body-color: var(--roh-text);
}

.popover .popover-arrow::before,
.popover .popover-arrow::after {
    border-color: var(--roh-border-soft);
}

.tooltip {
    --bs-tooltip-bg: rgba(46, 34, 24, 0.96);
    --bs-tooltip-color: #f4e3c8;
}

.modal {
    --bs-modal-bg: rgba(26, 20, 15, 0.95);
    --bs-modal-color: var(--roh-text);
    --bs-modal-border-color: var(--roh-border-soft);
    --bs-modal-header-border-color: var(--roh-border-soft);
    --bs-modal-footer-border-color: var(--roh-border-soft);
}

.carousel-caption {
    color: #f5e5c9;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.65);
}

.carousel-indicators [data-bs-target] {
    background-color: rgba(217, 173, 115, 0.65);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    filter: sepia(0.8) saturate(0.7) brightness(1.25);
}

.breadcrumb {
    --bs-breadcrumb-divider-color: var(--roh-text-muted);
    --bs-breadcrumb-item-active-color: #f0ddbc;
}

.breadcrumb-item + .breadcrumb-item::before {
    color: var(--roh-text-muted);
}

.breadcrumb-item.active {
    color: #f0ddbc;
}

code,
kbd,
pre {
    color: #efc98f;
    background: rgba(35, 26, 18, 0.88);
    border-color: rgba(199, 155, 93, 0.24);
}

pre {
    border: 1px solid rgba(199, 155, 93, 0.24);
}
