:root {
    --color-primary: #0078D4;
    --color-primary-dark: #005fa6;
    --color-accent: #00BCF2;
    --text-color: #333;
    --text-muted: #555;
    --bg-body: #ffffff;
    --bg-color: #ffffff;
    --bg-light: #f8f9fa;
    --bg-card: #ffffff;
    --hero-gradient: linear-gradient(135deg, rgba(0,106,212,0.85), rgba(0,180,240,0.85));
    --color-white: #ffffff;
    --c-004a72: #004a72;
    --c-004e9c: #004e9c;
    --c-0051a8: #0051a8;
    --c-0057b7: #0057b7;
    --c-006ad4: #006ad4;
    --c-0077d2: #0077d2;
    --c-0078d4: #0078d4;
    --c-1a67c8: #1a67c8;
    --c-1c1c1e: #1c1c1e;
    --c-1e8449: #1e8449;
    --c-218838: #218838;
    --c-277da1: #277da1;
    --c-28a745: #28a745;
    --c-3a3a3c: #3a3a3c;
    --c-43aa8b: #43aa8b;
    --c-444: #444;
    --c-577590: #577590;
    --c-666: #666;
    --c-6c757d: #6c757d;
    --c-777: #777;
    --c-888: #888;
    --c-90be6d: #90be6d;
    --c-999: #999;
    --c-9c9c9c: #9c9c9c;
    --c-a0cfff: #a0cfff;
    --c-a9dfbf: #a9dfbf;
    --c-aaa: #aaa;
    --c-b5179e: #b5179e;
    --c-b6d4fe: #b6d4fe;
    --c-bfbfbf: #bfbfbf;
    --c-c0392b: #c0392b;
    --c-c1c8d0: #c1c8d0;
    --c-c82333: #c82333;
    --c-ced4da: #ced4da;
    --c-d7d7d7: #d7d7d7;
    --c-d9534f: #d9534f;
    --c-dc3545: #dc3545;
    --c-dceeff: #dceeff;
    --c-ddd: #ddd;
    --c-dee2e6: #dee2e6;
    --c-e5e5e5: #e5e5e5;
    --c-e7f1ff: #e7f1ff;
    --c-e8f0fe: #e8f0fe;
    --c-e8f1ff: #e8f1ff;
    --c-e8f5ff: #e8f5ff;
    --c-e9f5ff: #e9f5ff;
    --c-e9f7ef: #e9f7ef;
    --c-eaeaea: #eaeaea;
    --c-eee: #eee;
    --c-f0f4f8: #f0f4f8;
    --c-f1f1f1: #f1f1f1;
    --c-f1f8ff: #f1f8ff;
    --c-f3722c: #f3722c;
    --c-f3f3f3: #f3f3f3;
    --c-f5c6cb: #f5c6cb;
    --c-f6f8fb: #f6f8fb;
    --c-f94144: #f94144;
    --c-f9844a: #f9844a;
    --c-f9f9f9: #f9f9f9;
    --c-f9f9fb: #f9f9fb;
    --c-f9fbfd: #f9fbfd;
    --c-fafafa: #fafafa;
    --c-fef4f6: #fef4f6;
    --c-ffba08: #ffba08;
    --c-ffd700: #ffd700;
}

body {
    background-color: var(--bg-body);
    color: var(--text-color);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

[data-theme="dark"] {
    --color-primary: #4dabf7;
    --color-primary-dark: #1b6ec2;
    --color-accent: #23c7fb;
    --text-color: #f4f4f4;
    --text-muted: #cfcfcf;
    --bg-body: #121212;
    --bg-color: #121212;
    --bg-light: #1a1a1a;
    --bg-card: #2a2a2a;
    --hero-gradient: linear-gradient(135deg, rgba(40,40,60,0.85), rgba(20,20,30,0.85));
}

.text-primary-theme { color: var(--color-primary); }
.bg-primary-theme { background-color: var(--color-primary); }
.btn-primary-theme {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
}

[data-theme='dark'] select.form-select {
    background-color: #000;
    color: #fff;
    border-color: var(--c-444);
}

/* Base theme overrides */
/* Global dark mode adjustments */
[data-theme='dark'] .offcanvas,
[data-theme='dark'] .modal-content {
    background-color: var(--bg-card);
    color: var(--text-color);
}
[data-theme='dark'] .modal-header,
[data-theme='dark'] .modal-footer {
    background-color: var(--bg-light);
    color: var(--text-color);
}
[data-theme='dark'] .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23ccc' viewBox='0 0 16 16'%3e%3cpath d='M1 3h14v1H1zm0 4h14v1H1zm0 4h14v1H1z'/%3e%3c/svg%3e") !important;
}

/* Additional dark mode tweaks */
[data-theme='dark'] #filters label {
    color: #fff;
}

[data-theme='dark'] .card-subtitle,
[data-theme='dark'] .card-subtitle.text-muted {
    color: var(--text-muted) !important;
}

/* Offcanvas list group background in dark mode */
[data-theme='dark'] .offcanvas .list-group-item {
    background-color: var(--bg-card);
    color: var(--text-color);
}

/* Dark mode email and version text */
[data-theme='dark'] .offcanvas-version {
    color: var(--color-white);
}

/* Dark mode period toggle buttons */
[data-theme='dark'] .period-toggle .btn {
    color: var(--color-white);
}
