:root { --accent: #0f766e; --accent-rgb: 15,118,110; }
:root[data-accent="blue"] { --accent: #1d4ed8; --accent-rgb: 29,78,216; }
:root[data-accent="violet"] { --accent: #7c3aed; --accent-rgb: 124,58,237; }
:root[data-accent="rose"] { --accent: #be185d; --accent-rgb: 190,24,93; }
:root[data-accent="amber"] { --accent: #b45309; --accent-rgb: 180,83,9; }
:root[data-accent="slate"] { --accent: #475569; --accent-rgb: 71,85,105; }
:root[data-bs-theme] {
  --primary: var(--accent); --blue: var(--accent);
  --accent-hover: color-mix(in srgb, var(--accent), black 18%);
  --accent-link: var(--accent);
  --bs-primary: var(--accent); --bs-primary-rgb: var(--accent-rgb);
  --bs-link-color: var(--accent-link); --bs-link-hover-color: var(--accent-hover);
  --bs-link-color-rgb: var(--accent-rgb);
}
:root[data-bs-theme="dark"] {
  color-scheme: dark;
  --paper: #101720; --panel: #1b2533; --soft: #243142;
  --line: #3b4a5e; --text: #e7edf5; --muted: #aab9cb;
  --nav: #0c121b; --nav-soft: #192332;
  --accent-link: color-mix(in srgb, var(--accent), white 48%);
  --bs-body-bg: var(--panel); --bs-body-color: var(--text);
  --bs-secondary-color: var(--muted); --bs-border-color: var(--line);
  --bs-tertiary-bg: var(--soft); --bs-secondary-bg: var(--soft);
  --bs-link-hover-color: #fff;
}
.panel-title { background: var(--accent); border-color: var(--accent-hover); }
.panel-title i { color: #fff; }
.btn-primary {
 --bs-btn-bg: var(--accent); --bs-btn-border-color: var(--accent);
 --bs-btn-hover-bg: var(--accent-hover); --bs-btn-hover-border-color: var(--accent-hover);
 --bs-btn-active-bg: var(--accent-hover); --bs-btn-active-border-color: var(--accent-hover);
 --bs-btn-disabled-bg: var(--accent); --bs-btn-disabled-border-color: var(--accent);
 --bs-btn-focus-shadow-rgb: var(--accent-rgb);
}
.btn-outline-primary {
 --bs-btn-color: var(--accent-link); --bs-btn-border-color: var(--accent-link);
 --bs-btn-hover-bg: var(--accent); --bs-btn-hover-border-color: var(--accent);
 --bs-btn-active-bg: var(--accent); --bs-btn-active-border-color: var(--accent);
 --bs-btn-disabled-color: var(--accent-link); --bs-btn-disabled-border-color: var(--accent-link);
 --bs-btn-focus-shadow-rgb: var(--accent-rgb);
}
.pagination { --bs-pagination-color: var(--accent-link); --bs-pagination-hover-color: var(--accent-link); --bs-pagination-focus-color: var(--accent-link); --bs-pagination-active-bg: var(--accent); --bs-pagination-active-border-color: var(--accent); }
.form-control:focus, .form-select:focus { border-color: var(--accent-link); box-shadow: 0 0 0 .18rem rgba(var(--accent-rgb), .22); }
.form-check-input:checked { background-color: var(--accent); border-color: var(--accent); }
.table-compact thead th, .panel .table thead th, .dashboard-table thead th, .mailing-table thead tr:first-child th {
 background: color-mix(in srgb, var(--accent) 13%, var(--panel)); color: var(--text); border-color: var(--line);
}
.module-section-link.active, .module-section-link:hover { background: color-mix(in srgb, var(--accent) 15%, var(--panel)); }
.module-section-link.active i, .table-sort.active span, .table-sort.is-sorted::after { color: var(--accent-link); }
[data-bs-theme="dark"] .topbar-user,
[data-bs-theme="dark"] .profile-trigger,
[data-bs-theme="dark"] .module-sections,
[data-bs-theme="dark"] .ticket-form,
[data-bs-theme="dark"] .dashboard-filters,
[data-bs-theme="dark"] .mail-composer,
[data-bs-theme="dark"] .system-health-card,
[data-bs-theme="dark"] .ticket-summary-grid div,
[data-bs-theme="dark"] .disk-card,
[data-bs-theme="dark"] .modal-footer,
[data-bs-theme="dark"] .quill-shell .ql-toolbar.ql-snow,
[data-bs-theme="dark"] .table thead .table-add-row th { background: var(--soft); border-color: var(--line); }
[data-bs-theme="dark"] .dashboard-service-form,
[data-bs-theme="dark"] .system-box,
[data-bs-theme="dark"] .app-toast,
[data-bs-theme="dark"] .quill-shell .ql-container.ql-snow { background: var(--panel); border-color: var(--line); color: var(--text); }
[data-bs-theme="dark"] .profile-trigger:hover { background: var(--panel); }
[data-bs-theme="dark"] .dashboard-table .service-row td { background: var(--soft) !important; border-color: var(--line); }
[data-bs-theme="dark"] .table-compact.table, [data-bs-theme="dark"] .panel .table {
 --bs-table-bg: var(--panel); --bs-table-color: var(--text);
 --bs-table-striped-bg: #222f40; --bs-table-striped-color: var(--text);
 --bs-table-hover-bg: #2c3c50; --bs-table-hover-color: var(--text);
}
[data-bs-theme="dark"] .table-compact tbody td, [data-bs-theme="dark"] .panel .table tbody td { color: var(--text); }
[data-bs-theme="dark"] .eyebrow, [data-bs-theme="dark"] .module-section-link i,
[data-bs-theme="dark"] .system-box-title, [data-bs-theme="dark"] .system-box-title i,
[data-bs-theme="dark"] .table-sort span { color: var(--muted); }
[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select { border-color: var(--line); }
[data-bs-theme="dark"] .is-readonly-control:disabled { background: var(--soft); }
[data-bs-theme="dark"] .ql-snow .ql-stroke { stroke: var(--text); }
[data-bs-theme="dark"] .ql-snow .ql-fill { fill: var(--text); }
[data-bs-theme="dark"] .ql-snow .ql-picker { color: var(--text); }
[data-bs-theme="dark"] .ql-snow .ql-picker-options, [data-bs-theme="dark"] .ql-snow .ql-tooltip { background: var(--panel); color: var(--text); border-color: var(--line); }
[data-bs-theme="dark"] .ql-editor.ql-blank::before { color: var(--muted); }
[data-bs-theme="dark"] .modal-header .btn-close { filter: var(--bs-btn-close-filter); }
