/* CRM SaaS v6.42.3 — demo UI polish. Scoped to demo-only classes/routes. */
.crm-demo-session-bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:10px 14px;
  border:1px solid #f3d79f;
  border-radius:14px;
  background:linear-gradient(180deg,#fffaf0 0%,#fff8e8 100%);
  box-shadow:0 8px 24px rgba(148,92,13,.055);
}
.crm-demo-session-copy {
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.crm-demo-session-dot {
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:999px;
  background:#d97706;
  box-shadow:0 0 0 4px rgba(217,119,6,.11);
}
.crm-demo-session-copy > div { min-width:0; }
.crm-demo-session-copy strong {
  display:block;
  color:#7c4a03;
  font-size:12px;
  font-weight:800;
  line-height:1.55;
}
.crm-demo-session-copy small {
  display:block;
  margin-top:1px;
  color:#9a6508;
  font-size:10.5px;
  line-height:1.65;
}
.crm-demo-session-actions {
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}
.crm-demo-session-actions .crm-btn {
  box-shadow:none !important;
  white-space:nowrap;
}

/* Admin/customer demo guides */
.crm-demo-guide {
  display:grid;
  gap:18px;
}
.crm-demo-guide .crm-page-header {
  margin:0 !important;
}
.crm-demo-guide-hero {
  position:relative;
  overflow:hidden;
  padding:22px 24px !important;
  border:1px solid #e5eaf2 !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(15,23,42,.045) !important;
}
.crm-demo-guide-hero::after {
  content:"";
  position:absolute;
  inset-block-start:-76px;
  inset-inline-end:-62px;
  width:190px;
  height:190px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(79,70,229,.09) 0%,rgba(79,70,229,0) 70%);
  pointer-events:none;
}
.crm-demo-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:5px;
  color:#667085;
  font-size:10.5px;
  font-weight:750;
}
.crm-demo-eyebrow::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:#4f46e5;
}
.crm-demo-guide-hero .crm-page-title {
  margin:0 0 5px !important;
  color:#101828 !important;
  font-size:23px !important;
  line-height:1.55 !important;
  font-weight:800 !important;
}
.crm-demo-guide-hero .crm-page-subtitle {
  max-width:820px;
  margin:0 !important;
  color:#667085 !important;
  font-size:12px !important;
  line-height:1.9 !important;
}
.crm-demo-hero-badges {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
  position:relative;
  z-index:1;
}
.crm-demo-pill {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:27px;
  padding:4px 9px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f8fafc;
  color:#475467;
  font-size:10.5px;
  line-height:1.2;
  font-weight:750;
  white-space:nowrap;
}
.crm-demo-pill--warning {
  border-color:#fedf89;
  background:#fff8e8;
  color:#9a6508;
}
.crm-demo-pill--module {
  border-color:#e0e7ff;
  background:#f4f3ff;
  color:#5146c7;
}
.crm-demo-guide-section {
  padding:20px !important;
  border:1px solid #e5eaf2 !important;
  border-radius:17px !important;
  background:#fff !important;
  box-shadow:0 8px 26px rgba(15,23,42,.035) !important;
}
.crm-demo-section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
  padding-bottom:13px;
  border-bottom:1px solid #edf1f6;
}
.crm-demo-section-head h2 {
  margin:0;
  color:#172033;
  font-size:15px;
  line-height:1.7;
  font-weight:800;
}
.crm-demo-section-head p {
  margin:3px 0 0;
  color:#98a2b3;
  font-size:10.5px;
}
.crm-demo-guide-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.crm-demo-guide-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:178px;
  padding:15px;
  border:1px solid #e7ebf2;
  border-radius:14px;
  background:#fbfcfe;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.crm-demo-guide-card:hover {
  transform:translateY(-1px);
  border-color:#d9deea;
  box-shadow:0 9px 22px rgba(15,23,42,.05);
}
.crm-demo-guide-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}
.crm-demo-guide-card-title {
  min-width:0;
  color:#1d2939;
  font-size:12.5px;
  line-height:1.75;
  font-weight:800;
}
.crm-demo-guide-card p {
  flex:1 1 auto;
  margin:0 0 13px !important;
  color:#667085 !important;
  font-size:10.8px !important;
  line-height:1.9 !important;
}
.crm-demo-guide-card .crm-btn {
  align-self:flex-start;
  margin-top:auto;
}

