/* ============================================================================
   Cellmax Prospect Map v2 — Modern Clinical Intelligence & Tactile Redesign
   Layout grammar adopted from tactile analytics: 8px rhythm, modular panels,
   nested surfaces, pill badges, metric emphasis, restrained shadow depth.
   Palette and typography stay Cellmax's (wayfinding red #9a0000, steel slate,
   Kontora + Poppins).
   Preserves every contract metric: h1 42px, eyebrow 12px, tile count 34px,
   list name 13.5px / meta 12px, field label 11px, summary 13.5px, map note 12.5px,
   inputs 14px, map 620px, chips 24-34px, stage tiles >=60px, selects 38-46px.
   ========================================================================= */

#cellmax-prospects-v2 {
  /* ---- palette (Cellmax official brand tokens) ------------------------ */
  --cmp2-red: #9a0000;
  --cmp2-red-dark: #7c0202;
  --cmp2-red-wash: #fdf4f4;
  --cmp2-slate: #44444e;
  --cmp2-ink: #1d1d24;
  --cmp2-body: #45454d;
  --cmp2-mute: #5c5c65;
  --cmp2-faint: #6f6f78;
  --cmp2-line: #e2e4e8;
  --cmp2-line-2: #8f8f9a;          /* control edge — 3.2:1, keeps boundary legible */
  --cmp2-surface: #ffffff;
  --cmp2-surface-2: #f9fafb;
  --cmp2-surface-3: #eeeff2;
  --cmp2-canvas: #f4f5f7;

  --cmp2-hot: #9a0000;
  --cmp2-warm: #b06a00;
  --cmp2-watch: #6f747d;
  --cmp2-unverified: #a8a8b1;
  --cmp2-hot-mark: #9a0000;
  --cmp2-warm-mark: #a86400;
  --cmp2-watch-mark: #5f646d;
  --cmp2-done: #16702f;

  --cmp2-display: 'Kontora', 'Poppins', system-ui, -apple-system, sans-serif;
  --cmp2-text: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* ---- tactile rhythm & depth ----------------------------------------- */
  --cmp2-s1: 8px; --cmp2-s2: 16px; --cmp2-s3: 24px; --cmp2-s4: 32px; --cmp2-s5: 48px;
  --cmp2-r: 10px;                   /* control radius */
  --cmp2-r-card: 18px;
  --cmp2-r-tile: 14px;
  --cmp2-r-pill: 999px;
  --cmp2-sh-card: 0 1px 3px rgba(29, 29, 36, .04), 0 10px 24px -10px rgba(29, 29, 36, .12);
  --cmp2-sh-inset: inset 0 1px 0 rgba(255, 255, 255, .6);
  --cmp2-sh-tile: 0 1px 2px rgba(29, 29, 36, .04), 0 2px 6px -1px rgba(29, 29, 36, .06);
  --cmp2-sh-lift: 0 3px 6px rgba(29, 29, 36, .05), 0 16px 32px -12px rgba(29, 29, 36, .20);
  --cmp2-sh-crimson: 0 3px 12px -2px rgba(154, 0, 0, .32);
  --cmp2-sh-crimson-hover: 0 6px 18px -2px rgba(154, 0, 0, .45);

  box-sizing: border-box;
  display: block;
  max-width: 1140px;
  margin: 0 auto;
  padding: var(--cmp2-s2) 0 var(--cmp2-s5);
  font-family: var(--cmp2-text);
  font-size: 16px;
  line-height: 1.5;
  color: var(--cmp2-body);
  -webkit-font-smoothing: antialiased;
}
#cellmax-prospects-v2 *, #cellmax-prospects-v2 *::before, #cellmax-prospects-v2 *::after { box-sizing: inherit; }

/* ---------- shared typography ---------- */
#cellmax-prospects-v2 .cmp2-h2 {
  margin: 0;
  font-family: var(--cmp2-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: .02em;
  color: var(--cmp2-slate);
}
#cellmax-prospects-v2 .cmp2-eyebrow {
  display: block;
  font-family: var(--cmp2-display);
  font-weight: 700;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
}

/* ---------- 1. panel: the status board (page header) ---------- */
#cellmax-prospects-v2 .cmp2-intro {
  padding: 30px 36px 26px;
  background: #ffffff;
  border: 1px solid var(--cmp2-line);
  border-top: 4px solid var(--cmp2-red);
  border-radius: var(--cmp2-r-card);
  box-shadow: 0 4px 24px -4px rgba(29, 29, 36, 0.08);
}

/* header top row: title + register CTA */
#cellmax-prospects-v2 .cmp2-intro-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
#cellmax-prospects-v2 .cmp2-intro-title-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  flex: 1 1 auto;
  min-width: 0;
}
#cellmax-prospects-v2 .cmp2-brand-mark {
  display: none !important;
}
#cellmax-prospects-v2 .cmp2-eyebrow-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
#cellmax-prospects-v2 .cmp2-eyebrow {
  color: var(--cmp2-red);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  background: var(--cmp2-red-wash);
  padding: 3px 10px;
  border-radius: var(--cmp2-r-pill);
}
#cellmax-prospects-v2 .cmp2-eyebrow-sub {
  font-size: 12px;
  color: var(--cmp2-faint);
  font-weight: 500;
}
#cellmax-prospects-v2 .cmp2-h1 {
  margin: 3px 0 0;
  font-family: var(--cmp2-display);
  font-weight: 800;
  font-size: 32px;
  line-height: 1.15;
  letter-spacing: -.01em;
  text-transform: none;
  color: var(--cmp2-ink);
}
#cellmax-prospects-v2 .cmp2-intro-sub {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--cmp2-mute);
}

#cellmax-prospects-v2 .cmp2-intro-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-left: auto;
  flex-shrink: 0;
  justify-content: flex-end;
}
#cellmax-prospects-v2 .cmp2-reach-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
}
#cellmax-prospects-v2 .cmp2-reach-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--cmp2-done);
  box-shadow: 0 0 0 3px rgba(22, 112, 47, 0.2);
}
#cellmax-prospects-v2 .cmp2-reach-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-reach-val {
  font-size: 13px;
  font-weight: 700;
  color: var(--cmp2-done);
}

#cellmax-prospects-v2 .cmp2-register {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 20px;
  border-radius: var(--cmp2-r);
  font-family: var(--cmp2-text);
  font-size: 13.5px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, var(--cmp2-red) 0%, var(--cmp2-red-dark) 100%);
  border: 1px solid var(--cmp2-red-dark);
  box-shadow: var(--cmp2-sh-crimson);
  text-decoration: none;
  cursor: pointer;
  transition: all .16s cubic-bezier(.2, .8, .2, 1);
}
#cellmax-prospects-v2 .cmp2-register:hover {
  background: linear-gradient(135deg, #a80000 0%, #880000 100%);
  border-color: #880000;
  color: #fff;
  box-shadow: var(--cmp2-sh-crimson-hover);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-register:active { transform: scale(0.98); }
#cellmax-prospects-v2 .cmp2-register:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }

/* Proportional Pipeline Conversion Bar */
#cellmax-prospects-v2 .cmp2-pipeline-wrap {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-pipeline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
#cellmax-prospects-v2 .cmp2-pipeline-title {
  font-family: var(--cmp2-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-pipeline-pct {
  font-size: 12px;
  font-weight: 600;
  color: var(--cmp2-ink);
  font-variant-numeric: tabular-nums;
}
#cellmax-prospects-v2 .cmp2-pipeline-bar {
  display: flex;
  height: 9px;
  width: 100%;
  border-radius: var(--cmp2-r-pill);
  overflow: hidden;
  background: #e9ecef;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
}
#cellmax-prospects-v2 .cmp2-pipeline-seg {
  height: 100%;
  transition: width .3s ease, opacity .14s ease;
  cursor: pointer;
}
#cellmax-prospects-v2 .cmp2-pipeline-seg:hover { opacity: .82; }
#cellmax-prospects-v2 .cmp2-pipeline-seg.seg-completed { background: #16702f; }
#cellmax-prospects-v2 .cmp2-pipeline-seg.seg-ongoing { background: #b06a00; }
#cellmax-prospects-v2 .cmp2-pipeline-seg.seg-follow_up { background: #5b5bb0; }
#cellmax-prospects-v2 .cmp2-pipeline-seg.seg-not_interested { background: #6f747d; }
#cellmax-prospects-v2 .cmp2-pipeline-seg.seg-not_contacted { background: #ced4da; }

