/* CRM-only additions. Base layout, forms, cards, tables and responsive behaviour come from Limitless CSS. */
.crm-logo { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50rem; background: #0c83ff; color: #fff; font-weight: 700; }
.crm-stat-card .card-body { min-height: 7rem; }
.crm-stat-icon { width: 2.5rem; height: 2.5rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 50rem; }
.status-new,.status-open,.status-draft,.status-normal{background-color:rgba(var(--primary-rgb),.1);color:var(--primary)}
.status-assigned,.status-scheduled,.status-sent,.status-high,.status-contacted{background-color:rgba(var(--warning-rgb),.12);color:#b45309}
.status-completed,.status-paid,.status-done,.status-active,.status-low{background-color:rgba(var(--success-rgb),.12);color:var(--success)}
.status-cancelled,.status-lost,.status-blocked,.status-urgent{background-color:rgba(var(--danger-rgb),.12);color:var(--danger)}
.status-verification-pending,.status-missed,.status-inactive{background-color:rgba(var(--secondary-rgb),.12);color:var(--secondary)}
.required-hint { color: var(--danger); font-size: var(--body-font-size-sm); margin-left: .35rem; }
.crm-mini-bars { display: grid; gap: .625rem; }
.crm-bar-row { display: grid; grid-template-columns: minmax(7rem, .6fr) 1fr 3rem; gap: .625rem; align-items: center; }
.crm-bar-track { height: .5rem; background: var(--gray-200); border-radius: 50rem; overflow: hidden; }
.crm-bar-fill { height: 100%; background: var(--primary); border-radius: 50rem; }
.crm-field-builder-row { background: var(--gray-100); border: 1px solid var(--border-color); border-radius: var(--border-radius); padding: 1rem; margin-bottom: .75rem; }
.schema-preview { background: #111827; color: #dbeafe; border-radius: var(--border-radius); padding: 1rem; overflow: auto; max-height: 20rem; white-space: pre-wrap; }
.crm-empty { padding: 2rem; text-align: center; color: var(--gray-600); }
.crm-nowrap { white-space: nowrap; }
.crm-break { word-break: break-word; }
@media (max-width: 991.98px) {
  .navbar-search { width: 100%; }
  .content { padding: var(--spacer-2); }
  .crm-bar-row { grid-template-columns: 1fr; }
}
@media print {
  .navbar, .sidebar, .page-header, .navbar-footer { display: none !important; }
  .page-content, .content-wrapper, .content-inner { display: block !important; overflow: visible !important; }
  .content { padding: 0 !important; }
}

/* CRM premium color skin and local SVG icon system */

:root {
  --crm-sidebar-start: #111827;
  --crm-sidebar-end: #202938;
  --crm-brand-1: #2563eb;
  --crm-brand-2: #7c3aed;
  --crm-brand-3: #06b6d4;
  --crm-card-radius: 1rem;
}
body {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .10), transparent 26rem),
    radial-gradient(circle at top right, rgba(20, 184, 166, .10), transparent 26rem),
    var(--body-bg);
}
.navbar-dark.navbar-static {
  background: linear-gradient(90deg, #111827 0%, #1f2937 45%, #0f766e 100%);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .18);
}
.sidebar-dark {
  background: linear-gradient(180deg, var(--crm-sidebar-start) 0%, var(--crm-sidebar-end) 60%, #111827 100%);
}
.sidebar-dark .sidebar-section-body {
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav-sidebar .nav-link {
  border-radius: .75rem;
  margin: .125rem .75rem;
  transition: transform .15s ease, background-color .15s ease, color .15s ease;
}
.nav-sidebar .nav-link:hover {
  transform: translateX(2px);
}
.nav-sidebar .nav-link.active,
.nav-sidebar .nav-item-open > .nav-link,
.nav-sidebar .nav-item-expanded > .nav-link {
  background: linear-gradient(135deg, rgba(37, 99, 235, .95), rgba(6, 182, 212, .85));
  color: #fff;
  box-shadow: 0 .65rem 1.3rem rgba(37, 99, 235, .22);
}
.nav-sidebar .nav-link > i {
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: .7rem;
  background-color: rgba(255,255,255,.10);
  color: #93c5fd;
  margin-right: .75rem;
}
.nav-sidebar .nav-link.active > i,
.nav-sidebar .nav-item-open > .nav-link > i,
.nav-sidebar .nav-item-expanded > .nav-link > i {
  background-color: rgba(255,255,255,.18);
  color: #fff;
}
.crm-logo {
  background: linear-gradient(135deg, #2563eb, #06b6d4 55%, #22c55e);
  box-shadow: 0 .5rem 1rem rgba(37, 99, 235, .25);
}
.page-header-light {
  border: 0;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(8px);
}
.content .card,
.card {
  border: 0;
  border-radius: var(--crm-card-radius);
  box-shadow: 0 .65rem 1.5rem rgba(15, 23, 42, .07);
}
.card-header {
  border-top-left-radius: var(--crm-card-radius) !important;
  border-top-right-radius: var(--crm-card-radius) !important;
}
.btn {
  border-radius: .7rem;
}
.btn-primary {
  background: linear-gradient(135deg, var(--crm-brand-1), var(--crm-brand-2));
  border-color: transparent;
  box-shadow: 0 .5rem 1rem rgba(37, 99, 235, .18);
}
.btn-primary:hover { filter: brightness(.98); border-color: transparent; }
.table tbody tr:hover { background-color: rgba(37, 99, 235, .035); }
.crm-stat-card {
  overflow: hidden;
  position: relative;
}
.crm-stat-card::after {
  content: "";
  position: absolute;
  right: -2rem;
  top: -2rem;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(37, 99, 235, .10), rgba(6, 182, 212, .12));
}
.crm-stat-icon {
  width: 3rem;
  height: 3rem;
  border-radius: 1rem;
  position: relative;
  z-index: 1;
}
.crm-queue-card {
  border: 0;
  overflow: hidden;
  position: relative;
  min-height: 10rem;
}
.crm-queue-card::before {
  content: "";
  position: absolute;
  inset: auto -2rem -3rem auto;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
}
.crm-queue-card::after {
  content: "";
  position: absolute;
  inset: -4rem auto auto -3rem;
  width: 9rem;
  height: 9rem;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
}
.crm-queue-card .card-body,
.crm-queue-card .card-footer { position: relative; z-index: 1; }
.queue-new { background: linear-gradient(135deg, #2563eb, #0ea5e9) !important; }
.queue-contacted { background: linear-gradient(135deg, #06b6d4, #14b8a6) !important; }
.queue-assigned { background: linear-gradient(135deg, #f59e0b, #f97316) !important; }
.queue-completed { background: linear-gradient(135deg, #16a34a, #22c55e) !important; }
.queue-cancelled { background: linear-gradient(135deg, #ef4444, #f43f5e) !important; }
.crm-queue-icon {
  width: 3.75rem;
  height: 3.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.25rem;
  background: rgba(255,255,255,.18);
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.crm-queue-icon i { width: 2rem; height: 2rem; }
.badge.bg-transparent {
  background: rgba(255,255,255,.10) !important;
  color: inherit;
}
.status-new,.status-open,.status-draft,.status-normal{background:linear-gradient(135deg,rgba(37,99,235,.13),rgba(14,165,233,.12));color:#1d4ed8}
.status-assigned,.status-scheduled,.status-sent,.status-high,.status-contacted{background:linear-gradient(135deg,rgba(245,158,11,.16),rgba(249,115,22,.12));color:#b45309}
.status-completed,.status-paid,.status-done,.status-active,.status-low{background:linear-gradient(135deg,rgba(22,163,74,.14),rgba(20,184,166,.12));color:#047857}
.status-cancelled,.status-lost,.status-blocked,.status-urgent{background:linear-gradient(135deg,rgba(239,68,68,.14),rgba(244,63,94,.12));color:#be123c}
.status-verification-pending,.status-missed,.status-inactive{background:linear-gradient(135deg,rgba(100,116,139,.14),rgba(148,163,184,.12));color:#475569}


/* Local SVG icon fallback for Phosphor-style classes. This prevents missing-icon boxes when the Phosphor font files are absent. */
i[class^="ph-"], i[class*=" ph-"] {
  --crm-icon-size: 1.25rem;
  display: inline-block;
  width: var(--crm-icon-size);
  height: var(--crm-icon-size);
  min-width: var(--crm-icon-size);
  vertical-align: -0.18em;
  background-color: currentColor;
  -webkit-mask: var(--crm-icon) center / contain no-repeat;
  mask: var(--crm-icon) center / contain no-repeat;
  font-size: 0 !important;
  line-height: 1;
}
i[class^="ph-"]::before, i[class*=" ph-"]::before { content: none !important; }
.ph-sm { --crm-icon-size: 1rem; }
.ph-2x { --crm-icon-size: 2rem; }

.ph-arrow-circle-right{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22m12%208%204%204-4%204M8%2012h8%22/%3E%3C/svg%3E"); }
.ph-arrow-left{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M19%2012H5M12%2019l-7-7%207-7%22/%3E%3C/svg%3E"); }
.ph-arrows-left-right{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M8%207H3m0%200%203-3M3%207l3%203%22/%3E%3Cpath%20d=%22M16%2017h5m0%200-3-3m3%203-3%203%22/%3E%3Cpath%20d=%22M4%2017h16M20%207H4%22/%3E%3C/svg%3E"); }
.ph-browser{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%223%22%20y=%225%22%20width=%2218%22%20height=%2214%22%20rx=%222%22/%3E%3Cpath%20d=%22M3%209h18%22/%3E%3Cpath%20d=%22M7%207h.01M10%207h.01%22/%3E%3C/svg%3E"); }
.ph-calendar-check{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%224%22%20y=%225%22%20width=%2216%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22M8%203v4M16%203v4M4%2010h16%22/%3E%3Cpath%20d=%22m8.5%2015%202.5%202.5%205-5%22/%3E%3C/svg%3E"); }
.ph-caret-double-left{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.25%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m11%2017-5-5%205-5M18%2017l-5-5%205-5%22/%3E%3C/svg%3E"); }
.ph-caret-double-right{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.25%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m13%207%205%205-5%205M6%207l5%205-5%205%22/%3E%3C/svg%3E"); }
.ph-caret-down{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m6%209%206%206%206-6%22/%3E%3C/svg%3E"); }
.ph-caret-left{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m15%2019-7-7%207-7%22/%3E%3C/svg%3E"); }
.ph-caret-right{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.5%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m9%205%207%207-7%207%22/%3E%3C/svg%3E"); }
.ph-chart-bar{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%2020h16%22/%3E%3Crect%20x=%226%22%20y=%2211%22%20width=%223%22%20height=%226%22%20rx=%221%22/%3E%3Crect%20x=%2211%22%20y=%227%22%20width=%223%22%20height=%2210%22%20rx=%221%22/%3E%3Crect%20x=%2216%22%20y=%224%22%20width=%223%22%20height=%2213%22%20rx=%221%22/%3E%3C/svg%3E"); }
.ph-chats{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M7%2015%204%2018V6a2%202%200%200%201%202-2h10a2%202%200%200%201%202%202v7a2%202%200%200%201-2%202H7Z%22/%3E%3Cpath%20d=%22M10%2018h7l3%203V10%22/%3E%3C/svg%3E"); }
.ph-check-square{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%224%22%20y=%224%22%20width=%2216%22%20height=%2216%22%20rx=%222%22/%3E%3Cpath%20d=%22m8%2012%203%203%205-6%22/%3E%3C/svg%3E"); }
.ph-clock{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M12%207v5l3.5%202%22/%3E%3C/svg%3E"); }
.ph-clock-counter-clockwise{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2012a9%209%200%201%200%203-6.7%22/%3E%3Cpath%20d=%22M3%204v5h5%22/%3E%3Cpath%20d=%22M12%207v6l4%202%22/%3E%3C/svg%3E"); }
.ph-code{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m8%209-4%203%204%203M16%209l4%203-4%203M14%205l-4%2014%22/%3E%3C/svg%3E"); }
.ph-currency-inr{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M6%204h12M6%208h12M8%204c7%200%207%209%200%209h-1l8%207%22/%3E%3C/svg%3E"); }
.ph-dots-three{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22black%22%3E%3Ccircle%20cx=%225%22%20cy=%2212%22%20r=%222%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%222%22/%3E%3Ccircle%20cx=%2219%22%20cy=%2212%22%20r=%222%22/%3E%3C/svg%3E"); }
.ph-eye{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M2%2012s4-7%2010-7%2010%207%2010%207-4%207-10%207S2%2012%202%2012Z%22/%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22/%3E%3C/svg%3E"); }
.ph-floppy-disk{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M5%203h12l2%202v16H5a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2Z%22/%3E%3Cpath%20d=%22M7%203v6h9V3M7%2021v-7h10v7%22/%3E%3C/svg%3E"); }
.ph-gear{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%223%22/%3E%3Cpath%20d=%22M19.4%2015a1.8%201.8%200%200%200%20.36%202l.04.04a2%202%200%200%201-2.83%202.83l-.04-.04a1.8%201.8%200%200%200-2-.36%201.8%201.8%200%200%200-1.1%201.66V21a2%202%200%200%201-4%200v-.06A1.8%201.8%200%200%200%208.7%2019.3a1.8%201.8%200%200%200-2%20.36l-.04.04a2%202%200%201%201-2.83-2.83l.04-.04a1.8%201.8%200%200%200%20.36-2A1.8%201.8%200%200%200%202.6%2013H2a2%202%200%200%201%200-4h.06A1.8%201.8%200%200%200%203.7%207.9a1.8%201.8%200%200%200-.36-2l-.04-.04A2%202%200%201%201%206.13%203l.04.04a1.8%201.8%200%200%200%202%20.36H8.3A1.8%201.8%200%200%200%2010%201.8V2a2%202%200%201%201%204%200v.06a1.8%201.8%200%200%200%201.1%201.64%201.8%201.8%200%200%200%202-.36l.04-.04a2%202%200%201%201%202.83%202.83l-.04.04a1.8%201.8%200%200%200-.36%202c.2.5.7.9%201.64%201.1H22a2%202%200%201%201%200%204h-.06A1.8%201.8%200%200%200%2019.4%2015Z%22/%3E%3C/svg%3E"); }
.ph-house{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2010.5%2012%203l9%207.5%22/%3E%3Cpath%20d=%22M5%2010v10h14V10%22/%3E%3Cpath%20d=%22M9%2020v-6h6v6%22/%3E%3C/svg%3E"); }
.ph-list{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M8%206h13M8%2012h13M8%2018h13%22/%3E%3Ccircle%20cx=%224%22%20cy=%226%22%20r=%221%22%20fill=%22black%22/%3E%3Ccircle%20cx=%224%22%20cy=%2212%22%20r=%221%22%20fill=%22black%22/%3E%3Ccircle%20cx=%224%22%20cy=%2218%22%20r=%221%22%20fill=%22black%22/%3E%3C/svg%3E"); }
.ph-list-checks{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M9%206h11M9%2012h11M9%2018h11%22/%3E%3Cpath%20d=%22m3.5%206%201.2%201.2L7%204.8M3.5%2012l1.2%201.2L7%2010.8M3.5%2018l1.2%201.2L7%2016.8%22/%3E%3C/svg%3E"); }
.ph-magnifying-glass{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%2211%22%20cy=%2211%22%20r=%227%22/%3E%3Cpath%20d=%22m16.5%2016.5%204%204%22/%3E%3C/svg%3E"); }
.ph-paper-plane-tilt{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M22%202%2011%2013%22/%3E%3Cpath%20d=%22M22%202%2015%2022l-4-9-9-4%2020-7Z%22/%3E%3C/svg%3E"); }
.ph-pencil{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m16%203%205%205L8%2021H3v-5L16%203Z%22/%3E%3C/svg%3E"); }
.ph-pencil-simple{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22m16%203%205%205L8%2021H3v-5L16%203Z%22/%3E%3C/svg%3E"); }
.ph-phone-call{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M22%2016.9v3a2%202%200%200%201-2.2%202%2019.8%2019.8%200%200%201-8.6-3.1%2019.5%2019.5%200%200%201-6-6A19.8%2019.8%200%200%201%202.1%204.2%202%202%200%200%201%204.1%202h3a2%202%200%200%201%202%201.7c.1%201%20.4%201.9.7%202.8a2%202%200%200%201-.45%202.1L8.1%209.9a16%2016%200%200%200%206%206l1.3-1.3a2%202%200%200%201%202.1-.45c.9.35%201.8.6%202.8.75A2%202%200%200%201%2022%2016.9Z%22/%3E%3C/svg%3E"); }
.ph-plus{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.25%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M12%205v14M5%2012h14%22/%3E%3C/svg%3E"); }
.ph-pulse{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M3%2012h4l2-6%204%2012%202-6h6%22/%3E%3C/svg%3E"); }
.ph-sign-in{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M14%2017l5-5-5-5M19%2012H7%22/%3E%3Cpath%20d=%22M12%203H6a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h6%22/%3E%3C/svg%3E"); }
.ph-sign-out{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M10%2017l5-5-5-5M15%2012H3%22/%3E%3Cpath%20d=%22M12%203h6a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202h-6%22/%3E%3C/svg%3E"); }
.ph-sparkle{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22black%22%3E%3Cpath%20d=%22M12%202.5%2014.7%209%2021.5%2012%2014.7%2015%2012%2021.5%209.3%2015%202.5%2012%209.3%209%2012%202.5Z%22/%3E%3Cpath%20d=%22M19%203l.9%202.1L22%206l-2.1.9L19%209l-.9-2.1L16%206l2.1-.9L19%203Z%22/%3E%3C/svg%3E"); }
.ph-squares-four{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linejoin=%22round%22%3E%3Crect%20x=%224%22%20y=%224%22%20width=%226%22%20height=%226%22%20rx=%221%22/%3E%3Crect%20x=%2214%22%20y=%224%22%20width=%226%22%20height=%226%22%20rx=%221%22/%3E%3Crect%20x=%224%22%20y=%2214%22%20width=%226%22%20height=%226%22%20rx=%221%22/%3E%3Crect%20x=%2214%22%20y=%2214%22%20width=%226%22%20height=%226%22%20rx=%221%22/%3E%3C/svg%3E"); }
.ph-trash{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Cpath%20d=%22M4%207h16M10%2011v6M14%2011v6M6%207l1%2014h10l1-14M9%207V4h6v3%22/%3E%3C/svg%3E"); }
.ph-user-switch{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%229%22%20cy=%227%22%20r=%223%22/%3E%3Cpath%20d=%22M3%2020a6%206%200%200%201%2012%200%22/%3E%3Cpath%20d=%22M17%207h4m0%200-2-2m2%202-2%202M21%2015h-4m0%200%202-2m-2%202%202%202%22/%3E%3C/svg%3E"); }
.ph-users-three{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%228%22%20r=%223%22/%3E%3Cpath%20d=%22M6%2020a6%206%200%200%201%2012%200%22/%3E%3Cpath%20d=%22M4.5%2011a2.5%202.5%200%200%200%200%205M19.5%2011a2.5%202.5%200%200%201%200%205%22/%3E%3C/svg%3E"); }
.ph-x{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222.25%22%20stroke-linecap=%22round%22%3E%3Cpath%20d=%22M6%206l12%2012M18%206%206%2018%22/%3E%3C/svg%3E"); }
.ph-x-circle{ --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22M9%209l6%206M15%209l-6%206%22/%3E%3C/svg%3E"); }
.ph-arrow-circle-right, .ph-arrow-right { --crm-icon: url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22black%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%229%22/%3E%3Cpath%20d=%22m12%208%204%204-4%204M8%2012h8%22/%3E%3C/svg%3E"); }
i[class^="ph-"]:not([style]), i[class*=" ph-"]:not([style]) { }

@media (max-width: 991.98px) {
  .crm-queue-card { min-height: 8.5rem; }
  .nav-sidebar .nav-link { margin-inline: .5rem; }
  .crm-queue-icon { width: 3rem; height: 3rem; border-radius: 1rem; }
}


/* Internal operations skin: cleaner, calmer colors for employee use */
:root {
  --crm-sidebar-start: #1f2937;
  --crm-sidebar-end: #111827;
  --crm-brand-1: #2563eb;
  --crm-brand-2: #2563eb;
  --crm-brand-3: #0ea5e9;
  --crm-card-radius: .65rem;
}

body {
  background: #f4f6f9;
}

.navbar-dark.navbar-static {
  background: #1f2937;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

.sidebar-dark {
  background: #1f2937;
}

.sidebar-dark .sidebar-section-body {
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.crm-logo {
  background: #2563eb;
  box-shadow: none;
}

.page-header-light {
  background: #fff;
  backdrop-filter: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .08) !important;
}

.content .card,
.card {
  border: 1px solid #e5e7eb;
  border-radius: var(--crm-card-radius);
  box-shadow: 0 1px 3px rgba(15, 23, 42, .07);
}

.btn {
  border-radius: .45rem;
}

.btn-primary {
  background: #2563eb;
  border-color: #2563eb;
  box-shadow: none;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #1d4ed8;
  border-color: #1d4ed8;
  filter: none;
}

.nav-sidebar .nav-link {
  border-radius: .45rem;
  margin: .075rem .75rem;
  transform: none !important;
}

.nav-sidebar .nav-link:hover {
  background: rgba(255,255,255,.06);
}

.nav-sidebar .nav-link.active,
.nav-sidebar .nav-item-open > .nav-link,
.nav-sidebar .nav-item-expanded > .nav-link {
  background: rgba(37, 99, 235, .18);
  color: #fff;
  box-shadow: inset 3px 0 0 #60a5fa;
}

.nav-sidebar .nav-link > i {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: .375rem;
  background-color: transparent;
  color: #cbd5e1;
  margin-right: .65rem;
}

.nav-sidebar .nav-link.active > i,
.nav-sidebar .nav-item-open > .nav-link > i,
.nav-sidebar .nav-item-expanded > .nav-link > i {
  background-color: transparent;
  color: #fff;
}

/* Replace Limitless icon-font submenu arrows with CSS chevrons. This removes the square/missing glyph. */
.nav-item-submenu > .nav-link:after {
  content: "" !important;
  font-family: initial !important;
  width: .48rem;
  height: .48rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  right: 1rem;
  top: 50%;
  margin-top: -.24rem;
  transform: rotate(-45deg);
  opacity: .72;
}

.nav-item-submenu.nav-item-open > .nav-link:after,
.nav-item-submenu.nav-item-expanded > .nav-link:after {
  transform: rotate(45deg);
}

/* Real inline SVG controls for menu/collapse buttons; no icon font or CSS mask dependency. */
.crm-svg-icon {
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  vertical-align: -0.18em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sidebar-control .crm-svg-icon,
.sidebar-mobile-main-toggle .crm-svg-icon,
.navbar-toggler .crm-svg-icon {
  color: currentColor;
}

/* Minimal dashboard queue cards: keep color as a small status accent, not full marketing-style gradients. */
.crm-queue-card,
.crm-queue-card.bg-primary,
.crm-queue-card.bg-info,
.crm-queue-card.bg-warning,
.crm-queue-card.bg-success,
.crm-queue-card.bg-danger,
.queue-new,
.queue-contacted,
.queue-assigned,
.queue-completed,
.queue-cancelled {
  background: #fff !important;
  color: #1f2937 !important;
  border: 1px solid #e5e7eb !important;
  border-left-width: .35rem !important;
  min-height: 8.75rem;
}

.crm-queue-card::before,
.crm-queue-card::after { content: none; }

.queue-new { border-left-color: #2563eb !important; }
.queue-contacted { border-left-color: #0891b2 !important; }
.queue-assigned { border-left-color: #d97706 !important; }
.queue-completed { border-left-color: #16a34a !important; }
.queue-cancelled { border-left-color: #dc2626 !important; }

.crm-queue-card .card-footer {
  background: #f9fafb;
  border-color: #e5e7eb !important;
}

.crm-queue-card a.text-white,
.crm-queue-card .text-white {
  color: #2563eb !important;
}

.crm-queue-card .opacity-75 {
  opacity: 1 !important;
  color: #6b7280;
}

.crm-queue-icon {
  width: 3rem;
  height: 3rem;
  border-radius: .75rem;
  box-shadow: none;
  background: #eff6ff;
  color: #2563eb;
}
.queue-contacted .crm-queue-icon { background: #ecfeff; color: #0891b2; }
.queue-assigned .crm-queue-icon { background: #fffbeb; color: #d97706; }
.queue-completed .crm-queue-icon { background: #f0fdf4; color: #16a34a; }
.queue-cancelled .crm-queue-icon { background: #fef2f2; color: #dc2626; }

.crm-stat-icon {
  border-radius: .65rem;
}

.badge.bg-transparent {
  background: rgba(255,255,255,.08) !important;
}

.table tbody tr:hover {
  background-color: #f8fafc;
}

/* Employee simple skin v2: minimum color, internal ops style */
:root {
  --crm-page-bg: #f6f7f9;
  --crm-surface: #ffffff;
  --crm-border: #e5e7eb;
  --crm-text: #111827;
  --crm-muted: #6b7280;
  --crm-primary: #2563eb;
  --crm-sidebar: #22272e;
  --crm-sidebar-muted: #9ca3af;
  --crm-card-radius: .5rem;
}

body {
  background: var(--crm-page-bg) !important;
  color: var(--crm-text);
}

.navbar-dark.navbar-static {
  background: #181c20 !important;
  box-shadow: none !important;
  border-bottom: 1px solid #2f343a !important;
}

.navbar-dark .navbar-nav-link,
.navbar-dark .navbar-brand,
.navbar-dark .navbar-brand a {
  color: #f3f4f6 !important;
}

.sidebar-dark {
  background: var(--crm-sidebar) !important;
}

.sidebar-dark .sidebar-section-body {
  border-bottom: 1px solid rgba(255, 255, 255, .06) !important;
}

.nav-sidebar .nav-item-header {
  color: var(--crm-sidebar-muted);
}

.nav-sidebar .nav-link {
  border-radius: .375rem !important;
  margin: 0 .65rem .125rem !important;
  color: #d1d5db;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.nav-sidebar .nav-link:hover {
  background: rgba(255, 255, 255, .055) !important;
  color: #fff;
}

.nav-sidebar .nav-link.active,
.nav-sidebar .nav-item-open > .nav-link,
.nav-sidebar .nav-item-expanded > .nav-link {
  background: rgba(255, 255, 255, .075) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 #8ab4f8 !important;
}

.nav-sidebar .nav-link > i {
  width: 1.25rem !important;
  height: 1.25rem !important;
  min-width: 1.25rem !important;
  margin-right: .65rem !important;
  color: #cbd5e1 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.nav-sidebar .nav-link.active > i,
.nav-sidebar .nav-item-open > .nav-link > i,
.nav-sidebar .nav-item-expanded > .nav-link > i {
  color: #fff !important;
}

.page-header-light {
  background: #fff !important;
  border-bottom: 1px solid var(--crm-border) !important;
  box-shadow: none !important;
}

.page-title,
.card-header h5,
.card-header .mb-0 {
  color: var(--crm-text);
}

.content .card,
.card {
  background: var(--crm-surface) !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: var(--crm-card-radius) !important;
  box-shadow: none !important;
}

.card-header,
.card-footer {
  background: #fff !important;
  border-color: var(--crm-border) !important;
}

.table thead th {
  background: #f9fafb;
  color: #374151;
  border-bottom-color: var(--crm-border) !important;
}

.table tbody tr:hover {
  background: #f9fafb !important;
}

.form-control,
.form-select {
  border-color: #d1d5db;
  border-radius: .375rem;
}

.form-control:focus,
.form-select:focus {
  border-color: #93c5fd;
  box-shadow: 0 0 0 .16rem rgba(37, 99, 235, .12);
}

.btn {
  border-radius: .375rem !important;
  box-shadow: none !important;
}

.btn-primary {
  background: var(--crm-primary) !important;
  border-color: var(--crm-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
}

.crm-logo {
  background: #374151 !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Dashboard queue cards: mostly white, only a thin status line */
.crm-queue-card,
.crm-queue-card.bg-primary,
.crm-queue-card.bg-info,
.crm-queue-card.bg-warning,
.crm-queue-card.bg-success,
.crm-queue-card.bg-danger,
.queue-new,
.queue-contacted,
.queue-assigned,
.queue-completed,
.queue-cancelled {
  background: #fff !important;
  color: var(--crm-text) !important;
  border: 1px solid var(--crm-border) !important;
  border-top-width: 3px !important;
  border-left-width: 1px !important;
  min-height: 8.25rem !important;
}

.queue-new { border-top-color: #2563eb !important; }
.queue-contacted { border-top-color: #0891b2 !important; }
.queue-assigned { border-top-color: #d97706 !important; }
.queue-completed { border-top-color: #16a34a !important; }
.queue-cancelled { border-top-color: #dc2626 !important; }

.crm-queue-card .card-body,
.crm-queue-card .card-footer {
  color: var(--crm-text) !important;
}

.crm-queue-card .card-footer {
  background: #fafafa !important;
}

.crm-queue-card a,
.crm-queue-card a.text-white,
.crm-queue-card .text-white {
  color: #374151 !important;
}

.crm-queue-card .opacity-75,
.crm-queue-card .fs-sm {
  color: var(--crm-muted) !important;
  opacity: 1 !important;
}

.crm-queue-icon,
.queue-new .crm-queue-icon,
.queue-contacted .crm-queue-icon,
.queue-assigned .crm-queue-icon,
.queue-completed .crm-queue-icon,
.queue-cancelled .crm-queue-icon {
  width: 2.75rem !important;
  height: 2.75rem !important;
  border-radius: .5rem !important;
  background: #f3f4f6 !important;
  color: #4b5563 !important;
  box-shadow: none !important;
}

.crm-stat-icon,
.bg-primary.bg-opacity-10,
.bg-success.bg-opacity-10,
.bg-secondary.bg-opacity-10,
.bg-warning.bg-opacity-10,
.bg-danger.bg-opacity-10,
.bg-info.bg-opacity-10,
.bg-teal.bg-opacity-10 {
  background-color: #f3f4f6 !important;
}

.text-primary,
.text-info,
.text-teal,
.text-success,
.text-warning,
.text-danger,
.text-secondary {
  color: #4b5563 !important;
}

.badge.bg-primary,
.badge.bg-success,
.badge.bg-info,
.badge.bg-warning,
.badge.bg-danger,
.badge.bg-secondary,
.badge.bg-transparent {
  background: #eef2f7 !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb;
}

.status-new,.status-open,.status-draft,.status-normal,
.status-assigned,.status-scheduled,.status-sent,.status-high,.status-contacted,
.status-completed,.status-paid,.status-done,.status-active,.status-low,
.status-cancelled,.status-lost,.status-blocked,.status-urgent,
.status-verification-pending,.status-missed,.status-inactive {
  background: #f3f4f6 !important;
  color: #374151 !important;
  border: 1px solid #e5e7eb;
}

.crm-bar-track { background: #e5e7eb !important; }
.crm-bar-fill { background: #6b7280 !important; }

.alert,
.dropdown-menu {
  border-color: var(--crm-border) !important;
  box-shadow: 0 .35rem 1rem rgba(15, 23, 42, .08) !important;
}

/* Employee simple skin v3: calm UI with readable tables */
:root {
  --crm-page-bg: #f5f6f8;
  --crm-surface: #ffffff;
  --crm-border: #e3e7ee;
  --crm-border-strong: #cfd6df;
  --crm-text: #1f2937;
  --crm-muted: #6b7280;
  --crm-primary: #2563eb;
  --crm-primary-soft: #eef4ff;
  --crm-sidebar: #20252b;
  --crm-sidebar-hover: #2a3038;
  --crm-table-head: #f1f4f8;
  --crm-table-row: #ffffff;
  --crm-table-row-alt: #fbfcfe;
  --crm-table-hover: #f6f9ff;
  --crm-card-radius: .5rem;
}

body {
  background: var(--crm-page-bg) !important;
  color: var(--crm-text) !important;
}

.navbar-dark.navbar-static {
  background: #191d22 !important;
  border-bottom: 1px solid #303640 !important;
  box-shadow: none !important;
}

.sidebar-dark {
  background: var(--crm-sidebar) !important;
}

.sidebar-dark .sidebar-section-body {
  border-bottom-color: rgba(255, 255, 255, .06) !important;
}

.page-header-light {
  background: #fff !important;
  border-bottom: 1px solid var(--crm-border) !important;
  box-shadow: none !important;
}

.content .card,
.card {
  background: var(--crm-surface) !important;
  border: 1px solid var(--crm-border) !important;
  border-radius: var(--crm-card-radius) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.card-header,
.card-footer {
  background: #fff !important;
  border-color: var(--crm-border) !important;
}

.card-header {
  padding-top: .875rem !important;
  padding-bottom: .875rem !important;
}

.page-title,
.card-header h5,
.card-header .mb-0,
.fw-semibold {
  color: var(--crm-text);
}

.text-muted,
.fs-sm.text-muted {
  color: var(--crm-muted) !important;
}

.nav-sidebar .nav-link {
  color: #d4d9e0 !important;
  background: transparent !important;
  border-radius: .4rem !important;
  margin: 0 .65rem .125rem !important;
  box-shadow: none !important;
  transform: none !important;
}

.nav-sidebar .nav-link:hover {
  background: var(--crm-sidebar-hover) !important;
  color: #fff !important;
}

.nav-sidebar .nav-link.active,
.nav-sidebar .nav-item-open > .nav-link,
.nav-sidebar .nav-item-expanded > .nav-link {
  background: #29313b !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 #60a5fa !important;
}

.nav-sidebar .nav-link > i {
  background: transparent !important;
  color: #b6c0cd !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  margin-right: .65rem !important;
}

.nav-sidebar .nav-link.active > i,
.nav-sidebar .nav-item-open > .nav-link > i,
.nav-sidebar .nav-item-expanded > .nav-link > i {
  color: #ffffff !important;
}

.nav-sidebar .nav-group-sub .nav-link {
  font-size: .875rem;
  padding-top: .45rem;
  padding-bottom: .45rem;
  color: #b9c0ca !important;
}

.nav-sidebar .badge {
  background: #343b45 !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #d1d5db !important;
}

.crm-logo {
  background: #374151 !important;
  box-shadow: none !important;
}

.btn {
  border-radius: .4rem !important;
  box-shadow: none !important;
}

.btn-primary {
  background: var(--crm-primary) !important;
  border-color: var(--crm-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
}

.btn-light {
  background: #f8fafc !important;
  border-color: var(--crm-border-strong) !important;
  color: #374151 !important;
}

.form-control,
.form-select {
  border-color: var(--crm-border-strong) !important;
  border-radius: .4rem !important;
  box-shadow: none !important;
}

.form-control:focus,
.form-select:focus {
  border-color: #93b4e8 !important;
  box-shadow: 0 0 0 .14rem rgba(37, 99, 235, .10) !important;
}

/* Tables: simple, clearer and employee-friendly */
.table-responsive {
  border-top: 1px solid var(--crm-border);
}

.card > .table-responsive:first-child {
  border-top: 0;
}

.table {
  margin-bottom: 0 !important;
  color: var(--crm-text);
  --table-border-color: var(--crm-border);
}

.table thead th {
  background: var(--crm-table-head) !important;
  color: #374151 !important;
  border-bottom: 1px solid var(--crm-border-strong) !important;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-transform: uppercase;
  padding: .8rem .95rem !important;
  white-space: nowrap;
}

.table tbody td {
  background: var(--crm-table-row) !important;
  border-color: var(--crm-border) !important;
  vertical-align: middle;
  padding: .82rem .95rem !important;
}

.table tbody tr:nth-child(even) td {
  background: var(--crm-table-row-alt) !important;
}

.table tbody tr:hover td {
  background: var(--crm-table-hover) !important;
}

.table .table-light td,
.table tr.table-light td {
  background: #f7f9fc !important;
  color: #4b5563 !important;
  font-weight: 600;
}

.table td .fw-semibold,
.table a.text-body.fw-semibold,
.table .letter-icon-title {
  color: #172033 !important;
}

.table td .text-muted,
.table td .fs-sm {
  color: #6b7280 !important;
}

.table .text-center > a.text-body,
.table .text-center > a:not(.btn) {
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--crm-border);
  border-radius: .45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #4b5563 !important;
  text-decoration: none;
}

.table .text-center > a.text-body:hover,
.table .text-center > a:not(.btn):hover {
  background: var(--crm-primary-soft);
  border-color: #bcd1f5;
  color: var(--crm-primary) !important;
}

.table .btn,
.table a.btn {
  padding: .32rem .55rem !important;
}

/* Status color is subtle: useful in tables, not noisy. */
.badge.rounded-pill,
.badge {
  font-weight: 600;
  letter-spacing: .01em;
  border: 1px solid transparent;
}

.status-new,
.status-open,
.status-draft,
.status-normal {
  background: #eef4ff !important;
  color: #1d4ed8 !important;
  border-color: #c7d8fb !important;
}

.status-contacted,
.status-assigned,
.status-scheduled,
.status-sent,
.status-high {
  background: #fff7ed !important;
  color: #b45309 !important;
  border-color: #fed7aa !important;
}

.status-completed,
.status-paid,
.status-done,
.status-active,
.status-low {
  background: #ecfdf5 !important;
  color: #047857 !important;
  border-color: #bbf7d0 !important;
}

.status-cancelled,
.status-lost,
.status-blocked,
.status-urgent {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border-color: #fecaca !important;
}

.status-verification-pending,
.status-missed,
.status-inactive {
  background: #f3f4f6 !important;
  color: #4b5563 !important;
  border-color: #e5e7eb !important;
}

/* Dashboard queue cards: no heavy fill, just a narrow status accent */
.crm-queue-card,
.crm-queue-card.bg-primary,
.crm-queue-card.bg-info,
.crm-queue-card.bg-warning,
.crm-queue-card.bg-success,
.crm-queue-card.bg-danger,
.queue-new,
.queue-contacted,
.queue-assigned,
.queue-completed,
.queue-cancelled {
  background: #fff !important;
  color: var(--crm-text) !important;
  border: 1px solid var(--crm-border) !important;
  border-left-width: .3rem !important;
  border-top-width: 1px !important;
  min-height: 8.25rem !important;
}

.crm-queue-card::before,
.crm-queue-card::after { content: none !important; }

.queue-new { border-left-color: #2563eb !important; }
.queue-contacted { border-left-color: #0891b2 !important; }
.queue-assigned { border-left-color: #d97706 !important; }
.queue-completed { border-left-color: #16a34a !important; }
.queue-cancelled { border-left-color: #dc2626 !important; }

.crm-queue-card .card-body,
.crm-queue-card .card-footer,
.crm-queue-card .text-white,
.crm-queue-card a.text-white {
  color: var(--crm-text) !important;
}

.crm-queue-card .card-footer {
  background: #f8fafc !important;
}

.crm-queue-card .card-footer a {
  color: #475569 !important;
}

.crm-queue-card .card-footer a:hover {
  color: var(--crm-primary) !important;
}

.crm-queue-card .opacity-75,
.crm-queue-card .fs-sm {
  opacity: 1 !important;
  color: var(--crm-muted) !important;
}

.crm-queue-icon,
.queue-new .crm-queue-icon,
.queue-contacted .crm-queue-icon,
.queue-assigned .crm-queue-icon,
.queue-completed .crm-queue-icon,
.queue-cancelled .crm-queue-icon,
.crm-stat-icon {
  width: 2.6rem !important;
  height: 2.6rem !important;
  border-radius: .55rem !important;
  background: #f1f5f9 !important;
  color: #475569 !important;
  box-shadow: none !important;
}

.queue-new .crm-queue-icon { background: #eef4ff !important; color: #2563eb !important; }
.queue-contacted .crm-queue-icon { background: #ecfeff !important; color: #0891b2 !important; }
.queue-assigned .crm-queue-icon { background: #fff7ed !important; color: #d97706 !important; }
.queue-completed .crm-queue-icon { background: #ecfdf5 !important; color: #16a34a !important; }
.queue-cancelled .crm-queue-icon { background: #fef2f2 !important; color: #dc2626 !important; }

.bg-primary.bg-opacity-10,
.bg-success.bg-opacity-10,
.bg-secondary.bg-opacity-10,
.bg-warning.bg-opacity-10,
.bg-danger.bg-opacity-10,
.bg-info.bg-opacity-10,
.bg-teal.bg-opacity-10 {
  background: #f1f5f9 !important;
}

.text-primary,
.text-info,
.text-teal,
.text-success,
.text-warning,
.text-danger,
.text-secondary {
  color: #475569 !important;
}

.crm-bar-track { background: #e5e7eb !important; }
.crm-bar-fill { background: #64748b !important; }

.pagination .page-link {
  border-color: var(--crm-border) !important;
  color: #4b5563 !important;
}

.pagination .active .page-link,
.page-item.active .page-link {
  background: var(--crm-primary) !important;
  border-color: var(--crm-primary) !important;
  color: #fff !important;
}

@media (max-width: 991.98px) {
  .content { padding: .85rem !important; }
  .table thead th,
  .table tbody td { padding: .72rem .8rem !important; }
  .crm-queue-card { min-height: auto !important; }
}

/* Dashboard new booking drill-down panel */
.crm-dashboard-panel {
  scroll-margin-top: 1rem;
}

.crm-dashboard-panel .card-header {
  background: #fff !important;
}

.crm-dashboard-panel .collapse:not(.show) {
  display: none;
}

.crm-panel-highlight {
  animation: crmPanelHighlight 1.1s ease;
}

@keyframes crmPanelHighlight {
  0% { box-shadow: 0 0 0 .18rem rgba(37, 99, 235, .22), 0 .65rem 1.5rem rgba(15, 23, 42, .07); }
  100% { box-shadow: 0 .65rem 1.5rem rgba(15, 23, 42, .07); }
}

/* Employee operations skin v4: cleaner sidebar/header with small useful color accents */
:root {
  --ops-page-bg: #f6f8fb;
  --ops-topbar: #101722;
  --ops-topbar-2: #142033;
  --ops-sidebar: #17202b;
  --ops-sidebar-soft: #1f2b3a;
  --ops-sidebar-hover: #243246;
  --ops-sidebar-active: #233957;
  --ops-sidebar-border: rgba(148, 163, 184, .14);
  --ops-text-on-dark: #f8fafc;
  --ops-muted-on-dark: #94a3b8;
  --ops-blue: #3b82f6;
  --ops-blue-soft: rgba(59, 130, 246, .15);
  --ops-cyan: #06b6d4;
  --ops-green: #22c55e;
  --ops-amber: #f59e0b;
  --ops-red: #ef4444;
}

body {
  background: var(--ops-page-bg) !important;
}

/* Top navbar */
.crm-topbar.navbar-dark.navbar-static,
.navbar-dark.navbar-static.crm-topbar {
  min-height: 4rem;
  background: linear-gradient(90deg, var(--ops-topbar) 0%, var(--ops-topbar-2) 100%) !important;
  border-bottom: 1px solid rgba(148, 163, 184, .20) !important;
  box-shadow: 0 .35rem 1rem rgba(15, 23, 42, .12) !important;
}

.crm-topbar .container-fluid {
  gap: .75rem;
}

.crm-topbar .navbar-brand a,
.crm-topbar .navbar-brand a:hover,
.crm-topbar .crm-brand-name,
.crm-topbar .navbar-nav-link,
.crm-topbar .navbar-nav-link:hover,
.crm-topbar .navbar-nav-link:focus,
.crm-topbar .navbar-toggler {
  color: var(--ops-text-on-dark) !important;
}

.crm-topbar .crm-logo {
  width: 2.15rem !important;
  height: 2.15rem !important;
  border-radius: .7rem !important;
  background: linear-gradient(135deg, #60a5fa, #2563eb) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.crm-topbar .crm-brand-name {
  font-size: .95rem;
  letter-spacing: .01em;
}

.crm-topbar .navbar-nav-link-icon,
.crm-topbar .navbar-toggler,
.crm-topbar .crm-topbar-link,
.crm-topbar .nav-item-dropdown-lg > .navbar-nav-link {
  border: 1px solid transparent !important;
  background: transparent !important;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease;
}

.crm-topbar .navbar-nav-link-icon:hover,
.crm-topbar .navbar-toggler:hover,
.crm-topbar .crm-topbar-link:hover,
.crm-topbar .nav-item-dropdown-lg > .navbar-nav-link:hover {
  background: rgba(255, 255, 255, .08) !important;
  border-color: rgba(255, 255, 255, .10) !important;
}

.crm-topbar .navbar-search .form-control {
  min-height: 2.55rem;
  background: rgba(15, 23, 42, .58) !important;
  border: 1px solid rgba(148, 163, 184, .36) !important;
  color: #f8fafc !important;
  border-radius: .75rem !important;
}

.crm-topbar .navbar-search .form-control::placeholder {
  color: #94a3b8 !important;
}

.crm-topbar .navbar-search .form-control:focus {
  border-color: rgba(96, 165, 250, .85) !important;
  box-shadow: 0 0 0 .18rem rgba(59, 130, 246, .16) !important;
}

.crm-topbar .form-control-feedback-icon,
.crm-topbar .form-control-feedback-icon i {
  color: #cbd5e1 !important;
}

.crm-topbar .dropdown-menu {
  border-radius: .8rem !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .14) !important;
}

/* Sidebar */
.sidebar-dark {
  background: var(--ops-sidebar) !important;
  border-right: 1px solid var(--ops-sidebar-border) !important;
}

.sidebar-dark .sidebar-content {
  background: transparent !important;
}

.sidebar-dark .sidebar-section-body {
  min-height: 5.25rem;
  padding: 1.15rem 1rem !important;
  border-bottom: 1px solid var(--ops-sidebar-border) !important;
}

.crm-sidebar-title {
  color: var(--ops-text-on-dark) !important;
  font-size: 1.12rem;
  line-height: 1.2;
  font-weight: 750;
  letter-spacing: .01em;
}

.crm-sidebar-caption {
  margin-top: .15rem;
  color: var(--ops-muted-on-dark) !important;
  font-size: .74rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sidebar-dark .sidebar-control,
.sidebar-dark .sidebar-mobile-main-toggle {
  width: 2.25rem !important;
  height: 2.25rem !important;
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: #e5e7eb !important;
}

.sidebar-dark .sidebar-control:hover,
.sidebar-dark .sidebar-mobile-main-toggle:hover {
  background: rgba(96, 165, 250, .18) !important;
  color: #fff !important;
}

.nav-sidebar {
  padding: .75rem 0 1rem !important;
}

.nav-sidebar .nav-item-header {
  margin: .95rem .95rem .35rem !important;
  padding: 0 !important;
  color: var(--ops-muted-on-dark) !important;
  opacity: 1 !important;
}

.nav-sidebar .nav-item-header .text-uppercase {
  color: inherit !important;
  font-size: .69rem !important;
  letter-spacing: .11em !important;
  font-weight: 750 !important;
}

.nav-sidebar .nav-link {
  min-height: 3.05rem !important;
  padding: .62rem .8rem !important;
  margin: .08rem .7rem !important;
  border-radius: .72rem !important;
  color: #cbd5e1 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .14s ease, border-color .14s ease, color .14s ease, padding-left .14s ease;
}

.nav-sidebar .nav-link:hover {
  background: var(--ops-sidebar-hover) !important;
  border-color: rgba(148, 163, 184, .14) !important;
  color: #fff !important;
  padding-left: .9rem !important;
}

.nav-sidebar .nav-link.active,
.nav-sidebar .nav-item-open > .nav-link,
.nav-sidebar .nav-item-expanded > .nav-link {
  background: var(--ops-sidebar-active) !important;
  border-color: rgba(96, 165, 250, .22) !important;
  color: #fff !important;
  box-shadow: inset 3px 0 0 var(--ops-blue) !important;
}

.nav-sidebar .nav-link > i {
  flex: 0 0 auto;
  width: 2rem !important;
  height: 2rem !important;
  margin-right: .72rem !important;
  border-radius: .58rem !important;
  background: rgba(148, 163, 184, .11) !important;
  color: #93c5fd !important;
}

.nav-sidebar .nav-link:hover > i,
.nav-sidebar .nav-link.active > i,
.nav-sidebar .nav-item-open > .nav-link > i,
.nav-sidebar .nav-item-expanded > .nav-link > i {
  background: rgba(59, 130, 246, .20) !important;
  color: #bfdbfe !important;
}

.nav-sidebar .nav-link span > .d-block,
.nav-sidebar .nav-link .opacity-50 {
  margin-top: .08rem;
  color: var(--ops-muted-on-dark) !important;
  opacity: 1 !important;
  font-size: .78rem;
  line-height: 1.15rem;
}

.nav-sidebar .nav-link:hover span > .d-block,
.nav-sidebar .nav-link.active span > .d-block,
.nav-sidebar .nav-item-open > .nav-link span > .d-block,
.nav-sidebar .nav-item-expanded > .nav-link span > .d-block {
  color: #b8c5d6 !important;
}

.nav-sidebar .nav-group-sub {
  padding: .25rem 0 .45rem !important;
}

.nav-sidebar .nav-group-sub .nav-link {
  min-height: 2.25rem !important;
  padding: .45rem .72rem .45rem 3.15rem !important;
  margin: .02rem .7rem !important;
  border-radius: .55rem !important;
  font-size: .85rem !important;
  color: #b7c0cc !important;
  background: transparent !important;
  box-shadow: none !important;
}

.nav-sidebar .nav-group-sub .nav-link:hover {
  padding-left: 3.25rem !important;
  background: rgba(255,255,255,.055) !important;
  color: #fff !important;
}

.nav-sidebar .nav-group-sub .nav-link.active {
  background: rgba(59, 130, 246, .14) !important;
  color: #dbeafe !important;
  border-color: rgba(96, 165, 250, .20) !important;
  box-shadow: inset 3px 0 0 var(--ops-blue) !important;
}

.nav-sidebar .badge {
  min-width: 1.7rem;
  padding: .24rem .46rem !important;
  border-radius: .55rem !important;
  background: rgba(148, 163, 184, .14) !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  color: #dbeafe !important;
  font-size: .72rem;
  font-weight: 700;
}

.nav-sidebar .badge.bg-primary {
  background: rgba(59, 130, 246, .22) !important;
  border-color: rgba(96, 165, 250, .34) !important;
  color: #bfdbfe !important;
}

/* Make module icons subtly colorful without making the whole UI heavy */
.nav-sidebar .ph-calendar-check { color: #7dd3fc !important; }
.nav-sidebar .ph-list-checks { color: #93c5fd !important; }
.nav-sidebar .ph-users-three { color: #86efac !important; }
.nav-sidebar .ph-clock-counter-clockwise { color: #fcd34d !important; }
.nav-sidebar .ph-chats { color: #a5b4fc !important; }
.nav-sidebar .ph-currency-inr { color: #5eead4 !important; }
.nav-sidebar .ph-magnifying-glass { color: #c4b5fd !important; }
.nav-sidebar .ph-browser { color: #fdba74 !important; }
.nav-sidebar .ph-chart-bar { color: #fca5a5 !important; }

/* Better built-in submenu chevron */
.nav-sidebar .nav-item-submenu > .nav-link::after {
  content: "" !important;
  flex: 0 0 auto;
  width: .48rem;
  height: .48rem;
  margin-left: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  opacity: .65;
  transition: transform .14s ease, opacity .14s ease;
}

.nav-sidebar .nav-item-open > .nav-link::after,
.nav-sidebar .nav-item-expanded > .nav-link::after {
  transform: rotate(45deg);
  opacity: .95;
}

/* Page header should be quieter and match dashboard cards */
.page-header-light {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .035) !important;
}

.page-header .page-title {
  color: #172033 !important;
  font-size: 1.15rem;
  font-weight: 720;
}

.page-header .breadcrumb {
  font-size: .84rem;
}

.page-header .breadcrumb-item,
.page-header .breadcrumb-item a {
  color: #64748b !important;
}

.page-header .breadcrumb-item.active {
  color: #1e293b !important;
  font-weight: 600;
}

/* Tables: add visible action affordance and calm colored rows */
.table-responsive {
  border-color: #e2e8f0 !important;
}

.table thead th {
  background: #eef3f9 !important;
  color: #334155 !important;
}

.table tbody tr:hover td {
  background: #f1f7ff !important;
}

.table .btn-light,
.table a.btn-light {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #334155 !important;
}

.table .btn-light:hover,
.table a.btn-light:hover {
  background: #eff6ff !important;
  border-color: #93c5fd !important;
  color: #1d4ed8 !important;
}

.table .btn-primary,
.table a.btn-primary {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
}

/* Dashboard cards: minimal fill with a more polished accent */
.crm-queue-card,
.crm-queue-card.bg-primary,
.crm-queue-card.bg-info,
.crm-queue-card.bg-warning,
.crm-queue-card.bg-success,
.crm-queue-card.bg-danger,
.queue-new,
.queue-contacted,
.queue-assigned,
.queue-completed,
.queue-cancelled {
  border-radius: .85rem !important;
  border-left-width: .35rem !important;
  box-shadow: 0 .4rem 1.15rem rgba(15, 23, 42, .055) !important;
}

.crm-queue-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 .65rem 1.45rem rgba(15, 23, 42, .075) !important;
}

.crm-queue-icon,
.crm-stat-icon {
  border-radius: .75rem !important;
}

@media (max-width: 991.98px) {
  .crm-topbar.navbar-dark.navbar-static,
  .navbar-dark.navbar-static.crm-topbar {
    min-height: 3.75rem;
  }
  .sidebar-dark .sidebar-section-body {
    min-height: 4.7rem;
  }
  .crm-sidebar-title { font-size: 1rem; }
  .nav-sidebar .nav-link {
    margin-inline: .55rem !important;
  }
}

/* Requirement workflow accents */
.queue-verification { border-left-color: #0891b2 !important; }
.queue-approved { border-left-color: #16a34a !important; }
.queue-rejected { border-left-color: #dc2626 !important; }
.queue-verification .crm-queue-icon { background: #ecfeff !important; color: #0891b2 !important; }
.queue-approved .crm-queue-icon { background: #ecfdf5 !important; color: #16a34a !important; }
.queue-rejected .crm-queue-icon { background: #fef2f2 !important; color: #dc2626 !important; }
.status-verification-pending,
.status-verified,
.status-contacted { background: #ecfeff !important; color: #0e7490 !important; border-color: #a5f3fc !important; }
.status-approved { background: #ecfdf5 !important; color: #047857 !important; border-color: #bbf7d0 !important; }
.status-assigned,
.status-scheduled,
.status-in-progress { background: #f5f3ff !important; color: #6d28d9 !important; border-color: #ddd6fe !important; }
.status-rejected,
.status-cancelled,
.status-lost { background: #fef2f2 !important; color: #b91c1c !important; border-color: #fecaca !important; }
.status-closed { background: #f8fafc !important; color: #475569 !important; border-color: #cbd5e1 !important; }
.crm-requirement-fields-table .table-responsive,
.crm-requirement-fields-table { border-top: 0; }

/* Clean tabbed record view */
.crm-view-hero {
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 .45rem 1.2rem rgba(15, 23, 42, .045) !important;
}

.crm-avatar-lg {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 800;
  font-size: 1.3rem;
  border: 1px solid #bfdbfe;
}

.crm-view-actions {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.crm-id-line {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  color: #64748b;
  font-size: .82rem;
}

.crm-id-line code {
  color: #334155;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: .45rem;
  padding: .12rem .42rem;
}

.crm-quick-facts .crm-fact {
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  border-radius: .8rem;
  padding: .75rem .85rem;
  min-height: 4.15rem;
}

.crm-fact span {
  display: block;
  color: #64748b;
  font-size: .78rem;
  margin-bottom: .22rem;
}

.crm-fact strong {
  display: block;
  color: #0f172a;
  font-size: .93rem;
  line-height: 1.25rem;
  overflow-wrap: anywhere;
}

.crm-view-card {
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 .35rem 1rem rgba(15, 23, 42, .035) !important;
}

.crm-view-tabs-wrap {
  background: #ffffff !important;
  padding: .8rem 1rem !important;
}

.crm-view-tabs {
  gap: .35rem;
}

.crm-view-tabs .nav-link {
  border: 1px solid #e2e8f0 !important;
  background: #f8fafc !important;
  color: #475569 !important;
  border-radius: .65rem !important;
  padding: .48rem .8rem !important;
  font-weight: 650 !important;
  font-size: .875rem;
}

.crm-view-tabs .nav-link:hover {
  background: #eff6ff !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
}

.crm-view-tabs .nav-link.active {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 .2rem .65rem rgba(37, 99, 235, .18) !important;
}

.crm-view-tabs .nav-link.active .badge {
  color: #1e293b !important;
}

.crm-tab-panel {
  display: none;
}

.crm-tab-panel.active {
  display: block;
}

.crm-section-title {
  color: #0f172a;
  font-weight: 750;
  font-size: .95rem;
  margin-bottom: .85rem;
}

.crm-info-list {
  border: 1px solid #e2e8f0;
  border-radius: .8rem;
  overflow: hidden;
  background: #fff;
}

.crm-info-list > div {
  display: grid;
  grid-template-columns: minmax(9rem, 32%) 1fr;
  gap: 1rem;
  padding: .78rem .95rem;
  border-bottom: 1px solid #eef2f7;
}

.crm-info-list > div:last-child {
  border-bottom: 0;
}

.crm-info-list span {
  color: #64748b;
  font-size: .83rem;
}

.crm-info-list strong {
  color: #1e293b;
  font-weight: 650;
  overflow-wrap: anywhere;
}

.crm-note-box {
  min-height: 8.25rem;
  border: 1px solid #e2e8f0;
  border-radius: .8rem;
  background: #f8fafc;
  color: #334155;
  padding: .9rem 1rem;
  white-space: pre-wrap;
}

.crm-check-list {
  list-style: none;
  padding-left: 0;
}

.crm-check-list li {
  position: relative;
  padding-left: 1.55rem;
  margin-bottom: .55rem;
  color: #334155;
}

.crm-check-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .28rem;
  width: .7rem;
  height: .7rem;
  border-radius: 999px;
  background: #dbeafe;
  border: 2px solid #60a5fa;
}

.crm-view-card .card.border {
  border-color: #e2e8f0 !important;
  box-shadow: none !important;
}

.crm-view-card .table-sm th,
.crm-view-card .table-sm td {
  padding: .65rem .8rem;
}

@media (max-width: 767.98px) {
  .crm-view-actions {
    justify-content: flex-start;
  }
  .crm-info-list > div {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
  .crm-view-tabs .nav-link {
    padding: .42rem .65rem !important;
    font-size: .82rem;
  }
}

/* Focused list/search pages: no dashboard cards outside dashboard */
.crm-list-page .card-header {
  background: #ffffff !important;
}

.crm-queue-strip {
  background: #f8fafc;
}

.crm-queue-strip .btn {
  border-radius: 999px;
  font-weight: 650;
}

.crm-platform-apps .card-body {
  background: #ffffff;
}

.crm-app-tile {
  display: flex;
  min-height: 6.5rem;
  flex-direction: column;
  gap: .35rem;
  padding: 1rem;
  border: 1px solid #e2e8f0;
  border-radius: .9rem;
  background: #f8fafc;
  color: #1e293b;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.crm-app-tile:hover {
  border-color: #93c5fd;
  background: #eff6ff;
  color: #1d4ed8;
  transform: translateY(-1px);
}

.crm-app-tile i {
  width: 1.35rem;
  height: 1.35rem;
  margin-bottom: .25rem;
  color: #2563eb;
}

.crm-app-tile span {
  font-weight: 750;
}

.crm-app-tile small {
  color: #64748b;
  line-height: 1.25;
}

.crm-action-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
}

@media (max-width: 767.98px) {
  .crm-queue-strip .btn { width: calc(50% - .25rem); }
  .crm-app-tile { min-height: auto; }
}

/* Lead intake wizard */
.crm-lead-wizard-card { max-width: 1120px; margin-left: auto; margin-right: auto; }
.crm-wizard-nav { gap: .5rem; }
.crm-wizard-nav .nav-link { display: inline-flex; align-items: center; gap: .65rem; color: #667085; background: #f8fafc; border: 1px solid #e2e8f0; padding: .7rem 1rem; font-weight: 600; }
.crm-wizard-nav .nav-link > span { display: inline-flex; align-items: center; justify-content: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #e2e8f0; color: #475569; font-size: .75rem; }
.crm-wizard-nav .nav-link.active { color: #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
.crm-wizard-nav .nav-link.active > span { color: #fff; background: #2563eb; }
.crm-wizard-nav .nav-link.completed { color: #166534; background: #f0fdf4; border-color: #bbf7d0; }
.crm-wizard-nav .nav-link.completed > span { color: #fff; background: #16a34a; }
.crm-wizard-step { display: none; }
.crm-wizard-step.active { display: block; }
.crm-wizard-heading { margin-bottom: 1.5rem; }
.crm-wizard-heading h5 { margin-bottom: .35rem; }
.crm-wizard-heading p { margin: 0; color: #667085; }
.crm-schema-summary { margin-bottom: 1.25rem; }
.crm-field-type { display: block; margin-top: .15rem; color: #94a3b8; font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.crm-extra-detail-row { padding: 1rem; border: 1px solid #e2e8f0; border-radius: .6rem; background: #f8fafc; }

@media (max-width: 767.98px) {
  .crm-wizard-nav { display: grid; grid-template-columns: 1fr; }
  .crm-wizard-nav .nav-item,
  .crm-wizard-nav .nav-link { width: 100%; }
  .crm-lead-wizard-card .card-footer { align-items: stretch !important; gap: .75rem; }
  .crm-lead-wizard-card .card-footer > .ms-auto { margin-left: 0 !important; width: 100%; }
  .crm-lead-wizard-card .card-footer .btn { flex: 1; }
}

/* --------------------------------------------------------------------------
   Light internal workspace theme
   Keeps the Limitless structure, but removes the heavy dark/marketing shell.
   -------------------------------------------------------------------------- */
:root {
  --crm-shell-bg: #f4f6f9;
  --crm-surface: #ffffff;
  --crm-sidebar-bg: #f8fafc;
  --crm-sidebar-border: #dfe5ec;
  --crm-ink: #172033;
  --crm-muted: #667085;
  --crm-primary: #356ae6;
  --crm-primary-soft: #edf3ff;
  --crm-border: #dfe5ec;
  --crm-radius: .7rem;
}

html,
body {
  background: var(--crm-shell-bg) !important;
  color: var(--crm-ink);
}

/* Header */
.crm-topbar,
.navbar-light.navbar-static.crm-topbar {
  min-height: 3.65rem;
  background: #ffffff !important;
  border-color: var(--crm-border) !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .045) !important;
  color: var(--crm-ink) !important;
}

.crm-topbar .navbar-brand,
.crm-topbar .navbar-nav-link,
.crm-topbar .navbar-toggler,
.crm-topbar .crm-topbar-link,
.crm-topbar .crm-brand-name {
  color: #344054 !important;
}

.crm-topbar .navbar-nav-link:hover,
.crm-topbar .navbar-nav-link:focus,
.crm-topbar .crm-topbar-link:hover {
  background: #f2f4f7 !important;
  color: #1d4ed8 !important;
}

.crm-topbar .navbar-search .form-control {
  height: 2.55rem;
  background: #f8fafc !important;
  border: 1px solid #d8dee8 !important;
  color: #1f2937 !important;
  box-shadow: none !important;
}

.crm-topbar .navbar-search .form-control:focus {
  background: #ffffff !important;
  border-color: #9db9f8 !important;
  box-shadow: 0 0 0 .18rem rgba(53, 106, 230, .10) !important;
}

.crm-topbar .navbar-search .form-control::placeholder,
.crm-topbar .form-control-feedback-icon {
  color: #7a8598 !important;
}

.crm-logo {
  width: 2rem;
  height: 2rem;
  background: #eaf1ff !important;
  color: #2859c5 !important;
  border: 1px solid #cbdcff;
  box-shadow: none !important;
}

.crm-user-avatar {
  background: #eef1f5 !important;
  color: #344054 !important;
  border-color: #d7dde6 !important;
}

/* Sidebar */
.crm-sidebar,
.sidebar-light.crm-sidebar {
  background: var(--crm-sidebar-bg) !important;
  border-right: 1px solid var(--crm-sidebar-border) !important;
  box-shadow: none !important;
  color: #344054 !important;
}

.crm-sidebar .sidebar-content,
.crm-sidebar .sidebar-section,
.crm-sidebar .sidebar-section-body {
  background: transparent !important;
}

.crm-sidebar .sidebar-section-body {
  min-height: 4.15rem;
  border-bottom: 1px solid #e5e9ef !important;
}

.crm-sidebar-title {
  color: #1f2937 !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
}

.crm-sidebar-caption {
  color: #7b8494 !important;
  font-size: .72rem !important;
}

.crm-sidebar .nav-item-header {
  padding-top: 1rem;
  padding-bottom: .35rem;
  color: #8992a3 !important;
}

.crm-sidebar .nav-sidebar .nav-link {
  min-height: 2.85rem;
  margin: .1rem .65rem !important;
  padding: .55rem .7rem !important;
  border-radius: .55rem !important;
  color: #475467 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover {
  background: #edf1f6 !important;
  color: #1f3f75 !important;
  transform: none !important;
}

.crm-sidebar .nav-sidebar .nav-link.active,
.crm-sidebar .nav-sidebar .nav-item-open > .nav-link,
.crm-sidebar .nav-sidebar .nav-item-expanded > .nav-link {
  background: var(--crm-primary-soft) !important;
  color: #2454bd !important;
  box-shadow: inset 3px 0 0 var(--crm-primary) !important;
}

.crm-sidebar .nav-sidebar .nav-link > i {
  width: 1.75rem !important;
  height: 1.75rem !important;
  margin-right: .65rem !important;
  border-radius: .45rem !important;
  background: #eef1f5 !important;
  color: #667085 !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover > i,
.crm-sidebar .nav-sidebar .nav-link.active > i,
.crm-sidebar .nav-sidebar .nav-item-open > .nav-link > i,
.crm-sidebar .nav-sidebar .nav-item-expanded > .nav-link > i {
  background: #dce8ff !important;
  color: #2859c5 !important;
}

.crm-sidebar .nav-group-sub .nav-link {
  min-height: 2.3rem;
  padding-top: .38rem !important;
  padding-bottom: .38rem !important;
  padding-left: 3rem !important;
  font-size: .84rem;
}

.crm-sidebar .badge.bg-transparent {
  background: #e8ecf2 !important;
  color: #667085 !important;
}

.crm-sidebar .sidebar-control {
  color: #667085 !important;
  background: #ffffff !important;
  border: 1px solid #dfe5ec !important;
}

/* Page chrome */
.crm-page-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--crm-border) !important;
  box-shadow: none !important;
}

.crm-page-header .page-header-content {
  padding-left: 1.25rem !important;
  padding-right: 1.25rem !important;
}

.crm-page-heading {
  min-height: 4.35rem;
  align-items: center;
  padding-top: .8rem !important;
  padding-bottom: .8rem !important;
}

.crm-page-heading .page-title {
  color: #172033;
  font-size: 1.25rem !important;
  line-height: 1.45;
  font-weight: 700;
}

.crm-page-heading .page-title .fw-normal {
  color: #667085;
  font-size: .92rem;
  font-weight: 400 !important;
}

.crm-page-subnav {
  min-height: 2.9rem;
  background: #fbfcfd;
  border-top-color: #edf0f4 !important;
}

.crm-page-subnav .breadcrumb {
  font-size: .82rem;
}

.content {
  padding: 1.25rem !important;
}

.card,
.content .card,
.crm-workspace-card {
  border: 1px solid var(--crm-border) !important;
  border-radius: var(--crm-radius) !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .04) !important;
  background: #ffffff;
}

.card-header {
  min-height: 3.7rem;
  padding: .9rem 1.1rem !important;
  background: #ffffff !important;
  border-bottom-color: #e7ebf0 !important;
}

.card-header h5,
.card-header h6 {
  color: #1f2937;
}

.card-body {
  padding: 1.1rem !important;
}

.card-footer {
  padding: .85rem 1.1rem !important;
  background: #fbfcfd !important;
  border-top-color: #e7ebf0 !important;
}

.btn {
  border-radius: .5rem !important;
  box-shadow: none !important;
}

.btn-primary {
  background: var(--crm-primary) !important;
  border-color: var(--crm-primary) !important;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background: #2d5dc9 !important;
  border-color: #2d5dc9 !important;
}

/* Record view */
.crm-view-hero {
  margin-bottom: 1rem;
}

.crm-avatar-lg {
  width: 2.85rem !important;
  height: 2.85rem !important;
  border-radius: .65rem !important;
  font-size: 1.05rem !important;
  background: #edf3ff !important;
  border-color: #c9dafd !important;
  color: #2859c5 !important;
}

.crm-view-hero h4 {
  font-size: 1.18rem;
}

.crm-view-actions .btn {
  padding: .52rem .8rem;
}

.crm-quick-facts {
  margin-top: .75rem !important;
}

.crm-quick-facts .crm-fact {
  min-height: 3.55rem !important;
  padding: .62rem .75rem !important;
  border-radius: .55rem !important;
  background: #fafbfc !important;
}

.crm-view-tabs-wrap {
  padding: .65rem .8rem !important;
  background: #fbfcfd !important;
}

.crm-view-tabs {
  gap: .15rem !important;
  border-bottom: 0;
}

.crm-view-tabs .nav-link {
  padding: .48rem .7rem !important;
  border: 0 !important;
  border-radius: .45rem !important;
  background: transparent !important;
  color: #5d687a !important;
  box-shadow: none !important;
  font-size: .84rem !important;
}

.crm-view-tabs .nav-link:hover {
  background: #eef2f7 !important;
  color: #2859c5 !important;
}

.crm-view-tabs .nav-link.active {
  background: #eaf1ff !important;
  color: #2454bd !important;
  box-shadow: none !important;
}

.crm-view-card > .card-body {
  padding: 1.1rem !important;
}

.crm-info-list,
.crm-note-box {
  border-radius: .55rem !important;
}

.crm-info-list > div {
  padding: .65rem .8rem !important;
}

/* Lead wizard: standard theme, compact and consistent */
.crm-lead-wizard-card {
  max-width: 1040px !important;
}

.crm-wizard-header {
  background: #fbfcfd;
}

.crm-wizard-nav {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem !important;
}

.crm-wizard-nav .nav-item {
  min-width: 0;
}

.crm-wizard-nav .nav-link {
  width: 100%;
  justify-content: flex-start;
  min-height: 3.15rem;
  padding: .55rem .7rem !important;
  border: 1px solid #dfe5ec !important;
  border-radius: .55rem !important;
  background: #ffffff !important;
  color: #5f6b7c !important;
  font-size: .86rem;
  box-shadow: none !important;
}

.crm-wizard-nav .nav-link > span {
  width: 1.55rem !important;
  height: 1.55rem !important;
  flex: 0 0 1.55rem;
  background: #eef1f5 !important;
  color: #667085 !important;
}

.crm-wizard-nav .nav-link.active {
  border-color: #9db9f8 !important;
  background: #f4f7ff !important;
  color: #2454bd !important;
}

.crm-wizard-nav .nav-link.active > span {
  background: var(--crm-primary) !important;
  color: #fff !important;
}

.crm-wizard-nav .nav-link.completed {
  border-color: #b8ddc6 !important;
  background: #f5fbf7 !important;
  color: #287046 !important;
}

.crm-wizard-nav .nav-link.completed > span {
  background: #3b9460 !important;
  color: #fff !important;
}

.crm-wizard-heading {
  margin-bottom: 1.1rem !important;
  padding-bottom: .75rem;
  border-bottom: 1px solid #edf0f4;
}

.crm-wizard-heading h6 {
  margin-bottom: .25rem;
  color: #1f2937;
  font-size: .98rem;
  font-weight: 700;
}

.crm-wizard-heading p {
  font-size: .84rem;
}

.crm-extra-detail-row {
  padding: .8rem !important;
  border-radius: .55rem !important;
  background: #fafbfc !important;
}

/* Custom wizard validation instead of browser bubbles */
.crm-invalid-feedback {
  display: block;
  margin-top: .3rem;
  color: #b42318;
  font-size: .78rem;
}

.form-control.is-invalid,
.form-select.is-invalid {
  border-color: #e18a84 !important;
  background-image: none !important;
  box-shadow: 0 0 0 .15rem rgba(180, 35, 24, .07) !important;
}

@media (max-width: 991.98px) {
  .content {
    padding: .85rem !important;
  }

  .crm-page-header .page-header-content {
    padding-left: .9rem !important;
    padding-right: .9rem !important;
  }

  .crm-sidebar {
    box-shadow: .4rem 0 1.2rem rgba(15, 23, 42, .12) !important;
  }
}

@media (max-width: 767.98px) {
  .crm-wizard-nav {
    grid-template-columns: 1fr !important;
  }

  .crm-view-actions {
    width: 100%;
  }

  .crm-view-actions .btn {
    flex: 1 1 auto;
  }
}

/* --------------------------------------------------------------------------
   Employee appearance customization
   Values are applied by /js/appearance.js and saved per employee in localStorage.
   -------------------------------------------------------------------------- */
:root {
  --crm-user-accent: #111827;
  --crm-user-accent-hover: #000000;
  --crm-user-accent-soft: rgba(17, 24, 39, .08);
  --crm-user-accent-softer: rgba(17, 24, 39, .04);
  --crm-user-accent-rgb: 17, 24, 39;
  --crm-user-header-bg: #ffffff;
  --crm-user-header-text: #111827;
  --crm-user-sidebar-bg: #f8fafc;
  --crm-user-sidebar-text: #374151;
  --crm-user-sidebar-active-bg: #111827;
  --crm-user-sidebar-active-text: #ffffff;
  --crm-user-page-bg: #f4f5f7;
  --crm-user-main-text: #111827;
  --crm-user-muted-text: #6b7280;
  --crm-user-card-bg: #ffffff;
  --crm-user-card-header-bg: #ffffff;
  --crm-user-card-border: #dfe3e8;
  --crm-user-input-bg: #ffffff;
  --crm-user-input-border: #cfd5dc;
  --crm-user-table-head-bg: #f3f4f6;
  --crm-user-table-head-text: #111827;
  --crm-user-table-border: #e2e5e9;
  --crm-user-table-row-bg: #ffffff;
  --crm-user-table-alt-bg: #fafafa;
  --crm-user-table-hover: #f3f4f6;
  --crm-user-card-radius: 6px;
  --crm-user-table-radius: 6px;
  --crm-user-button-radius: 5px;
  --crm-user-nav-radius: 5px;
  --crm-user-card-border-width: 1px;
  --crm-user-table-border-width: 1px;
  --crm-user-sidebar-width: 276px;
  --crm-user-font-scale: 100%;
  --crm-user-card-shadow: none;
}

html {
  font-size: var(--crm-user-font-scale) !important;
}

body,
.page-content,
.content-wrapper,
.content-inner {
  color: var(--crm-user-main-text) !important;
}

body,
.content-inner {
  background: var(--crm-user-page-bg) !important;
}

.text-muted,
.form-text,
.crm-page-heading .page-title .fw-normal,
.crm-sidebar-caption,
.crm-info-list dt,
.crm-fact span {
  color: var(--crm-user-muted-text) !important;
}

/* User-controlled top header */
.crm-topbar,
.navbar-light.navbar-static.crm-topbar {
  background: var(--crm-user-header-bg) !important;
  color: var(--crm-user-header-text) !important;
  border-color: var(--crm-user-card-border) !important;
}

.crm-topbar .navbar-brand,
.crm-topbar .navbar-brand a,
.crm-topbar .navbar-nav-link,
.crm-topbar .navbar-toggler,
.crm-topbar .crm-topbar-link,
.crm-topbar .crm-brand-name {
  color: var(--crm-user-header-text) !important;
}

.crm-topbar .navbar-nav-link:hover,
.crm-topbar .navbar-nav-link:focus,
.crm-topbar .crm-topbar-link:hover,
.crm-topbar .crm-appearance-trigger:hover {
  background: var(--crm-user-accent-soft) !important;
  color: var(--crm-user-accent) !important;
}

.crm-topbar .navbar-search .form-control {
  background: var(--crm-user-input-bg) !important;
  border-color: var(--crm-user-input-border) !important;
  color: var(--crm-user-main-text) !important;
}

.crm-logo {
  background: var(--crm-user-accent-soft) !important;
  border-color: color-mix(in srgb, var(--crm-user-accent) 34%, var(--crm-user-card-border)) !important;
  color: var(--crm-user-accent) !important;
}

.crm-appearance-trigger {
  border: 0;
  background: transparent;
  cursor: pointer;
}

/* User-controlled sidebar */
.crm-sidebar,
.sidebar-light.crm-sidebar {
  --sidebar-width: var(--crm-user-sidebar-width);
  background: var(--crm-user-sidebar-bg) !important;
  border-color: var(--crm-user-card-border) !important;
  color: var(--crm-user-sidebar-text) !important;
}

.crm-sidebar-title,
.crm-sidebar .nav-sidebar .nav-link,
.crm-sidebar .sidebar-control {
  color: var(--crm-user-sidebar-text) !important;
}

.crm-sidebar .nav-item-header {
  color: color-mix(in srgb, var(--crm-user-sidebar-text) 68%, transparent) !important;
}

.crm-sidebar .sidebar-section-body {
  border-color: color-mix(in srgb, var(--crm-user-sidebar-text) 16%, transparent) !important;
}

.crm-sidebar .nav-sidebar .nav-link {
  border-radius: var(--crm-user-nav-radius) !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover {
  background: color-mix(in srgb, var(--crm-user-sidebar-active-bg) 62%, transparent) !important;
  color: var(--crm-user-sidebar-active-text) !important;
}

.crm-sidebar .nav-sidebar .nav-link.active,
.crm-sidebar .nav-sidebar .nav-item-open > .nav-link,
.crm-sidebar .nav-sidebar .nav-item-expanded > .nav-link {
  background: var(--crm-user-sidebar-active-bg) !important;
  color: var(--crm-user-sidebar-active-text) !important;
  box-shadow: inset 3px 0 0 var(--crm-user-accent) !important;
}

.crm-sidebar .nav-sidebar .nav-link > i {
  background: color-mix(in srgb, var(--crm-user-sidebar-text) 9%, transparent) !important;
  color: var(--crm-user-sidebar-text) !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover > i,
.crm-sidebar .nav-sidebar .nav-link.active > i,
.crm-sidebar .nav-sidebar .nav-item-open > .nav-link > i,
.crm-sidebar .nav-sidebar .nav-item-expanded > .nav-link > i {
  background: color-mix(in srgb, var(--crm-user-accent) 16%, transparent) !important;
  color: var(--crm-user-sidebar-active-text) !important;
}

.crm-sidebar .badge.bg-transparent {
  background: color-mix(in srgb, var(--crm-user-sidebar-text) 10%, transparent) !important;
  color: var(--crm-user-sidebar-text) !important;
}

/* Page header, cards, forms and controls */
.crm-page-header,
.crm-page-subnav {
  background: var(--crm-user-card-header-bg) !important;
  border-color: var(--crm-user-card-border) !important;
}

.crm-page-heading .page-title,
.card-header h1,
.card-header h2,
.card-header h3,
.card-header h4,
.card-header h5,
.card-header h6 {
  color: var(--crm-user-main-text) !important;
}

.card,
.content .card,
.crm-workspace-card,
.crm-view-hero,
.crm-view-card {
  background: var(--crm-user-card-bg) !important;
  border: var(--crm-user-card-border-width) solid var(--crm-user-card-border) !important;
  border-radius: var(--crm-user-card-radius) !important;
  box-shadow: var(--crm-user-card-shadow) !important;
}

.card-header,
.card-footer,
.crm-view-tabs-wrap {
  background: var(--crm-user-card-header-bg) !important;
  border-color: var(--crm-user-card-border) !important;
}

.card-header {
  border-top-left-radius: calc(var(--crm-user-card-radius) - var(--crm-user-card-border-width)) !important;
  border-top-right-radius: calc(var(--crm-user-card-radius) - var(--crm-user-card-border-width)) !important;
}

.card-footer {
  border-bottom-left-radius: calc(var(--crm-user-card-radius) - var(--crm-user-card-border-width)) !important;
  border-bottom-right-radius: calc(var(--crm-user-card-radius) - var(--crm-user-card-border-width)) !important;
}

.form-control,
.form-select,
.input-group-text,
.select2-selection {
  background-color: var(--crm-user-input-bg) !important;
  border-color: var(--crm-user-input-border) !important;
  color: var(--crm-user-main-text) !important;
  border-radius: min(var(--crm-user-button-radius), 10px) !important;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--crm-user-accent) !important;
  box-shadow: 0 0 0 .14rem var(--crm-user-accent-soft) !important;
}

.btn,
.page-link,
.dropdown-menu,
.alert,
.badge:not(.rounded-circle) {
  border-radius: var(--crm-user-button-radius) !important;
}

.btn-primary,
.bg-primary {
  background-color: var(--crm-user-accent) !important;
  border-color: var(--crm-user-accent) !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--crm-user-accent-hover) !important;
  border-color: var(--crm-user-accent-hover) !important;
}

.text-primary,
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.navbar-nav-link):not(.breadcrumb-item) {
  color: var(--crm-user-accent);
}

.crm-view-tabs .nav-link,
.crm-wizard-nav .nav-link {
  border-radius: var(--crm-user-nav-radius) !important;
}

.crm-view-tabs .nav-link.active,
.crm-wizard-nav .nav-link.active {
  background: var(--crm-user-accent-soft) !important;
  color: var(--crm-user-accent) !important;
  border-color: color-mix(in srgb, var(--crm-user-accent) 38%, var(--crm-user-card-border)) !important;
}

/* User-controlled tables */
.table-responsive {
  border: var(--crm-user-table-border-width) solid var(--crm-user-table-border) !important;
  border-radius: var(--crm-user-table-radius) !important;
  overflow: auto;
}

.card > .table-responsive {
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 0 var(--crm-user-card-radius) var(--crm-user-card-radius) !important;
}

.table {
  --table-border-color: var(--crm-user-table-border) !important;
  color: var(--crm-user-main-text) !important;
}

.table thead th {
  background: var(--crm-user-table-head-bg) !important;
  color: var(--crm-user-table-head-text) !important;
  border-color: var(--crm-user-table-border) !important;
}

.table tbody td {
  background: var(--crm-user-table-row-bg) !important;
  color: var(--crm-user-main-text) !important;
  border-color: var(--crm-user-table-border) !important;
}

html[data-crm-table-style="striped"] .table tbody tr:nth-child(even) td {
  background: var(--crm-user-table-alt-bg) !important;
}

html[data-crm-table-style="plain"] .table tbody tr:nth-child(even) td {
  background: var(--crm-user-table-row-bg) !important;
}

.table tbody tr:hover td,
html[data-crm-table-style] .table tbody tr:hover td {
  background: var(--crm-user-table-hover) !important;
}

.table .table-light td,
.table tr.table-light td {
  background: color-mix(in srgb, var(--crm-user-table-head-bg) 78%, var(--crm-user-table-row-bg)) !important;
  color: var(--crm-user-table-head-text) !important;
}

.table .text-center > a.text-body,
.table .text-center > a:not(.btn) {
  background: var(--crm-user-card-bg) !important;
  border-color: var(--crm-user-table-border) !important;
  border-radius: var(--crm-user-button-radius) !important;
}

.table .text-center > a.text-body:hover,
.table .text-center > a:not(.btn):hover {
  background: var(--crm-user-accent-soft) !important;
  border-color: var(--crm-user-accent) !important;
  color: var(--crm-user-accent) !important;
}

/* Density choices */
html[data-crm-density="compact"] .content { padding: .75rem !important; }
html[data-crm-density="compact"] .card-body { padding: .75rem !important; }
html[data-crm-density="compact"] .card-header { min-height: 3rem; padding: .6rem .8rem !important; }
html[data-crm-density="compact"] .card-footer { padding: .6rem .8rem !important; }
html[data-crm-density="compact"] .table thead th,
html[data-crm-density="compact"] .table tbody td { padding: .48rem .65rem !important; }
html[data-crm-density="compact"] .crm-sidebar .nav-sidebar .nav-link { min-height: 2.35rem; padding-top: .38rem !important; padding-bottom: .38rem !important; }
html[data-crm-density="compact"] .form-control,
html[data-crm-density="compact"] .form-select { min-height: 2.25rem; padding-top: .35rem; padding-bottom: .35rem; }

html[data-crm-density="spacious"] .content { padding: 1.6rem !important; }
html[data-crm-density="spacious"] .card-body { padding: 1.45rem !important; }
html[data-crm-density="spacious"] .card-header { min-height: 4.25rem; padding: 1.1rem 1.35rem !important; }
html[data-crm-density="spacious"] .card-footer { padding: 1.05rem 1.35rem !important; }
html[data-crm-density="spacious"] .table thead th,
html[data-crm-density="spacious"] .table tbody td { padding: 1rem 1.1rem !important; }
html[data-crm-density="spacious"] .crm-sidebar .nav-sidebar .nav-link { min-height: 3.15rem; padding-top: .7rem !important; padding-bottom: .7rem !important; }

/* Appearance drawer */
body.crm-appearance-open {
  overflow: hidden;
}

.crm-appearance-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1085;
  background: rgba(15, 23, 42, .36);
  opacity: 0;
  transition: opacity .18s ease;
}

.crm-appearance-backdrop.is-open {
  opacity: 1;
}

.crm-appearance-panel {
  position: fixed;
  z-index: 1090;
  top: 0;
  right: 0;
  width: min(440px, 100vw);
  height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #f7f7f8;
  color: #111827;
  border-left: 1px solid #cfd8e4;
  box-shadow: -8px 0 24px rgba(15, 23, 42, .10);
  transform: translateX(102%);
  transition: transform .2s ease;
}

.crm-appearance-panel.is-open {
  transform: translateX(0);
}

.crm-appearance-panel-header,
.crm-appearance-panel-footer {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem 1.1rem;
  background: #ffffff;
  border-color: #dbe2eb;
}

.crm-appearance-panel-header {
  justify-content: space-between;
  border-bottom: 1px solid #dbe2eb;
}

.crm-appearance-panel-footer {
  border-top: 1px solid #dbe2eb;
}

.crm-appearance-panel-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 1rem;
}

.crm-appearance-section {
  display: block;
  margin-bottom: .85rem;
  padding: .85rem;
  border: 1px solid #dbe2eb;
  border-radius: .65rem;
  background: #ffffff;
}

.crm-appearance-section summary,
.crm-appearance-section-title {
  color: #263244;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.crm-appearance-section summary::-webkit-details-marker { display: none; }
.crm-appearance-section summary::after {
  content: "⌄";
  float: right;
  color: #778397;
}
.crm-appearance-section[open] summary { margin-bottom: .9rem; }
.crm-appearance-section[open] summary::after { transform: rotate(180deg); }
.crm-appearance-section-title { margin-bottom: .75rem; }

.crm-theme-presets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
}

.crm-theme-preset {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-height: 2.65rem;
  padding: .5rem .6rem;
  border: 1px solid #d7e0ea;
  border-radius: .5rem;
  background: #fff;
  color: #344054;
  font-size: .8rem;
  text-align: left;
  cursor: pointer;
}

.crm-theme-preset:hover {
  border-color: #9db6db;
  background: #f7faff;
}

.crm-theme-preset > span {
  position: relative;
  width: 2.25rem;
  height: 1.5rem;
  flex: 0 0 2.25rem;
  overflow: hidden;
  border: 1px solid #cbd5e1;
  border-radius: .35rem;
  background: linear-gradient(90deg, var(--preset-b) 0 34%, var(--preset-c) 34% 100%);
}

.crm-theme-preset > span::after {
  content: "";
  position: absolute;
  right: .2rem;
  bottom: .2rem;
  width: .55rem;
  height: .55rem;
  border-radius: 50%;
  background: var(--preset-a);
}

.crm-appearance-grid,
.crm-appearance-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}

.crm-appearance-two-col {
  margin-top: .75rem;
}

.crm-color-control,
.crm-select-control,
.crm-range-control {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin: 0;
  color: #4b5565;
  font-size: .77rem;
  font-weight: 600;
}

.crm-color-control {
  min-height: 3.55rem;
  padding: .5rem;
  border: 1px solid #e0e6ee;
  border-radius: .5rem;
  background: #f9fbfd;
}

.crm-color-control input[type="color"] {
  width: 100%;
  height: 1.65rem;
  padding: 0;
  border: 0;
  border-radius: .3rem;
  background: transparent;
  cursor: pointer;
}

.crm-color-control input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; }
.crm-color-control input[type="color"]::-webkit-color-swatch { border: 1px solid rgba(15, 23, 42, .14); border-radius: .3rem; }

.crm-range-control {
  margin-top: .75rem;
}

.crm-range-control > span {
  display: flex;
  justify-content: space-between;
  gap: .5rem;
}

.crm-range-control output {
  color: #667085;
  font-weight: 500;
}

.crm-range-control input[type="range"] {
  width: 100%;
  accent-color: var(--crm-user-accent);
}

.crm-select-control .form-select {
  min-height: 2.35rem;
  padding-top: .35rem;
  padding-bottom: .35rem;
  font-size: .8rem;
}

.crm-appearance-status {
  margin-right: auto;
  color: #397a5a;
  font-size: .76rem;
  opacity: 0;
  transition: opacity .15s ease;
}

.crm-appearance-status.is-visible {
  opacity: 1;
}

@media (max-width: 991.98px) {
  .crm-sidebar,
  .sidebar-light.crm-sidebar {
    --sidebar-width: min(var(--crm-user-sidebar-width), 92vw);
  }
}

@media (max-width: 480px) {
  .crm-appearance-grid,
  .crm-appearance-two-col,
  .crm-theme-presets {
    grid-template-columns: 1fr;
  }
  .crm-appearance-panel-footer {
    flex-wrap: wrap;
  }
  .crm-appearance-status {
    width: 100%;
  }
}

/* --------------------------------------------------------------------------
   Appearance v3: palette themes, typography and background combinations
   -------------------------------------------------------------------------- */
:root {
  --crm-user-accent-text: #ffffff;
  --crm-user-header-bg2: #ffffff;
  --crm-user-sidebar-bg2: #f8fafc;
  --crm-user-page-bg2: #ffffff;
  --crm-user-font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --crm-user-heading-font-family: inherit;
  --crm-user-page-background: #f4f5f7;
  --crm-user-header-background: #ffffff;
  --crm-user-sidebar-background: #f8fafc;
}

html,
body,
button,
input,
select,
textarea,
.form-control,
.form-select,
.btn,
.table {
  font-family: var(--crm-user-font-family) !important;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.card-title,
.crm-sidebar-title,
.crm-brand-name,
.crm-view-title {
  font-family: var(--crm-user-heading-font-family), var(--crm-user-font-family) !important;
}

body,
.content-inner {
  background: var(--crm-user-page-background) !important;
  background-attachment: fixed !important;
}

html[data-crm-background-style="dots"] body,
html[data-crm-background-style="dots"] .content-inner {
  background-size: 18px 18px !important;
}

html[data-crm-background-style="grid"] body,
html[data-crm-background-style="grid"] .content-inner {
  background-size: 24px 24px !important;
}

.crm-topbar,
.navbar-light.navbar-static.crm-topbar {
  background: var(--crm-user-header-background) !important;
}

.crm-sidebar,
.sidebar-light.crm-sidebar {
  background: var(--crm-user-sidebar-background) !important;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.disabled,
.btn-primary:disabled,
.bg-primary {
  color: var(--crm-user-accent-text) !important;
}

.badge.bg-primary,
.page-item.active .page-link {
  color: var(--crm-user-accent-text) !important;
}

.crm-theme-presets-featured {
  grid-template-columns: 1fr;
}

.crm-theme-preset-five {
  min-height: 3.2rem;
  padding: .55rem .65rem;
}

.crm-theme-preset-five > span {
  width: 7.25rem;
  height: 1.85rem;
  flex: 0 0 7.25rem;
  border-radius: .35rem;
  background: linear-gradient(90deg,
    var(--preset-1) 0 20%,
    var(--preset-2) 20% 40%,
    var(--preset-3) 40% 60%,
    var(--preset-4) 60% 80%,
    var(--preset-5) 80% 100%);
}

.crm-theme-preset-five > span::after {
  display: none;
}

.crm-theme-preset-five b {
  min-width: 0;
  overflow: hidden;
  font-size: .82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-theme-preset.is-active {
  border-color: var(--crm-user-accent);
  background: var(--crm-user-accent-softer);
  box-shadow: 0 0 0 2px var(--crm-user-accent-soft);
}

.crm-theme-preset.is-active::after {
  content: "✓";
  margin-left: auto;
  color: var(--crm-user-accent);
  font-weight: 800;
}

.crm-appearance-panel-body .form-select {
  color-scheme: light;
}

@media (max-width: 480px) {
  .crm-theme-preset-five > span {
    width: 6rem;
    flex-basis: 6rem;
  }
}

/* --------------------------------------------------------------------------
   Compact filters, breadcrumb-free headers and theme-safe hover states
   -------------------------------------------------------------------------- */
:root {
  --crm-user-header-hover-bg: rgba(17, 24, 39, .08);
  --crm-user-header-hover-text: #111827;
  --crm-user-sidebar-hover-bg: rgba(17, 24, 39, .08);
  --crm-user-sidebar-hover-text: #111827;
}

/* Breadcrumb row was removed from the template; keep the page header compact. */
.crm-page-header {
  border-bottom: 1px solid var(--crm-user-card-border) !important;
  box-shadow: none !important;
}

.crm-page-heading {
  min-height: 3.5rem;
  padding-top: .65rem !important;
  padding-bottom: .65rem !important;
}

.crm-page-heading .page-title {
  font-size: 1.08rem !important;
  line-height: 1.35;
}

/* Keep link text readable on both light and dark employee themes. */
.crm-topbar .navbar-nav-link:hover,
.crm-topbar .navbar-nav-link:focus,
.crm-topbar .crm-topbar-link:hover,
.crm-topbar .crm-appearance-trigger:hover {
  background: var(--crm-user-header-hover-bg) !important;
  color: var(--crm-user-header-hover-text) !important;
}

.crm-topbar .navbar-nav-link:hover *,
.crm-topbar .crm-topbar-link:hover *,
.crm-topbar .crm-appearance-trigger:hover * {
  color: inherit !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover,
.crm-sidebar .nav-sidebar .nav-group-sub .nav-link:hover {
  background: var(--crm-user-sidebar-hover-bg) !important;
  color: var(--crm-user-sidebar-hover-text) !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover > i,
.crm-sidebar .nav-sidebar .nav-link:hover span,
.crm-sidebar .nav-sidebar .nav-link:hover span > .d-block,
.crm-sidebar .nav-sidebar .nav-link:hover::after {
  color: inherit !important;
}

.crm-sidebar .nav-sidebar .nav-link:hover > i {
  background: color-mix(in srgb, var(--crm-user-sidebar-hover-text) 12%, transparent) !important;
}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
  background: var(--crm-user-accent-soft) !important;
  color: var(--crm-user-main-text) !important;
}

/* Filter toolbar: search stays visible; secondary controls expand only when needed. */
.crm-filter-shell {
  padding: 0 !important;
  background: var(--crm-user-card-bg) !important;
}

.crm-filter-form {
  width: 100%;
  margin: 0;
}

.crm-filter-toolbar {
  display: flex;
  align-items: end;
  gap: .5rem;
  min-height: 3.65rem;
  padding: .65rem .75rem;
}

.crm-filter-search {
  flex: 1 1 22rem;
  min-width: 15rem;
  max-width: 34rem;
}

.crm-filter-search .form-control,
.crm-filter-search .form-select,
.crm-filter-submit,
.crm-filter-toggle,
.crm-filter-clear,
.crm-filter-page-size .form-select {
  min-height: 2.35rem;
}

.crm-filter-page-size {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin-left: auto;
}

.crm-filter-page-size .form-label {
  margin: 0;
  color: var(--crm-user-muted-text) !important;
  font-size: .73rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.crm-filter-page-size .form-select {
  width: 4.85rem;
  padding-right: 1.8rem;
}

.crm-filter-toggle {
  white-space: nowrap;
}

.crm-filter-toggle.is-active {
  border-color: color-mix(in srgb, var(--crm-user-accent) 35%, var(--crm-user-card-border)) !important;
  background: var(--crm-user-accent-softer) !important;
  color: var(--crm-user-accent) !important;
}

.crm-filter-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.3rem;
}

.crm-filter-advanced {
  display: none;
  padding: .75rem;
  border-top: 1px solid var(--crm-user-card-border);
  background: color-mix(in srgb, var(--crm-user-card-bg) 94%, var(--crm-user-page-bg));
}

.crm-filter-advanced.is-open {
  display: block;
}

.crm-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: .65rem;
}

.crm-filter-field {
  min-width: 0;
}

.crm-filter-field .form-label {
  margin-bottom: .28rem;
  color: var(--crm-user-muted-text) !important;
  font-size: .74rem;
  font-weight: 700;
  line-height: 1.2;
}

.crm-filter-field .form-control,
.crm-filter-field .form-select {
  min-height: 2.3rem;
  padding-top: .42rem;
  padding-bottom: .42rem;
}

.crm-compact-table > :not(caption) > * > * {
  padding-top: .62rem !important;
  padding-bottom: .62rem !important;
}

.crm-compact-table thead th {
  font-size: .73rem;
  letter-spacing: .025em;
  text-transform: uppercase;
}

@media (max-width: 991.98px) {
  .crm-filter-toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }
  .crm-filter-search {
    flex-basis: calc(100% - 7rem);
    max-width: none;
  }
  .crm-filter-page-size {
    margin-left: 0;
  }
}

@media (max-width: 575.98px) {
  .crm-filter-toolbar {
    gap: .4rem;
    padding: .6rem;
  }
  .crm-filter-search {
    flex: 1 0 100%;
    min-width: 0;
  }
  .crm-filter-submit,
  .crm-filter-toggle,
  .crm-filter-clear {
    flex: 1 1 auto;
  }
  .crm-filter-page-size {
    order: 5;
    width: 100%;
    justify-content: flex-end;
  }
  .crm-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* Alpine API architecture refinements */
[x-cloak]{display:none!important}.crm-brand-mark,.portal-brand-mark{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--crm-accent,#2563eb);color:#fff;font-weight:700}.table td,.table th{vertical-align:middle}.page-header-content{padding:1rem 1.25rem}.content{padding-top:1rem}.card{box-shadow:none}.crm-sidebar .nav-link:hover,.portal-sidebar .nav-link:hover{color:inherit}.crm-sidebar .nav-link.active,.portal-sidebar .nav-link.active{font-weight:600}

/* ========================================================================== 
   CRM UI restoration — clean, compact and API-first
   ========================================================================== */
:root {
  --crm-shell-border: #e2e8f0;
  --crm-shell-muted: #64748b;
  --crm-shell-text: #0f172a;
  --crm-shell-soft: #f8fafc;
  --crm-shell-page: #f4f7fb;
  --crm-shell-blue: #2563eb;
  --crm-shell-blue-soft: #eff6ff;
  --crm-shell-radius: 14px;
  --crm-sidebar-width: 258px;
}

html, body { min-height: 100%; }
body {
  color: var(--crm-user-main-text, var(--crm-shell-text));
  background: var(--crm-user-page-background, var(--crm-shell-page)) !important;
}
body, button, input, select, textarea { -webkit-font-smoothing: antialiased; }

svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.crm-topbar {
  min-height: 64px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  background: var(--crm-user-header-background, #fff) !important;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
  color: var(--crm-user-header-text, var(--crm-shell-text));
  position: relative;
  z-index: 1040;
}
.crm-topbar .container-fluid { min-height: 64px; }
.crm-mobile-menu,
.crm-topbar-icon,
.crm-sidebar-close {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  border-radius: 10px;
  color: inherit;
  background: transparent;
}
.crm-mobile-menu svg,
.crm-topbar-icon svg { width: 20px; height: 20px; }
.crm-mobile-menu:hover,
.crm-topbar-icon:hover { background: var(--crm-user-header-hover-bg, #f8fafc); color: var(--crm-user-header-hover-text, var(--crm-shell-text)); }
.crm-brand-link { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.crm-brand-link:hover { color: inherit; }
.crm-brand-logo {
  width: 7rem;
  height: auto;
  max-height: 36px;
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}
.crm-sidebar-brand-logo {
  width: 6.1rem;
  height: auto;
  max-height: 31px;
  display: block;
  object-fit: contain;
}
.crm-login-logo {
  width: 9.4rem;
  height: auto;
  display: block;
  object-fit: contain;
}
.crm-brand-mark {
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  background: var(--crm-user-accent, var(--crm-shell-blue)) !important;
  box-shadow: none !important;
  font-size: .95rem;
}
.crm-brand-copy { display: flex; flex-direction: column; line-height: 1.15; margin-left: .7rem; }
.crm-brand-copy strong { font-size: .96rem; color: inherit; }
.crm-brand-copy small { margin-top: .2rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .68rem; }
.crm-global-search {
  width: min(38vw, 520px);
  min-width: 280px;
  height: 40px;
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: 0 .8rem;
  border: 1px solid var(--crm-user-input-border, var(--crm-shell-border));
  border-radius: 11px;
  background: var(--crm-user-input-bg, #fff);
  color: var(--crm-user-muted-text, var(--crm-shell-muted));
}
.crm-global-search svg { width: 18px; height: 18px; }
.crm-global-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: .86rem; }
.crm-global-search input::placeholder { color: #94a3b8; }
.crm-global-search kbd { padding: .12rem .35rem; border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); border-radius: 5px; background: var(--crm-user-card-bg, #fff); box-shadow: none; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font: inherit; font-size: .68rem; }
.crm-admin-menu {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: .62rem;
  padding: .3rem .45rem .3rem .35rem;
  border: 1px solid transparent;
  border-radius: 12px;
  color: inherit;
  background: transparent;
}
.crm-admin-menu:hover,
.crm-admin-menu[aria-expanded="true"] { border-color: var(--crm-user-card-border, var(--crm-shell-border)); background: var(--crm-user-header-hover-bg, #f8fafc); }
.crm-admin-avatar {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--crm-user-accent-soft, #e8f0ff);
  color: var(--crm-user-accent, var(--crm-shell-blue));
  font-size: .8rem;
  font-weight: 800;
}
.crm-admin-copy { flex-direction: column; align-items: flex-start; line-height: 1.15; }
.crm-admin-copy strong { max-width: 145px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.crm-admin-copy small { max-width: 145px; margin-top: .16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .68rem; font-weight: 400; }
.crm-chevron { width: 16px; height: 16px; color: var(--crm-user-muted-text, var(--crm-shell-muted)); }
.crm-admin-dropdown { width: 240px; padding: .45rem; border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); border-radius: 12px; box-shadow: 0 18px 45px rgba(15, 23, 42, .14); }
.crm-admin-dropdown .dropdown-item { display: flex; align-items: center; gap: .55rem; border-radius: 8px; }
.crm-inline-icon { width: 17px; height: 17px; }

.page-content { min-height: calc(100vh - 64px); }
.crm-sidebar {
  width: var(--crm-sidebar-width) !important;
  flex: 0 0 var(--crm-sidebar-width) !important;
  border-right: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  background: var(--crm-user-sidebar-background, #fff) !important;
  color: var(--crm-user-sidebar-text, #475569);
}
.crm-sidebar .sidebar-content { min-height: calc(100vh - 64px); display: flex; flex-direction: column; overflow-x: hidden; }
.crm-sidebar .sidebar-section { padding: .35rem .5rem; }
.crm-sidebar .nav-sidebar { display: flex !important; flex-direction: column !important; width: 100%; }
.crm-sidebar .nav-item { width: 100%; }
.crm-sidebar .nav-item-header { padding: 1.05rem .8rem .4rem; }
.crm-sidebar .nav-item-header span { color: var(--crm-user-muted-text, #94a3b8); font-size: .68rem; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; }
.crm-sidebar .nav-link {
  width: 100%;
  min-height: 44px;
  display: flex !important;
  align-items: center;
  gap: .75rem;
  margin: .14rem 0 !important;
  padding: .65rem .72rem !important;
  border-radius: var(--crm-user-nav-radius, 10px) !important;
  color: var(--crm-user-sidebar-text, #475569) !important;
  font-size: .86rem;
  font-weight: 600;
  transform: none !important;
}
.crm-sidebar .nav-link svg { width: 20px; height: 20px; flex: 0 0 20px; color: currentColor; }
.crm-sidebar .nav-link:hover { background: var(--crm-user-sidebar-hover-bg, #f1f5f9) !important; color: var(--crm-user-sidebar-hover-text, var(--crm-shell-text)) !important; }
.crm-sidebar .nav-link.active {
  background: var(--crm-user-sidebar-active-bg, var(--crm-shell-blue-soft)) !important;
  color: var(--crm-user-sidebar-active-text, var(--crm-shell-blue)) !important;
  box-shadow: none !important;
}
.crm-sidebar-foot { margin-top: auto; padding: 1rem; }
.crm-sidebar-support { display: flex; align-items: center; gap: .65rem; padding: .75rem; border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); border-radius: 12px; background: color-mix(in srgb, var(--crm-user-card-bg, #fff) 94%, var(--crm-user-page-bg, #f8fafc)); }
.crm-sidebar-support-icon { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, var(--crm-shell-blue)); font-weight: 800; }
.crm-sidebar-support div { display: flex; flex-direction: column; line-height: 1.2; }
.crm-sidebar-support strong { font-size: .76rem; }
.crm-sidebar-support small { margin-top: .2rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .66rem; }
.crm-sidebar-mobile-head { min-height: 64px; align-items: center; justify-content: space-between; padding: .7rem .9rem; border-bottom: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); }
.crm-sidebar-close { border: 0; font-size: 1.55rem; }
.crm-sidebar-overlay { position: fixed; inset: 0; z-index: 1025; background: rgba(15, 23, 42, .42); backdrop-filter: blur(2px); }

.content-wrapper { min-width: 0; }
.content-inner { min-height: calc(100vh - 64px); display: flex; flex-direction: column; background: var(--crm-user-page-background, var(--crm-shell-page)) !important; }
.crm-page-header { margin: 0 !important; border: 0 !important; border-bottom: 1px solid var(--crm-user-card-border, var(--crm-shell-border)) !important; background: var(--crm-user-card-bg, #fff) !important; box-shadow: none !important; }
.crm-page-heading { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem 1.5rem !important; }
.crm-page-eyebrow { margin-bottom: .22rem; color: var(--crm-user-accent, var(--crm-shell-blue)); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.crm-page-heading .page-title { color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: 1.42rem !important; font-weight: 750; letter-spacing: -.025em; }
.crm-page-subtitle { color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .82rem; }
.crm-primary-action { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding-inline: .95rem; font-weight: 700; }
.crm-primary-action svg { width: 18px; height: 18px; }
.content { flex: 1; padding: 1.35rem 1.5rem 1.6rem !important; }
.crm-footer { min-height: 50px; padding: .75rem 1.5rem; border-top: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); background: var(--crm-user-card-bg, #fff); color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .72rem; }

.card,
.content .card {
  border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)) !important;
  border-radius: var(--crm-user-card-radius, var(--crm-shell-radius)) !important;
  background: var(--crm-user-card-bg, #fff) !important;
  box-shadow: var(--crm-user-card-shadow, 0 8px 22px rgba(15, 23, 42, .035)) !important;
}
.card-header { border-bottom: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); background: var(--crm-user-card-header-bg, transparent) !important; }
.crm-card-heading { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; }
.crm-card-heading .card-title { color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: 1rem; font-weight: 750; }
.crm-card-heading p { font-size: .75rem; }
.btn { min-height: 38px; border-radius: var(--crm-user-button-radius, 9px) !important; font-weight: 650; }
.btn-sm { min-height: 32px; }
.btn-primary { border-color: var(--crm-user-accent, var(--crm-shell-blue)) !important; background: var(--crm-user-accent, var(--crm-shell-blue)) !important; box-shadow: none !important; }
.btn-primary:hover { border-color: var(--crm-user-accent-hover, #1d4ed8) !important; background: var(--crm-user-accent-hover, #1d4ed8) !important; filter: none !important; }
.btn-light { border-color: var(--crm-user-card-border, var(--crm-shell-border)); background: var(--crm-user-card-bg, #fff); color: var(--crm-user-main-text, var(--crm-shell-text)); }
.btn-light:hover { border-color: color-mix(in srgb, var(--crm-user-accent, var(--crm-shell-blue)) 30%, var(--crm-user-card-border, var(--crm-shell-border))); background: var(--crm-user-accent-softer, #f8fafc); color: var(--crm-user-main-text, var(--crm-shell-text)); }

.crm-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.crm-metric-card { min-height: 152px; padding: 1.15rem; border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); border-radius: var(--crm-user-card-radius, var(--crm-shell-radius)); background: var(--crm-user-card-bg, #fff); box-shadow: var(--crm-user-card-shadow, 0 8px 22px rgba(15, 23, 42, .035)); overflow: hidden; position: relative; }
.crm-metric-card::after { content: ""; position: absolute; width: 92px; height: 92px; top: -42px; right: -32px; border-radius: 50%; background: currentColor; opacity: .055; }
.crm-metric-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.crm-metric-top > div { display: flex; flex-direction: column; }
.crm-metric-label { color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .78rem; font-weight: 650; }
.crm-metric-value { margin-top: .4rem; color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: 2rem; line-height: 1; letter-spacing: -.045em; }
.crm-metric-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: currentColor; }
.crm-metric-icon svg { width: 22px; height: 22px; color: #fff; }
.crm-metric-note { margin-top: 1.25rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .72rem; }
.crm-metric-note b { color: var(--crm-user-main-text, var(--crm-shell-text)); }
.crm-metric-blue { color: #2563eb; }
.crm-metric-green { color: #059669; }
.crm-metric-purple { color: #7c3aed; }
.crm-metric-amber { color: #d97706; }
.crm-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 1rem; align-items: start; }
.crm-data-card { overflow: hidden; }
.crm-quick-card { overflow: hidden; }
.crm-quick-actions { padding: .45rem; }
.crm-quick-actions > a { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .7rem; border-radius: 10px; color: var(--crm-user-main-text, var(--crm-shell-text)); text-decoration: none; }
.crm-quick-actions > a:hover { background: var(--crm-user-accent-softer, #f8fafc); }
.crm-quick-actions > a > span { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, var(--crm-shell-blue)); }
.crm-quick-actions svg { width: 19px; height: 19px; }
.crm-quick-actions div { display: flex; flex-direction: column; min-width: 0; line-height: 1.15; }
.crm-quick-actions strong { font-size: .78rem; }
.crm-quick-actions small { margin-top: .22rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .68rem; }
.crm-quick-actions b { color: #94a3b8; font-size: 1.25rem; font-weight: 400; }

.crm-filter-card { overflow: visible; }
.crm-filter-card form { margin: 0; }
.crm-filter-bar { display: flex; align-items: center; gap: .55rem; min-height: 64px; padding: .7rem; }
.crm-search-control { min-width: 260px; flex: 1 1 420px; height: 40px; display: flex; align-items: center; gap: .55rem; padding: 0 .75rem; border: 1px solid var(--crm-user-input-border, var(--crm-shell-border)); border-radius: 10px; background: var(--crm-user-input-bg, #fff); color: var(--crm-user-muted-text, var(--crm-shell-muted)); }
.crm-search-control:focus-within { border-color: var(--crm-user-accent, var(--crm-shell-blue)); box-shadow: 0 0 0 3px var(--crm-user-accent-soft, #dbeafe); }
.crm-search-control svg { width: 18px; height: 18px; }
.crm-search-control input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: .83rem; }
.crm-search-control input::placeholder { color: #94a3b8; }
.crm-filter-toggle { display: inline-flex; align-items: center; gap: .42rem; }
.crm-filter-toggle svg { width: 17px; height: 17px; }
.crm-filter-toggle > span { min-width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--crm-user-accent, var(--crm-shell-blue)); color: #fff; font-size: .64rem; }
.crm-page-size { display: flex; align-items: center; gap: .4rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .7rem; font-weight: 700; }
.crm-page-size select,
.crm-inline-select select,
.crm-filter-drawer select,
.crm-filter-drawer input { height: 40px; border: 1px solid var(--crm-user-input-border, var(--crm-shell-border)); border-radius: 9px; background: var(--crm-user-input-bg, #fff); color: var(--crm-user-main-text, var(--crm-shell-text)); outline: none; }
.crm-page-size select { width: 68px; padding: 0 .5rem; }
.crm-inline-select { min-width: 210px; display: flex; align-items: center; gap: .45rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .7rem; font-weight: 700; }
.crm-inline-select select { flex: 1; padding: 0 .65rem; }
.crm-filter-drawer { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)) auto; align-items: end; gap: .75rem; padding: .8rem; border-top: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); background: color-mix(in srgb, var(--crm-user-card-bg, #fff) 96%, var(--crm-user-page-bg, #f8fafc)); }
.crm-filter-drawer label { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.crm-filter-drawer label > span { color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .7rem; font-weight: 700; }
.crm-filter-drawer select,
.crm-filter-drawer input { width: 100%; padding: 0 .65rem; }

.crm-list-heading { min-height: 66px; }
.crm-list-refresh { display: inline-flex; align-items: center; gap: .4rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .7rem; }
.crm-list-refresh > span { width: 8px; height: 8px; border-radius: 50%; background: var(--crm-user-accent, var(--crm-shell-blue)); animation: crmPulse 1s infinite alternate; }
@keyframes crmPulse { to { opacity: .25; transform: scale(.8); } }
.crm-table { --table-border-color: var(--crm-user-table-border, var(--crm-shell-border)); color: var(--crm-user-main-text, var(--crm-shell-text)); }
.crm-table thead th { padding: .68rem .9rem !important; border-bottom-width: 1px !important; background: var(--crm-user-table-header-bg, #f8fafc) !important; color: var(--crm-user-muted-text, #64748b) !important; font-size: .67rem !important; font-weight: 800; letter-spacing: .055em !important; text-transform: uppercase; white-space: nowrap; }
.crm-table tbody td { padding: .82rem .9rem !important; border-bottom: 1px solid var(--crm-user-table-border, var(--crm-shell-border)); background: transparent !important; font-size: .78rem; }
.crm-table tbody tr:last-child td { border-bottom: 0; }
.crm-table tbody tr:hover td { background: var(--crm-user-table-hover-bg, rgba(37, 99, 235, .025)) !important; }
.crm-record-title { display: inline-block; max-width: 340px; color: var(--crm-user-main-text, var(--crm-shell-text)); font-weight: 750; text-decoration: none; line-height: 1.3; }
.crm-record-title:hover { color: var(--crm-user-accent, var(--crm-shell-blue)); }
.crm-record-id { max-width: 245px; margin-top: .25rem; overflow: hidden; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.crm-status { display: inline-flex; align-items: center; min-height: 24px; padding: .2rem .55rem; border-radius: 999px; font-size: .66rem; font-weight: 800; line-height: 1; white-space: nowrap; }
.crm-marketplace-count { display: flex; align-items: baseline; gap: .3rem; }
.crm-marketplace-count strong { font-size: .92rem; }
.crm-marketplace-count span { color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .7rem; }
.crm-row-action { min-height: 30px; display: inline-flex; align-items: center; justify-content: center; padding: .28rem .58rem; border: 1px solid color-mix(in srgb, var(--crm-user-accent, var(--crm-shell-blue)) 28%, var(--crm-user-card-border, var(--crm-shell-border))); border-radius: 8px; background: var(--crm-user-card-bg, #fff); color: var(--crm-user-accent, var(--crm-shell-blue)); font-size: .7rem; font-weight: 750; text-decoration: none; }
.crm-row-action:hover { background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent-hover, #1d4ed8); }
.crm-row-action + .crm-row-action { margin-left: .3rem; }
.crm-row-action-muted { border-color: var(--crm-user-card-border, var(--crm-shell-border)); color: var(--crm-user-main-text, var(--crm-shell-text)); }
.crm-table-footer { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .9rem; border-top: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); font-size: .72rem; }
.crm-pagination { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); border-radius: 9px; }
.crm-pagination button,
.crm-pagination span { min-width: 38px; height: 34px; display: inline-flex; align-items: center; justify-content: center; padding: 0 .7rem; border: 0; border-right: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); background: var(--crm-user-card-bg, #fff); color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: .7rem; }
.crm-pagination button:last-child { border-right: 0; }
.crm-pagination button:hover:not(:disabled) { background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, var(--crm-shell-blue)); }
.crm-pagination button:disabled { color: #94a3b8; cursor: not-allowed; }
.crm-pagination span { background: var(--crm-user-accent, var(--crm-shell-blue)); color: #fff; font-weight: 800; }
.crm-table-loading { display: grid; gap: .65rem; padding: .35rem 0; }
.crm-table-loading span { height: 12px; border-radius: 6px; background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%); background-size: 200% 100%; animation: crmShimmer 1.4s infinite; }
.crm-table-loading span:nth-child(2) { width: 82%; }
.crm-table-loading span:nth-child(3) { width: 66%; }
@keyframes crmShimmer { to { background-position: -200% 0; } }
.crm-empty-state { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; padding: 2rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); text-align: center; }
.crm-empty-state strong { color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: .92rem; }
.crm-empty-state > span:not(.crm-empty-icon) { font-size: .74rem; }
.crm-empty-icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: .2rem; border-radius: 14px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, var(--crm-shell-blue)); }
.crm-empty-icon svg { width: 24px; height: 24px; }
.crm-provider-cell { display: flex; align-items: center; gap: .65rem; min-width: 220px; }
.crm-provider-avatar { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; border-radius: 11px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, var(--crm-shell-blue)); font-weight: 800; }
.crm-category-tags { display: flex; flex-wrap: wrap; gap: .25rem; }
.crm-category-tags span { padding: .18rem .42rem; border: 1px solid var(--crm-user-card-border, var(--crm-shell-border)); border-radius: 6px; background: var(--crm-user-table-alt-bg, #f8fafc); color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: .64rem; }
.crm-access-line { display: flex; align-items: center; gap: .35rem; margin-top: .35rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .65rem; }
.crm-access-line span { width: 7px; height: 7px; border-radius: 50%; background: #94a3b8; }
.crm-access-line.is-on span { background: #10b981; }
.crm-access-line.is-off span { background: #ef4444; }
.crm-access-line b { font-weight: 600; }
.crm-mobile-meta { margin-top: .25rem; color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .68rem; }

/* Keep older forms and detail pages visually aligned with the restored shell. */
.content .form-control,
.content .form-select { min-height: 40px; border-color: var(--crm-user-input-border, var(--crm-shell-border)); border-radius: 9px; background: var(--crm-user-input-bg, #fff); color: var(--crm-user-main-text, var(--crm-shell-text)); }
.content .form-control:focus,
.content .form-select:focus { border-color: var(--crm-user-accent, var(--crm-shell-blue)); box-shadow: 0 0 0 3px var(--crm-user-accent-soft, #dbeafe); }
.content .form-label { color: var(--crm-user-main-text, var(--crm-shell-text)); font-size: .74rem; font-weight: 700; }
.content dl dt { color: var(--crm-user-muted-text, var(--crm-shell-muted)); font-size: .72rem; }
.content dl dd { color: var(--crm-user-main-text, var(--crm-shell-text)); }

@media (max-width: 1199.98px) {
  .crm-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-dashboard-grid { grid-template-columns: 1fr; }
  .crm-quick-card { display: none; }
  .crm-filter-drawer { grid-template-columns: repeat(2, minmax(170px, 1fr)); }
}

@media (max-width: 991.98px) {
  .crm-sidebar { position: fixed !important; top: 0; bottom: 0; left: 0; z-index: 1060; transform: translateX(-102%); transition: transform .22s ease; box-shadow: 18px 0 45px rgba(15, 23, 42, .16); }
  .crm-sidebar.crm-sidebar-open { transform: translateX(0); }
  .crm-sidebar .sidebar-content { min-height: 0; height: 100%; }
  .crm-sidebar-mobile-head { display: flex !important; }
  .crm-page-heading { min-height: 84px; padding: 1rem !important; }
  .content { padding: 1rem !important; }
  .crm-footer { padding-inline: 1rem; }
  .crm-filter-bar { flex-wrap: wrap; }
  .crm-search-control { flex-basis: calc(100% - 100px); }
  .crm-page-size { margin-left: 0 !important; }
  .crm-inline-select { min-width: 180px; }
}

@media (max-width: 767.98px) {
  .crm-brand-copy small { display: none; }
  .crm-page-heading { align-items: flex-start; }
  .crm-page-subtitle { max-width: 70vw; }
  .crm-primary-action { min-width: 40px; padding-inline: .65rem; font-size: 0; }
  .crm-primary-action svg { margin: 0; }
  .crm-metric-grid { grid-template-columns: 1fr 1fr; gap: .75rem; }
  .crm-metric-card { min-height: 132px; padding: .9rem; }
  .crm-metric-value { font-size: 1.6rem; }
  .crm-metric-icon { width: 38px; height: 38px; }
  .crm-metric-note { margin-top: .85rem; }
  .crm-filter-bar { align-items: stretch; }
  .crm-search-control { flex: 1 0 100%; min-width: 0; }
  .crm-filter-apply,
  .crm-filter-toggle { flex: 1 1 auto; }
  .crm-page-size { width: 100%; justify-content: flex-end; }
  .crm-filter-drawer { grid-template-columns: 1fr; }
  .crm-hide-mobile { display: none; }
  .crm-table thead th,
  .crm-table tbody td { padding-inline: .7rem !important; }
  .crm-table-footer { flex-direction: column; align-items: stretch; }
  .crm-pagination { align-self: flex-end; }
}

@media (max-width: 479.98px) {
  .crm-topbar .container-fluid { padding-inline: .65rem !important; }
  .crm-brand-logo { width: 5.8rem; max-height: 30px; }
  .crm-brand-copy strong { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .crm-metric-grid { grid-template-columns: 1fr; }
  .crm-page-heading .page-title { font-size: 1.2rem !important; }
  .crm-page-eyebrow { display: none; }
  .crm-page-subtitle { font-size: .72rem; }
  .content { padding: .75rem !important; }
}

/* CRM additions: managed categories, Indian mobile fields and lead journeys */
.crm-mobile-prefix {
  min-width: 3.6rem;
  justify-content: center;
  font-weight: 600;
  background: #f8fafc;
}

.crm-multi-select {
  min-height: 9.5rem;
}

.crm-journey {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.crm-journey-step {
  position: relative;
  text-align: center;
  color: #94a3b8;
}

.crm-journey-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 1rem;
  left: calc(50% + 1rem);
  right: calc(-50% + 1rem);
  height: 2px;
  background: #e2e8f0;
}

.crm-journey-dot {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 2rem;
  height: 2rem;
  align-items: center;
  justify-content: center;
  border: 2px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
  font-weight: 700;
}

.crm-journey-label {
  margin-top: .55rem;
  font-size: .82rem;
  font-weight: 600;
}

.crm-journey-step.is-complete,
.crm-journey-step.is-current {
  color: #2563eb;
}

.crm-journey-step.is-complete .crm-journey-dot,
.crm-journey-step.is-current .crm-journey-dot {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}

.crm-journey-step.is-complete:not(:last-child)::after {
  background: #2563eb;
}

.crm-journey-step.is-rejected-stage {
  color: #dc2626;
}

.crm-journey-step.is-rejected-stage .crm-journey-dot {
  border-color: #dc2626;
  background: #dc2626;
  color: #fff;
}

.crm-timeline {
  position: relative;
}

.crm-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  gap: .75rem;
  padding-bottom: 1.25rem;
}

.crm-timeline-item:not(:last-child)::before {
  content: "";
  position: absolute;
  top: .85rem;
  bottom: 0;
  left: .36rem;
  width: 2px;
  background: #e2e8f0;
}

.crm-timeline-marker {
  position: relative;
  z-index: 1;
  width: .8rem;
  height: .8rem;
  margin-top: .2rem;
  border: 2px solid #2563eb;
  border-radius: 999px;
  background: #fff;
}

.crm-provider-journey-card {
  padding: 1.25rem;
  border-bottom: 1px solid #e5e7eb;
}

.crm-provider-journey-card:last-child {
  border-bottom: 0;
}

.crm-provider-journey-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.crm-provider-note {
  padding: .7rem .8rem;
  border-radius: .45rem;
  background: #f8fafc;
}

.crm-provider-timeline {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem 1.4rem;
  padding-top: .9rem;
  border-top: 1px dashed #dbe3ee;
}

.crm-provider-timeline-item {
  display: grid;
  grid-template-columns: .65rem minmax(0, 1fr);
  gap: .55rem;
  min-width: 12rem;
  max-width: 20rem;
}

.crm-provider-timeline-dot {
  width: .55rem;
  height: .55rem;
  margin-top: .35rem;
  border-radius: 999px;
  background: #2563eb;
}

@media (max-width: 767.98px) {
  .crm-journey-label {
    font-size: .72rem;
  }

  .crm-provider-journey-head {
    flex-direction: column;
  }

  .crm-provider-journey-head .text-end {
    text-align: left !important;
  }
}

/* Desktop sidebar collapse */
.crm-sidebar-desktop-actions {
  padding: .75rem .5rem .15rem;
}

.crm-sidebar-collapse {
  width: 100%;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: .7rem;
  padding: .55rem .72rem;
  border: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  border-radius: var(--crm-user-nav-radius, 10px);
  background: color-mix(in srgb, var(--crm-user-sidebar-bg, #fff) 94%, var(--crm-user-accent, #2563eb));
  color: var(--crm-user-sidebar-text, #475569);
  font-size: .78rem;
  font-weight: 750;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.crm-sidebar-collapse:hover {
  border-color: color-mix(in srgb, var(--crm-user-accent, #2563eb) 34%, var(--crm-user-card-border, var(--crm-shell-border)));
  background: var(--crm-user-sidebar-hover-bg, var(--crm-user-accent-soft, #eff6ff));
  color: var(--crm-user-sidebar-hover-text, var(--crm-user-accent, #2563eb));
}

.crm-sidebar-collapse svg {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  transition: transform .2s ease;
}

.crm-sidebar-collapse svg.is-collapsed {
  transform: rotate(180deg);
}

.crm-sidebar,
.crm-sidebar .sidebar-content {
  transition: width .22s ease, flex-basis .22s ease;
}

html.crm-sidebar-no-transition .crm-sidebar,
html.crm-sidebar-no-transition .crm-sidebar *,
html.crm-sidebar-no-transition .content-wrapper {
  transition: none !important;
  animation: none !important;
}

@media (min-width: 992px) {
  .crm-sidebar.crm-sidebar-collapsed,
  html.crm-sidebar-saved-collapsed .crm-sidebar {
    --sidebar-width: 76px;
    width: 76px !important;
    flex: 0 0 76px !important;
  }

  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-desktop-actions,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-desktop-actions {
    padding-inline: .55rem;
  }

  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-collapse,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-collapse {
    justify-content: center;
    padding-inline: .55rem;
  }

  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-collapse svg {
    transform: rotate(180deg);
  }

  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-collapse-label,
  .crm-sidebar.crm-sidebar-collapsed .nav-item-header,
  .crm-sidebar.crm-sidebar-collapsed .nav-link > span,
  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-support > div,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-collapse-label,
  html.crm-sidebar-saved-collapsed .crm-sidebar .nav-item-header,
  html.crm-sidebar-saved-collapsed .crm-sidebar .nav-link > span,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-support > div {
    display: none !important;
  }

  .crm-sidebar.crm-sidebar-collapsed .sidebar-section,
  html.crm-sidebar-saved-collapsed .crm-sidebar .sidebar-section {
    padding-inline: .55rem;
  }

  .crm-sidebar.crm-sidebar-collapsed .nav-link,
  html.crm-sidebar-saved-collapsed .crm-sidebar .nav-link {
    width: 44px;
    min-width: 44px;
    justify-content: center;
    gap: 0;
    margin-inline: auto !important;
    padding-inline: .65rem !important;
  }

  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-foot,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-foot {
    padding-inline: .55rem;
  }

  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-support,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-support {
    justify-content: center;
    padding: .55rem;
  }
}

/* Solid lead and provider-lead status badges */
.crm-status.status-new,
.crm-status.status-offered {
  background: #2563eb !important;
  border: 1px solid #1d4ed8 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.crm-status.status-verification,
.crm-status.status-verification-pending,
.crm-status.status-contacted {
  background: #0f766e !important;
  border: 1px solid #115e59 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.crm-status.status-approved,
.crm-status.status-confirmed,
.crm-status.status-unlocked {
  background: #15803d !important;
  border: 1px solid #166534 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.crm-status.crm-status.status-in-progress,
.crm-status.status-completed,
.crm-status.status-closed {
  background: #7c3aed !important;
  border: 1px solid #6d28d9 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.crm-status.status-on-hold {
  background: #c2410c !important;
  border: 1px solid #9a3412 !important;
  color: #ffffff !important;
  font-weight: 700;
}

.crm-status.status-rejected,
.crm-status.status-withdrawn {
  background: #dc2626 !important;
  border: 1px solid #b91c1c !important;
  color: #ffffff !important;
  font-weight: 700;
}

.crm-status.status-invalid,
.crm-status.status-not-interested,
.crm-status.status-expired,
.crm-status.status-unknown {
  background: #475569 !important;
  border: 1px solid #334155 !important;
  color: #ffffff !important;
  font-weight: 700;
}


/* Partner payouts */
.crm-payout-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.crm-payout-summary article{padding:1rem;border:1px solid var(--crm-border,#dfe3e8);border-radius:.75rem;background:var(--crm-surface-soft,#f8fafc)}.crm-payout-summary small,.crm-payout-summary strong{display:block}.crm-payout-summary small{color:#6b7280;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.crm-payout-summary strong{margin-top:.35rem;font-size:1.25rem}.crm-payout-history{display:grid;gap:.9rem}.crm-payout-history article{padding-left:1rem;border-left:3px solid var(--crm-user-accent,#2563eb)}.crm-payout-history strong,.crm-payout-history small{display:block}.crm-payout-history small{color:#6b7280;margin-top:.15rem}.crm-payout-history p{margin:.35rem 0 0;white-space:pre-wrap}.crm-form-section-title{display:flex;align-items:center;gap:.75rem;margin:.35rem 0;color:#111827;font-weight:700}.crm-form-section-title:after{content:"";height:1px;flex:1;background:#e5e7eb}.status-submitted,.status-under-review,.status-pending{background:#2563eb!important;border-color:#1d4ed8!important;color:#fff!important}.status-eligibility-approved,.status-valid,.status-confirmed,.status-paid{background:#15803d!important;border-color:#166534!important;color:#fff!important}.status-finance-approved,.status-payout-processing,.status-reserved,.status-converted{background:#6d28d9!important;border-color:#5b21b6!important;color:#fff!important}.status-payout-failed,.status-eligibility-changed,.status-payout-reversed,.status-invalid,.status-not-eligible{background:#dc2626!important;border-color:#b91c1c!important;color:#fff!important}.status-cancelled,.status-not-converted,.status-waiting-period{background:#64748b!important;border-color:#475569!important;color:#fff!important}
@media(max-width:991.98px){.crm-payout-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.crm-payout-summary{grid-template-columns:1fr}}

/* Employee access, OTP login and role permissions */
.crm-otp-login-card { width: min(100%, 430px); }
.crm-otp-input { letter-spacing: .35rem; font-size: 1.15rem; font-weight: 700; text-align: center; }
.crm-permission-group { height: 100%; padding: 1rem; border: 1px solid var(--crm-user-card-border, #dfe3e8); border-radius: var(--crm-user-card-radius, 8px); background: var(--crm-user-card-bg, #fff); }
.crm-permission-group-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .7rem; margin-bottom: .75rem; border-bottom: 1px solid var(--crm-user-card-border, #e5e7eb); }
.crm-permission-options { display: grid; gap: .65rem; }
.crm-permission-options .form-check { margin: 0; }
.status-active { background: #15803d !important; border: 1px solid #166534 !important; color: #fff !important; }
.status-inactive { background: #64748b !important; border: 1px solid #475569 !important; color: #fff !important; }
.status-suspended { background: #dc2626 !important; border: 1px solid #b91c1c !important; color: #fff !important; }

/* Lead fast-action centre and viewport notifications */
.crm-toast-region{position:fixed;top:5rem;right:1rem;z-index:1095;display:grid;gap:.75rem;width:min(26rem,calc(100vw - 2rem));pointer-events:none}
.crm-toast{display:grid;grid-template-columns:2.25rem minmax(0,1fr) 1.75rem;align-items:start;gap:.75rem;padding:.9rem 1rem;border:1px solid var(--crm-border,#dfe3e8);border-radius:.85rem;background:var(--crm-surface,#fff);box-shadow:0 18px 45px rgba(15,23,42,.18);pointer-events:auto;animation:crm-toast-in .2s ease-out both}
.crm-toast.is-leaving{animation:crm-toast-out .18s ease-in both}
.crm-toast-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;font-weight:800;font-size:1rem}
.crm-toast-content{display:grid;gap:.2rem;line-height:1.35}
.crm-toast-content strong{font-size:.88rem}
.crm-toast-content span{font-size:.82rem;color:var(--crm-text-muted,#64748b)}
.crm-toast-close{border:0;background:transparent;color:var(--crm-text-muted,#64748b);font-size:1.25rem;line-height:1;padding:0;cursor:pointer}
.crm-toast-success{border-left:4px solid #15803d}.crm-toast-success .crm-toast-icon{background:#dcfce7;color:#166534}
.crm-toast-error{border-left:4px solid #dc2626}.crm-toast-error .crm-toast-icon{background:#fee2e2;color:#991b1b}
.crm-toast-warning{border-left:4px solid #d97706}.crm-toast-warning .crm-toast-icon{background:#fef3c7;color:#92400e}
.crm-toast-info{border-left:4px solid var(--crm-user-accent,#2563eb)}.crm-toast-info .crm-toast-icon{background:#dbeafe;color:#1d4ed8}
@keyframes crm-toast-in{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes crm-toast-out{to{opacity:0;transform:translateY(-8px) scale(.98)}}

.crm-lead-command-center{overflow:visible;border-color:color-mix(in srgb,var(--crm-user-accent,#2563eb) 22%,var(--crm-border,#dfe3e8))}
.crm-lead-command-center>.card-header{background:linear-gradient(135deg,color-mix(in srgb,var(--crm-user-accent,#2563eb) 8%,var(--crm-surface,#fff)),var(--crm-surface,#fff))}
.crm-lead-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;align-items:stretch}
.crm-lead-action-grid.without-validation{grid-template-columns:repeat(2,minmax(0,1fr))}
.crm-lead-action-card{position:relative;padding:1rem;border:1px solid var(--crm-border,#dfe3e8);border-radius:.85rem;background:var(--crm-surface,#fff);min-width:0}
.crm-lead-action-card.is-required{border-color:color-mix(in srgb,var(--crm-user-accent,#2563eb) 55%,var(--crm-border,#dfe3e8));box-shadow:0 0 0 3px color-mix(in srgb,var(--crm-user-accent,#2563eb) 10%,transparent)}
.crm-lead-action-card.is-complete{border-color:#86efac;background:color-mix(in srgb,#dcfce7 35%,var(--crm-surface,#fff))}
.crm-lead-action-card.is-invalid{border-color:#fca5a5;background:color-mix(in srgb,#fee2e2 30%,var(--crm-surface,#fff))}
.crm-lead-action-card.is-locked{background:var(--crm-surface-soft,#f8fafc)}
.crm-action-heading{display:flex;align-items:flex-start;gap:.65rem;margin-bottom:.85rem}
.crm-action-heading>div{min-width:0}.crm-action-heading h3{font-size:.95rem;margin:0 0 .15rem;font-weight:750}.crm-action-heading p{font-size:.76rem;color:var(--crm-text-muted,#64748b);margin:0;line-height:1.35}
.crm-action-step{display:grid;place-items:center;flex:0 0 auto;width:1.75rem;height:1.75rem;border-radius:50%;background:var(--crm-user-accent,#2563eb);color:#fff;font-size:.76rem;font-weight:800}
.crm-decision-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.crm-decision-options label{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.62rem .7rem;border:1px solid var(--crm-border,#dfe3e8);border-radius:.65rem;cursor:pointer;font-weight:700;font-size:.82rem;background:var(--crm-surface,#fff)}.crm-decision-options input{position:absolute;opacity:0;pointer-events:none}.crm-decision-options label.is-selected.is-valid{border-color:#16a34a;background:#f0fdf4;color:#166534}.crm-decision-options label.is-selected.is-invalid{border-color:#dc2626;background:#fef2f2;color:#991b1b}
.crm-action-help{font-size:.74rem;color:#b45309;line-height:1.35}
.crm-current-action-status{display:grid;gap:.08rem;padding:.65rem .75rem;margin-bottom:.75rem;border-radius:.65rem;background:var(--crm-surface-soft,#f8fafc)}.crm-current-action-status>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--crm-text-muted,#64748b)}.crm-current-action-status>strong{font-size:1.08rem}.crm-current-action-status>small{font-size:.7rem;color:var(--crm-text-muted,#64748b)}
.crm-action-lock{display:grid;gap:.3rem;padding:.75rem;border:1px dashed var(--crm-border,#cbd5e1);border-radius:.65rem;background:var(--crm-surface-soft,#f8fafc)}.crm-action-lock strong{font-size:.82rem}.crm-action-lock span{font-size:.76rem;line-height:1.4;color:var(--crm-text-muted,#64748b)}.crm-action-lock-warning{border-color:#f59e0b;background:#fffbeb}
.crm-conversion-summary{display:flex;align-items:baseline;gap:.45rem;padding:.75rem;margin-bottom:.7rem;border-radius:.65rem;background:var(--crm-surface-soft,#f8fafc)}.crm-conversion-summary strong{font-size:1.55rem;line-height:1}.crm-conversion-summary span{font-size:.75rem;color:var(--crm-text-muted,#64748b)}.crm-conversion-action>p{font-size:.78rem;line-height:1.45;color:var(--crm-text-muted,#64748b)}
.crm-details-panel{border-top:1px solid var(--crm-border,#e2e8f0);padding-top:.8rem}.crm-details-panel summary{cursor:pointer;font-weight:700;font-size:.83rem;color:var(--crm-text-muted,#64748b)}
.crm-provider-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.crm-provider-stat-grid>div{display:grid;gap:.2rem;padding:.7rem .55rem;text-align:center;border:1px solid var(--crm-border,#e2e8f0);border-radius:.65rem;background:var(--crm-surface-soft,#f8fafc)}.crm-provider-stat-grid span{font-size:.68rem;color:var(--crm-text-muted,#64748b);text-transform:uppercase;letter-spacing:.035em}.crm-provider-stat-grid strong{font-size:1.2rem}
.crm-status.status-sale-converted,.status-sale-converted{background:#6d28d9!important;border-color:#5b21b6!important;color:#fff!important}
.crm-journey-step.is-provider-stage .crm-journey-dot{border-style:dashed}.crm-journey-step.is-provider-stage.is-current .crm-journey-dot{border-style:solid}
@media (min-width:1200px){.crm-sticky-side-card{position:sticky;top:5.25rem}}
@media (max-width:1199.98px){.crm-lead-action-grid,.crm-lead-action-grid.without-validation{grid-template-columns:1fr 1fr}.crm-conversion-action{grid-column:1/-1}}
@media (max-width:767.98px){.crm-toast-region{top:.75rem;left:.75rem;right:.75rem;width:auto}.crm-lead-action-grid,.crm-lead-action-grid.without-validation{grid-template-columns:1fr}.crm-conversion-action{grid-column:auto}.crm-lead-action-card{padding:.85rem}.crm-provider-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){.crm-toast,.crm-toast.is-leaving{animation:none}}

/* ========================================================================== 
   CRM responsive consistency repair — mobile, tablet and laptop
   ========================================================================== */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.page-content,
.content-wrapper,
.content-inner,
.content,
.crm-page-heading,
.crm-card-heading,
.card,
.card-body,
.card-header,
.table-responsive,
.row > * {
  min-width: 0;
}

/* Topbar and employee menu stay inside the viewport at every breakpoint. */
.crm-topbar .container-fluid {
  display: flex;
  flex-wrap: nowrap;
  gap: .5rem;
  min-width: 0;
}

.crm-topbar .navbar-brand {
  min-width: 0;
  margin-right: 0;
}

.crm-brand-link,
.crm-brand-copy,
.crm-topbar .nav,
.crm-admin-dropdown-wrap {
  min-width: 0;
}

.crm-topbar .nav {
  flex: 0 0 auto;
}

.crm-admin-dropdown-wrap {
  position: relative;
}

.crm-admin-menu {
  max-width: min(15rem, calc(100vw - 8.5rem));
}

.crm-admin-dropdown {
  left: auto !important;
  right: 0 !important;
  width: min(18rem, calc(100vw - 1rem));
  min-width: 0;
  max-width: calc(100vw - 1rem);
  margin-top: .5rem !important;
  overflow: hidden;
  transform: none !important;
}

.crm-admin-dropdown .border-bottom,
.crm-admin-dropdown .dropdown-item,
.crm-admin-dropdown .fw-semibold,
.crm-admin-dropdown .text-muted {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
  white-space: normal;
}

.crm-admin-dropdown .dropdown-item {
  width: 100%;
}

/* Shared filter layout. Inline widths in legacy views no longer force overflow. */
.crm-filter-card {
  overflow: visible;
}

.crm-filter-card form,
.crm-filter-card .crm-filter-bar {
  width: 100%;
  min-width: 0;
}

.crm-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .625rem;
  padding: .75rem;
}

.crm-filter-bar-embedded {
  padding: 0;
}

.crm-filter-bar > *,
.crm-filter-bar > .form-control,
.crm-filter-bar > .form-select,
.crm-filter-bar > label,
.crm-filter-bar > button,
.crm-filter-bar > a {
  min-width: 0;
}

.crm-filter-bar > .form-control,
.crm-filter-bar > .form-select {
  flex: 1 1 9.5rem;
  width: auto !important;
  min-width: 9.5rem;
  max-width: 13rem !important;
}

.crm-filter-bar > input[type="date"] {
  flex-basis: 9.5rem;
}

.crm-search-control {
  flex: 2 1 18rem;
  width: auto;
  min-width: min(16rem, 100%);
  max-width: none;
}

.crm-inline-select,
.crm-compact-select {
  flex: 1 1 10.5rem;
  width: auto;
  min-width: 10.5rem;
  max-width: 14rem;
}

.crm-inline-select select,
.crm-compact-select select {
  min-width: 0;
  width: 100%;
}

.crm-filter-bar .crm-page-size,
.crm-filter-bar .crm-filter-page-size {
  flex: 0 0 auto;
  margin-left: auto !important;
}

.crm-filter-bar .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.crm-filter-heading {
  flex: 1 1 15rem;
  min-width: 12rem;
  padding-right: .5rem;
}

.crm-category-filter-header {
  padding: .85rem 1rem;
}

.crm-category-filter-header .crm-filter-bar > .form-control,
.crm-category-filter-header .crm-filter-bar > .form-select {
  flex-basis: 8.75rem;
}

/* Current-folder controls use the same responsive rhythm as filters. */
.crm-storage-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  min-width: 0;
}

.crm-storage-toolbar > * {
  min-width: 0;
}

.crm-storage-toolbar-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  min-width: min(100%, 18rem);
}

.crm-storage-toolbar-actions .form-control {
  flex: 1 1 14rem;
  width: auto;
  min-width: 0;
}

/* Headers, cards and action rows wrap without clipping. */
.crm-page-heading,
.crm-card-heading {
  flex-wrap: wrap;
}

.crm-page-heading > :first-child,
.crm-card-heading > :first-child {
  min-width: 0;
  flex: 1 1 18rem;
}

.crm-page-heading > .d-flex,
.crm-card-heading > .d-flex {
  flex-wrap: wrap;
  min-width: 0;
}

.crm-page-subtitle,
.crm-record-title,
.crm-record-id,
.card-title,
.card p,
.alert,
.form-text,
.text-muted {
  overflow-wrap: anywhere;
}

/* Keep horizontal scrolling inside data tables, never on the page shell. */
.table-responsive {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
}

.table-responsive > .table {
  margin-bottom: 0;
}

.crm-table-actions,
td .d-flex,
th .d-flex {
  max-width: 100%;
}

.crm-table-footer {
  flex-wrap: wrap;
}

.crm-pagination {
  max-width: 100%;
}

.crm-pagination button,
.crm-pagination span {
  white-space: nowrap;
}

/* Forms, modals and dropdowns remain usable on narrow screens. */
.modal-dialog {
  max-width: calc(100vw - 1rem);
  margin-left: auto;
  margin-right: auto;
}

.dropdown-menu {
  max-width: calc(100vw - 1rem);
}

.crm-appearance-panel {
  width: min(30rem, 100vw);
  max-width: 100vw;
}

.crm-appearance-panel-header,
.crm-appearance-panel-footer {
  flex-wrap: wrap;
}

@media (max-width: 1199.98px) {
  .crm-global-search {
    width: min(31vw, 25rem);
    min-width: 13rem;
  }

  .crm-filter-bar > .form-control,
  .crm-filter-bar > .form-select,
  .crm-inline-select,
  .crm-compact-select {
    flex-grow: 1;
    max-width: none !important;
  }

  .crm-filter-bar .crm-page-size,
  .crm-filter-bar .crm-filter-page-size {
    margin-left: 0 !important;
  }
}

@media (max-width: 991.98px) {
  .crm-sidebar {
    width: min(19rem, 88vw) !important;
    max-width: 88vw;
    flex-basis: min(19rem, 88vw) !important;
  }

  .crm-sidebar-overlay {
    inset: 0;
  }

  body.crm-sidebar-open,
  body:has(.crm-sidebar.crm-sidebar-open) {
    overflow: hidden;
  }

  .crm-global-search {
    min-width: 11rem;
  }

  .crm-filter-bar > .form-control,
  .crm-filter-bar > .form-select,
  .crm-inline-select,
  .crm-compact-select {
    flex: 1 1 calc(33.333% - .625rem);
    min-width: 10rem;
  }

  .crm-search-control {
    flex: 1 1 100%;
    min-width: 0;
  }

  .crm-page-heading {
    min-height: auto;
  }
}

@media (max-width: 767.98px) {
  .crm-topbar .container-fluid {
    padding-inline: .75rem !important;
  }

  .crm-topbar .navbar-brand {
    flex: 1 1 auto !important;
    overflow: hidden;
  }

  .crm-brand-copy,
  .crm-admin-copy {
    display: none !important;
  }

  .crm-brand-logo {
    width: 6.15rem;
    max-width: 100%;
  }

  .crm-admin-menu {
    width: auto;
    max-width: none;
    min-height: 40px;
    gap: .25rem;
    padding: .2rem .3rem;
  }

  .crm-admin-avatar {
    width: 32px;
    height: 32px;
  }

  .crm-admin-dropdown {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    width: min(18rem, calc(100vw - 1rem));
  }

  .crm-page-heading {
    align-items: stretch;
    padding: .9rem .85rem !important;
  }

  .crm-page-heading > :first-child,
  .crm-page-heading > .d-flex {
    flex-basis: 100%;
  }

  .crm-page-subtitle {
    max-width: 100%;
  }

  .crm-primary-action {
    width: auto;
    max-width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: .8rem;
    font-size: .78rem;
  }

  .crm-primary-action svg {
    flex: 0 0 auto;
  }

  .crm-card-heading {
    align-items: flex-start;
    padding: .85rem;
  }

  .crm-filter-bar,
  .crm-filter-toolbar {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: .5rem;
    padding: .65rem;
  }

  .crm-filter-bar > .form-control,
  .crm-filter-bar > .form-select,
  .crm-filter-bar > label,
  .crm-inline-select,
  .crm-compact-select,
  .crm-search-control {
    flex: 1 1 100%;
    width: 100% !important;
    min-width: 0;
    max-width: none !important;
  }

  .crm-filter-bar > .btn,
  .crm-filter-bar > a.btn {
    flex: 1 1 calc(50% - .25rem);
    min-width: min(8rem, 100%);
  }

  .crm-filter-bar .crm-page-size,
  .crm-filter-bar .crm-filter-page-size {
    flex: 1 1 100%;
    width: 100%;
    justify-content: flex-end;
    margin-left: 0 !important;
  }

  .crm-filter-drawer,
  .crm-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .crm-category-filter-header {
    padding: .75rem;
  }

  .crm-filter-heading {
    flex-basis: 100%;
    min-width: 0;
  }

  .crm-storage-toolbar,
  .crm-storage-toolbar-actions {
    align-items: stretch;
  }

  .crm-storage-toolbar > *,
  .crm-storage-toolbar-actions,
  .crm-storage-toolbar-actions .form-control,
  .crm-storage-toolbar-actions .btn {
    width: 100%;
  }

  .crm-storage-toolbar-actions .btn {
    flex: 1 1 100%;
  }

  .crm-table-footer {
    align-items: stretch;
    gap: .65rem;
  }

  .crm-pagination {
    width: 100%;
    justify-content: stretch;
  }

  .crm-pagination button,
  .crm-pagination span {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline: .45rem;
  }

  .crm-row-action + .crm-row-action {
    margin-left: 0;
    margin-top: .3rem;
  }

  .crm-empty-state {
    min-height: 170px;
    padding: 1.25rem .85rem;
  }

  .card-footer.d-flex,
  .card-header.d-flex {
    flex-wrap: wrap;
  }

  .card-footer .ms-auto,
  .card-header .ms-auto {
    margin-left: 0 !important;
  }

  .crm-appearance-panel-header,
  .crm-appearance-panel-body,
  .crm-appearance-panel-footer {
    padding-left: .9rem;
    padding-right: .9rem;
  }

  .crm-appearance-panel-footer .btn {
    flex: 1 1 100%;
  }
}

@media (max-width: 479.98px) {
  .crm-mobile-menu,
  .crm-topbar-icon {
    width: 38px;
    height: 38px;
  }

  .crm-topbar .nav {
    gap: .35rem !important;
  }

  .crm-brand-logo {
    width: 5.35rem;
  }

  .crm-page-heading .page-title {
    line-height: 1.2;
  }

  .crm-page-heading > .d-flex .btn,
  .crm-primary-action {
    flex: 1 1 100%;
    width: 100%;
  }

  .crm-filter-bar > .btn,
  .crm-filter-bar > a.btn {
    flex-basis: 100%;
    width: 100%;
  }

  .content {
    padding: .65rem !important;
  }

  .card,
  .content .card {
    border-radius: min(var(--crm-user-card-radius, var(--crm-shell-radius)), 12px) !important;
  }

  .crm-table thead th,
  .crm-table tbody td,
  .table thead th,
  .table tbody td {
    padding-left: .6rem !important;
    padding-right: .6rem !important;
  }
}


/* ========================================================================== 
   CRM real-shell responsive repair — full viewport drawer and single-row topbar
   ========================================================================== */
.crm-topbar,
.crm-topbar .container-fluid {
  height: 64px;
  min-height: 64px;
  max-height: 64px;
}

.crm-topbar {
  overflow: visible;
}

.crm-topbar .container-fluid {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: center;
  width: 100%;
  min-width: 0;
  overflow: visible;
}

.crm-topbar .navbar-brand {
  flex: 1 1 0 !important;
  width: auto;
  min-width: 0;
  overflow: hidden;
}

.crm-brand-link {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.crm-brand-copy {
  min-width: 0;
  overflow: hidden;
}

.crm-brand-copy strong,
.crm-brand-copy small {
  display: block;
  max-width: 13rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.crm-topbar .nav,
.crm-topbar .nav-item,
.crm-admin-dropdown-wrap,
.crm-admin-menu {
  flex-shrink: 0;
}

.crm-admin-dropdown {
  position: absolute !important;
  inset: auto 0 auto auto !important;
  width: min(18rem, calc(100vw - 1rem));
  max-width: calc(100vw - 1rem);
  transform: none !important;
}

@media (max-width: 1199.98px) {
  .crm-brand-copy,
  .crm-global-search,
  .crm-admin-copy {
    display: none !important;
  }

  .crm-brand-logo {
    width: 6rem;
    max-width: min(6rem, 100%);
  }

  .crm-admin-menu {
    max-width: none;
  }
}

@media (max-width: 991.98px) {
  html.crm-mobile-drawer-open,
  body.crm-mobile-drawer-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .crm-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(19rem, calc(100vw - 3.5rem)) !important;
    min-width: min(16rem, calc(100vw - 3.5rem));
    max-width: calc(100vw - 3.5rem);
    height: 100vh;
    height: 100dvh;
    max-height: 100dvh;
    flex-basis: auto !important;
    z-index: 1060 !important;
    overflow: hidden;
    transform: translate3d(-102%, 0, 0);
    transition: transform .22s ease !important;
    will-change: transform;
    box-shadow: 18px 0 45px rgba(15, 23, 42, .22) !important;
  }

  .crm-sidebar.crm-sidebar-open {
    transform: translate3d(0, 0, 0);
  }

  .crm-sidebar .sidebar-content {
    width: 100%;
    min-height: 0 !important;
    height: 100%;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .crm-sidebar-mobile-head {
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex !important;
    flex: 0 0 auto;
    min-height: 64px;
    background: var(--crm-user-sidebar-background, #fff);
  }

  .crm-sidebar-mobile-head > div {
    min-width: 0;
    overflow: hidden;
  }

  .crm-sidebar-mobile-head strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .crm-sidebar-overlay {
    position: fixed;
    inset: 0 !important;
    z-index: 1055 !important;
    background: rgba(15, 23, 42, .48);
    backdrop-filter: blur(2px);
  }

  .page-content,
  .content-wrapper,
  .content-inner {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 575.98px) {
  .crm-topbar .container-fluid {
    gap: .35rem;
    padding-inline: .625rem !important;
  }

  .crm-mobile-menu {
    margin-right: .15rem !important;
  }

  .crm-brand-logo {
    width: 5rem;
    max-width: min(5rem, 100%);
  }

  .crm-topbar .nav {
    gap: .25rem !important;
  }

  .crm-mobile-menu,
  .crm-topbar-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
  }

  .crm-admin-menu {
    min-height: 38px;
    padding: .15rem .2rem;
  }

  .crm-admin-avatar {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
  }

  .crm-chevron {
    width: 14px;
    height: 14px;
  }

  .crm-admin-dropdown {
    right: -.15rem !important;
    width: min(17.5rem, calc(100vw - .75rem));
    max-width: calc(100vw - .75rem);
  }
}

@media (max-width: 359.98px) {
  .crm-topbar .container-fluid {
    gap: .2rem;
    padding-inline: .45rem !important;
  }

  .crm-brand-logo {
    width: 4.55rem;
  }

  .crm-mobile-menu,
  .crm-topbar-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .crm-admin-menu {
    gap: .1rem;
    padding-inline: .1rem;
  }
}

/* ========================================================================== 
   CRM unified filter system — authoritative layout
   ========================================================================== */
.crm-filter-card {
  overflow: visible;
}

.crm-filter-card form {
  margin: 0;
}

.crm-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: .7rem;
  width: 100%;
  min-width: 0;
  padding: .85rem;
}

.crm-filter-bar-embedded {
  padding: .85rem 1rem;
  border-top: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  background: color-mix(in srgb, var(--crm-user-card-bg, #fff) 97%, var(--crm-user-page-bg, #f8fafc));
}

.crm-search-control {
  flex: 2 1 17rem;
  width: auto;
  min-width: 15rem;
  max-width: 24rem;
  height: 40px;
}

.crm-filter-field {
  flex: 0 1 9.5rem;
  display: flex;
  flex-direction: column;
  gap: .3rem;
  width: auto;
  min-width: 8.75rem;
  max-width: 12rem;
  margin: 0;
  color: var(--crm-user-muted-text, var(--crm-shell-muted));
  font-size: .7rem;
  font-weight: 700;
}

.crm-filter-field-wide {
  flex-basis: 13rem;
  min-width: 11rem;
  max-width: 16rem;
}

.crm-filter-date {
  flex-basis: 9.25rem;
  min-width: 9.25rem;
  max-width: 10.5rem;
}

.crm-filter-field > span {
  min-height: 1rem;
  line-height: 1rem;
}

.crm-filter-field input,
.crm-filter-field select,
.crm-filter-page-size select {
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 .65rem;
  border: 1px solid var(--crm-user-input-border, var(--crm-shell-border));
  border-radius: 9px;
  background: var(--crm-user-input-bg, #fff);
  color: var(--crm-user-main-text, var(--crm-shell-text));
  outline: none;
}

.crm-filter-field input:focus,
.crm-filter-field select:focus,
.crm-filter-page-size select:focus {
  border-color: var(--crm-user-accent, var(--crm-shell-blue));
  box-shadow: 0 0 0 3px var(--crm-user-accent-soft, #dbeafe);
}

.crm-filter-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  gap: .5rem;
  min-width: 0;
}

.crm-filter-actions .btn {
  flex: 0 0 auto;
  min-width: 74px;
  white-space: nowrap;
}

.crm-filter-page-size,
.crm-filter-bar .crm-page-size {
  flex: 0 0 5.25rem;
  min-width: 5.25rem;
  max-width: 5.25rem;
  margin-left: auto !important;
}

.crm-filter-page-size select,
.crm-filter-bar .crm-page-size select {
  width: 100%;
}

.crm-category-filter-header {
  padding: 0;
}

@media (max-width: 1199.98px) {
  .crm-search-control {
    flex-basis: 100%;
    max-width: none;
  }

  .crm-filter-field,
  .crm-filter-field-wide,
  .crm-filter-date {
    flex: 1 1 calc(25% - .7rem);
    min-width: 9.5rem;
    max-width: none;
  }

  .crm-filter-page-size,
  .crm-filter-bar .crm-page-size {
    margin-left: 0 !important;
  }
}

@media (max-width: 991.98px) {
  .crm-filter-field,
  .crm-filter-field-wide,
  .crm-filter-date {
    flex-basis: calc(33.333% - .7rem);
  }

  .crm-filter-actions {
    flex: 1 1 auto;
  }
}

@media (max-width: 767.98px) {
  .crm-filter-bar {
    gap: .6rem;
    padding: .7rem;
  }

  .crm-filter-bar-embedded {
    padding: .7rem;
  }

  .crm-search-control,
  .crm-filter-field,
  .crm-filter-field-wide,
  .crm-filter-date,
  .crm-filter-page-size,
  .crm-filter-bar .crm-page-size {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-left: 0 !important;
  }

  .crm-filter-actions {
    flex: 1 1 100%;
    width: 100%;
  }

  .crm-filter-actions .btn {
    flex: 1 1 calc(50% - .25rem);
  }

  .crm-filter-page-size,
  .crm-filter-bar .crm-page-size {
    align-items: stretch;
  }
}

@media (max-width: 479.98px) {
  .crm-filter-actions {
    flex-direction: column;
  }

  .crm-filter-actions .btn {
    width: 100%;
  }
}

/* Provider joining request review */
.crm-provider-request-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.crm-provider-request-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.crm-provider-request-grid article { display: grid; gap: .25rem; min-width: 0; padding: .9rem; border: 1px solid var(--crm-border, #dde3ec); border-radius: .65rem; background: #f8fafc; }
.crm-provider-request-grid article > span { color: #667085; font-size: .72rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; }
.crm-provider-request-grid article > strong { overflow-wrap: anywhere; color: #1d2939; font-size: .9rem; }
.crm-provider-request-grid article > small { color: #667085; }
.crm-provider-request-address { grid-column: span 2; }
.crm-provider-request-timeline { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; margin-top: 1rem; color: #667085; font-size: .8rem; }
.crm-provider-request-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .65rem; }
.crm-provider-request-actions > :first-child { margin-right: auto; }
.crm-provider-request-prefill { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.crm-provider-request-prefill > div { display: grid; gap: .2rem; }
.crm-provider-request-prefill span { font-size: .78rem; }
@media (max-width: 991.98px) {
  .crm-provider-request-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .crm-provider-request-head, .crm-provider-request-prefill { display: grid; align-items: start; }
  .crm-provider-request-grid { grid-template-columns: 1fr; }
  .crm-provider-request-address { grid-column: auto; }
  .crm-provider-request-actions { display: grid; grid-template-columns: 1fr; }
  .crm-provider-request-actions > :first-child { margin-right: 0; }
  .crm-provider-request-actions .btn { width: 100%; }
}

/* Communication Center navigation and responsive workspace */
.crm-communication-nav {
  display: flex;
  align-items: center;
  gap: .35rem;
  width: 100%;
  margin-bottom: 1rem;
  padding: .35rem;
  overflow-x: auto;
  border: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  border-radius: 12px;
  background: var(--crm-user-card-bg, #fff);
  box-shadow: 0 4px 14px rgba(15, 23, 42, .025);
  scrollbar-width: thin;
}
.crm-communication-nav-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: .55rem .8rem;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--crm-user-muted-text, #667085);
  font-size: .76rem;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
.crm-communication-nav-link:hover {
  border-color: var(--crm-user-card-border, var(--crm-shell-border));
  background: var(--crm-user-page-bg, #f8fafc);
  color: var(--crm-user-main-text, #1d2939);
}
.crm-communication-nav-link.is-active,
.crm-communication-nav-link[aria-current="page"] {
  border-color: var(--crm-user-accent, var(--crm-shell-blue));
  background: var(--crm-user-accent, var(--crm-shell-blue));
  color: #fff;
  box-shadow: 0 5px 12px color-mix(in srgb, var(--crm-user-accent, var(--crm-shell-blue)) 24%, transparent);
}
.crm-communication-nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px var(--crm-user-accent-soft, #dbeafe);
}
.crm-communication-quick-search {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(140px, .45fr) minmax(140px, .45fr) auto;
  align-items: end;
  gap: .7rem;
}
.crm-communication-settings-filter {
  display: inline-flex;
  gap: .35rem;
  padding: .3rem;
  border: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  border-radius: 10px;
  background: var(--crm-user-card-bg, #fff);
}
.crm-communication-settings-filter .btn.is-active {
  background: var(--crm-user-accent, var(--crm-shell-blue));
  border-color: var(--crm-user-accent, var(--crm-shell-blue));
  color: #fff;
}
.crm-communication-rule-highlight td {
  background: color-mix(in srgb, var(--crm-user-accent-soft, #dbeafe) 55%, #fff) !important;
}
@media (max-width: 991.98px) {
  .crm-communication-quick-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .crm-communication-nav { margin-inline: -.1rem; }
  .crm-communication-quick-search { grid-template-columns: 1fr; }
  .crm-communication-quick-search .btn { width: 100%; }
  .crm-communication-settings-filter { width: 100%; }
  .crm-communication-settings-filter .btn { flex: 1 1 50%; }
}

/* Communication Center sidebar submenu and guided management */
.crm-sidebar-group-toggle {
  width: calc(100% - 1.4rem);
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.crm-sidebar-group-toggle svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.crm-sidebar-submenu {
  display: block;
  list-style: none;
  margin: 0;
}
.crm-sidebar-submenu .nav-link {
  position: relative;
}
.crm-sidebar-submenu .nav-link::before {
  content: "";
  position: absolute;
  left: 2rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .45;
}
.crm-sidebar-submenu .nav-link.active::before { opacity: 1; }
@media (min-width: 992px) {
  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-submenu,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-submenu,
  .crm-sidebar.crm-sidebar-collapsed .crm-sidebar-group-toggle::after,
  html.crm-sidebar-saved-collapsed .crm-sidebar .crm-sidebar-group-toggle::after {
    display: none !important;
  }
}

.crm-communication-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: .72rem .9rem;
  border: 1px solid var(--crm-user-card-border, var(--crm-shell-border));
  border-radius: 10px;
  background: var(--crm-user-card-bg, #fff);
}
.crm-communication-breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  font-size: .8rem;
}
.crm-communication-breadcrumb a { color: var(--crm-user-accent, #2563eb); text-decoration: none; font-weight: 700; }
.crm-communication-breadcrumb strong { color: var(--crm-user-main-text, #1d2939); }
.crm-communication-context p { margin: 0; color: var(--crm-user-muted-text, #667085); font-size: .78rem; text-align: right; }

.crm-communication-start {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .75rem;
}
.crm-communication-start a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .18rem .65rem;
  min-width: 0;
  padding: .85rem;
  border: 1px solid var(--crm-user-card-border, #dfe5ee);
  border-radius: 12px;
  background: var(--crm-user-card-bg, #fff);
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.crm-communication-start a:hover { border-color: var(--crm-user-accent, #2563eb); box-shadow: 0 8px 20px rgba(15,23,42,.08); transform: translateY(-1px); }
.crm-communication-start a > span { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 .4rem; border-radius: 10px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, #2563eb); font-size: .68rem; font-weight: 800; }
.crm-communication-start strong { font-size: .82rem; color: var(--crm-user-main-text, #1d2939); }
.crm-communication-start small { color: var(--crm-user-muted-text, #667085); font-size: .7rem; line-height: 1.35; }

.crm-channel-picker,
.crm-template-channel-cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .7rem;
  margin-bottom: 1rem;
}
.crm-template-channel-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.crm-channel-picker-card,
.crm-template-channel-card {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  padding: .8rem;
  border: 1px solid var(--crm-user-card-border, #dfe5ee);
  border-radius: 12px;
  background: var(--crm-user-card-bg, #fff);
  color: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.crm-channel-picker-card:hover,
.crm-template-channel-card:hover,
.crm-channel-picker-card.is-active,
.crm-template-channel-card.is-active {
  border-color: var(--crm-user-accent, #2563eb);
  background: color-mix(in srgb, var(--crm-user-accent-soft, #eff6ff) 55%, #fff);
  box-shadow: 0 6px 16px rgba(15,23,42,.06);
}
.crm-channel-picker-card > span:nth-child(2),
.crm-template-channel-card > span:nth-child(2) { display: grid; gap: .12rem; min-width: 0; flex: 1; }
.crm-channel-picker-card strong,
.crm-template-channel-card strong { color: var(--crm-user-main-text, #1d2939); font-size: .8rem; }
.crm-channel-picker-card small,
.crm-template-channel-card small { color: var(--crm-user-muted-text, #667085); font-size: .68rem; line-height: 1.3; }
.crm-channel-picker-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; height: 38px; padding: 0 .25rem; border-radius: 10px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, #2563eb); font-size: .65rem; font-weight: 850; }
.crm-channel-picker-card .crm-status { margin-left: auto; }
.crm-channel-panel { margin-bottom: 1rem; }
.crm-channel-panel-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: 1.25rem; }
.crm-channel-checklist { display: grid; align-content: start; }
.crm-channel-checklist > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 46px; padding: .7rem 0; border-bottom: 1px solid var(--crm-user-card-border, #e2e8f0); }
.crm-channel-checklist > div:last-child { border-bottom: 0; }
.crm-channel-checklist > div > span:first-child { color: var(--crm-user-main-text, #1d2939); font-weight: 650; }
.crm-channel-help { padding: 1rem; border-radius: 12px; background: var(--crm-user-page-bg, #f8fafc); color: var(--crm-user-muted-text, #667085); }
.crm-channel-help h6 { margin-bottom: .65rem; color: var(--crm-user-main-text, #1d2939); }
.crm-channel-help ol { margin: 0 0 1rem; padding-left: 1.1rem; }
.crm-channel-help li + li { margin-top: .35rem; }
.crm-channel-help code { display: block; padding: .45rem .55rem; margin-bottom: .4rem; border-radius: 7px; background: #fff; color: #334155; overflow-wrap: anywhere; }

.crm-rule-guide { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.crm-rule-guide > div { display: grid; grid-template-columns: auto 1fr; gap: .12rem .6rem; padding: .8rem; border: 1px solid var(--crm-user-card-border, #dfe5ee); border-radius: 11px; background: #fff; }
.crm-rule-guide > div > span { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--crm-user-accent, #2563eb); color: #fff; font-size: .72rem; font-weight: 800; }
.crm-rule-guide strong { font-size: .78rem; color: var(--crm-user-main-text, #1d2939); }
.crm-rule-guide small { font-size: .68rem; color: var(--crm-user-muted-text, #667085); }
.crm-rule-step { margin-bottom: 1.25rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--crm-user-card-border, #e2e8f0); }
.crm-rule-step-head { display: flex; align-items: flex-start; gap: .7rem; margin-bottom: .9rem; }
.crm-rule-step-head > span { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 30px; height: 30px; border-radius: 50%; background: var(--crm-user-accent, #2563eb); color: #fff; font-size: .72rem; font-weight: 800; }
.crm-rule-step-head h6 { margin: .1rem 0 .15rem; }
.crm-rule-step-head p { margin: 0; color: var(--crm-user-muted-text, #667085); font-size: .75rem; }
.crm-rule-channel-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.crm-rule-channel-card { display: flex; flex-direction: column; min-width: 0; padding: .9rem; border: 1px solid var(--crm-user-card-border, #dfe5ee); border-radius: 12px; background: var(--crm-user-page-bg, #f8fafc); opacity: .82; transition: border-color .16s ease, background-color .16s ease, opacity .16s ease; }
.crm-rule-channel-card.is-enabled { border-color: var(--crm-user-accent, #2563eb); background: color-mix(in srgb, var(--crm-user-accent-soft, #eff6ff) 52%, #fff); opacity: 1; }
.crm-rule-channel-title { display: flex; justify-content: space-between; align-items: flex-start; gap: .7rem; margin-bottom: .8rem; }
.crm-rule-channel-title > div { display: grid; gap: .1rem; }
.crm-rule-channel-title strong { font-size: .84rem; color: var(--crm-user-main-text, #1d2939); }
.crm-rule-channel-title small { font-size: .68rem; color: var(--crm-user-muted-text, #667085); }
.crm-rule-channel-link { margin-top: auto; padding-top: .75rem; color: var(--crm-user-accent, #2563eb); font-size: .72rem; font-weight: 700; text-decoration: none; }
.crm-rule-channel-badges { display: flex; flex-wrap: wrap; gap: .3rem; }
.crm-rule-channel-badges span { padding: .22rem .48rem; border-radius: 999px; background: var(--crm-user-accent-soft, #eff6ff); color: var(--crm-user-accent, #2563eb); font-size: .68rem; font-weight: 750; }
.crm-rule-channel-badges small { color: var(--crm-user-muted-text, #667085); }
.crm-switch { position: relative; display: inline-flex; flex: 0 0 auto; }
.crm-switch input { position: absolute; opacity: 0; pointer-events: none; }
.crm-switch span { position: relative; width: 40px; height: 22px; border-radius: 999px; background: #cbd5e1; cursor: pointer; transition: background-color .16s ease; }
.crm-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(15,23,42,.25); transition: transform .16s ease; }
.crm-switch input:checked + span { background: var(--crm-user-accent, #2563eb); }
.crm-switch input:checked + span::after { transform: translateX(18px); }
.crm-switch input:focus-visible + span { outline: 3px solid var(--crm-user-accent-soft, #dbeafe); outline-offset: 2px; }

@media (max-width: 1199.98px) {
  .crm-communication-start { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .crm-channel-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .crm-rule-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .crm-channel-panel-grid { grid-template-columns: 1fr; }
  .crm-rule-channel-grid { grid-template-columns: 1fr; }
  .crm-template-channel-cards { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .crm-communication-context { display: grid; gap: .35rem; }
  .crm-communication-context p { text-align: left; }
  .crm-communication-start,
  .crm-channel-picker,
  .crm-rule-guide { grid-template-columns: 1fr; }
  .crm-channel-picker-card .crm-status { margin-left: 0; }
}

/* Catalog management — separate Category and Subcategory workspace */
.crm-page-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
}
.crm-catalog-definition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.crm-catalog-definition-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  min-width: 0;
  padding: .9rem 1rem;
  border: 1px solid var(--crm-user-card-border, #dfe5ee);
  border-radius: 12px;
  background: var(--crm-user-card-bg, #fff);
}
.crm-catalog-definition-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--crm-user-accent-soft, #eff6ff);
  color: var(--crm-user-accent, #2563eb);
  font-size: .75rem;
  font-weight: 800;
}
.crm-catalog-definition-card strong {
  display: block;
  margin-bottom: .15rem;
  color: var(--crm-user-main-text, #1d2939);
  font-size: .82rem;
}
.crm-catalog-definition-card p {
  margin: 0;
  color: var(--crm-user-muted-text, #667085);
  font-size: .72rem;
  line-height: 1.45;
}
.crm-catalog-form-card {
  position: sticky;
  top: 80px;
}
.crm-catalog-form-card .card-header p {
  max-width: 36rem;
  font-size: .72rem;
  line-height: 1.4;
}

@media (max-width: 1199.98px) {
  .crm-catalog-definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .crm-catalog-form-card { position: static; }
}
@media (max-width: 767.98px) {
  .crm-page-actions { width: 100%; justify-content: stretch; }
  .crm-page-actions .btn { flex: 1 1 auto; }
  .crm-catalog-definition-grid { grid-template-columns: 1fr; }
  .crm-catalog-definition-card { padding: .8rem; }
}


/* Partner multi-category Bootstrap Select */
.crm-bootstrap-select + .dropdown-toggle,
.bootstrap-select.crm-bootstrap-select > .dropdown-toggle {
  min-height: 38px;
  border: 1px solid var(--bs-border-color, #d9e0e7);
  background: #fff;
  color: #1f2937;
  border-radius: .375rem;
}
.bootstrap-select.crm-bootstrap-select.show > .dropdown-toggle,
.bootstrap-select.crm-bootstrap-select > .dropdown-toggle:focus {
  border-color: #80bdff;
  box-shadow: 0 0 0 .2rem rgba(0,123,255,.16);
  outline: 0 !important;
}
.bootstrap-select.crm-bootstrap-select .dropdown-menu { max-width: min(520px, calc(100vw - 32px)); }
.bootstrap-select.crm-bootstrap-select .dropdown-item.active,
.bootstrap-select.crm-bootstrap-select .dropdown-item:active { background: #e9f2ff; color: #0b57a3; }
.crm-category-stack { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; }
.crm-category-chip { display:inline-flex; align-items:center; border-radius:999px; background:#eef5ff; color:#235b91; font-size:.72rem; font-weight:700; padding:.28rem .55rem; }
