bmc_hub/static/css/theme-dark.css
Christian 4871dd2d9e Add comprehensive test coverage for various modules
- Introduced tests for mail templates including ranking, rendering, and attachment handling.
- Added tests for time billing selection and approval processes, ensuring proper validation and state management.
- Implemented tests for case types in JavaScript, focusing on loading and editing functionality.
- Created tests for contact mail AI integration, ensuring proper parsing and error handling.
- Developed tests for dark theme CSS contrast and loading order.
- Added tests for invoice fee service, covering various scenarios including exemptions and invalid inputs.
- Implemented vendor resource tests, ensuring proper file handling and query validation.
2026-10-08 08:58:02 +02:00

80 lines
6.1 KiB
CSS

/* 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)}