/* Minimal Light/Dark theme support */

/* Light mode uses default styles, no overrides needed */

/* Light mode variables */
:root {
	--header-bg: #ffffff;
	--border-color: #dee2e6;
}

/* Dark mode overrides */
[data-theme="dark"] body {
	background-color: #121212 !important;
	color: #e0e0e0 !important;
}

[data-theme="dark"] {
	--header-bg: #1a1a1a;
	--border-color: #2a2a2a;
}

[data-theme="dark"] .container,
[data-theme="dark"] .container-fluid,
[data-theme="dark"] .row,
[data-theme="dark"] .col {
	background-color: transparent !important;
	color: inherit !important;
}

[data-theme="dark"] .card {
	background-color: #1e1e1e !important;
	color: #e0e0e0 !important;
	border-color: #2a2a2a !important;
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
	background-color: #1a1a1a !important;
	border-color: #2a2a2a !important;
	color: #e0e0e0 !important;
}

[data-theme="dark"] .navbar,
[data-theme="dark"] footer,
[data-theme="dark"] .global-footer,
[data-theme="dark"] .footer {
	background-color: #1a1a1a !important;
	border-color: #2a2a2a !important;
	color: #e0e0e0 !important;
}

[data-theme="dark"] .dropdown-menu {
	background-color: #1e1e1e !important;
	color: #e0e0e0 !important;
	border-color: #2a2a2a !important;
}

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

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

[data-theme="dark"] .table {
	--bs-table-bg: #1e1e1e !important;
	--bs-table-color: #e0e0e0 !important;
	--bs-table-border-color: #2a2a2a !important;
	background-color: #1e1e1e !important;
	color: #e0e0e0 !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
	background-color: #2a2a2a !important;
	color: #ffffff !important;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
	background-color: #121212 !important;
	border-color: #2a2a2a !important;
	color: #e0e0e0 !important;
}

[data-theme="dark"] .modal-content {
	background-color: #1e1e1e !important;
	color: #e0e0e0 !important;
}

[data-theme="dark"] .alert {
	background-color: #1e1e1e !important;
	color: #e0e0e0 !important;
	border-color: #2a2a2a !important;
}

[data-theme="dark"] .btn-outline-secondary {
	color: #e0e0e0 !important;
	border-color: #2a2a2a !important;
}

[data-theme="dark"] .btn-outline-secondary:hover {
	background-color: #2a2a2a !important;
	color: #ffffff !important;
	border-color: #3a3a3a !important;
}

/* Ensure images in message content scale appropriately */
[data-theme="dark"] .message-content img {
	filter: none; /* keep images as-is */
}

/* Additional contrast and utility adjustments */
[data-theme="dark"] a:not(.btn) {
	color: #4ea3ff !important;
}
[data-theme="dark"] a:not(.btn):hover {
	color: #8bc2ff !important;
}