/* Status stage cards */
#cellmax-prospects-v2 .cmp2-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: stretch;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
#cellmax-prospects-v2 .cmp2-stats li { flex: 1 1 170px; min-width: 0; }
#cellmax-prospects-v2 .cmp2-stage {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  min-height: 96px;
  text-align: left;
  font: inherit;
  cursor: pointer;
  position: relative;
  padding: 14px 16px;
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-tile);
  background: #ffffff;
  box-shadow: var(--cmp2-sh-tile);
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-stage:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px -8px rgba(29, 29, 36, .14);
}
#cellmax-prospects-v2 .cmp2-stage:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }

#cellmax-prospects-v2 .cmp2-stage-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 6px;
}
#cellmax-prospects-v2 .cmp2-stage-pill {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding: 2px 7px;
  border-radius: var(--cmp2-r-pill);
}

#cellmax-prospects-v2 .cmp2-stage[data-status="ongoing"] { border-color: #fed7aa; }
#cellmax-prospects-v2 .cmp2-stage[data-status="ongoing"]:hover { border-color: #f97316; }
#cellmax-prospects-v2 .cmp2-stage[data-status="ongoing"] .cmp2-stage-pill { color: #b06a00; background: #fdf3e0; }
#cellmax-prospects-v2 .cmp2-stage[data-status="ongoing"] .cmp2-stage-dot { background: #b06a00; }

#cellmax-prospects-v2 .cmp2-stage[data-status="completed"] { border-color: #bbf7d0; }
#cellmax-prospects-v2 .cmp2-stage[data-status="completed"]:hover { border-color: #22c55e; }
#cellmax-prospects-v2 .cmp2-stage[data-status="completed"] .cmp2-stage-pill { color: #16702f; background: #e8f4ec; }
#cellmax-prospects-v2 .cmp2-stage[data-status="completed"] .cmp2-stage-dot { background: #16702f; }

#cellmax-prospects-v2 .cmp2-stage[data-status="follow_up"] { border-color: #c7d2fe; }
#cellmax-prospects-v2 .cmp2-stage[data-status="follow_up"]:hover { border-color: #6366f1; }
#cellmax-prospects-v2 .cmp2-stage[data-status="follow_up"] .cmp2-stage-pill { color: #5b5bb0; background: #eeecf9; }
#cellmax-prospects-v2 .cmp2-stage[data-status="follow_up"] .cmp2-stage-dot { background: #5b5bb0; }

#cellmax-prospects-v2 .cmp2-stage[data-status="not_interested"] { border-color: #e5e7eb; }
#cellmax-prospects-v2 .cmp2-stage[data-status="not_interested"]:hover { border-color: #9ca3af; }
#cellmax-prospects-v2 .cmp2-stage[data-status="not_interested"] .cmp2-stage-pill { color: #6f747d; background: #f0f1f3; }
#cellmax-prospects-v2 .cmp2-stage[data-status="not_interested"] .cmp2-stage-dot { background: #6f747d; }

#cellmax-prospects-v2 .cmp2-stage[data-status="not_contacted"] { border-color: #e5e7eb; }
#cellmax-prospects-v2 .cmp2-stage[data-status="not_contacted"]:hover { border-color: #9ca3af; }
#cellmax-prospects-v2 .cmp2-stage[data-status="not_contacted"] .cmp2-stage-pill { color: #8b9099; background: #f4f5f7; }
#cellmax-prospects-v2 .cmp2-stage[data-status="not_contacted"] .cmp2-stage-dot { background: #8b9099; }

#cellmax-prospects-v2 .cmp2-stage.is-on {
  box-shadow: 0 0 0 2px var(--cmp2-red) inset, 0 8px 20px -4px rgba(154, 0, 0, .25);
  border-color: var(--cmp2-red) !important;
}
#cellmax-prospects-v2 .cmp2-stage-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex: none;
}
#cellmax-prospects-v2 .cmp2-stage-n {
  display: block;
  font-family: var(--cmp2-display);
  font-weight: 800;
  font-size: 30px;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  color: var(--cmp2-ink);
}
#cellmax-prospects-v2 .cmp2-stage-lab {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--cmp2-mute);
}

/* Rich Stats Ribbon */
#cellmax-prospects-v2 .cmp2-stats-ribbon {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--cmp2-line);
  font-size: 12.5px;
  color: var(--cmp2-mute);
}
#cellmax-prospects-v2 .cmp2-ribbon-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-pill);
}
#cellmax-prospects-v2 .cmp2-ribbon-item strong {
  color: var(--cmp2-ink);
  font-weight: 700;
}
#cellmax-prospects-v2 .cmp2-ribbon-sep {
  color: var(--cmp2-line-2);
}
#cellmax-prospects-v2 .cmp2-ribbon-item--pending {
  background: #fffbeb;
  border-color: #fde68a;
  color: #92400e;
}
#cellmax-prospects-v2 .cmp2-ribbon-item--pending strong {
  color: #b45309;
}

/* ---------- 2. working surface ---------- */
#cellmax-prospects-v2 .cmp2-work {
  margin-top: var(--cmp2-s2);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-card);
  box-shadow: var(--cmp2-sh-card);
  overflow: hidden;
}

/* filter bar */
#cellmax-prospects-v2 .cmp2-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--cmp2-s2);
  padding: var(--cmp2-s3) var(--cmp2-s3);
  background: var(--cmp2-surface-2);
  border-bottom: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-f {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  flex: 1 1 150px;
  margin: 0;
}
#cellmax-prospects-v2 .cmp2-f--search {
  flex: 1 1 300px;
  order: 2;
}
#cellmax-prospects-v2 .cmp2-bar > .cmp2-clear {
  flex: 0 0 auto;
  order: 3;
  align-self: flex-end;
  height: 40px;
  min-height: 40px;
  box-sizing: border-box;
  line-height: 38px;
  margin: 0;
}
#cellmax-prospects-v2 .cmp2-f--export {
  flex: 1 1 150px;
  order: 0;
}
#cellmax-prospects-v2 .cmp2-f--export .cmp2-export {
  position: relative;
  width: 100%;
}
#cellmax-prospects-v2 .cmp2-f-lab {
  font-family: var(--cmp2-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
  line-height: 1;
}
#cellmax-prospects-v2 .cmp2-input {
  width: 100%;
  min-height: 40px;
  height: 40px;
  box-sizing: border-box;
  padding: 9px 13px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  line-height: 1.4;
  color: var(--cmp2-ink);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .16s ease, box-shadow .16s ease;
  margin: 0;
}
#cellmax-prospects-v2 .cmp2-input:hover { border-color: var(--cmp2-mute); }
#cellmax-prospects-v2 .cmp2-input:focus {
  outline: none;
  border-color: var(--cmp2-red);
  box-shadow: 0 0 0 3px rgba(154, 0, 0, .14);
}
#cellmax-prospects-v2 select.cmp2-input {
  padding-right: 34px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%235c5c65' stroke-width='1.8' stroke-linecap='round' d='M1 1l4 3.5L9 1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  cursor: pointer;
}
#cellmax-prospects-v2 .cmp2-input::placeholder { color: var(--cmp2-faint); opacity: 1; }
#cellmax-prospects-v2 .cmp2-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  height: 40px;
  box-sizing: border-box;
  padding: 0 20px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 38px;
  color: var(--cmp2-slate);
  background: #ffffff;
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
  cursor: pointer;
  transition: all .16s cubic-bezier(.2, .8, .2, 1);
  margin: 0;
}
#cellmax-prospects-v2 .cmp2-clear:hover {
  color: var(--cmp2-red);
  background: var(--cmp2-red-wash);
  border-color: var(--cmp2-red);
  box-shadow: var(--cmp2-sh-card);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-clear:active { transform: scale(0.98); }
#cellmax-prospects-v2 .cmp2-clear:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }
#cellmax-prospects-v2 .cmp2-clear[hidden] { display: none; }
#cellmax-prospects-v2 .cmp2-clear.is-on { border-color: var(--cmp2-red); background: var(--cmp2-red-wash); }

