/* =============================================
   checklist.admin — Dark Professional Theme
   ============================================= */

:root {
	--ca-dark: #1a1a2e;
	--ca-dark-mid: #16213e;
	--ca-dark-light: #0f3460;
	--ca-accent: #e94560;
	--ca-accent-hover: #c73652;
	--ca-text: #e0e0e0;
	--ca-text-muted: #9e9e9e;
	--ca-bg: #f0f2f5;
	--ca-bg-light: #ffffff;
	--ca-success: #2ecc71;
	--ca-warning: #f39c12;
	--ca-danger: #e74c3c;
	--ca-info: #3498db;
}

body {
	background-color: var(--ca-bg);
	color: #333;
}

/* ------ TOPBAR ------ */
.sb-topnav {
	background-color: var(--ca-dark) !important;
	border-bottom: 2px solid var(--ca-accent);
}

	.sb-topnav .navbar-brand {
		color: var(--ca-text);
	}

	.sb-topnav .navbar-text {
		color: var(--ca-text-muted);
		font-size: 0.85rem;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	.sb-topnav .nav-link {
		color: var(--ca-text) !important;
	}

		.sb-topnav .nav-link:hover {
			color: var(--ca-accent) !important;
		}

	.sb-topnav .dropdown-menu {
		background-color: var(--ca-dark-mid);
		border: 1px solid var(--ca-dark-light);
	}

	.sb-topnav .dropdown-item {
		color: var(--ca-text);
	}

		.sb-topnav .dropdown-item:hover {
			background-color: var(--ca-dark-light);
			color: var(--ca-accent);
		}

	.sb-topnav .dropdown-divider {
		border-color: var(--ca-dark-light);
	}

/* ------ SIDEBAR ------ */
.sb-sidenav.sb-sidenav-dark {
	background-color: var(--ca-dark-mid) !important;
	background-image: none !important;
	border-right: 1px solid var(--ca-dark-light);
}

	.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu-heading {
		color: var(--ca-accent) !important;
		font-size: 0.7rem;
		font-weight: 700;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link {
		color: var(--ca-text-muted) !important;
	}

		.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link .sb-nav-link-icon,
		.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link .sb-nav-link-icon i,
		.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link .sb-nav-link-icon svg {
			color: var(--ca-text-muted) !important;
			opacity: 1 !important;
			visibility: visible !important;
			display: inline-block !important;
		}

		.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link:hover,
		.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link:focus {
			color: var(--ca-text) !important;
			background-color: var(--ca-dark-light) !important;
		}

			.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link:hover .sb-nav-link-icon,
			.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link:focus .sb-nav-link-icon {
				color: var(--ca-accent) !important;
			}

		.sb-sidenav.sb-sidenav-dark .sb-sidenav-menu .nav-link[aria-current="page"] {
			color: var(--ca-text) !important;
			background-color: var(--ca-dark-light) !important;
			border-left: 3px solid var(--ca-accent);
			font-weight: 600;
		}

	.sb-sidenav.sb-sidenav-dark .sb-sidenav-footer {
		background-color: var(--ca-dark) !important;
		color: var(--ca-text-muted) !important;
		border-top: 1px solid var(--ca-dark-light);
		font-size: 0.8rem;
	}

/* ------ MAIN CONTENT ------ */
#layoutSidenav_content {
	background-color: var(--ca-bg);
}

h1.mt-4 {
	color: var(--ca-dark);
	font-weight: 700;
	font-size: 1.5rem;
	border-bottom: 2px solid var(--ca-accent);
	padding-bottom: 0.5rem;
}

/* ------ CARDS ------ */
.card {
	border: none;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.card-header {
	background-color: var(--ca-dark) !important;
	color: var(--ca-text) !important;
	border-bottom: 2px solid var(--ca-accent) !important;
	font-weight: 600;
}

	.card-header.bg-light {
		background-color: #f8f9fa !important;
		color: #333 !important;
		border-bottom: 1px solid #dee2e6 !important;
	}

/* ------ BUTTONS ------ */
.btn-primary {
	background-color: var(--ca-accent) !important;
	border-color: var(--ca-accent) !important;
	color: #fff !important;
}

	.btn-primary:hover,
	.btn-primary:focus,
	.btn-primary:active {
		background-color: var(--ca-accent-hover) !important;
		border-color: var(--ca-accent-hover) !important;
	}

.btn-outline-primary {
	color: var(--ca-accent) !important;
	border-color: var(--ca-accent) !important;
}

	.btn-outline-primary:hover {
		background-color: var(--ca-accent) !important;
		color: #fff !important;
	}

/* ------ TABLES ------ */
.table thead th,
thead.table-dark th,
.table-dark {
	background-color: var(--ca-dark) !important;
	color: var(--ca-text) !important;
	border-color: var(--ca-dark-light) !important;
}

.table-hover > tbody > tr:hover > * {
	background-color: #e8eaf0;
}

/* ------ BADGES ------ */
.badge.bg-primary {
	background-color: var(--ca-accent) !important;
}

/* ------ LINKS ------ */
a {
	color: var(--ca-accent);
}

	a:hover {
		color: var(--ca-accent-hover);
	}

/* ------ FOOTER ------ */
footer.py-4 {
	background-color: var(--ca-dark) !important;
	border-top: 1px solid var(--ca-dark-light) !important;
}

	footer.py-4 .text-muted,
	footer.py-4 a {
		color: var(--ca-text-muted) !important;
	}

		footer.py-4 a:hover {
			color: var(--ca-accent) !important;
		}

/* ------ ALERTS ------ */
.alert-success {
	border-left: 4px solid var(--ca-success);
}

.alert-warning {
	border-left: 4px solid var(--ca-warning);
}

.alert-danger {
	border-left: 4px solid var(--ca-danger);
}

.alert-info {
	border-left: 4px solid var(--ca-info);
}

/* ------ FOCUS RING ------ */
.btn:focus,
.form-control:focus,
.form-select:focus {
	box-shadow: 0 0 0 0.2rem rgba(233, 69, 96, 0.35);
	border-color: var(--ca-accent);
}