/* Ensure navbar links still follow nav/global primary color in dark mode */
[data-theme="dark"] .navbar .nav-link {
	color: var(--nav-primary, var(--global-primary-color, #2a6c8a)) !important;
}
[data-theme="dark"] .navbar .nav-link:hover,
[data-theme="dark"] .navbar .nav-link:focus,
[data-theme="dark"] .navbar .nav-link.active {
	background-color: var(--nav-primary, var(--global-primary-color, #2a6c8a));
	color: #ffffff !important;
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .form-text {
	color: #a8a8a8 !important;
}

/* Neutralize very light backgrounds */
[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-white {
	background-color: #1e1e1e !important;
	color: #e0e0e0 !important;
}

/* Borders and dividers */
[data-theme="dark"] .border,
[data-theme="dark"] .dropdown-divider,
[data-theme="dark"] hr {
	border-color: #2a2a2a !important;
}

/* List groups */
[data-theme="dark"] .list-group-item {
	background-color: #1a1a1a !important;
	color: #e0e0e0 !important;
	border-color: #2a2a2a !important;
}

/* Badges on dark background */
[data-theme="dark"] .badge.bg-light,
[data-theme="dark"] .badge.bg-white {
	background-color: #2a2a2a !important;
	color: #e0e0e0 !important;
}

/* Close button visibility in modals and alerts */
[data-theme="dark"] .btn-close {
	filter: invert(1) grayscale(100%);
}

/* Placeholder text */
[data-theme="dark"] ::placeholder {
	color: #9aa0a6 !important;
}

/* Typography overrides for Dark Mode */
[data-theme="dark"] {
	/* Bootstrap color variables so utility classes adapt in dark mode */
	--bs-body-bg: #121212;
	--bs-body-color: #e0e0e0;
	--bs-secondary-color: #a8a8a8;
	--bs-heading-color: #ffffff;
	--bs-link-color: #4ea3ff;
	--bs-link-hover-color: #8bc2ff;
	--bs-border-color: #2a2a2a;
	--bs-primary: #4ea3ff;
	--bs-secondary: #9aa0a6;
	--bs-success: #6dbf73;
	--bs-info: #6ec8e6;
	--bs-warning: #e6b864;
	--bs-danger: #e57373;
	--bs-light: #2a2a2a;
	--bs-dark: #e0e0e0;
}

/* Headings and display sizes */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6,
[data-theme="dark"] .h1,
[data-theme="dark"] .h2,
[data-theme="dark"] .h3,
[data-theme="dark"] .h4,
[data-theme="dark"] .h5,
[data-theme="dark"] .h6,
[data-theme="dark"] .display-1,
[data-theme="dark"] .display-2,
[data-theme="dark"] .display-3,
[data-theme="dark"] .display-4,
[data-theme="dark"] .display-5,
[data-theme="dark"] .display-6 {
	color: var(--bs-heading-color) !important;
}

/* Lead and small text */
[data-theme="dark"] .lead {
	color: var(--bs-body-color) !important;
}
[data-theme="dark"] small,
[data-theme="dark"] .small {
	color: var(--bs-secondary-color) !important;
}

/* Common Bootstrap text utilities used across the app */
[data-theme="dark"] .text-body {
	color: var(--bs-body-color) !important;
}
[data-theme="dark"] .text-body-secondary,
[data-theme="dark"] .form-text,
[data-theme="dark"] .text-muted {
	color: var(--bs-secondary-color) !important;
}
[data-theme="dark"] .text-primary {
	color: var(--bs-primary) !important;
}
[data-theme="dark"] .text-secondary {
	color: var(--bs-secondary) !important;
}
[data-theme="dark"] .text-success {
	color: var(--bs-success) !important;
}
[data-theme="dark"] .text-info {
	color: var(--bs-info) !important;
}
[data-theme="dark"] .text-warning {
	color: var(--bs-warning) !important;
}
[data-theme="dark"] .text-danger {
	color: var(--bs-danger) !important;
}
[data-theme="dark"] .text-light {
	color: #f0f0f0 !important;
}
[data-theme="dark"] .text-dark {
	color: var(--bs-dark) !important;
}
[data-theme="dark"] .text-white {
	color: #ffffff !important;
}
/* Ensure semantic 50% utilities remain readable on dark */
[data-theme="dark"] .text-white-50 {
	color: rgba(255, 255, 255, 0.5) !important;
}
[data-theme="dark"] .text-black-50 {
	color: rgba(255, 255, 255, 0.5) !important;
}

/* Dark mode: improved contrast for cards and tables */
[data-theme="dark"] .card {
	background-color: #181b20 !important;
	color: #e4e7eb !important;
	border-color: #3a3f4a !important;
	box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.65);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .card-footer {
	background-color: #141820 !important;
	border-color: #323848 !important;
}

[data-theme="dark"] .table {
	--bs-table-bg: #141820 !important;
	--bs-table-color: #e4e7eb !important;
	--bs-table-border-color: #323848 !important;
	background-color: #141820 !important;
	color: #e4e7eb !important;
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] .table thead td {
	background-color: #1f2933 !important;
	border-bottom-color: #323848 !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
	background-color: #242f3a !important;
	color: #ffffff !important;
}

/* Dark mode: module subnav with module colors */
[data-theme="dark"] .module-subnav {
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.85)), var(--nav-primary, var(--nav-module-color)) !important;
	border-bottom-color: var(--nav-primary, var(--nav-module-color)) !important;
}

[data-theme="dark"] .module-subnav .nav-link {
	color: #e0e0e0 !important;
}