/* Platform demo center */
.crm-route-platform-demo .platform-hero { margin-bottom:18px !important; }
.crm-demo-center-layout,
.crm-demo-center-split {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);
  gap:18px;
  margin-bottom:18px;
}
.crm-demo-center-split { grid-template-columns:repeat(2,minmax(0,1fr)); }
.crm-demo-center-panel { min-width:0; }
.crm-demo-control-list {
  display:grid;
  gap:0;
  margin-bottom:14px;
  border:1px solid #e8ecf2;
  border-radius:12px;
  overflow:hidden;
  background:#fbfcfe;
}
.crm-demo-control-row {
  display:grid;
  grid-template-columns:minmax(110px,.38fr) minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-height:50px;
  padding:10px 13px;
  border-top:1px solid #edf1f6;
}
.crm-demo-control-row:first-child { border-top:0; }
.crm-demo-control-label {
  color:#667085;
  font-size:10.5px;
  font-weight:700;
}
.crm-demo-control-value {
  min-width:0;
  color:#1d2939;
  font-size:11.5px;
  font-weight:750;
  overflow-wrap:anywhere;
}
.crm-demo-entry-stack {
  display:grid;
  gap:9px;
}
.crm-demo-coverage-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.crm-demo-coverage-card {
  min-width:0;
  min-height:96px;
  padding:13px 14px;
  border:1px solid #e7ebf2;
  border-radius:13px;
  background:#fbfcfe;
}
.crm-demo-coverage-top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:9px;
  margin-bottom:7px;
}
.crm-demo-coverage-title {
  color:#1d2939;
  font-size:11.5px;
  line-height:1.75;
  font-weight:800;
}
.crm-demo-coverage-note {
  color:#98a2b3;
  font-size:10px;
  line-height:1.7;
}
.crm-demo-public-list {
  display:grid;
  gap:8px;
}
.crm-demo-public-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:62px;
  padding:10px 12px;
  border:1px solid #e8ecf2;
  border-radius:12px;
  background:#fbfcfe;
}
.crm-demo-public-row > div { min-width:0; }
.crm-demo-public-row strong {
  display:block;
  color:#1d2939;
  font-size:11.5px;
  line-height:1.7;
}
.crm-demo-public-row small {
  display:block;
  margin-top:2px;
  color:#98a2b3;
  font-size:10px;
  line-height:1.65;
}
.crm-demo-tag-cloud {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.crm-demo-map-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.crm-demo-map-card {
  min-width:0;
  padding:14px;
  border:1px solid #e7ebf2;
  border-radius:13px;
  background:#fbfcfe;
}
.crm-demo-map-card h3 {
  margin:0 0 8px;
  color:#1d2939;
  font-size:12px;
  line-height:1.7;
  font-weight:800;
}
.crm-demo-map-card ul {
  margin:0;
  padding:0 17px 0 0;
  color:#667085;
  font-size:10.5px;
  line-height:1.9;
}
.crm-demo-map-card li + li { margin-top:2px; }

@media (max-width:1199.98px) {
  .crm-demo-guide-grid,
  .crm-demo-coverage-grid,
  .crm-demo-map-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crm-demo-center-layout { grid-template-columns:1fr; }
}
@media (max-width:767.98px) {
  .crm-demo-session-bar {
    align-items:flex-start;
    flex-direction:column;
    padding:10px 12px;
  }
  .crm-demo-session-actions { width:100%; }
  .crm-demo-session-actions form,
  .crm-demo-session-actions .crm-btn { width:100%; }
  .crm-demo-guide-hero { padding:17px !important; }
  .crm-demo-guide-hero .crm-page-title { font-size:19px !important; }
  .crm-demo-hero-badges { justify-content:flex-start; }
  .crm-demo-guide-section { padding:15px !important; }
  .crm-demo-guide-grid,
  .crm-demo-coverage-grid,
  .crm-demo-map-grid,
  .crm-demo-center-split { grid-template-columns:1fr; }
  .crm-demo-guide-card { min-height:0; }
  .crm-demo-control-row { grid-template-columns:1fr; gap:3px; }
  .crm-demo-public-row { align-items:flex-start; flex-direction:column; }
  .crm-demo-public-row .crm-btn { width:100%; }
}