/* export menu (v2) */
#cellmax-prospects-v2 .cmp2-export { position: relative; }
#cellmax-prospects-v2 .cmp2-export-btn,
#cellmax-prospects-v2 .cmp2-f--export .cmp2-clear {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  height: 40px;
  box-sizing: border-box;
  padding: 0 16px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 38px;
  color: var(--cmp2-slate);
  background: #ffffff;
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
  cursor: pointer;
  transition: all .16s ease;
  margin: 0;
}
#cellmax-prospects-v2 .cmp2-export-btn:hover,
#cellmax-prospects-v2 .cmp2-f--export .cmp2-clear:hover {
  color: var(--cmp2-red);
  background: var(--cmp2-red-wash);
  border-color: var(--cmp2-red);
  box-shadow: var(--cmp2-sh-card);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-export-menu {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 40;
  min-width: 280px;
  padding: 12px;
  text-align: left;
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-tile);
  box-shadow: var(--cmp2-sh-lift);
}
#cellmax-prospects-v2 .cmp2-export-menu.is-open { display: block; animation: cmp2-pop .16s ease both; }
@keyframes cmp2-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
#cellmax-prospects-v2 .cmp2-export-item {
  display: block;
  width: 100%;
  padding: 9px 12px;
  border: 0;
  border-radius: var(--cmp2-r);
  font: inherit;
  font-size: 13.5px;
  color: var(--cmp2-ink);
  background: none;
  text-align: left;
  cursor: pointer;
  transition: background .14s ease, color .14s ease;
}
#cellmax-prospects-v2 .cmp2-export-item:hover { background: var(--cmp2-surface-2); color: var(--cmp2-red); }
#cellmax-prospects-v2 .cmp2-export-item:disabled { color: var(--cmp2-faint); cursor: default; background: none; }
#cellmax-prospects-v2 .cmp2-export-item--primary {
  background: linear-gradient(135deg, var(--cmp2-red) 0%, var(--cmp2-red-dark) 100%);
  color: #fff;
  font-weight: 600;
  text-align: center;
  box-shadow: var(--cmp2-sh-crimson);
}
#cellmax-prospects-v2 .cmp2-export-item--primary:hover {
  background: linear-gradient(135deg, #a80000 0%, #880000 100%);
  color: #fff;
}
#cellmax-prospects-v2 .cmp2-export-hr { border: 0; border-top: 1px solid var(--cmp2-line); margin: 9px 0; }
#cellmax-prospects-v2 .cmp2-export-lab {
  display: block;
  margin: 0 2px 6px;
  font-family: var(--cmp2-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-export-kinds { display: grid; gap: 3px; margin-bottom: 10px; }
#cellmax-prospects-v2 .cmp2-export-check {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 8px;
  border-radius: var(--cmp2-r);
  font-size: 13px;
  color: var(--cmp2-ink);
  cursor: pointer;
}
#cellmax-prospects-v2 .cmp2-export-check:hover { background: var(--cmp2-surface-2); }
#cellmax-prospects-v2 .cmp2-export-check input { flex: 0 0 auto; margin: 0; width: 16px; height: 16px; accent-color: var(--cmp2-red); }
#cellmax-prospects-v2 .cmp2-export-pick {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
  padding: 9px 11px;
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  font: inherit;
  font-size: 13px;
  color: var(--cmp2-ink);
  background: var(--cmp2-surface);
}

#cellmax-prospects-v2 .cmp2-export-rep-box {
  margin-bottom: 10px;
}
#cellmax-prospects-v2 .cmp2-export-rep-toggle:hover {
  background: var(--cmp2-surface) !important;
  border-color: var(--cmp2-red) !important;
  color: var(--cmp2-red) !important;
}
#cellmax-prospects-v2 .cmp2-export-rep-submit:hover {
  background: linear-gradient(135deg, #a80000 0%, #880000 100%) !important;
  box-shadow: 0 4px 12px rgba(154, 0, 0, .35) !important;
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-export-rep-submit:active {
  transform: scale(0.98);
}

/* count and territory pills */
#cellmax-prospects-v2 .cmp2-summary {
  margin: 0;
  padding: 14px var(--cmp2-s3);
  font-size: 13.5px;
  color: var(--cmp2-mute);
  border-bottom: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-state-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 6px;
  margin: 0;
  padding: 8px var(--cmp2-s3);
  font-size: 11.5px;
  color: var(--cmp2-faint);
  border-bottom: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-state-summary-lab {
  flex: 1 1 100%;
  margin: 0 0 2px;
  font-family: var(--cmp2-display);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-fchip {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  padding: 2px 8px;
  background: #ffffff;
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-pill);
  white-space: nowrap;
  font: inherit;
  font-size: 11.5px;
  line-height: 1.4;
  color: inherit;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .03);
  transition: all .14s ease;
}
#cellmax-prospects-v2 .cmp2-fchip:hover {
  background: #fff;
  border-color: var(--cmp2-line-2);
  box-shadow: var(--cmp2-sh-card);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-fchip:focus-visible { outline: 2px solid var(--cmp2-hot-mark); outline-offset: 2px; }
#cellmax-prospects-v2 .cmp2-fchip.is-on {
  background: var(--cmp2-hot-mark);
  border-color: var(--cmp2-hot-mark);
  box-shadow: var(--cmp2-sh-crimson);
}
#cellmax-prospects-v2 .cmp2-fchip-name { font-weight: 500; color: var(--cmp2-ink); letter-spacing: .01em; }
#cellmax-prospects-v2 .cmp2-fchip-n { font-size: 10.5px; font-variant-numeric: tabular-nums; color: var(--cmp2-mute); }
#cellmax-prospects-v2 .cmp2-fchip.is-on .cmp2-fchip-name,
#cellmax-prospects-v2 .cmp2-fchip.is-on .cmp2-fchip-n { color: #fff; }

/* ---------- 3. map panel + register rail ---------- */
#cellmax-prospects-v2 .cmp2-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 372px;
  align-items: stretch;
  gap: var(--cmp2-s2);
  padding: var(--cmp2-s2);
}
#cellmax-prospects-v2 .cmp2-mapbox {
  padding: var(--cmp2-s2);
  min-width: 0;
  height: 610px;
  max-height: 610px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-tile);
  box-shadow: var(--cmp2-sh-tile);
}
#cellmax-prospects-v2 .cmp2-map-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  flex: none;
}
#cellmax-prospects-v2 .cmp2-colourby {
  flex: none;
  margin: 0 0 8px;
}
#cellmax-prospects-v2 .cmp2-legend {
  flex: none;
  margin: 0 0 8px;
}
#cellmax-prospects-v2 .cmp2-map-note { margin: 0; font-size: 12px; color: var(--cmp2-mute); text-align: right; }
#cmp2-map {
  flex: 1 1 auto;
  min-height: 340px;
  background: #eef1f1;
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r);
  z-index: 0;
}
#cmp2-map:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }
#cellmax-prospects-v2 .cmp2-map-view { display: none !important; }

