:root {
	--elpro-red: #E53935;
	--elpro-red-dark: #C62828;
	--gray-50: #F7F7F7;
	--gray-100: #EEEEEE;
	--gray-300: #D0D0D0;
	--gray-700: #4A4A4A;
	--gray-900: #1F1F1F;
}

/* ---------- Base ---------- */
body {
	color: var(--gray-900);
	background-color: #FFFFFF;
}

/* ---------- Buttons ---------- */
.btn-primary {
	background-color: var(--elpro-red);
	border-color: var(--elpro-red);
}

	.btn-primary:hover,
	.btn-primary:focus {
		background-color: var(--elpro-red-dark);
		border-color: var(--elpro-red-dark);
	}

.btn-outline-primary {
	color: var(--elpro-red);
	border-color: var(--elpro-red);
}

	.btn-outline-primary:hover {
		background-color: var(--elpro-red);
		border-color: var(--elpro-red);
		color: #FFFFFF;
	}

.btn-outline-secondary {
	color: var(--gray-700);
	border-color: var(--gray-300);
}

	.btn-outline-secondary:hover {
		background-color: var(--gray-50);
	}

/* ---------- Alerts ---------- */
.alert-success {
	background-color: #F2F7F2;
	border-color: #C8E6C9;
	color: #2E7D32;
}

.alert-danger {
	background-color: #FCEAEA;
	border-color: #F5C2C7;
	color: #B71C1C;
}

.alert-info {
	background-color: var(--gray-50);
	border-color: var(--gray-300);
	color: var(--gray-700);
}

/* ---------- Badges ---------- */
.badge.bg-success {
	background-color: #E8F5E9 !important;
	color: #2E7D32;
}

.badge.bg-secondary {
	background-color: var(--gray-100) !important;
	color: var(--gray-700);
}

/* ---------- Forms & switches ---------- */
.form-check-input:checked {
	background-color: var(--elpro-red);
	border-color: var(--elpro-red);
}

.form-check-input:focus {
	box-shadow: 0 0 0 0.15rem rgba(229, 57, 53, 0.25);
}

/* ---------- Cards ---------- */
.card {
	border: 1px solid var(--gray-300);
	border-radius: 6px;
}

.card-header {
	background-color: var(--gray-50);
	border-bottom: 1px solid var(--gray-300);
	font-weight: 600;
}

/* ---------- Tables ---------- */
.table thead th {
	color: var(--gray-700);
	border-bottom: 2px solid var(--gray-300);
}

/* ---------- Code blocks ---------- */
code {
	background-color: var(--gray-50);
	color: var(--gray-900);
	border-radius: 4px;
}

/* Brand button variants */
.btn-elpro {
	background-color: var(--elpro-red);
	border-color: var(--elpro-red);
	color: #fff;
}

	.btn-elpro:hover,
	.btn-elpro:focus {
		background-color: var(--elpro-red-dark);
		border-color: var(--elpro-red-dark);
		color: #fff;
	}

.btn-outline-elpro {
	color: var(--elpro-red);
	border-color: var(--elpro-red);
}

	.btn-outline-elpro:hover,
	.btn-outline-elpro:focus {
		background-color: var(--elpro-red);
		border-color: var(--elpro-red);
		color: #fff;
	}

.badge.bg-elpro {
	background-color: var(--elpro-red) !important;
	color: #fff;
}

.badge.bg-elpro-soft {
	background-color: #FCEAEA !important;
	color: #B71C1C;
	border: 1px solid #F5C2C7;
}
