:root {
	color-scheme: light;
	--body-bg: #f8f9fc;
	--surface-bg: #ffffff;
	--panel-bg: #f0f4ff;
	--text-color: #111827;
	--muted-color: #6b7280;
	--border-color: #dee2e6;
	--shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
	--table-hover-bg: rgba(13, 110, 253, 0.08);
	--overlay: rgba(15, 23, 42, 0.35);
	--bs-link-color: #0d6efd;
	--bs-link-hover-color: #0b5ed7;
}

[data-bs-theme="dark"] {
	color-scheme: dark;
	--body-bg: #0b1224;
	--surface-bg: #0f172a;
	--panel-bg: #0b1224;
	--text-color: #e5e7eb;
	--muted-color: #94a3b8;
	--border-color: #1f2937;
	--shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
	--table-hover-bg: rgba(13, 110, 253, 0.15);
	--overlay: rgba(0, 0, 0, 0.55);
	--bs-link-color: #0d6efd;
	--bs-link-hover-color: #0b5ed7;
}

body {
	background: linear-gradient(145deg, var(--body-bg), var(--panel-bg));
	color: var(--text-color);
	min-height: 100vh;
}

.text-muted {
	color: var(--muted-color) !important;
}

a:not(.btn),
.nav-link {
	color: var(--bs-link-color);
}

a:not(.btn):hover,
a:not(.btn):focus,
.nav-link:hover,
.nav-link:focus {
	color: var(--bs-link-hover-color);
}

.card,
.modal-content,
.table,
.form-control,
.form-select,
.input-group-text,
.dropdown-menu {
	background-color: var(--surface-bg);
	color: var(--text-color);
	border-color: var(--border-color);
}

.table-hover > tbody > tr:hover {
	background-color: var(--table-hover-bg);
}

.theme-toggle {
	border-color: var(--border-color);
	background-color: var(--surface-bg);
	color: var(--text-color);
	box-shadow: var(--shadow);
}

.theme-toggle-floating {
	position: fixed;
	top: 14px;
	right: 14px;
	z-index: 1100;
}

.theme-toggle:hover {
	background-color: var(--surface-bg);
	color: var(--text-color);
	border-color: #6c757d;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15);
}