/* rail */
#cellmax-prospects-v2 .cmp2-rail {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 610px;
  max-height: 610px;
  box-sizing: border-box;
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-tile);
  overflow: hidden;
  box-shadow: var(--cmp2-sh-tile);
}
#cellmax-prospects-v2 .cmp2-rail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px var(--cmp2-s2);
  border-bottom: 1px solid var(--cmp2-line);
  background: #ffffff;
  flex: none;
}
#cellmax-prospects-v2 .cmp2-rail-sub {
  display: block;
  margin-top: 2px;
  font-family: var(--cmp2-text);
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-rail-tools {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: 8px var(--cmp2-s2);
  border-bottom: 1px solid var(--cmp2-line);
  background: var(--cmp2-surface);
  flex: none;
}
#cellmax-prospects-v2 .cmp2-rail-tools:empty { display: none; }
#cellmax-prospects-v2 .cmp2-rail-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 6px;
}
#cellmax-prospects-v2 .cmp2-rail-tools {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  padding: 10px var(--cmp2-s2);
  border-bottom: 1px solid var(--cmp2-line);
  background: var(--cmp2-surface);
}
#cellmax-prospects-v2 .cmp2-rail-tools:empty { display: none; }
#cellmax-prospects-v2 .cmp2-sort-wrap { display: block; min-width: 0; flex: 1 1 auto; }
#cellmax-prospects-v2 .cmp2-sort-wrap .cmp2-f-lab { display: block; margin-bottom: 3px; }
#cellmax-prospects-v2 .cmp2-sort {
  width: 100%;
  max-width: 150px;
  min-height: 36px;
  padding: 6px 28px 6px 10px;
  font-family: var(--cmp2-text);
  font-size: 13px;
  color: var(--cmp2-ink);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%235c5c65' stroke-width='1.8' stroke-linecap='round' d='M1 1l4 3.5L9 1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 11px center;
  cursor: pointer;
  box-shadow: var(--cmp2-sh-tile);
}
#cellmax-prospects-v2 .cmp2-sort:focus { outline: none; border-color: var(--cmp2-red); box-shadow: 0 0 0 3px rgba(154, 0, 0, .14); }
#cellmax-prospects-v2 .cmp2-pager { display: flex; align-items: center; gap: 6px; flex-shrink: 0; padding-bottom: 2px; }
#cellmax-prospects-v2 .cmp2-page-info { font-size: 12px; color: var(--cmp2-body); white-space: nowrap; }
#cellmax-prospects-v2 .cmp2-page-btn {
  min-width: 32px;
  min-height: 32px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--cmp2-text);
  font-size: 18px;
  line-height: 1;
  color: var(--cmp2-ink);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
  cursor: pointer;
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-page-btn:hover:not([disabled]) {
  border-color: var(--cmp2-red);
  background: var(--cmp2-red-wash);
  box-shadow: var(--cmp2-sh-card);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-page-btn[disabled] { opacity: .45; cursor: default; }

/* list rows as nested tiles */
#cellmax-prospects-v2 .cmp2-item-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#cellmax-prospects-v2 .cmp2-tag,
#cellmax-prospects-v2 .cmp2-badge {
  display: inline-block;
  padding: 3px 9px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .04em;
  text-transform: uppercase;
  border: 1px solid transparent;
  border-radius: var(--cmp2-r-pill);
  white-space: nowrap;
}
#cellmax-prospects-v2 .cmp2-badge--p1, #cellmax-prospects-v2 .cmp2-tag--P1 {
  color: #fff;
  background: var(--cmp2-hot-mark);
  box-shadow: 0 1px 3px rgba(154, 0, 0, .3);
}
#cellmax-prospects-v2 .cmp2-badge--warm, #cellmax-prospects-v2 .cmp2-tag--Likely { color: #fff; background: var(--cmp2-warm-mark); }
#cellmax-prospects-v2 .cmp2-badge--watch, #cellmax-prospects-v2 .cmp2-tag--Unverified { color: #fff; background: var(--cmp2-watch-mark); }
#cellmax-prospects-v2 .cmp2-tag--state { color: var(--cmp2-mute); background: var(--cmp2-surface-3); }
#cellmax-prospects-v2 .cmp2-tag--s-not_contacted { color: var(--cmp2-mute); background: var(--cmp2-surface-3); }
#cellmax-prospects-v2 .cmp2-tag--s-ongoing { color: #7a4a00; background: #fdf3e0; border-color: #f0dcb6; }
#cellmax-prospects-v2 .cmp2-tag--s-completed { color: #14622c; background: #e8f4ec; border-color: #c9e6d1; }
#cellmax-prospects-v2 .cmp2-tag--s-not_interested { color: #565b64; background: #eeeff1; }
#cellmax-prospects-v2 .cmp2-tag--s-follow_up { color: #43438f; background: #eeecf9; border-color: #d6d6e8; }

#cellmax-prospects-v2 .cmp2-list { margin: 0; padding: 0; list-style: none; }
#cellmax-prospects-v2 .cmp2-item { border: 0; }
#cellmax-prospects-v2 .cmp2-item-btn {
  display: block;
  width: 100%;
  padding: 12px 14px;
  font-family: inherit;
  font-size: 13.5px;
  text-align: left;
  color: var(--cmp2-body);
  background: none;
  border: 1px solid transparent;
  border-radius: var(--cmp2-r-tile);
  cursor: pointer;
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-item-btn:hover {
  background: var(--cmp2-surface);
  border-color: var(--cmp2-line);
  box-shadow: var(--cmp2-sh-tile);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-item-btn:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: -2px; }
#cellmax-prospects-v2 .cmp2-item-name { display: block; font-weight: 600; line-height: 1.35; color: var(--cmp2-ink); }
#cellmax-prospects-v2 .cmp2-item-meta { display: block; margin-top: 3px; font-size: 12px; color: var(--cmp2-faint); }
#cellmax-prospects-v2 .cmp2-item.is-active .cmp2-item-btn {
  background: var(--cmp2-red-wash);
  border-color: rgba(154, 0, 0, .22);
  box-shadow: var(--cmp2-sh-tile);
}

/* empty state */
#cellmax-prospects-v2 .cmp2-empty {
  display: none;
  margin: 0;
  padding: 34px 18px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--cmp2-faint);
  text-align: center;
}
#cellmax-prospects-v2 .cmp2-empty-h { margin: 0; font-size: 14px; font-weight: 600; color: var(--cmp2-ink); }
#cellmax-prospects-v2 .cmp2-empty-p { margin: 6px 0 14px; }

/* ---------- 4. facility dossier ---------- */
#cellmax-prospects-v2 .cmp2-card { display: none; padding: 0 0 16px; }
#cellmax-prospects-v2 .cmp2-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 12px 14px 0;
  padding: 7px 14px;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--cmp2-slate);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
  cursor: pointer;
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-back:hover {
  color: var(--cmp2-red);
  border-color: var(--cmp2-red);
  background: #fff;
  box-shadow: var(--cmp2-sh-card);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-back:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }
#cellmax-prospects-v2 .cmp2-card .cmp2-h2 {
  margin: 10px 0 0;
  padding: 0 14px;
  font-family: var(--cmp2-display);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: .01em;
  color: var(--cmp2-slate);
}
#cellmax-prospects-v2 .cmp2-card .cmp2-muted {
  margin: 6px 0 0;
  padding: 0 14px;
  font-size: 12.5px;
  color: var(--cmp2-faint);
  font-weight: 400;
}
#cellmax-prospects-v2 .cmp2-card .cmp2-badge { margin: 10px 14px 0; }

#cellmax-prospects-v2 .cmp2-card .cmp2-field {
  margin: 0 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-field .cmp2-f-lab {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-f-val {
  display: block;
  margin-top: 5px;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--cmp2-ink);
  overflow-wrap: anywhere;
}
#cellmax-prospects-v2 .cmp2-f-val a { color: var(--cmp2-red); font-weight: 600; text-decoration: none; }
#cellmax-prospects-v2 .cmp2-f-val a:hover { text-decoration: underline; }
#cellmax-prospects-v2 .cmp2-f-val a:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }

#cellmax-prospects-v2 .cmp2-statuswrap {
  margin: var(--cmp2-s2) 0 0;
  padding: 16px;
  background: var(--cmp2-surface-2);
  border-top: 1px solid var(--cmp2-line);
  border-bottom: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-statuswrap + .cmp2-statuswrap { border-top: 0; }
#cellmax-prospects-v2 .cmp2-statuswrap .cmp2-f-lab {
  display: block;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-status, #cellmax-prospects-v2 .cmp2-remark {
  width: 100%;
  min-height: 40px;
  padding: 9px 13px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  line-height: 1.4;
  color: var(--cmp2-ink);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-tile);
  transition: border-color .16s ease, box-shadow .16s ease;
}
#cellmax-prospects-v2 .cmp2-status:focus, #cellmax-prospects-v2 .cmp2-remark:focus {
  outline: none;
  border-color: var(--cmp2-red);
  box-shadow: 0 0 0 3px rgba(154, 0, 0, .14);
}
#cellmax-prospects-v2 select.cmp2-status {
  padding-right: 34px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%235c5c65' stroke-width='1.8' stroke-linecap='round' d='M1 1l4 3.5L9 1'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
#cellmax-prospects-v2 .cmp2-save {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  margin: 14px;
  padding: 0 22px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, var(--cmp2-red) 0%, var(--cmp2-red-dark) 100%);
  border: 1px solid var(--cmp2-red-dark);
  border-radius: var(--cmp2-r);
  cursor: pointer;
  box-shadow: var(--cmp2-sh-crimson);
  transition: all .16s cubic-bezier(.2, .8, .2, 1);
}
#cellmax-prospects-v2 .cmp2-save:hover {
  background: linear-gradient(135deg, #a80000 0%, #880000 100%);
  border-color: #880000;
  box-shadow: var(--cmp2-sh-crimson-hover);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-save:active { transform: scale(0.98); }
#cellmax-prospects-v2 .cmp2-save:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }
#cellmax-prospects-v2 .cmp2-save:disabled,
#cellmax-prospects-v2 .cmp2-save.is-saved {
  opacity: .45;
  cursor: default;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none;
}
#cellmax-prospects-v2 .cmp2-saved { margin: 8px 14px 0; font-size: 12px; color: var(--cmp2-faint); }

