:root {
	--ui-primary: #2563eb;
	--ui-success: #16a34a;
	--ui-warning: #d97706;
	--ui-danger: #dc2626;
	--ui-neutral: #475569;
	--ui-border: #d1d5db;
	--ui-table-bg: #ffffff;
	--ui-table-head-bg: #f8fafc;
	--ui-table-row-alt: #f9fafb;
}

.dark {
	--ui-border: #334155;
	--ui-table-bg: #16263D;
	--ui-table-head-bg: #1E3353;
	--ui-table-row-alt: #1a2f4a;
}

/* Tables: keep readable and visible */
:where(table) {
	width: 100%;
	border-collapse: collapse;
	background: var(--ui-table-bg);
	border: 1px solid var(--ui-border);
}

:where(table th, table td) {
	border-bottom: 1px solid var(--ui-border);
	padding: 0.625rem 0.75rem;
	vertical-align: middle;
}

:where(table thead th) {
	background: var(--ui-table-head-bg);
	color: inherit;
	font-weight: 700;
}

:where(table tbody tr:nth-child(even)) {
	background: var(--ui-table-row-alt);
}

:where(table tbody tr:hover) {
	filter: brightness(0.98);
}

/* Semantic button styling (limited controlled backgrounds) */
.btn-semantic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border-radius: 0.5rem;
	border: 1px solid transparent;
	font-weight: 700;
	line-height: 1.2;
	transition: all 0.2s ease;
}

.btn-semantic i,
.btn-semantic .fa,
.btn-semantic .fas,
.btn-semantic .far,
.btn-semantic .fab {
	color: inherit !important;
}

.btn-semantic.btn-primary,
.btn-semantic.btn-view,
.btn-semantic.btn-info {
	background: var(--ui-primary) !important;
	color: #fff !important;
	border-color: var(--ui-primary) !important;
}

.btn-semantic.btn-success,
.btn-semantic.btn-add,
.btn-semantic.btn-save,
.btn-semantic.btn-create {
	background: var(--ui-success) !important;
	color: #fff !important;
	border-color: var(--ui-success) !important;
}

.btn-semantic.btn-warning,
.btn-semantic.btn-edit,
.btn-semantic.btn-update,
.btn-semantic.btn-refresh,
.btn-semantic.btn-filter {
	background: var(--ui-warning) !important;
	color: #fff !important;
	border-color: var(--ui-warning) !important;
}

.btn-semantic.btn-danger,
.btn-semantic.btn-delete,
.btn-semantic.btn-remove,
.btn-semantic.btn-cancel,
.btn-semantic.btn-reject {
	background: var(--ui-danger) !important;
	color: #fff !important;
	border-color: var(--ui-danger) !important;
}

.btn-semantic.btn-secondary,
.btn-semantic.btn-neutral,
.btn-semantic.btn-close {
	background: var(--ui-neutral) !important;
	color: #fff !important;
	border-color: var(--ui-neutral) !important;
}

/* Global fallback classes used across many legacy views */
.btn-add,
.btn-submit,
.btn-edit,
.btn-update,
.btn-save,
.btn-create,
.btn-cancel,
.btn-delete,
.btn-remove,
.btn-view,
.btn-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.55rem 0.95rem;
	border-radius: 0.55rem;
	border: 1px solid transparent;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.18s ease;
}

.btn-add,
.btn-submit,
.btn-save,
.btn-create {
	background: linear-gradient(135deg, #f59e0b, #d97706) !important;
	color: #fff !important;
	border-color: #d97706 !important;
}

.btn-edit,
.btn-update {
	background: #f59e0b !important;
	color: #fff !important;
	border-color: #d97706 !important;
}

.btn-cancel,
.btn-close {
	background: #f3f4f6 !important;
	color: #374151 !important;
	border-color: #d1d5db !important;
}

.dark .btn-cancel,
.dark .btn-close {
	background: #1f2937 !important;
	color: #e5e7eb !important;
	border-color: #374151 !important;
}

.btn-delete,
.btn-remove {
	background: #dc2626 !important;
	color: #fff !important;
	border-color: #b91c1c !important;
}

.btn-view {
	background: #2563eb !important;
	color: #fff !important;
	border-color: #1d4ed8 !important;
}

.btn-add:hover,
.btn-submit:hover,
.btn-save:hover,
.btn-create:hover,
.btn-edit:hover,
.btn-update:hover,
.btn-delete:hover,
.btn-remove:hover,
.btn-view:hover {
	filter: brightness(1.05);
	transform: translateY(-1px);
}

.btn-cancel:hover,
.btn-close:hover {
	background: #e5e7eb !important;
	color: #111827 !important;
}

.dark .btn-cancel:hover,
.dark .btn-close:hover {
	background: #374151 !important;
	color: #ffffff !important;
}

.btn-add:disabled,
.btn-submit:disabled,
.btn-edit:disabled,
.btn-update:disabled,
.btn-save:disabled,
.btn-create:disabled,
.btn-cancel:disabled,
.btn-delete:disabled,
.btn-remove:disabled,
.btn-view:disabled,
.btn-close:disabled {
	opacity: 0.65;
	cursor: not-allowed;
	transform: none;
	filter: none;
}
