/* One brand accent, neutral surfaces, and semantic status colors. */
:root {
 --primary-subtle: color-mix(in srgb, var(--primary-color) 9%, white);
 --card-bg: color-mix(in srgb, var(--primary-color) 4%, white);
 --border-color: color-mix(in srgb, var(--primary-color) 19%, white);
 --body-bg: #eef1f5;
 --sidebar-hover: color-mix(in srgb, var(--sidebar-bg) 85%, white);
}
html { font-size: var(--ui-font-size,16px); }
body { font-family: var(--font-family) !important; color: var(--text-main); font-weight: 400; line-height: 1.55; }
h1,h2,h3,h4,h5,h6,.page-title,.kpi-value,.sidebar-brand { font-weight: 600 !important; }
.page-title { font-size: var(--ui-heading-size,26px); }
.fw-bold,.fw-bolder,strong,b { font-weight: 600 !important; }
.fw-semibold,.form-label,.card-header,.table thead th,.badge { font-weight: 500 !important; }
.card,.kpi-card { background: var(--card-bg); border: 1px solid var(--border-color); box-shadow: 0 2px 6px #18273806; }
.card-header,.card-header.bg-white { background: var(--primary-subtle) !important; border-bottom: 1px solid var(--border-color); }
.card-body { color: var(--text-main); }
.card-header .bi,.kpi-icon { color: var(--primary-color) !important; }
.kpi-icon { background: var(--primary-subtle) !important; }
.btn-primary,.bg-gradient-primary,.sidebar-header { background: var(--primary-color) !important; border-color: var(--primary-color) !important; }
.btn-primary:hover,.btn-primary:focus-visible { background: var(--primary-hover) !important; }
.text-primary,.text-info { color: var(--primary-color) !important; }
.bg-primary,.bg-info { background-color: var(--primary-color) !important; }
.text-primary-emphasis,.text-info-emphasis { color: var(--theme-dark) !important; }
.border-primary,.border-info { border-color: var(--border-color) !important; }
.bg-primary-subtle,.bg-info-subtle,.badge-soft-primary,.badge-soft-info { background: var(--primary-subtle) !important; color: var(--primary-color) !important; }
.btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); --bs-btn-hover-bg: var(--primary-color); --bs-btn-active-bg: var(--primary-color); }
.form-control:focus,.form-select:focus { border-color: var(--primary-color); box-shadow: 0 0 0 3px var(--primary-subtle); }
.table { --bs-table-color: var(--text-main); --bs-table-bg: transparent; }
.appearance-preview { padding: 1.25rem; border: 1px solid var(--border-color); border-radius: 10px; }
@media print { .card,.card-header,.kpi-card { background: white !important; box-shadow: none; } }

/* Shared metric cards and section hierarchy used by LoBs, Leads and catalogs. */
.stat-card { display:flex; align-items:center; gap:1rem; height:100%; padding:1.1rem; border:1px solid var(--border-color); border-radius:var(--radius-lg,12px); background:var(--card-bg); box-shadow:0 2px 6px #18273806; }
.stat-icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:44px; height:44px; border-radius:10px; font-size:1.25rem; background:var(--primary-subtle) !important; color:var(--primary-color) !important; }
.stat-label { font-size:.8rem; font-weight:500; color:var(--text-muted); }
.stat-value { font-size:1.6rem; line-height:1.3; font-weight:600; color:var(--text-main) !important; }
.page-header { gap:1rem; flex-wrap:wrap; }
.page-header > div:last-child { flex-wrap:wrap; }
.card-header { min-height:52px; padding:.85rem 1.1rem; font-size:.95rem; gap:.75rem; flex-wrap:wrap; }
.scope-summary h4 { font-size:1.15rem; color:var(--text-main); }
.sidebar-sublink .bi { width:1.1rem; display:inline-block; text-align:center; color:inherit; font-size:.95rem; }
.module-transfer-toolbar { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; justify-content:flex-end; margin-bottom:1rem; }
.nav-tabs .nav-link { color:var(--text-muted); font-weight:500 !important; }
.nav-tabs .nav-link.active { color:var(--primary-color); background:var(--card-bg); border-color:var(--border-color); }
.nav-tabs .badge { background:var(--primary-subtle) !important; color:var(--primary-color) !important; }

.lead-pipeline-filters { display:flex; gap:.5rem; flex-wrap:wrap; border:0; padding:.75rem; background:var(--card-bg); }
.lead-pipeline-filters .nav-link { display:flex; align-items:center; gap:.4rem; border:1px solid var(--border-color); border-radius:8px; padding:.6rem .85rem; font-size:.875rem; background:white; }
.lead-pipeline-filters .nav-link:hover { background:var(--primary-subtle); color:var(--primary-color); }
.lead-pipeline-filters .nav-link.active { background:var(--primary-color); color:white; border-color:var(--primary-color); }
.lead-pipeline-filters .nav-link.active .badge { background:#ffffff26 !important; color:white !important; }
.lead-pipeline-filters .badge { min-width:1.6rem; border-radius:6px; font-size:.75rem; }

.lead-pipeline-filters .badge { background:var(--primary-subtle) !important; color:var(--primary-color) !important; }

.lead-pipeline-filters .nav-link { color:var(--text-main); }
.lead-pipeline-filters .nav-link.active { color:white; }
.stat-card > div:last-child { min-width:0; }
.stat-card small { line-height:1.4; display:block; margin-top:.25rem; }
