a {
	color: var(--primary-blue, #1e88e5);
	transition: color 0.2s ease;
}

a:hover {
	color: var(--primary-blue-dark, #1565c0);
	text-decoration: none;
}

.bg-success {
	background-color: #8BC34A!important;
}

.text-primary {
	color: var(--primary-blue, #1e88e5)!important;
}

.text-danger {
	color: #D40000!important;
}
a.text-danger:focus,
a.text-danger:hover {
	color: #790000!important;
}

/* Buttons */
.btn {
	font-weight: var(--font-weight-medium, 550);
	font-size: var(--font-size-base, 0.945rem);
	padding: 12px 24px;
	border-radius: 4px;
	transition: all 0.3s ease;
}

.btn-primary {
	background: var(--primary-blue, #0078D4);
	border: none;
	font-weight: var(--font-weight-semibold, 650);
}

.btn-primary:hover {
	background: var(--primary-blue-dark, #005A9E);
	border: none;
	transform: translateY(-1px);
}

.btn-secondary {
	background-color: #64748B;
	border: none;
	font-weight: var(--font-weight-semibold, 650);
}

.btn-secondary:hover {
	background-color: #475569;
	border: none;
	transform: translateY(-1px);
}

.btn-light {
	background-color: #f8f9fa;
	border: 2px solid var(--border-color, #e2e8f0);
	font-weight: var(--font-weight-medium, 550);
}

.btn-light:hover {
	background-color: #e9ecef;
	border-color: #cbd5e1;
	transform: translateY(-1px);
}

.btn-danger {
	background: #DC2626;
	border: none;
	font-weight: var(--font-weight-semibold, 650);
}

.btn-danger:hover {
	background: #B91C1C;
	border: none;
	transform: translateY(-1px);
}

.btn-success {
	background: #16A34A;
	border: none;
	font-weight: var(--font-weight-semibold, 650);
}

.btn-success:hover {
	background: #15803D;
	border: none;
	transform: translateY(-1px);
}

.btn-sm {
	padding: 8px 16px;
	font-size: var(--font-size-sm, 0.925rem);
}

.btn-lg {
	padding: 16px 32px;
	font-size: var(--font-size-lg, 1.08rem);
}

.btn-light.focus, .btn-light:focus {
	box-shadow: none;
}

.btn.focus, .btn:focus {
	box-shadow: none;
}

/* Form */
.form-control {
	font-size: var(--font-size-base, 0.945rem);
	font-weight: var(--font-weight-normal, 450);
	padding: 12px 16px;
	border: 2px solid var(--border-color, #e2e8f0);
	border-radius: 4px;
	transition: all 0.2s ease;
}

.form-control:focus {
	border-color: var(--primary-blue, #0078D4);
}

label {
	font-weight: var(--font-weight-semibold, 650);
	color: var(--text-primary, #0F172A);
	margin-bottom: 8px;
	font-size: var(--font-size-base, 0.945rem);
}

/* Cards */
.card {
	border: none;
	border-radius: 4px;
}

.card:hover {
}

.card-header {
	background: transparent;
	border-bottom: 1px solid var(--border-color, #e2e8f0);
	font-weight: var(--font-weight-bold, 750);
	font-size: var(--font-size-lg, 1.08rem);
}

/* Tables */
.table-striped tbody tr:nth-of-type(odd) {
	background-color: var(--bg-warm, #faf8f5);
}

.table-striped tbody tr:hover {
	background-color: var(--bg-warm-card, #f7f5f2);
}

.table thead th {
	font-size: var(--font-size-xs, 0.8rem);
	text-transform: uppercase!important;
	font-weight: var(--font-weight-bold, 750);
	color: var(--text-secondary, #475569);
	letter-spacing: 0.8px;
	border-bottom: 2px solid var(--border-color, #e2e8f0);
}

.table td {
	font-size: var(--font-size-base, 0.945rem);
	font-weight: var(--font-weight-normal, 450);
	vertical-align: middle;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	color: var(--text-primary, #0F172A);
	font-weight: var(--font-weight-bold, 750);
	letter-spacing: -0.02em;
}

h1 { font-size: var(--font-size-3xl, 2.25rem); }
h2 { font-size: var(--font-size-2xl, 1.75rem); }
h3 { font-size: var(--font-size-xl, 1.4rem); }
h4 { font-size: var(--font-size-lg, 1.08rem); }
h5 { font-size: var(--font-size-base, 0.945rem); }
h6 { font-size: var(--font-size-sm, 0.925rem); }

/* Badge */
.badge {
	font-size: var(--font-size-xs, 0.8rem);
	font-weight: var(--font-weight-semibold, 650);
	padding: 6px 12px;
	border-radius: 4px;
}

.badge-primary {
	background: var(--primary-blue, #0078D4);
}