/* ---------- 4b. progress board ---------- */
#cellmax-prospects-v2 .cmp2-progress {
  margin: var(--cmp2-s2) 0 0;
  padding: var(--cmp2-s3);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-card);
  box-shadow: var(--cmp2-sh-card);
}
#cellmax-prospects-v2 .cmp2-progress-h {
  margin: 0;
  font-size: 19px;
  letter-spacing: .02em;
  font-family: var(--cmp2-display);
  font-weight: 700;
  color: var(--cmp2-slate);
}
#cellmax-prospects-v2 .cmp2-progress-sub { margin: 6px 0 18px; font-size: 13px; color: var(--cmp2-faint); }
#cellmax-prospects-v2 .cmp2-prog { margin: 0 0 10px; }
#cellmax-prospects-v2 .cmp2-prog:last-child { margin-bottom: 0; }
#cellmax-prospects-v2 .cmp2-prog-btn {
  display: block;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-tile);
  padding: 14px 16px;
  box-shadow: var(--cmp2-sh-tile);
  cursor: pointer;
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-prog-btn:hover {
  border-color: var(--cmp2-line-2);
  background: #fff;
  box-shadow: var(--cmp2-sh-card);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-prog-btn:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }
#cellmax-prospects-v2 .cmp2-prog-btn.is-on {
  border-color: var(--cmp2-red);
  background: #fff;
  box-shadow: 0 0 0 2px var(--cmp2-red) inset, var(--cmp2-sh-card);
}
#cellmax-prospects-v2 .cmp2-prog-btn.is-on .cmp2-prog-name { color: var(--cmp2-red); }
#cellmax-prospects-v2 .cmp2-prog-top { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 7px; }
#cellmax-prospects-v2 .cmp2-prog-name { font-weight: 600; color: var(--cmp2-ink); font-size: 15px; }
#cellmax-prospects-v2 .cmp2-prog-total { font-size: 13px; color: var(--cmp2-faint); }
#cellmax-prospects-v2 .cmp2-prog-bar {
  display: block;
  height: 8px;
  background: var(--cmp2-surface-3);
  border-radius: var(--cmp2-r-pill);
  overflow: hidden;
}
#cellmax-prospects-v2 .cmp2-prog-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--cmp2-done) 0%, #1fb34b 100%);
  border-radius: var(--cmp2-r-pill);
  transition: width .3s ease;
  min-width: 0;
}
#cellmax-prospects-v2 .cmp2-prog-counts { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 7px; }
#cellmax-prospects-v2 .cmp2-prog-count {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--cmp2-slate);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-pill);
  padding: 3px 10px;
  font-variant-numeric: tabular-nums;
  box-shadow: var(--cmp2-sh-tile);
}
#cellmax-prospects-v2 .cmp2-prog-count--not_contacted { border-color: #c9ccd1; }
#cellmax-prospects-v2 .cmp2-prog-count--ongoing { border-color: var(--cmp2-warm); color: #7a4a00; background: #fdf3e0; }
#cellmax-prospects-v2 .cmp2-prog-count--follow_up { border-color: #5b5bb0; color: #43438f; background: #eeecf9; }
#cellmax-prospects-v2 .cmp2-prog-count--completed { border-color: var(--cmp2-done); color: #14622c; background: #e8f4ec; }
#cellmax-prospects-v2 .cmp2-prog-count--not_interested { border-color: var(--cmp2-watch); }
#cellmax-prospects-v2 .cmp2-prog-toggle {
  font-size: 12px;
  font-weight: 600;
  color: var(--cmp2-red);
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#cellmax-prospects-v2 .cmp2-prog-panel {
  margin-top: 8px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--cmp2-line);
  border-top: 3px solid var(--cmp2-red);
  border-radius: var(--cmp2-r-tile);
  box-shadow: var(--cmp2-sh-card);
}
#cellmax-prospects-v2 .cmp2-prog-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-prog-panel-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--cmp2-ink);
}
#cellmax-prospects-v2 .cmp2-prog-panel-meta {
  font-size: 12px;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-prog-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
#cellmax-prospects-v2 .cmp2-prog-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r);
  transition: all .15s ease;
}
#cellmax-prospects-v2 .cmp2-prog-item:hover {
  background: #fff;
  border-color: var(--cmp2-line-2);
  box-shadow: var(--cmp2-sh-tile);
}
#cellmax-prospects-v2 .cmp2-prog-item-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
#cellmax-prospects-v2 .cmp2-prog-item-name {
  font-size: 14px;
  font-weight: 700;
  color: var(--cmp2-ink);
  cursor: pointer;
}
#cellmax-prospects-v2 .cmp2-prog-item-name:hover {
  color: var(--cmp2-red);
  text-decoration: underline;
}
#cellmax-prospects-v2 .cmp2-prog-item-meta {
  font-size: 12px;
  color: var(--cmp2-faint);
}
#cellmax-prospects-v2 .cmp2-prog-item-note {
  font-size: 12.5px;
  color: var(--cmp2-slate);
  background: #fff;
  padding: 6px 10px;
  border-radius: var(--cmp2-r-ctl);
  border-left: 3px solid var(--cmp2-warm);
}
#cellmax-prospects-v2 .cmp2-prog-item-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 4px;
  flex-wrap: wrap;
  font-size: 12px;
}
#cellmax-prospects-v2 .cmp2-prog-item-date {
  color: #7a4a00;
  font-weight: 600;
}
#cellmax-prospects-v2 .cmp2-prog-item-loc-btn {
  font-size: 12px;
  font-weight: 600;
  color: var(--cmp2-red);
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
#cellmax-prospects-v2 .cmp2-prog-item-loc-btn:hover {
  text-decoration: underline;
}

/* ---------- 5. pins + leaflet overrides ---------- */
#cellmax-prospects-v2 .cmp2-pin {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .44);
  transition: transform .12s ease;
}
#cellmax-prospects-v2 .cmp2-pin.p-P1 { background: var(--cmp2-hot); }
#cellmax-prospects-v2 .cmp2-pin.p-Likely { background: var(--cmp2-warm); }
#cellmax-prospects-v2 .cmp2-pin.p-Unverified { background: var(--cmp2-unverified); }
#cellmax-prospects-v2 .cmp2-pin.s-ongoing { box-shadow: 0 0 0 2px var(--cmp2-warm), 0 0 0 1px rgba(0, 0, 0, .28); }
#cellmax-prospects-v2 .cmp2-pin.s-completed { box-shadow: 0 0 0 2px var(--cmp2-done), 0 0 0 1px rgba(0, 0, 0, .28); }
#cellmax-prospects-v2 .cmp2-pin.s-not_interested { opacity: .38; }
#cellmax-prospects-v2 .cmp2-pin.s-follow_up { box-shadow: 0 0 0 2px var(--cmp2-slate), 0 0 0 1px rgba(0, 0, 0, .28); }
#cellmax-prospects-v2 .cmp2-pin.is-selected { transform: scale(1.7); box-shadow: 0 0 0 3px #fff, 0 0 0 6px rgba(154, 0, 0, .55); }

#cellmax-prospects-v2 .cmp2-cluster {
  display: block;
  box-sizing: border-box;
  font-family: var(--cmp2-text);
  font-size: 12.5px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: center;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .22), 0 3px 8px rgba(0, 0, 0, .15);
  transition: transform .12s ease;
}
#cellmax-prospects-v2 .cmp2-cluster:hover { transform: scale(1.08); }
#cellmax-prospects-v2 .cmp2-cluster.c-P1 { background: #9a0000; }
#cellmax-prospects-v2 .cmp2-cluster.c-Likely { background: #a86400; }
#cellmax-prospects-v2 .cmp2-cluster.c-Unverified { background: #5f646d; }
#cellmax-prospects-v2 .leaflet-container { font-family: var(--cmp2-text); background: #eef1f1; }
#cellmax-prospects-v2 .leaflet-tile-pane { filter: saturate(0.55) brightness(1.04) contrast(0.95); }
#cellmax-prospects-v2 .leaflet-control-zoom a { border-radius: var(--cmp2-r) !important; color: var(--cmp2-slate); font-weight: 600; }
#cellmax-prospects-v2 .leaflet-control-zoom a:hover { color: var(--cmp2-red); }
#cellmax-prospects-v2 .leaflet-bar { border: 1px solid var(--cmp2-line-2); box-shadow: var(--cmp2-sh-tile); border-radius: var(--cmp2-r); }
#cellmax-prospects-v2 .leaflet-control-attribution { font-size: 10.5px; color: var(--cmp2-faint); background: rgba(255, 255, 255, .88); }
#cellmax-prospects-v2 .leaflet-control-attribution a { color: var(--cmp2-mute); }
#cellmax-prospects-v2 .leaflet-tooltip.cmp2-tip {
  padding: 6px 10px;
  font-family: var(--cmp2-text);
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  background: var(--cmp2-slate);
  border: 0;
  border-radius: var(--cmp2-r);
  box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .8);
}
#cellmax-prospects-v2 .leaflet-tooltip.cmp2-tip::before { border-top-color: var(--cmp2-slate); }

