/* Shared dark palette and aliases for older modules. Light mode keeps its own values. */ [data-bs-theme="dark"] { color-scheme: dark; --theme-surface: #2c3034; --theme-surface-soft: #252b32; --theme-text: #f1f5f9; --theme-muted: #b8c4d0; --theme-border: #526170; --theme-success-bg: #153b2c; --theme-success-text: #a3e7be; --theme-warning-bg: #443615; --theme-warning-text: #ffe08a; --theme-danger-bg: #44252c; --theme-danger-text: #ffb5be; --theme-info-bg: #163b49; --theme-info-text: #9ee5f5; --theme-primary-bg: #1b3553; --theme-primary-text: #a4caff; --bg-surface: var(--bg-card); --bg-element: var(--theme-surface-soft); --bg-hover: #35404b; --text-color: var(--theme-text); --text-muted: var(--theme-muted); --border-color: var(--theme-border); --case-muted: var(--theme-muted); --bs-body-color: var(--theme-text); --bs-secondary-color: var(--theme-muted); --bs-border-color: var(--theme-border); --bs-tertiary-bg: var(--theme-surface-soft); } [data-bs-theme="dark"] :is(.bg-white, .bg-light) { background-color: var(--theme-surface-soft) !important; color: var(--theme-text); } [data-bs-theme="dark"] .text-dark { color: var(--theme-text) !important; } /* Filled yellow/cyan/light buttons and badges keep their contrasting dark text. */ [data-bs-theme="dark"] :is(.bg-warning, .bg-info, .btn-warning, .btn-info, .btn-light).text-dark { color: #17212b !important; } [data-bs-theme="dark"] .text-muted { color: var(--theme-muted) !important; } [data-bs-theme="dark"] .text-primary { color: #a4caff !important; } [data-bs-theme="dark"] .text-success { color: #a3e7be !important; } [data-bs-theme="dark"] .text-danger { color: #ffb5be !important; } [data-bs-theme="dark"] .text-warning { color: #ffe08a !important; } [data-bs-theme="dark"] .text-info { color: #9ee5f5 !important; } [data-bs-theme="dark"] .text-secondary { color: var(--theme-muted) !important; } [data-bs-theme="dark"] :is(.form-control, .form-select, .input-group-text) { background-color: var(--theme-surface-soft); color: var(--theme-text); border-color: var(--theme-border); } [data-bs-theme="dark"] :is(.form-control, .form-select)::placeholder { color: var(--theme-muted); opacity: 1; } [data-bs-theme="dark"] :is(.form-control, .form-select):disabled { background-color: #343d47; color: #c6cdd5; opacity: 1; } [data-bs-theme="dark"] .table { --bs-table-color: var(--theme-text); --bs-table-bg: transparent; --bs-table-striped-color: var(--theme-text); --bs-table-striped-bg: #ffffff08; --bs-table-hover-color: var(--theme-text); --bs-table-hover-bg: #ffffff12; --bs-table-border-color: var(--theme-border); } [data-bs-theme="dark"] .table-light { --bs-table-bg: var(--theme-surface-soft); --bs-table-color: var(--theme-text); --bs-table-border-color: var(--theme-border); } [data-bs-theme="dark"] :is(.modal-content, .dropdown-menu, .list-group-item, .popover) { background-color: var(--theme-surface); color: var(--theme-text); border-color: var(--theme-border); } [data-bs-theme="dark"] :is(.dropdown-item, .list-group-item-action) { color: var(--theme-text); } [data-bs-theme="dark"] :is(.dropdown-item:hover, .dropdown-item:focus, .list-group-item-action:hover) { background-color: var(--bg-hover); color: var(--theme-text); } [data-bs-theme="dark"] .btn-outline-primary:not(:hover):not(:active) { color: #a4caff; border-color: #80b6ff; } [data-bs-theme="dark"] .btn-outline-secondary:not(:hover):not(:active) { color: #cbd5df; border-color: #8c9aa8; } [data-bs-theme="dark"] .btn-outline-success:not(:hover):not(:active) { color: #a3e7be; border-color: #67c791; } [data-bs-theme="dark"] .btn-outline-danger:not(:hover):not(:active) { color: #ffb5be; border-color: #ee8795; } [data-bs-theme="dark"] :is(.flatpickr-calendar, .flatpickr-months .flatpickr-month, .flatpickr-current-month .flatpickr-monthDropdown-months, .flatpickr-weekdays, span.flatpickr-weekday) { background: var(--theme-surface); color: var(--theme-text); } [data-bs-theme="dark"] :is(.flatpickr-day, .flatpickr-time input, .flatpickr-time .flatpickr-am-pm) { color: var(--theme-text); } [data-bs-theme="dark"] .flatpickr-day:hover { background: var(--bg-hover); border-color: var(--theme-border); } [data-bs-theme="dark"] :is(.flatpickr-prev-month, .flatpickr-next-month) svg { fill: var(--theme-text); } [data-bs-theme="dark"] .flatpickr-day.flatpickr-disabled { color: #8d9aaa; } [data-bs-theme="dark"] :focus-visible { outline-color: #a4caff; } /* Navigation and custom module labels used the brand blue as small text. */ [data-bs-theme="dark"] :is(.nav-link, .stat-card h3, .contacts-table .contact-name-link:hover) { color: var(--theme-primary-text); } [data-bs-theme="dark"] .nav-pills .nav-link.active { color: #fff; } [data-bs-theme="dark"] .classification-time_confirmation { background: var(--theme-surface-soft); color: var(--theme-text); } [data-bs-theme="dark"] :is(.table-warning, .table-danger, .table-success, .table-info) { color: var(--bs-table-color); } [data-bs-theme="dark"] .planner-page { --p-blue: #80b6ff; --p-muted: var(--theme-muted); --p-line: var(--theme-border); } [data-bs-theme="dark"] .planner-toggle button.active { background: #164677; color: #fff; } [data-bs-theme="dark"] .planner-page :is(.planner-toggle button, .planner-toolbar button) { color: var(--theme-text); } /* Module-specific neutral palette variables. */ html[data-bs-theme="dark"] .locations-list-page {--loc-surface:var(--theme-surface)} html[data-bs-theme="dark"] .mc-shell {--mc-bg:var(--theme-surface)} html[data-bs-theme="dark"] .planner-page {--p-line:var(--theme-border);--p-muted:var(--theme-muted)} html[data-bs-theme="dark"] #subscription {--sub-ink:var(--theme-text);--sub-line:var(--theme-border)} html[data-bs-theme="dark"] .case-detail-page-shell {--case-border:var(--theme-border);--case-muted:var(--theme-muted)} html[data-bs-theme="dark"] {--products-ink:var(--theme-text);--products-ink-muted:var(--theme-muted)} html[data-bs-theme="dark"] .sub-shell {--ink:var(--theme-text);--muted:var(--theme-muted);--line:var(--theme-border)} html[data-bs-theme="dark"] .case-detail-page-shell.case-v5 {--case-border:var(--theme-border)}