:root {
	--crm-radius: 0.5rem;
	--crm-border: var(--bs-border-color, #dee2e6);
	--crm-surface: var(--bs-body-bg, #fff);
	--crm-surface-elevated: #fff;
	--crm-text-muted: var(--bs-secondary-color, #6c757d);
	--crm-accent: var(--bs-primary, #0d6efd);
	--crm-row-hover: rgba(13, 110, 253, 0.08);
	--crm-row-selected: rgba(220, 53, 69, 0.18);
	--crm-navbar-offset: 4.5rem;
	--crm-status-rejected: #6c757d;
	--crm-status-new: #f08080;
	--crm-status-approved: #e67e22;
	--crm-status-confirmed: #198754;
	--crm-status-assigned: #0d6efd;
	--crm-status-closed: #a95309;
}

body.crm-theme-dark {
	--crm-surface: #212529;
	--crm-surface-elevated: #2c3034;
	--crm-border: #495057;
	--crm-text-muted: #adb5bd;
	--crm-accent: #6ea8fe;
	--crm-row-hover: rgba(255, 255, 255, 0.08);
	--crm-row-selected: rgba(255, 80, 80, 0.28);
	--crm-status-new: #e57373;
	--crm-status-approved: #b8860b;
	--crm-status-confirmed: #19692c;
	--crm-status-assigned: #0d47a1;
}

body.crm-theme-light {
	--crm-surface: #f8f9fa;
	--crm-surface-elevated: #fff;
	--crm-row-hover: rgba(13, 110, 253, 0.06);
	--crm-status-new: #fff;
	--crm-status-approved: orange;
	--crm-status-confirmed: #90ee90;
	--crm-status-assigned: #add8e6;
}

body.crm-theme-blue {
	--crm-surface: lightblue;
	--crm-surface-elevated: aliceblue;
	--crm-row-hover: rgba(13, 110, 253, 0.12);
	--crm-status-new: #ff4a4a;
	--crm-status-approved: orange;
	--crm-status-confirmed: #90ee90;
	--crm-status-assigned: blueviolet;
}

body {
	background: var(--crm-surface);
}

.crm-page {
	padding-bottom: 2rem;
}

.crm-card {
	background: var(--crm-surface-elevated);
	border: 1px solid var(--crm-border);
	border-radius: var(--crm-radius);
}

.crm-list-row:hover,
.crm-table tbody tr:hover {
	background: var(--crm-row-hover);
}

.role-logo-preview {
	max-width: 100px;
	max-height: 100px;
	border: 1px solid var(--crm-border);
	border-radius: 4px;
	padding: 4px;
	background: var(--crm-surface-elevated);
}

.crm-empty-state {
	text-align: center;
	padding: 2rem 1rem;
	color: var(--crm-text-muted);
}
