:root {
	--sidebar-bg: #111827;
	--sidebar-hover: #2563eb;
	--sidebar-text: #cbd5e1;
	--body-bg: #f5f6fa;
	--card-radius: 1rem;
}

body {
	background: var(--body-bg);
	font-size: 14px;
	min-height: 100vh;
}

.sidebar {
	min-height: 100vh;
	background: var(--sidebar-bg);
}

.sidebar .nav-link {
	color: var(--sidebar-text);
	border-radius: .75rem;
	margin-bottom: .25rem;
	transition: all .2s ease;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active {
	background: var(--sidebar-hover);
	color: #fff;
}

.card {
	border-radius: var(--card-radius);
	border: none;
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
}

.stat-icon {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eef2ff;
	font-size: 1.25rem;
}

.table > :not(caption) > * > * {
	padding: .85rem;
}

.page-title {
	font-weight: 700;
}

.cursor-pointer {
	cursor: pointer;
}

.badge {
	font-weight: 500;
}

.form-control,
.form-select {
	border-radius: .75rem;
}

.btn {
	border-radius: .75rem;
}

@media (max-width: 768px) {

	.sidebar {
		min-height: auto;
	}

	.page-title {
		font-size: 1.35rem;
	}
}

.sidebar-dropdown-btn {
	width: 100%;
	border: 0;
	background: transparent;
	color: var(--sidebar-text);
	border-radius: .75rem;
	padding: .65rem .9rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
	transition: all .2s ease;
}

.sidebar-dropdown-btn:hover,
.sidebar-dropdown-btn.active {
	background: var(--sidebar-hover);
	color: #fff;
}

.sidebar-submenu {
	padding-left: .35rem;
}

.sidebar-submenu .nav-link {
	font-size: .92rem;
	padding-left: 1rem;
}