/* ---------- 6. legend ---------- */
#cellmax-prospects-v2 .cmp2-legend {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: 8px 16px;
  margin: 0 0 12px;
  padding: 0;
  font-size: 12.5px;
  color: var(--cmp2-mute);
  list-style: none;
}
#cellmax-prospects-v2 .cmp2-legend li { display: flex; align-items: center; min-width: 0; }
#cellmax-prospects-v2 .cmp2-legend-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font: inherit;
  color: inherit;
  background: none;
  border: 0;
  padding: 4px 8px;
  margin: -4px -8px;
  border-radius: var(--cmp2-r-pill);
  cursor: pointer;
  white-space: nowrap;
  max-width: 100%;
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-legend-lab {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#cellmax-prospects-v2 .cmp2-legend-btn:hover { background: var(--cmp2-surface-2); box-shadow: var(--cmp2-sh-tile); }
#cellmax-prospects-v2 .cmp2-legend-btn:focus-visible { outline: 2px solid var(--cmp2-hot-mark); outline-offset: 1px; }
#cellmax-prospects-v2 .cmp2-legend-btn.is-on {
  background: #fff;
  box-shadow: inset 0 0 0 2px var(--cmp2-hot-mark), var(--cmp2-sh-tile);
  font-weight: 600;
  color: var(--cmp2-ink);
}
#cellmax-prospects-v2 .cmp2-legend-sw {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .25);
}
#cellmax-prospects-v2 .cmp2-legend-sw.sw-P1 { background: var(--cmp2-hot); }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-Likely { background: var(--cmp2-warm); }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-Unverified { background: var(--cmp2-unverified); }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-completed { background: #fff; box-shadow: 0 0 0 2px var(--cmp2-done); }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-not_interested { background: var(--cmp2-watch); opacity: .38; }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-k-hospital { background: #b91c1c; }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-k-klinik { background: #2563eb; }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-k-private_hospital { background: #f59e0b; }
#cellmax-prospects-v2 .cmp2-legend-sw.sw-k-private_clinic { background: #16a34a; }

/* category colours + colour-by control */
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-pin.k-hospital { background: #b91c1c; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-pin.k-klinik { background: #2563eb; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-pin.k-private_hospital { background: #f59e0b; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-pin.k-private_clinic { background: #16a34a; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-cluster.k-hospital { background: #b91c1c; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-cluster.k-klinik { background: #2563eb; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-cluster.k-private_hospital { background: #f59e0b; }
#cellmax-prospects-v2 #cmp2-map.color-by-kind .cmp2-cluster.k-private_clinic { background: #16a34a; }
#cellmax-prospects-v2 .cmp2-colourby { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 10px; }
#cellmax-prospects-v2 .cmp2-colourby-lab { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cmp2-faint); }
#cellmax-prospects-v2 .cmp2-colourby-btn {
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--cmp2-mute);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r-pill);
  padding: 4px 12px;
  box-shadow: var(--cmp2-sh-tile);
  cursor: pointer;
  transition: all .16s ease;
}
#cellmax-prospects-v2 .cmp2-colourby-btn:hover { color: var(--cmp2-ink); border-color: var(--cmp2-ink); }
#cellmax-prospects-v2 .cmp2-colourby-btn.is-on { background: var(--cmp2-red); border-color: var(--cmp2-red); color: #fff; box-shadow: var(--cmp2-sh-crimson); }
#cellmax-prospects-v2 .cmp2-colourby-btn:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }

/* ---------- 7. login gate (v2-only) ---------- */
#cellmax-prospects-v2 .cmp2-gate {
  padding: 28px 30px;
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-left: 4px solid var(--cmp2-red);
  border-radius: var(--cmp2-r-card);
  box-shadow: var(--cmp2-sh-lift);
}
#cellmax-prospects-v2 .cmp2-gate h2 {
  margin: 0 0 8px;
  font-family: var(--cmp2-display);
  font-weight: 700;
  font-size: 21px;
  letter-spacing: .02em;
  text-transform: none;
  color: var(--cmp2-slate);
}
#cellmax-prospects-v2 .cmp2-gate-lede { margin: 0 0 16px; font-size: 14.5px; color: var(--cmp2-body); }
#cellmax-prospects-v2 .cmp2-gate-err { margin: 0 0 14px; font-size: 13px; font-weight: 600; color: var(--cmp2-red); }
#cellmax-prospects-v2 .cmp2-gate form { display: flex; flex-direction: column; gap: 14px; align-items: stretch; }
#cellmax-prospects-v2 .cmp2-gate-lab { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: var(--cmp2-body); font-weight: 500; }
#cellmax-prospects-v2 .cmp2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 22px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(135deg, var(--cmp2-red) 0%, var(--cmp2-red-dark) 100%);
  border: 1px solid var(--cmp2-red-dark);
  border-radius: var(--cmp2-r);
  box-shadow: var(--cmp2-sh-crimson);
  cursor: pointer;
  transition: all .16s cubic-bezier(.2, .8, .2, 1);
}
#cellmax-prospects-v2 .cmp2-btn:hover {
  background: linear-gradient(135deg, #a80000 0%, #880000 100%);
  border-color: #880000;
  box-shadow: var(--cmp2-sh-crimson-hover);
  transform: translateY(-1px);
}
#cellmax-prospects-v2 .cmp2-btn:active { transform: scale(0.98); }
#cellmax-prospects-v2 .cmp2-btn:focus-visible { outline: 2px solid var(--cmp2-red); outline-offset: 2px; }

/* ---------- 8. error card (v2-only) ---------- */
#cellmax-prospects-v2 .cmp2-error {
  margin: var(--cmp2-s3) auto;
  max-width: 520px;
  padding: var(--cmp2-s2) var(--cmp2-s3);
  border: 1px solid var(--cmp2-line);
  border-left: 4px solid var(--cmp2-red);
  border-radius: var(--cmp2-r-card);
  background: var(--cmp2-surface);
  box-shadow: var(--cmp2-sh-card);
}
#cellmax-prospects-v2 .cmp2-error p { margin: 0 0 12px; font-size: 14.5px; color: var(--cmp2-body); }
#cellmax-prospects-v2 .cmp2-error button {
  min-height: 40px;
  padding: 0 20px;
  font-family: var(--cmp2-text);
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  background: var(--cmp2-red);
  border: 0;
  border-radius: var(--cmp2-r);
  cursor: pointer;
  box-shadow: var(--cmp2-sh-crimson);
}

/* ---------- 9. page chrome for v2 page ---------- */
body.cellmax-prospect-map-v2 { background: #f2f3f4; }
body.cellmax-prospect-map-v2 .wp-site-blocks > header,
body.cellmax-prospect-map-v2 .wp-site-blocks > footer { display: none; }
body.cellmax-prospect-map-v2 .wp-block-post-title,
body.cellmax-prospect-map-v2 .entry-header,
body.cellmax-prospect-map-v2 .page-header { display: none; }
body.cellmax-prospect-map-v2 .wp-site-blocks main { margin-top: 0 !important; }
body.cellmax-prospect-map-v2 .wp-site-blocks main > .wp-block-group { padding-top: 30px !important; padding-bottom: 0 !important; }
body.cellmax-prospect-map-v2 .entry-content { margin-top: 0; }
body.cellmax-prospect-map-v2 { scroll-padding-top: 46px; }

/* ---------- 10. narrow screens ---------- */
@media (max-width: 1040px) {
  #cellmax-prospects-v2 .cmp2-shell { grid-template-columns: minmax(0, 1fr); }
  #cellmax-prospects-v2 .cmp2-mapbox { height: auto; max-height: none; }
  #cellmax-prospects-v2 .cmp2-rail { border: 1px solid var(--cmp2-line); height: auto; max-height: 520px; }
  #cellmax-prospects-v2 .cmp2-rail-body { max-height: 460px; }
  #cellmax-prospects-v2 .cmp2-rail-tools { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  #cellmax-prospects-v2 { padding: var(--cmp2-s1) 0 var(--cmp2-s4); }
  #cellmax-prospects-v2 .cmp2-intro { padding: 22px 18px 20px; }
  #cellmax-prospects-v2 .cmp2-intro-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  #cellmax-prospects-v2 .cmp2-intro-actions { width: 100%; justify-content: flex-end; }
  #cellmax-prospects-v2 .cmp2-h1 { font-size: 28px; letter-spacing: .04em; }
  #cellmax-prospects-v2 .cmp2-stage-n { font-size: 26px; }
  #cellmax-prospects-v2 .cmp2-stats { gap: 8px; }
  #cellmax-prospects-v2 .cmp2-stats li { flex: 1 1 calc(50% - 8px); }
  #cellmax-prospects-v2 .cmp2-stage { padding: 10px 12px 11px 24px; min-height: 60px; }
  #cellmax-prospects-v2 .cmp2-stage-dot { left: 10px; top: 14px; }
  #cellmax-prospects-v2 .cmp2-bar { padding: 14px; gap: 12px; }
  #cellmax-prospects-v2 .cmp2-f { flex: 1 1 100%; }
  #cellmax-prospects-v2 .cmp2-clear { flex: 1 1 100%; }
  #cellmax-prospects-v2 .cmp2-shell { padding: var(--cmp2-s1); gap: var(--cmp2-s1); }
  #cellmax-prospects-v2 .cmp2-mapbox { padding: 14px; }
  #cellmax-prospects-v2 .cmp2-map-head { flex-direction: column; align-items: flex-start; gap: 4px; }
  #cellmax-prospects-v2 .cmp2-map-note { text-align: left; }
  #cmp2-map { height: 380px; }
  #cellmax-prospects-v2 .cmp2-summary, #cellmax-prospects-v2 .cmp2-state-summary { padding: 12px 14px; }
  #cellmax-prospects-v2 .cmp2-legend { gap: 7px 16px; margin-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  #cellmax-prospects-v2 *, #cellmax-prospects-v2 *::before, #cellmax-prospects-v2 *::after { transition: none !important; animation: none !important; }
  #cellmax-prospects-v2 .cmp2-stage:hover, #cellmax-prospects-v2 .cmp2-fchip:hover { transform: none; }
}

/* ---------- 8. audit round ---------- */
#cellmax-prospects-v2 .is-hidden { display: none !important; }
#cellmax-prospects-v2 .cmp2-stats-note { margin: 18px 0 0; font-size: 12.5px; line-height: 1.6; color: rgba(255, 255, 255, .78); }
#cellmax-prospects-v2 .cmp2-item-btn { padding-right: 26px; }
#cellmax-prospects-v2 .cmp2-item-go { position: absolute; right: 12px; top: 13px; font-size: 16px; line-height: 1; color: var(--cmp2-faint); }
#cellmax-prospects-v2 .cmp2-tag--follow { color: #43438f; background: #eeecf9; border-color: #d6d6e8; }
#cellmax-prospects-v2 .cmp2-tag--follow.is-due {
  color: #fff;
  background: var(--cmp2-red);
  border-color: var(--cmp2-red);
  box-shadow: 0 1px 4px rgba(154, 0, 0, .35);
}
#cellmax-prospects-v2 .cmp2-note {
  width: 100%;
  box-sizing: border-box;
  font: inherit;
  font-size: 13.5px;
  color: var(--cmp2-ink);
  padding: 10px 12px;
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
  resize: vertical;
  min-height: 74px;
}
#cellmax-prospects-v2 .cmp2-follow {
  font: inherit;
  font-size: 13.5px;
  color: var(--cmp2-ink);
  padding: 9px 12px;
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r);
}
#cellmax-prospects-v2 .cmp2-quick-dates {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 6px;
}
#cellmax-prospects-v2 .cmp2-quick-date-btn {
  font-family: var(--cmp2-text);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--cmp2-mute);
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r-pill);
  padding: 3px 8px;
  cursor: pointer;
  box-shadow: var(--cmp2-sh-tile);
  transition: all .14s ease;
}
#cellmax-prospects-v2 .cmp2-quick-date-btn:hover:not([disabled]) {
  border-color: var(--cmp2-red);
  color: var(--cmp2-red);
  background: var(--cmp2-red-wash);
}
#cellmax-prospects-v2 .cmp2-quick-date-btn[disabled] {
  opacity: .4;
  cursor: default;
  pointer-events: none;
}
#cellmax-prospects-v2 .cmp2-tel-link {
  color: var(--cmp2-red);
  text-decoration: none;
  font-weight: 500;
  transition: color .14s ease;
}
#cellmax-prospects-v2 .cmp2-tel-link:hover {
  text-decoration: underline;
  color: var(--cmp2-red-dark);
}

/* Executive Dossier Cards matching Redesign Preview */
#cellmax-prospects-v2 .cmp2-dossier-card {
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-card);
  padding: 16px;
  box-shadow: var(--cmp2-sh-tile);
  margin-top: 14px;
}
#cellmax-prospects-v2 .cmp2-dossier-header-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
#cellmax-prospects-v2 .cmp2-dossier-title {
  margin: 0;
  font-family: var(--cmp2-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--cmp2-ink);
  line-height: 1.3;
}
#cellmax-prospects-v2 .cmp2-dossier-addr {
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--cmp2-body);
  line-height: 1.4;
}
#cellmax-prospects-v2 .cmp2-dossier-quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--cmp2-line);
}
#cellmax-prospects-v2 .cmp2-pill-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line-2);
  border-radius: var(--cmp2-r-pill);
  font-family: var(--cmp2-text);
  font-size: 12px;
  font-weight: 600;
  color: var(--cmp2-ink);
  text-decoration: none;
  box-shadow: var(--cmp2-sh-tile);
  transition: all .14s ease;
}
#cellmax-prospects-v2 .cmp2-pill-link:hover {
  border-color: var(--cmp2-red);
  color: var(--cmp2-red);
  background: var(--cmp2-red-wash);
}
#cellmax-prospects-v2 .cmp2-subcard {
  background: var(--cmp2-surface);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r-card);
  padding: 16px;
  box-shadow: var(--cmp2-sh-tile);
  margin-top: 14px;
}
#cellmax-prospects-v2 .cmp2-card-subhead {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  font-family: var(--cmp2-display);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--cmp2-ink);
}
#cellmax-prospects-v2 .cmp2-card-subhead-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#cellmax-prospects-v2 .cmp2-card-subhead-icon.is-red { background: var(--cmp2-red-wash); color: var(--cmp2-red); }
#cellmax-prospects-v2 .cmp2-card-subhead-icon.is-green { background: #e8f4ec; color: #16702f; }
#cellmax-prospects-v2 .cmp2-card-subhead-icon.is-blue { background: #eeecf9; color: #5b5bb0; }
#cellmax-prospects-v2 .cmp2-pic-tilegrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}
#cellmax-prospects-v2 .cmp2-pic-tile {
  background: var(--cmp2-surface-2);
  border: 1px solid var(--cmp2-line);
  border-radius: var(--cmp2-r);
  padding: 8px 10px;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
#cellmax-prospects-v2 .cmp2-pic-tile:hover {
  background: #ffffff;
  border-color: var(--cmp2-line-2);
}
#cellmax-prospects-v2 .cmp2-pic-tile:focus-within {
  background: #ffffff;
  border-color: var(--cmp2-red);
  box-shadow: 0 0 0 2px var(--cmp2-red-wash);
}
#cellmax-prospects-v2 .cmp2-pic-tile-lab {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--cmp2-faint);
  display: block;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
#cellmax-prospects-v2 .cmp2-pic-tile input,
#cellmax-prospects-v2 .cmp2-pic-tile .cmp2-pic-tile-input,
#cellmax-prospects-v2 .cmp2-pic-tile .cmp2-input {
  display: block;
  width: 100%;
  min-width: 0 !important;
  max-width: 100%;
  min-height: 0 !important;
  height: 22px;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--cmp2-ink);
  outline: none;
  box-shadow: none !important;
  border-radius: 0 !important;
  box-sizing: border-box;
}
#cellmax-prospects-v2 .cmp2-pic-tile input::placeholder,
#cellmax-prospects-v2 .cmp2-pic-tile .cmp2-pic-tile-input::placeholder {
  color: var(--cmp2-faint);
  font-weight: 400;
  opacity: .65;
}
#cellmax-prospects-v2 .cmp2-pic-tile input:focus,
#cellmax-prospects-v2 .cmp2-pic-tile .cmp2-pic-tile-input:focus {
  color: var(--cmp2-red);
  box-shadow: none !important;
  outline: none;
}
#cellmax-prospects-v2 .cmp2-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;
}
#cellmax-prospects-v2 .cmp2-status-option {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 4px;
  border-radius: var(--cmp2-r);
  border: 1px solid var(--cmp2-line-2);
  background: var(--cmp2-surface);
  font: inherit;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--cmp2-mute);
  cursor: pointer;
  transition: all .16s ease;
  box-shadow: var(--cmp2-sh-tile);
  min-width: 0;
  min-height: 42px;
  box-sizing: border-box;
  white-space: normal;
  text-align: center;
  line-height: 1.15;
  letter-spacing: -0.15px;
}
#cellmax-prospects-v2 .cmp2-status-option span:not(.cmp2-status-dot) {
  display: inline-block;
  min-width: 0;
  text-align: center;
  word-break: keep-all;
  white-space: normal;
}
@media (max-width: 480px) {
  #cellmax-prospects-v2 .cmp2-pic-tilegrid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 440px) {
  #cellmax-prospects-v2 .cmp2-status-grid {
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: 5px;
  }
  #cellmax-prospects-v2 .cmp2-status-option {
    padding: 7px 4px;
    font-size: 11px;
    gap: 4px;
  }
  #cellmax-prospects-v2 .cmp2-status-dot {
    width: 6px;
    height: 6px;
  }
}
#cellmax-prospects-v2 .cmp2-status-option:hover {
  border-color: var(--cmp2-ink);
  color: var(--cmp2-ink);
}
#cellmax-prospects-v2 .cmp2-status-option.is-active {
  box-shadow: var(--cmp2-sh-card);
  border-width: 2px;
}
#cellmax-prospects-v2 .cmp2-status-option.is-active.is-ongoing {
  border-color: #b06a00;
  color: #b06a00;
  background: #fdf3e0;
}
#cellmax-prospects-v2 .cmp2-status-option.is-active.is-completed {
  border-color: #16702f;
  color: #16702f;
  background: #e8f4ec;
}
#cellmax-prospects-v2 .cmp2-status-option.is-active.is-follow_up {
  border-color: #5b5bb0;
  color: #5b5bb0;
  background: #eeecf9;
}
#cellmax-prospects-v2 .cmp2-status-option.is-active.is-not_interested {
  border-color: #6f747d;
  color: #6f747d;
  background: #f0f1f3;
}
#cellmax-prospects-v2 .cmp2-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex: none;
  flex-shrink: 0;
}
#cellmax-prospects-v2 .cmp2-status-dot.dot-ongoing { background: #b06a00; }
#cellmax-prospects-v2 .cmp2-status-dot.dot-completed { background: #16702f; }
#cellmax-prospects-v2 .cmp2-status-dot.dot-follow_up { background: #5b5bb0; }
#cellmax-prospects-v2 .cmp2-status-dot.dot-not_interested { background: #6f747d; }
#cellmax-prospects-v2 .cmp2-f-hint { display: block; margin-top: 6px; font-size: 11.5px; color: var(--cmp2-faint); }
#cellmax-prospects-v2 .cmp2-pic-f { display: block; margin-top: 8px; }
#cellmax-prospects-v2 .cmp2-pic-f .cmp2-f-hint { margin: 0 0 3px; font-weight: 500; }
@media (max-width: 860px) {
  #cellmax-prospects-v2 .cmp2-fchip { min-height: 36px; }
  #cellmax-prospects-v2 .cmp2-legend-btn { min-height: 36px; }
  #cellmax-prospects-v2 .cmp2-page-btn { min-height: 36px; min-width: 36px; }
  #cellmax-prospects-v2 .cmp2-save { min-height: 44px; }
}

/* ---------- 9. Register Modal & Badges ---------- */
.cmp2-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999999;
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
  font-family: var(--cmp2-text, "Poppins", -apple-system, sans-serif);
}
.cmp2-modal-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.cmp2-modal-box {
  position: relative;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 25px 60px -10px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(0, 0, 0, 0.06);
  width: 100%;
  max-width: 440px;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  animation: cmp2ModalIn .24s cubic-bezier(.16, 1, .3, 1);
  font-family: var(--cmp2-text, "Poppins", -apple-system, sans-serif);
  color: #0f172a;
}
@keyframes cmp2ModalIn {
  from { transform: translateY(18px) scale(0.96); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}
.cmp2-modal-accent {
  height: 4px;
  width: 100%;
  background: linear-gradient(90deg, #9a0000 0%, #c52222 50%, #e03131 100%);
}
.cmp2-modal-body {
  padding: 28px 26px 24px;
  box-sizing: border-box;
}
.cmp2-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #f1f5f9;
  border: none;
  font-size: 20px;
  line-height: 1;
  color: #64748b;
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .16s ease;
  z-index: 2;
}
.cmp2-modal-close:hover {
  color: #0f172a;
  background: #e2e8f0;
}
.cmp2-modal-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 22px;
}
.cmp2-modal-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #fef2f2;
  border: 1px solid #fee2e2;
  color: #9a0000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.cmp2-modal-icon svg {
  stroke: #9a0000;
}
.cmp2-modal-title {
  margin: 0 0 4px;
  font-family: var(--cmp2-display, "Kontora", -apple-system, sans-serif);
  font-size: 19px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.cmp2-modal-desc {
  margin: 0;
  font-size: 13px;
  color: #64748b;
  line-height: 1.45;
  font-weight: 400;
}
.cmp2-modal-field {
  margin-bottom: 16px;
}
.cmp2-modal-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
  font-family: var(--cmp2-text, "Poppins", -apple-system, sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: #1e293b;
  letter-spacing: 0;
  text-transform: none;
}
.cmp2-modal-req {
  font-size: 11px;
  font-weight: 600;
  color: #9a0000;
  background: #fef2f2;
  padding: 2px 7px;
  border-radius: 5px;
  border: 1px solid #fee2e2;
}
.cmp2-modal-opt {
  font-size: 11px;
  font-weight: 500;
  color: #94a3b8;
  background: #f8fafc;
  padding: 2px 7px;
  border-radius: 5px;
  border: 1px solid #e2e8f0;
}
.cmp2-modal-input {
  display: block;
  width: 100%;
  height: 42px;
  padding: 0 13px;
  box-sizing: border-box;
  font-family: var(--cmp2-text, "Poppins", -apple-system, sans-serif);
  font-size: 14px;
  color: #0f172a;
  background: #f8fafc;
  border: 1.5px solid #e2e8f0;
  border-radius: 9px;
  outline: none;
  transition: all .18s ease;
}
.cmp2-modal-input:focus {
  background: #ffffff;
  border-color: #9a0000;
  box-shadow: 0 0 0 3px rgba(154, 0, 0, 0.12);
}
.cmp2-modal-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 46px;
  margin-top: 22px;
  background: linear-gradient(135deg, #9a0000 0%, #7d0000 100%);
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-family: var(--cmp2-text, "Poppins", -apple-system, sans-serif);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(154, 0, 0, 0.3);
  transition: all .18s ease;
}
.cmp2-modal-submit:hover {
  background: linear-gradient(135deg, #ab0000 0%, #8c0000 100%);
  box-shadow: 0 6px 18px rgba(154, 0, 0, 0.4);
  transform: translateY(-1px);
}
.cmp2-modal-submit:active {
  transform: scale(0.99);
}
.cmp2-modal-returning {
  margin: 14px 0 0;
  font-size: 12px;
  color: #64748b;
  text-align: center;
  line-height: 1.45;
}

/* User pill in header */
#cellmax-prospects-v2 .cmp2-user-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: var(--cmp2-surface, #ffffff);
  border: 1px solid var(--cmp2-line, #e2e8f0);
  border-radius: 999px;
  font-size: 13px;
  color: var(--cmp2-slate, #1e293b);
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
#cellmax-prospects-v2 .cmp2-user-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0d9488;
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.2);
}

/* Guest notice in facility card */
#cellmax-prospects-v2 .cmp2-guest-notice {
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: var(--cmp2-r, 10px);
  padding: 12px 14px;
  margin-top: 12px;
  margin-bottom: 8px;
}
#cellmax-prospects-v2 .cmp2-guest-notice-txt {
  margin: 0 0 8px;
  font-size: 12.5px;
  line-height: 1.45;
  color: #92400e;
}
#cellmax-prospects-v2 .cmp2-btn-guest-reg {
  font-size: 12.5px;
  min-height: 32px;
  padding: 0 14px;
  width: 100%;
}


