:root, [data-bs-theme="light"] {
  --bg-primary: #f8f9fa;
  --bg-secondary: #ffffff;
  --bg-tertiary: #e9ecef;
  --bg-hover: #dee2e6;
  --text-primary: #212529;
  --text-secondary: #6c757d;
  --text-muted: #adb5bd;
  --border-color: #dee2e6;
  --accent: #0d6efd;
  --accent-hover: #0b5ed7;
  --success: #198754;
  --danger: #dc3545;
  --warning: #ffc107;
  --info: #0dcaf0;
  --sidebar-bg: #f0f2f5;
  --sidebar-hover: #e2e6ea;
  --sidebar-active: #d0d4d9;
  --grid-header-bg: #e9ecef;
  --grid-row-hover: #f1f3f5;
  --grid-row-alt: #f8f9fa;
  --grid-row-selected: #cfe2ff;
  --grid-row-modified: #fff3cd;
  --grid-row-new: #d1e7dd;
  --grid-row-deleted: #f8d7da;
  --grid-border: #dee2e6;
  --tab-bg: #e9ecef;
  --tab-active-bg: #ffffff;
  --scrollbar-track: #f0f0f0;
  --scrollbar-thumb: #c1c1c1;
  --modal-bg: #ffffff;
  --toast-bg: #ffffff;
  --shadow: 0 2px 8px rgba(0,0,0,0.1);
}

[data-bs-theme="dark"] {
  --bg-primary: #1a1d21;
  --bg-secondary: #212529;
  --bg-tertiary: #2b3035;
  --bg-hover: #343a40;
  --text-primary: #e9ecef;
  --text-secondary: #adb5bd;
  --text-muted: #6c757d;
  --border-color: #373b3e;
  --accent: #3d8bfd;
  --accent-hover: #6ea8fe;
  --success: #20c997;
  --danger: #e35d6a;
  --warning: #ffca2c;
  --info: #3dd5f3;
  --sidebar-bg: #16191d;
  --sidebar-hover: #242830;
  --sidebar-active: #2c313a;
  --grid-header-bg: #2b3035;
  --grid-row-hover: #2c313a;
  --grid-row-alt: #1e2227;
  --grid-row-selected: #1a3a5c;
  --grid-row-modified: #3d3521;
  --grid-row-new: #1a3328;
  --grid-row-deleted: #3d1f23;
  --grid-border: #373b3e;
  --tab-bg: #2b3035;
  --tab-active-bg: #212529;
  --scrollbar-track: #1a1d21;
  --scrollbar-thumb: #495057;
  --modal-bg: #212529;
  --toast-bg: #2b3035;
  --shadow: 0 2px 8px rgba(0,0,0,0.3);
}

* { scrollbar-width: thin; scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track); }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: var(--scrollbar-track); }
*::-webkit-scrollbar-thumb { background: var(--scrollbar-thumb); border-radius: 4px; }
*::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }
