/*
 * AVstackr Theme Presets
 * Accurate colors from JetBrains Rider IDE themes
 */

/* ============================================
   PRESET: Default (GitHub-inspired)
   ============================================ */
[data-theme="default"][data-bs-theme="dark"] {
    --bs-body-bg: #0d1117;
    --bs-body-color: #c9d1d9;
    --bs-secondary-bg: #161b22;
    --bs-tertiary-bg: #21262d;
    --bs-border-color: #30363d;
    --bs-primary: #58a6ff;
    --bs-primary-rgb: 88, 166, 255;
    --bs-link-color: #58a6ff;
    --bs-link-hover-color: #79b8ff;
}

/* Default Dark - Aggressive component overrides */
[data-theme="default"][data-bs-theme="dark"] body,
[data-theme="default"][data-bs-theme="dark"] .page,
[data-theme="default"][data-bs-theme="dark"] main {
    background-color: #0d1117 !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .card {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .card-header {
    background-color: #21262d !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .table {
    --bs-table-bg: #0d1117;
    --bs-table-color: #ffffff;
    --bs-table-border-color: #30363d;
    --bs-table-hover-bg: #2d333b;
    --bs-table-hover-color: #ffffff;
    background-color: #0d1117 !important;
    color: #ffffff !important;
}

[data-theme="default"][data-bs-theme="dark"] .table thead th {
    background-color: #21262d !important;
    color: #ffffff !important;
    border-color: #30363d !important;
}

[data-theme="default"][data-bs-theme="dark"] .table td,
[data-theme="default"][data-bs-theme="dark"] .table th {
    border-color: #30363d !important;
    color: #ffffff !important;
}

[data-theme="default"][data-bs-theme="dark"] .table tbody tr:hover {
    background-color: #2d333b !important;
}

[data-theme="default"][data-bs-theme="dark"] .table tbody tr:hover td {
    color: #ffffff !important;
}

/* Schematics table - subtle hover matching project details */
[data-theme="default"][data-bs-theme="dark"] .schematics-table {
    --bs-table-bg: #0d1117;
    --bs-table-color: #e6edf3;
    --bs-table-border-color: #30363d;
    --bs-table-hover-bg: #161b22;
    --bs-table-hover-color: #e6edf3;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table thead {
    background-color: #161b22 !important;
    color: #e6edf3 !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table thead th {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #e6edf3 !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table tbody tr {
    border-color: #30363d !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table tbody td {
    border-color: #30363d !important;
    color: #e6edf3 !important;
}


/* Schematics table checkboxes */
[data-theme="default"][data-bs-theme="dark"] .schematics-table .form-check-input {
    background-color: #0f172a !important;
    border-color: #334155 !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table .form-check-input:checked {
    background-color: #0ea5e9 !important;
    border-color: #0ea5e9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table .form-check-input:focus {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 0.2rem rgba(14, 165, 233, 0.25) !important;
}

/* Schematics table row states */
[data-theme="default"][data-bs-theme="dark"] .schematics-table tbody tr.row-included {
    background-color: transparent !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table tbody tr.row-included td {
    color: #e6edf3 !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table tbody tr.row-excluded {
    background-color: transparent !important;
}

[data-theme="default"][data-bs-theme="dark"] .schematics-table tbody tr.row-excluded td {
    color: #8b949e !important;
}

[data-theme="default"][data-bs-theme="dark"] .form-control,
[data-theme="default"][data-bs-theme="dark"] .form-select,
[data-theme="default"][data-bs-theme="dark"] input[type="text"],
[data-theme="default"][data-bs-theme="dark"] input[type="number"] {
    background-color: #0d1117 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .form-control:focus,
[data-theme="default"][data-bs-theme="dark"] .form-select:focus {
    background-color: #0d1117 !important;
    border-color: #58a6ff !important;
    box-shadow: 0 0 0 0.25rem rgba(88, 166, 255, 0.25) !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .form-control::placeholder {
    color: #8b949e !important;
}

/* Override bg-dark text-white for line items in default dark theme */
[data-theme="default"][data-bs-theme="dark"] .bg-dark {
    background-color: #0d1117 !important;
}

[data-theme="default"][data-bs-theme="dark"] .text-white,
[data-theme="default"][data-bs-theme="dark"] .bg-dark.text-white {
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .border-secondary {
    border-color: #30363d !important;
}

[data-theme="default"][data-bs-theme="dark"] .dropdown-menu {
    background-color: #161b22 !important;
    border-color: #30363d !important;
}

[data-theme="default"][data-bs-theme="dark"] .dropdown-item {
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .dropdown-item:hover {
    background-color: #21262d !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .modal-content {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .modal-content .card {
    background-color: #21262d !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .modal-content .card-body {
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .modal-content .form-label {
    color: #c9d1d9 !important;
}

[data-theme="default"][data-bs-theme="dark"] .modal-content .form-text {
    color: #8b949e !important;
}

[data-theme="default"][data-bs-theme="dark"] .text-muted {
    color: #8b949e !important;
}

[data-theme="default"][data-bs-theme="light"] {
    --bs-body-bg: #ffffff;
    --bs-body-color: #24292f;
    --bs-secondary-bg: #f6f8fa;
    --bs-tertiary-bg: #eaeef2;
    --bs-border-color: #d0d7de;
    --bs-primary: #0969da;
    --bs-primary-rgb: 9, 105, 218;
    --bs-table-hover-bg: #eaeef2;
    --bs-table-hover-color: #24292f;
}

/* ============================================
   PRESET: Dracula
   Exact colors from draculatheme.com/spec
   ============================================ */
[data-theme="dracula"] {
    /* Core backgrounds */
    --bs-body-bg: #282a36;
    --bs-body-color: #f8f8f2;
    --bs-secondary-bg: #282a36;
    --bs-tertiary-bg: #44475a;
    --bs-border-color: #44475a;

    /* Accent colors from Dracula spec */
    --bs-primary: #bd93f9;
    --bs-primary-rgb: 189, 147, 249;
    --bs-secondary: #6272a4;
    --bs-secondary-rgb: 98, 114, 164;
    --bs-success: #50fa7b;
    --bs-success-rgb: 80, 250, 123;
    --bs-warning: #f1fa8c;
    --bs-warning-rgb: 241, 250, 140;
    --bs-danger: #ff5555;
    --bs-danger-rgb: 255, 85, 85;
    --bs-info: #8be9fd;
    --bs-info-rgb: 139, 233, 253;
    --bs-link-color: #8be9fd;
    --bs-link-hover-color: #ff79c6;
}

/* Dracula - Aggressive component overrides */
[data-theme="dracula"] body,
[data-theme="dracula"] .page,
[data-theme="dracula"] main {
    background-color: #282a36 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .sidebar {
    background-color: #282a36 !important;
    border-color: #44475a !important;
}

[data-theme="dracula"] .card {
    background-color: #282a36 !important;
    border-color: #44475a !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .card-header {
    background-color: #44475a !important;
    border-color: #6272a4 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .card-body {
    background-color: #282a36 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .table {
    --bs-table-bg: #282a36;
    --bs-table-color: #f8f8f2;
    --bs-table-border-color: #44475a;
    --bs-table-hover-bg: #44475a;
    --bs-table-hover-color: #f8f8f2;
    background-color: #282a36 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .table thead th {
    background-color: #44475a !important;
    color: #f8f8f2 !important;
    border-color: #6272a4 !important;
}

[data-theme="dracula"] .table td,
[data-theme="dracula"] .table th {
    border-color: #44475a !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .table tbody tr:hover {
    background-color: #44475a !important;
}

/* Schematics table - Dracula theme */
[data-theme="dracula"] .schematics-table {
    --bs-table-bg: #282a36;
    --bs-table-color: #f8f8f2;
    --bs-table-border-color: #6272a4;
    --bs-table-hover-bg: #363949;
    --bs-table-hover-color: #f8f8f2;
}

[data-theme="dracula"] .schematics-table thead,
[data-theme="dracula"] .schematics-table thead th {
    background-color: #44475a !important;
    border-color: #6272a4 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .schematics-table tbody tr,
[data-theme="dracula"] .schematics-table tbody td {
    border-color: #6272a4 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .schematics-table .form-check-input {
    background-color: #282a36 !important;
    border-color: #6272a4 !important;
}

[data-theme="dracula"] .schematics-table .form-check-input:checked {
    background-color: #bd93f9 !important;
    border-color: #bd93f9 !important;
}

[data-theme="dracula"] .schematics-table tbody tr.row-included {
    background-color: transparent !important;
}

[data-theme="dracula"] .schematics-table tbody tr.row-included td {
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .schematics-table tbody tr.row-excluded {
    background-color: transparent !important;
}

[data-theme="dracula"] .schematics-table tbody tr.row-excluded td {
    color: #6272a4 !important;
}

[data-theme="dracula"] .modal-content {
    background-color: #282a36 !important;
    border-color: #6272a4 !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .modal-header,
[data-theme="dracula"] .modal-footer {
    background-color: #44475a !important;
    border-color: #6272a4 !important;
}

[data-theme="dracula"] .dropdown-menu {
    background-color: #282a36 !important;
    border-color: #44475a !important;
}

[data-theme="dracula"] .dropdown-item {
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .dropdown-item:hover,
[data-theme="dracula"] .dropdown-item:focus {
    background-color: #44475a !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .btn-primary {
    background-color: #bd93f9 !important;
    border-color: #bd93f9 !important;
    color: #282a36 !important;
}

[data-theme="dracula"] .btn-primary:hover {
    background-color: #caa9fa !important;
    border-color: #caa9fa !important;
    color: #282a36 !important;
}

[data-theme="dracula"] .form-control,
[data-theme="dracula"] .form-select {
    background-color: #282a36 !important;
    border-color: #44475a !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .form-control:focus,
[data-theme="dracula"] .form-select:focus {
    background-color: #282a36 !important;
    border-color: #bd93f9 !important;
    box-shadow: 0 0 0 0.25rem rgba(189, 147, 249, 0.25) !important;
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .form-control::placeholder {
    color: #6272a4 !important;
}

[data-theme="dracula"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #8be9fd !important;
}

[data-theme="dracula"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    color: #ff79c6 !important;
}

[data-theme="dracula"] .nav-link {
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .nav-link:hover {
    color: #bd93f9 !important;
}

[data-theme="dracula"] .text-primary {
    color: #bd93f9 !important;
}

[data-theme="dracula"] .text-muted {
    color: #6272a4 !important;
}

[data-theme="dracula"] h1, [data-theme="dracula"] h2,
[data-theme="dracula"] h3, [data-theme="dracula"] h4,
[data-theme="dracula"] h5, [data-theme="dracula"] h6 {
    color: #f8f8f2 !important;
}

[data-theme="dracula"] .alert-info {
    background-color: rgba(139, 233, 253, 0.15) !important;
    border-color: #8be9fd !important;
    color: #8be9fd !important;
}

[data-theme="dracula"] .alert-success {
    background-color: rgba(80, 250, 123, 0.15) !important;
    border-color: #50fa7b !important;
    color: #50fa7b !important;
}

[data-theme="dracula"] .alert-warning {
    background-color: rgba(241, 250, 140, 0.15) !important;
    border-color: #f1fa8c !important;
    color: #f1fa8c !important;
}

[data-theme="dracula"] .alert-danger {
    background-color: rgba(255, 85, 85, 0.15) !important;
    border-color: #ff5555 !important;
    color: #ff5555 !important;
}

/* ============================================
   PRESET: One Dark
   Exact colors from Atom One Dark theme
   ============================================ */
[data-theme="one-dark"] {
    --bs-body-bg: #282c34;
    --bs-body-color: #abb2bf;
    --bs-secondary-bg: #21252b;
    --bs-tertiary-bg: #2c313a;
    --bs-border-color: #3b4048;

    --bs-primary: #61afef;
    --bs-primary-rgb: 97, 175, 239;
    --bs-secondary: #5c6370;
    --bs-secondary-rgb: 92, 99, 112;
    --bs-success: #98c379;
    --bs-success-rgb: 152, 195, 121;
    --bs-warning: #e5c07b;
    --bs-warning-rgb: 229, 192, 123;
    --bs-danger: #e06c75;
    --bs-danger-rgb: 224, 108, 117;
    --bs-info: #56b6c2;
    --bs-info-rgb: 86, 182, 194;
    --bs-link-color: #61afef;
    --bs-link-hover-color: #c678dd;
}

[data-theme="one-dark"] body,
[data-theme="one-dark"] .page,
[data-theme="one-dark"] main {
    background-color: #282c34 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .sidebar {
    background-color: #21252b !important;
    border-color: #3b4048 !important;
}

[data-theme="one-dark"] .card {
    background-color: #282c34 !important;
    border-color: #3b4048 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .card-header {
    background-color: #21252b !important;
    border-color: #3b4048 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .card-body {
    background-color: #282c34 !important;
}

[data-theme="one-dark"] .table {
    --bs-table-bg: #282c34;
    --bs-table-color: #ffffff;
    --bs-table-border-color: #3b4048;
    --bs-table-hover-bg: #3e4451;
    --bs-table-hover-color: #ffffff;
    background-color: #282c34 !important;
    color: #ffffff !important;
}

[data-theme="one-dark"] .table thead th {
    background-color: #21252b !important;
    color: #ffffff !important;
    border-color: #3b4048 !important;
}

[data-theme="one-dark"] .table td,
[data-theme="one-dark"] .table th {
    border-color: #3b4048 !important;
    color: #ffffff !important;
}

[data-theme="one-dark"] .table tbody tr:hover {
    background-color: #3e4451 !important;
}

/* Schematics table - One Dark theme */
[data-theme="one-dark"] .schematics-table {
    --bs-table-bg: #282c34;
    --bs-table-color: #abb2bf;
    --bs-table-border-color: #3b4048;
    --bs-table-hover-bg: #2c313a;
    --bs-table-hover-color: #abb2bf;
}

[data-theme="one-dark"] .schematics-table thead,
[data-theme="one-dark"] .schematics-table thead th {
    background-color: #21252b !important;
    border-color: #3b4048 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .schematics-table tbody tr,
[data-theme="one-dark"] .schematics-table tbody td {
    border-color: #3b4048 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .schematics-table .form-check-input {
    background-color: #282c34 !important;
    border-color: #3b4048 !important;
}

[data-theme="one-dark"] .schematics-table .form-check-input:checked {
    background-color: #61afef !important;
    border-color: #61afef !important;
}

[data-theme="one-dark"] .schematics-table tbody tr.row-included {
    background-color: transparent !important;
}

[data-theme="one-dark"] .schematics-table tbody tr.row-included td {
    color: #abb2bf !important;
}

[data-theme="one-dark"] .schematics-table tbody tr.row-excluded {
    background-color: transparent !important;
}

[data-theme="one-dark"] .schematics-table tbody tr.row-excluded td {
    color: #5c6370 !important;
}

[data-theme="one-dark"] .modal-content {
    background-color: #282c34 !important;
    border-color: #3b4048 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .modal-header,
[data-theme="one-dark"] .modal-footer {
    background-color: #21252b !important;
    border-color: #3b4048 !important;
}

[data-theme="one-dark"] .dropdown-menu {
    background-color: #21252b !important;
    border-color: #3b4048 !important;
}

[data-theme="one-dark"] .dropdown-item {
    color: #abb2bf !important;
}

[data-theme="one-dark"] .dropdown-item:hover,
[data-theme="one-dark"] .dropdown-item:focus {
    background-color: #2c313c !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .btn-primary {
    background-color: #61afef !important;
    border-color: #61afef !important;
    color: #282c34 !important;
}

[data-theme="one-dark"] .btn-primary:hover {
    background-color: #528bff !important;
    border-color: #528bff !important;
}

[data-theme="one-dark"] .form-control,
[data-theme="one-dark"] .form-select {
    background-color: #282c34 !important;
    border-color: #3b4048 !important;
    color: #abb2bf !important;
}

[data-theme="one-dark"] .form-control:focus,
[data-theme="one-dark"] .form-select:focus {
    background-color: #282c34 !important;
    border-color: #61afef !important;
    box-shadow: 0 0 0 0.25rem rgba(97, 175, 239, 0.25) !important;
}

[data-theme="one-dark"] .form-control::placeholder {
    color: #5c6370 !important;
}

[data-theme="one-dark"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #61afef !important;
}

[data-theme="one-dark"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    color: #c678dd !important;
}

[data-theme="one-dark"] .text-primary {
    color: #61afef !important;
}

[data-theme="one-dark"] .text-muted {
    color: #5c6370 !important;
}

[data-theme="one-dark"] h1, [data-theme="one-dark"] h2,
[data-theme="one-dark"] h3, [data-theme="one-dark"] h4,
[data-theme="one-dark"] h5, [data-theme="one-dark"] h6 {
    color: #abb2bf !important;
}

/* ============================================
   PRESET: GitHub Dark
   ============================================ */
[data-theme="github-dark"] {
    --bs-body-bg: #0d1117;
    --bs-body-color: #c9d1d9;
    --bs-secondary-bg: #161b22;
    --bs-tertiary-bg: #21262d;
    --bs-border-color: #30363d;

    --bs-primary: #58a6ff;
    --bs-primary-rgb: 88, 166, 255;
    --bs-secondary: #8b949e;
    --bs-success: #3fb950;
    --bs-success-rgb: 63, 185, 80;
    --bs-warning: #d29922;
    --bs-danger: #f85149;
    --bs-danger-rgb: 248, 81, 73;
    --bs-info: #58a6ff;
    --bs-link-color: #58a6ff;
}

[data-theme="github-dark"] body,
[data-theme="github-dark"] .page,
[data-theme="github-dark"] main {
    background-color: #0d1117 !important;
    color: #c9d1d9 !important;
}

[data-theme="github-dark"] .sidebar {
    background-color: #010409 !important;
    border-color: #30363d !important;
}

[data-theme="github-dark"] .card {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="github-dark"] .card-header {
    background-color: #21262d !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="github-dark"] .card-body {
    background-color: #161b22 !important;
}

[data-theme="github-dark"] .table {
    --bs-table-bg: #0d1117;
    --bs-table-color: #ffffff;
    --bs-table-border-color: #30363d;
    --bs-table-hover-bg: #2d333b;
    --bs-table-hover-color: #ffffff;
    background-color: #0d1117 !important;
    color: #ffffff !important;
}

[data-theme="github-dark"] .table thead th {
    background-color: #21262d !important;
    color: #ffffff !important;
    border-color: #30363d !important;
}

[data-theme="github-dark"] .table td,
[data-theme="github-dark"] .table th {
    border-color: #30363d !important;
    color: #ffffff !important;
}

[data-theme="github-dark"] .table tbody tr:hover {
    background-color: #2d333b !important;
}

[data-theme="github-dark"] .table tbody tr:hover td {
    color: #ffffff !important;
}

/* Schematics table - subtle hover */
[data-theme="github-dark"] .schematics-table {
    --bs-table-bg: #0d1117;
    --bs-table-color: #e6edf3;
    --bs-table-border-color: #30363d;
    --bs-table-hover-bg: #161b22;
    --bs-table-hover-color: #e6edf3;
}

[data-theme="github-dark"] .schematics-table thead {
    background-color: #161b22 !important;
    color: #e6edf3 !important;
}

[data-theme="github-dark"] .schematics-table thead th {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #e6edf3 !important;
}

[data-theme="github-dark"] .schematics-table tbody tr {
    border-color: #30363d !important;
}

[data-theme="github-dark"] .schematics-table tbody td {
    border-color: #30363d !important;
    color: #e6edf3 !important;
}

[data-theme="github-dark"] .schematics-table .form-check-input {
    background-color: #0f172a !important;
    border-color: #334155 !important;
}

[data-theme="github-dark"] .schematics-table .form-check-input:checked {
    background-color: #0ea5e9 !important;
    border-color: #0ea5e9 !important;
}

[data-theme="github-dark"] .schematics-table .form-check-input:focus {
    border-color: #38bdf8 !important;
    box-shadow: 0 0 0 0.2rem rgba(14, 165, 233, 0.25) !important;
}

[data-theme="github-dark"] .schematics-table tbody tr.row-included {
    background-color: transparent !important;
}

[data-theme="github-dark"] .schematics-table tbody tr.row-included td {
    color: #e6edf3 !important;
}

[data-theme="github-dark"] .schematics-table tbody tr.row-excluded {
    background-color: transparent !important;
}

[data-theme="github-dark"] .schematics-table tbody tr.row-excluded td {
    color: #8b949e !important;
}

[data-theme="github-dark"] .modal-content {
    background-color: #161b22 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="github-dark"] .dropdown-menu {
    background-color: #21262d !important;
    border-color: #30363d !important;
}

[data-theme="github-dark"] .dropdown-item {
    color: #c9d1d9 !important;
}

[data-theme="github-dark"] .dropdown-item:hover {
    background-color: #30363d !important;
}

[data-theme="github-dark"] .btn-primary {
    background-color: #238636 !important;
    border-color: #238636 !important;
    color: #ffffff !important;
}

[data-theme="github-dark"] .btn-primary:hover {
    background-color: #2ea043 !important;
    border-color: #2ea043 !important;
}

[data-theme="github-dark"] .form-control,
[data-theme="github-dark"] .form-select {
    background-color: #0d1117 !important;
    border-color: #30363d !important;
    color: #c9d1d9 !important;
}

[data-theme="github-dark"] .form-control:focus,
[data-theme="github-dark"] .form-select:focus {
    border-color: #58a6ff !important;
    box-shadow: 0 0 0 0.25rem rgba(88, 166, 255, 0.25) !important;
}

[data-theme="github-dark"] a:not(.btn) {
    color: #58a6ff !important;
}

[data-theme="github-dark"] .text-primary {
    color: #58a6ff !important;
}

/* GitHub Dark - Active nav item needs dark text on light blue background */
[data-theme="github-dark"] .sidebar .nav-item a.active {
    background-color: #58a6ff !important;
    color: #0d1117 !important;
}

[data-theme="github-dark"] .sidebar .nav-item a.active svg {
    fill: #0d1117 !important;
}

[data-theme="github-dark"] .text-muted {
    color: #8b949e !important;
}

/* ============================================
   PRESET: Nord
   Exact colors from nordtheme.com
   ============================================ */
[data-theme="nord"] {
    /* Polar Night */
    --bs-body-bg: #2e3440;
    --bs-body-color: #eceff4;
    --bs-secondary-bg: #3b4252;
    --bs-tertiary-bg: #434c5e;
    --bs-border-color: #4c566a;

    /* Frost */
    --bs-primary: #88c0d0;
    --bs-primary-rgb: 136, 192, 208;
    --bs-secondary: #81a1c1;
    --bs-secondary-rgb: 129, 161, 193;
    --bs-info: #8fbcbb;
    --bs-info-rgb: 143, 188, 187;

    /* Aurora */
    --bs-success: #a3be8c;
    --bs-success-rgb: 163, 190, 140;
    --bs-warning: #ebcb8b;
    --bs-warning-rgb: 235, 203, 139;
    --bs-danger: #bf616a;
    --bs-danger-rgb: 191, 97, 106;

    --bs-link-color: #88c0d0;
    --bs-link-hover-color: #8fbcbb;
}

[data-theme="nord"] body,
[data-theme="nord"] .page,
[data-theme="nord"] main {
    background-color: #2e3440 !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .sidebar {
    background-color: #2e3440 !important;
    border-color: #4c566a !important;
}

[data-theme="nord"] .card {
    background-color: #3b4252 !important;
    border-color: #4c566a !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .card-header {
    background-color: #434c5e !important;
    border-color: #4c566a !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .card-body {
    background-color: #3b4252 !important;
}

[data-theme="nord"] .table {
    --bs-table-bg: #2e3440;
    --bs-table-color: #eceff4;
    --bs-table-border-color: #4c566a;
    --bs-table-hover-bg: #3b4252;
    --bs-table-hover-color: #eceff4;
    background-color: #2e3440 !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .table thead th {
    background-color: #434c5e !important;
    color: #eceff4 !important;
    border-color: #4c566a !important;
}

[data-theme="nord"] .table td,
[data-theme="nord"] .table th {
    border-color: #4c566a !important;
}

[data-theme="nord"] .table tbody tr:hover {
    background-color: #3b4252 !important;
}

/* Schematics table - Nord theme */
[data-theme="nord"] .schematics-table {
    --bs-table-bg: #2e3440;
    --bs-table-color: #eceff4;
    --bs-table-border-color: #4c566a;
    --bs-table-hover-bg: #353b49;
    --bs-table-hover-color: #eceff4;
}

[data-theme="nord"] .schematics-table thead,
[data-theme="nord"] .schematics-table thead th {
    background-color: #3b4252 !important;
    border-color: #4c566a !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .schematics-table tbody tr,
[data-theme="nord"] .schematics-table tbody td {
    border-color: #4c566a !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .schematics-table .form-check-input {
    background-color: #2e3440 !important;
    border-color: #4c566a !important;
}

[data-theme="nord"] .schematics-table .form-check-input:checked {
    background-color: #88c0d0 !important;
    border-color: #88c0d0 !important;
}

[data-theme="nord"] .schematics-table tbody tr.row-included {
    background-color: transparent !important;
}

[data-theme="nord"] .schematics-table tbody tr.row-included td {
    color: #eceff4 !important;
}

[data-theme="nord"] .schematics-table tbody tr.row-excluded {
    background-color: transparent !important;
}

[data-theme="nord"] .schematics-table tbody tr.row-excluded td {
    color: #616e88 !important;
}

[data-theme="nord"] .modal-content {
    background-color: #3b4252 !important;
    border-color: #4c566a !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .modal-header,
[data-theme="nord"] .modal-footer {
    background-color: #434c5e !important;
    border-color: #4c566a !important;
}

[data-theme="nord"] .dropdown-menu {
    background-color: #3b4252 !important;
    border-color: #4c566a !important;
}

[data-theme="nord"] .dropdown-item {
    color: #eceff4 !important;
}

[data-theme="nord"] .dropdown-item:hover,
[data-theme="nord"] .dropdown-item:focus {
    background-color: #434c5e !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .btn-primary {
    background-color: #81a1c1 !important;
    border-color: #81a1c1 !important;
    color: #2e3440 !important;
}

[data-theme="nord"] .btn-primary:hover {
    background-color: #88c0d0 !important;
    border-color: #88c0d0 !important;
}

[data-theme="nord"] .form-control,
[data-theme="nord"] .form-select {
    background-color: #2e3440 !important;
    border-color: #4c566a !important;
    color: #eceff4 !important;
}

[data-theme="nord"] .form-control:focus,
[data-theme="nord"] .form-select:focus {
    background-color: #2e3440 !important;
    border-color: #88c0d0 !important;
    box-shadow: 0 0 0 0.25rem rgba(136, 192, 208, 0.25) !important;
}

[data-theme="nord"] .form-control::placeholder {
    color: #d8dee9 !important;
}

[data-theme="nord"] a:not(.btn):not(.nav-link):not(.dropdown-item) {
    color: #88c0d0 !important;
}

[data-theme="nord"] a:not(.btn):not(.nav-link):not(.dropdown-item):hover {
    color: #8fbcbb !important;
}

[data-theme="nord"] .text-primary {
    color: #88c0d0 !important;
}

[data-theme="nord"] .text-muted {
    color: #d8dee9 !important;
}

[data-theme="nord"] h1, [data-theme="nord"] h2,
[data-theme="nord"] h3, [data-theme="nord"] h4,
[data-theme="nord"] h5, [data-theme="nord"] h6 {
    color: #eceff4 !important;
}

/* ============================================
   PRESET: Solarized Dark
   ============================================ */
[data-theme="solarized-dark"] {
    --bs-body-bg: #002b36;
    --bs-body-color: #839496;
    --bs-secondary-bg: #073642;
    --bs-tertiary-bg: #094352;
    --bs-border-color: #586e75;

    --bs-primary: #268bd2;
    --bs-primary-rgb: 38, 139, 210;
    --bs-secondary: #586e75;
    --bs-success: #859900;
    --bs-warning: #b58900;
    --bs-danger: #dc322f;
    --bs-info: #2aa198;
    --bs-link-color: #268bd2;
}

[data-theme="solarized-dark"] body,
[data-theme="solarized-dark"] .page,
[data-theme="solarized-dark"] main {
    background-color: #002b36 !important;
    color: #839496 !important;
}

[data-theme="solarized-dark"] .sidebar {
    background-color: #002b36 !important;
    border-color: #586e75 !important;
}

[data-theme="solarized-dark"] .card {
    background-color: #073642 !important;
    border-color: #586e75 !important;
    color: #839496 !important;
}

[data-theme="solarized-dark"] .card-header {
    background-color: #094352 !important;
    border-color: #586e75 !important;
    color: #93a1a1 !important;
}

[data-theme="solarized-dark"] .card-body {
    background-color: #073642 !important;
}

[data-theme="solarized-dark"] .table {
    --bs-table-bg: #002b36;
    --bs-table-color: #ffffff;
    --bs-table-border-color: #586e75;
    --bs-table-hover-bg: #073642;
    --bs-table-hover-color: #ffffff;
    background-color: #002b36 !important;
    color: #ffffff !important;
}

[data-theme="solarized-dark"] .table thead th {
    background-color: #094352 !important;
    color: #ffffff !important;
    border-color: #586e75 !important;
}

[data-theme="solarized-dark"] .table td,
[data-theme="solarized-dark"] .table th {
    color: #ffffff !important;
}

[data-theme="solarized-dark"] .modal-content {
    background-color: #073642 !important;
    border-color: #586e75 !important;
}

[data-theme="solarized-dark"] .dropdown-menu {
    background-color: #073642 !important;
    border-color: #586e75 !important;
}

[data-theme="solarized-dark"] .dropdown-item {
    color: #839496 !important;
}

[data-theme="solarized-dark"] .dropdown-item:hover {
    background-color: #094352 !important;
}

[data-theme="solarized-dark"] .btn-primary {
    background-color: #268bd2 !important;
    border-color: #268bd2 !important;
    color: #fdf6e3 !important;
}

[data-theme="solarized-dark"] .form-control,
[data-theme="solarized-dark"] .form-select {
    background-color: #073642 !important;
    border-color: #586e75 !important;
    color: #839496 !important;
}

[data-theme="solarized-dark"] .form-control:focus,
[data-theme="solarized-dark"] .form-select:focus {
    border-color: #268bd2 !important;
    box-shadow: 0 0 0 0.25rem rgba(38, 139, 210, 0.25) !important;
}

[data-theme="solarized-dark"] a:not(.btn) {
    color: #268bd2 !important;
}

[data-theme="solarized-dark"] .text-primary {
    color: #268bd2 !important;
}

[data-theme="solarized-dark"] .text-muted {
    color: #657b83 !important;
}

/* Solarized Dark - Active nav item needs light text on blue background */
[data-theme="solarized-dark"] .sidebar .nav-item a.active {
    background-color: #268bd2 !important;
    color: #fdf6e3 !important;
}

[data-theme="solarized-dark"] .sidebar .nav-item a.active svg {
    fill: #fdf6e3 !important;
}

/* ============================================
   PRESET: High Contrast
   Based on JetBrains High Contrast theme
   ============================================ */
[data-theme="high-contrast"] {
    --bs-body-bg: #000000;
    --bs-body-color: #ffffff;
    --bs-secondary-bg: #1a1a1a;
    --bs-tertiary-bg: #2d2d2d;
    --bs-border-color: #e6e6e6;

    --bs-primary: #1aebff;
    --bs-primary-rgb: 26, 235, 255;
    --bs-secondary: #b3b3b3;
    --bs-success: #50a661;
    --bs-warning: #e0861f;
    --bs-danger: #fa3232;
    --bs-info: #1aebff;
    --bs-link-color: #1aebff;
    --bs-link-hover-color: #d2f53c;
}

[data-theme="high-contrast"] body,
[data-theme="high-contrast"] .page,
[data-theme="high-contrast"] main {
    background-color: #000000 !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .sidebar {
    background-color: #000000 !important;
    border: 2px solid #e6e6e6 !important;
}

[data-theme="high-contrast"] .card {
    background-color: #000000 !important;
    border: 2px solid #e6e6e6 !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .card-header {
    background-color: #1a1a1a !important;
    border-bottom: 2px solid #e6e6e6 !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .card-body {
    background-color: #000000 !important;
}

[data-theme="high-contrast"] .table {
    --bs-table-bg: #000000;
    --bs-table-color: #ffffff;
    --bs-table-border-color: #e6e6e6;
    --bs-table-hover-bg: #3333ff;
    --bs-table-hover-color: #ffffff;
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #e6e6e6 !important;
}

[data-theme="high-contrast"] .table thead th {
    background-color: #1a1a1a !important;
    color: #ffffff !important;
    border: 2px solid #e6e6e6 !important;
}

[data-theme="high-contrast"] .table td,
[data-theme="high-contrast"] .table th {
    border: 1px solid #e6e6e6 !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .table tbody tr:hover {
    background-color: #3333ff !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .modal-content {
    background-color: #000000 !important;
    border: 2px solid #e6e6e6 !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .modal-header,
[data-theme="high-contrast"] .modal-footer {
    background-color: #1a1a1a !important;
    border-color: #e6e6e6 !important;
}

[data-theme="high-contrast"] .dropdown-menu {
    background-color: #000000 !important;
    border: 2px solid #e6e6e6 !important;
}

[data-theme="high-contrast"] .dropdown-item {
    color: #ffffff !important;
    border-bottom: 1px solid #333333 !important;
}

[data-theme="high-contrast"] .dropdown-item:hover,
[data-theme="high-contrast"] .dropdown-item:focus {
    background-color: #3333ff !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .btn-primary {
    background-color: #1aebff !important;
    border: 2px solid #1aebff !important;
    color: #000000 !important;
    font-weight: bold !important;
}

[data-theme="high-contrast"] .btn-primary:hover {
    background-color: #00ffff !important;
    border-color: #00ffff !important;
}

[data-theme="high-contrast"] .form-control,
[data-theme="high-contrast"] .form-select {
    background-color: #000000 !important;
    border: 2px solid #e6e6e6 !important;
    color: #ffffff !important;
}

[data-theme="high-contrast"] .form-control:focus,
[data-theme="high-contrast"] .form-select:focus {
    border-color: #1aebff !important;
    box-shadow: 0 0 0 3px rgba(26, 235, 255, 0.5) !important;
}

[data-theme="high-contrast"] .form-control::placeholder {
    color: #b3b3b3 !important;
}

[data-theme="high-contrast"] a:not(.btn) {
    color: #1aebff !important;
    text-decoration: underline !important;
}

[data-theme="high-contrast"] a:not(.btn):hover {
    color: #d2f53c !important;
}

[data-theme="high-contrast"] .text-primary {
    color: #1aebff !important;
}

[data-theme="high-contrast"] .text-muted {
    color: #b3b3b3 !important;
}

[data-theme="high-contrast"] h1, [data-theme="high-contrast"] h2,
[data-theme="high-contrast"] h3, [data-theme="high-contrast"] h4,
[data-theme="high-contrast"] h5, [data-theme="high-contrast"] h6 {
    color: #ffffff !important;
}

[data-theme="high-contrast"] .nav-link {
    color: #ffffff !important;
}

[data-theme="high-contrast"] .nav-link:hover {
    color: #1aebff !important;
}

/* High Contrast - Active nav item needs dark text on cyan background for maximum contrast */
[data-theme="high-contrast"] .sidebar .nav-item a.active {
    background-color: #1aebff !important;
    color: #000000 !important;
    font-weight: bold !important;
}

[data-theme="high-contrast"] .sidebar .nav-item a.active svg {
    fill: #000000 !important;
}

[data-theme="high-contrast"] .badge {
    border: 1px solid currentColor !important;
}

/* ============================================
   ZEBRA STRIPING - Alternating Row Colors
   Improves row tracking across wide tables
   ============================================ */

/* Default Dark Mode - Zebra Striping */
[data-theme="default"][data-bs-theme="dark"] .table tbody tr:nth-child(odd) {
    background-color: #0d1117 !important;
}

[data-theme="default"][data-bs-theme="dark"] .table tbody tr:nth-child(even) {
    background-color: #161b22 !important;
}

[data-theme="default"][data-bs-theme="dark"] .table tbody tr:nth-child(odd) td,
[data-theme="default"][data-bs-theme="dark"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* Default Light Mode - Zebra Striping */
[data-theme="default"][data-bs-theme="light"] .table tbody tr:nth-child(odd) {
    background-color: #ffffff !important;
}

[data-theme="default"][data-bs-theme="light"] .table tbody tr:nth-child(even) {
    background-color: #f6f8fa !important;
}

[data-theme="default"][data-bs-theme="light"] .table tbody tr:nth-child(odd) td,
[data-theme="default"][data-bs-theme="light"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

[data-theme="default"][data-bs-theme="light"] .table tbody tr:hover {
    background-color: #eaeef2 !important;
}

[data-theme="default"][data-bs-theme="light"] .table tbody tr:hover td {
    color: #24292f !important;
}

/* Dracula - Zebra Striping */
[data-theme="dracula"] .table tbody tr:nth-child(odd) {
    background-color: #282a36 !important;
}

[data-theme="dracula"] .table tbody tr:nth-child(even) {
    background-color: #343746 !important;
}

[data-theme="dracula"] .table tbody tr:nth-child(odd) td,
[data-theme="dracula"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* One Dark - Zebra Striping */
[data-theme="one-dark"] .table tbody tr:nth-child(odd) {
    background-color: #282c34 !important;
}

[data-theme="one-dark"] .table tbody tr:nth-child(even) {
    background-color: #2c313a !important;
}

[data-theme="one-dark"] .table tbody tr:nth-child(odd) td,
[data-theme="one-dark"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* GitHub Dark - Zebra Striping */
[data-theme="github-dark"] .table tbody tr:nth-child(odd) {
    background-color: #0d1117 !important;
}

[data-theme="github-dark"] .table tbody tr:nth-child(even) {
    background-color: #161b22 !important;
}

[data-theme="github-dark"] .table tbody tr:nth-child(odd) td,
[data-theme="github-dark"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* Nord - Zebra Striping */
[data-theme="nord"] .table tbody tr:nth-child(odd) {
    background-color: #2e3440 !important;
}

[data-theme="nord"] .table tbody tr:nth-child(even) {
    background-color: #3b4252 !important;
}

[data-theme="nord"] .table tbody tr:nth-child(odd) td,
[data-theme="nord"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* Solarized Dark - Zebra Striping */
[data-theme="solarized-dark"] .table tbody tr:nth-child(odd) {
    background-color: #002b36 !important;
}

[data-theme="solarized-dark"] .table tbody tr:nth-child(even) {
    background-color: #073642 !important;
}

[data-theme="solarized-dark"] .table tbody tr:nth-child(odd) td,
[data-theme="solarized-dark"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* High Contrast - Zebra Striping */
[data-theme="high-contrast"] .table tbody tr:nth-child(odd) {
    background-color: #000000 !important;
}

[data-theme="high-contrast"] .table tbody tr:nth-child(even) {
    background-color: #1a1a1a !important;
}

[data-theme="high-contrast"] .table tbody tr:nth-child(odd) td,
[data-theme="high-contrast"] .table tbody tr:nth-child(even) td {
    background-color: inherit !important;
}

/* Preserve hover effect over zebra stripes - All themes */
[data-theme] .table tbody tr:hover {
    opacity: 1;
}

/* Preserve highlighted rows (yellow) over zebra stripes - must be more specific than zebra rules */
[data-theme] .table tbody tr.highlighted-row,
[data-theme] .table tbody tr.highlighted-row td,
[data-theme] .table tbody tr.highlighted-row:nth-child(odd),
[data-theme] .table tbody tr.highlighted-row:nth-child(even),
[data-theme] .table tbody tr.highlighted-row:nth-child(odd) td,
[data-theme] .table tbody tr.highlighted-row:nth-child(even) td,
[data-theme][data-bs-theme="dark"] .table tbody tr.highlighted-row,
[data-theme][data-bs-theme="dark"] .table tbody tr.highlighted-row td,
[data-theme][data-bs-theme="dark"] .table tbody tr.highlighted-row:nth-child(odd),
[data-theme][data-bs-theme="dark"] .table tbody tr.highlighted-row:nth-child(even),
[data-theme][data-bs-theme="dark"] .table tbody tr.highlighted-row:nth-child(odd) td,
[data-theme][data-bs-theme="dark"] .table tbody tr.highlighted-row:nth-child(even) td,
[data-theme][data-bs-theme="light"] .table tbody tr.highlighted-row,
[data-theme][data-bs-theme="light"] .table tbody tr.highlighted-row td,
[data-theme][data-bs-theme="light"] .table tbody tr.highlighted-row:nth-child(odd),
[data-theme][data-bs-theme="light"] .table tbody tr.highlighted-row:nth-child(even),
[data-theme][data-bs-theme="light"] .table tbody tr.highlighted-row:nth-child(odd) td,
[data-theme][data-bs-theme="light"] .table tbody tr.highlighted-row:nth-child(even) td {
    background-color: #ffc107 !important;
    color: #000000 !important;
}

/* Preserve divider rows over zebra stripes - Dark themes */
[data-theme="default"][data-bs-theme="dark"] .table tbody tr.divider-row,
[data-theme="default"][data-bs-theme="dark"] .table tbody tr.divider-row td,
[data-theme="dracula"] .table tbody tr.divider-row,
[data-theme="dracula"] .table tbody tr.divider-row td,
[data-theme="one-dark"] .table tbody tr.divider-row,
[data-theme="one-dark"] .table tbody tr.divider-row td,
[data-theme="github-dark"] .table tbody tr.divider-row,
[data-theme="github-dark"] .table tbody tr.divider-row td,
[data-theme="nord"] .table tbody tr.divider-row,
[data-theme="nord"] .table tbody tr.divider-row td,
[data-theme="solarized-dark"] .table tbody tr.divider-row,
[data-theme="solarized-dark"] .table tbody tr.divider-row td,
[data-theme="high-contrast"] .table tbody tr.divider-row,
[data-theme="high-contrast"] .table tbody tr.divider-row td {
    background-color: var(--bs-tertiary-bg) !important;
}

/* Preserve divider rows over zebra stripes - Light mode */
[data-theme="default"][data-bs-theme="light"] .table tbody tr.divider-row,
[data-theme="default"][data-bs-theme="light"] .table tbody tr.divider-row td {
    background-color: #e9ecef !important;
}

/* Table input styling - Dark mode (all dark themes) */
[data-bs-theme="dark"] .table-input {
    background-color: #1a1a2e !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

[data-bs-theme="dark"] .table-input:focus {
    background-color: #252540 !important;
    color: #ffffff !important;
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
}

/* Table input styling - Light mode */
[data-bs-theme="light"] .table-input {
    background-color: #ffffff !important;
    color: #212529 !important;
    border-color: #ced4da !important;
}

[data-bs-theme="light"] .table-input:focus {
    background-color: #ffffff !important;
    color: #212529 !important;
    border-color: #0d6efd !important;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25) !important;
}

/* Input group addon styling - Dark mode */
[data-bs-theme="dark"] .table-input-addon {
    background-color: #1a1a2e !important;
    color: #ffffff !important;
    border-color: #444 !important;
}

/* Input group addon styling - Light mode */
[data-bs-theme="light"] .table-input-addon {
    background-color: #e9ecef !important;
    color: #212529 !important;
    border-color: #ced4da !important;
}

/* Table header styling - Dark mode */
[data-bs-theme="dark"] .table-header-themed {
    background-color: #1a1a2e !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .table-header-themed th,
[data-bs-theme="dark"] .table-header-themed td,
[data-bs-theme="dark"] tr.table-header-themed td {
    background-color: #1a1a2e !important;
    color: #ffffff !important;
    border-color: #444 !important;
    white-space: nowrap !important;
    padding: 0.25rem 0.4rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

/* Table header styling - Light mode */
[data-bs-theme="light"] .table-header-themed {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

[data-bs-theme="light"] .table-header-themed th,
[data-bs-theme="light"] .table-header-themed td,
[data-bs-theme="light"] tr.table-header-themed td {
    background-color: #e9ecef !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
    white-space: nowrap !important;
    padding: 0.25rem 0.4rem !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
}

/* Room tabs styling - Dark mode */
[data-bs-theme="dark"] .room-tabs-container {
    background-color: #1a1a2e !important;
    border-bottom-color: #444 !important;
}

[data-bs-theme="dark"] .room-tab {
    background-color: #2d2d44 !important;
    color: #c9d1d9 !important;
    border-color: transparent !important;
}

[data-bs-theme="dark"] .room-tab:hover {
    background-color: #3d3d5c !important;
}

[data-bs-theme="dark"] .room-tab.active {
    background-color: #0d1117 !important;
    color: #58a6ff !important;
    border-color: #444 !important;
}

/* Room tabs styling - Light mode */
[data-bs-theme="light"] .room-tabs-container {
    background-color: #ffffff !important;
    border-bottom-color: #dee2e6 !important;
}

[data-bs-theme="light"] .room-tab {
    background-color: #f8f9fa !important;
    color: #495057 !important;
}

[data-bs-theme="light"] .room-tab:hover {
    background-color: #e9ecef !important;
}

[data-bs-theme="light"] .room-tab.active {
    background-color: #ffffff !important;
    color: #0d6efd !important;
    border-color: #dee2e6 !important;
}

/* Fullscreen/Expanded room tabs styling - Light mode */
[data-bs-theme="light"] .fullscreen-room-tabs {
    background: linear-gradient(180deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border-bottom-color: #dee2e6 !important;
}

[data-bs-theme="light"] .fullscreen-room-tab {
    background-color: #e9ecef !important;
    color: #495057 !important;
}

[data-bs-theme="light"] .fullscreen-room-tab:hover {
    background-color: #dee2e6 !important;
    color: #212529 !important;
}

[data-bs-theme="light"] .fullscreen-room-tab.active {
    background-color: #ffffff !important;
    border-color: #dee2e6 !important;
    color: #0d6efd !important;
}

[data-bs-theme="light"] .fullscreen-room-tab.add-alt {
    background-color: rgba(108, 117, 125, 0.1) !important;
    color: #6c757d !important;
}

[data-bs-theme="light"] .fullscreen-room-tab.add-alt.active {
    background-color: #ffffff !important;
    color: #6c757d !important;
}

/* Fullscreen room content and overlay - Light mode */
[data-bs-theme="light"] .fullscreen-room-overlay {
    background-color: #f8f9fa !important;
}

[data-bs-theme="light"] .fullscreen-room-header {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

[data-bs-theme="light"] .fullscreen-room-footer {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

[data-bs-theme="light"] .fullscreen-room-content {
    background-color: #ffffff !important;
}

/* Fullscreen room totals (equip/non-equip readout) - Light mode */
[data-bs-theme="light"] .fullscreen-room-totals {
    background: #f5f5f5 !important;
    border-color: #dee2e6 !important;
}

[data-bs-theme="light"] .fullscreen-room-totals .total-label {
    color: #495057 !important;
}

[data-bs-theme="light"] .fullscreen-room-totals .total-value.equipment {
    color: #198754 !important;
}

[data-bs-theme="light"] .fullscreen-room-totals .total-value.non-equipment {
    color: #0d6efd !important;
}

/* Drawing Measure properties panel - Dark mode */
[data-bs-theme="dark"] .properties-card {
    background-color: #1a1a2e !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .properties-card .card-header {
    background-color: #252540 !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .properties-card .card-body {
    background-color: #1a1a2e !important;
    color: #ffffff !important;
}

[data-bs-theme="dark"] .properties-card .form-label {
    color: #c9d1d9 !important;
}

/* Drawing Measure properties panel - Light mode */
[data-bs-theme="light"] .properties-card {
    background-color: #ffffff !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

[data-bs-theme="light"] .properties-card .card-header {
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

[data-bs-theme="light"] .properties-card .card-body {
    background-color: #ffffff !important;
    color: #212529 !important;
}

[data-bs-theme="light"] .properties-card .form-label {
    color: #495057 !important;
}

[data-bs-theme="light"] .properties-card .text-light,
[data-bs-theme="light"] .properties-card .text-white {
    color: #212529 !important;
}

[data-bs-theme="light"] .properties-card .text-muted {
    color: #6c757d !important;
}

/* ============================================
   FINANCIAL SUMMARY THEME STYLES
   Theme-aware styling for room and project summaries
   ============================================ */

/* Dark mode summary backgrounds */
[data-bs-theme="dark"] .summary-total.success {
    background: linear-gradient(90deg, rgba(var(--bs-success-rgb, 40, 167, 69), 0.15) 0%, transparent 100%);
}

[data-bs-theme="dark"] .summary-total.primary {
    background: linear-gradient(90deg, rgba(var(--bs-primary-rgb, 13, 110, 253), 0.15) 0%, transparent 100%);
}

[data-bs-theme="dark"] .summary-total.danger {
    background: linear-gradient(90deg, rgba(var(--bs-danger-rgb, 220, 53, 69), 0.15) 0%, transparent 100%);
}

/* Light mode summary backgrounds - more subtle */
[data-bs-theme="light"] .summary-total.success {
    background: linear-gradient(90deg, rgba(25, 135, 84, 0.08) 0%, transparent 100%);
}

[data-bs-theme="light"] .summary-total.primary {
    background: linear-gradient(90deg, rgba(13, 110, 253, 0.08) 0%, transparent 100%);
}

[data-bs-theme="light"] .summary-total.danger {
    background: linear-gradient(90deg, rgba(220, 53, 69, 0.08) 0%, transparent 100%);
}

/* Glass surface for financial cards - Dark mode */
[data-bs-theme="dark"] .financial-glass {
    background: rgba(22, 27, 34, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(48, 54, 61, 0.5);
}

/* Glass surface for financial cards - Light mode */
[data-bs-theme="light"] .financial-glass {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

/* Room summary highlight rows - Dark mode */
[data-bs-theme="dark"] .room-summary-highlight {
    background: linear-gradient(135deg, rgba(22, 27, 34, 0.9) 0%, rgba(33, 38, 45, 0.9) 100%);
    border-radius: 0.5rem;
}

/* Room summary highlight rows - Light mode */
[data-bs-theme="light"] .room-summary-highlight {
    background: linear-gradient(135deg, rgba(248, 249, 250, 0.95) 0%, rgba(233, 236, 239, 0.95) 100%);
    border-radius: 0.5rem;
}

/* Project summary column headers - All themes */
[data-bs-theme="dark"] .project-summary-column .column-header h6 {
    color: var(--bs-body-color);
}

[data-bs-theme="light"] .project-summary-column .column-header h6 {
    color: #212529;
}

/* Badge soft variants for line items */
[data-bs-theme="dark"] .badge-soft-danger {
    background-color: rgba(var(--bs-danger-rgb), 0.15) !important;
    color: var(--bs-danger) !important;
}

[data-bs-theme="dark"] .badge-soft-success {
    background-color: rgba(var(--bs-success-rgb), 0.15) !important;
    color: var(--bs-success) !important;
}

[data-bs-theme="dark"] .badge-soft-info {
    background-color: rgba(var(--bs-info-rgb), 0.15) !important;
    color: var(--bs-info) !important;
}

/* Toast styling for dark mode - ensure readable text */
[data-bs-theme="dark"] .toast {
    background-color: var(--bs-tertiary-bg, #21262d) !important;
    border-color: var(--bs-border-color, #30363d) !important;
}

[data-bs-theme="dark"] .toast-body {
    background-color: var(--bs-tertiary-bg, #21262d) !important;
    color: #ffffff !important;
}

[data-bs-theme="light"] .badge-soft-danger {
    background-color: rgba(220, 53, 69, 0.1) !important;
    color: #dc3545 !important;
}

[data-bs-theme="light"] .badge-soft-success {
    background-color: rgba(25, 135, 84, 0.1) !important;
    color: #198754 !important;
}

[data-bs-theme="light"] .badge-soft-info {
    background-color: rgba(13, 202, 240, 0.1) !important;
    color: #0dcaf0 !important;
}

/* ============================================
   LIGHT MODE FINANCIAL SUMMARY FIXES
   Applied to Default theme in light mode
   ============================================ */

/* Project Financial Summary - Light mode text colors */
[data-theme="default"][data-bs-theme="light"] .project-summary-column,
[data-theme="default"][data-bs-theme="light"] .project-summary-column span,
[data-theme="default"][data-bs-theme="light"] .project-summary-column .section-label,
[data-theme="default"][data-bs-theme="light"] .summary-row,
[data-theme="default"][data-bs-theme="light"] .summary-row span {
    color: #495057 !important;
}

[data-theme="default"][data-bs-theme="light"] .summary-total strong {
    color: #212529 !important;
}

/* Financial glass card body - Light mode */
[data-theme="default"][data-bs-theme="light"] .financial-glass .card-body,
[data-theme="default"][data-bs-theme="light"] .financial-glass .card-body span {
    color: #495057 !important;
}

/* Detailed Summary table - Light mode: override table-dark to use light styling */
[data-theme="default"][data-bs-theme="light"] .table-dark,
[data-theme="default"][data-bs-theme="light"] thead.table-dark,
[data-theme="default"][data-bs-theme="light"] tr.table-dark,
[data-theme="default"][data-bs-theme="light"] .table-dark th,
[data-theme="default"][data-bs-theme="light"] .table-dark td,
[data-theme="default"][data-bs-theme="light"] thead.table-dark th,
[data-theme="default"][data-bs-theme="light"] tr.table-dark td {
    --bs-table-bg: #e9ecef !important;
    --bs-table-color: #212529 !important;
    background-color: #e9ecef !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

/* Card header with bg-primary in light mode - ensure readable */
[data-theme="default"][data-bs-theme="light"] .card-header.bg-primary,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-primary h5,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-primary h6 {
    background-color: #0d6efd !important;
    color: #ffffff !important;
}

/* Gradient card headers - preserve white text in light mode */
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient .text-white,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient h4,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient h5,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient h6,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient small,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient span,
[data-theme="default"][data-bs-theme="light"] .card-header.bg-gradient i {
    color: #ffffff !important;
}

/* Financial card header - ensure gradient background is preserved */
[data-theme="default"][data-bs-theme="light"] .financial-card-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}
