/* ============================================================
   Lead Finder Page (lf-)
   ============================================================ */
.lf-page { padding: 0; }
.lf-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 24px 0 20px; }
.lf-title { font-size: 28px; font-weight: 700; color: var(--k-text); margin: 0; }
.lf-credit-badge { display: flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: var(--k-radius-xl); background: #eef4ff; color: var(--k-cta); font-size: 13px; font-weight: 600; }
.lf-credit-badge .material-symbols-outlined { font-size: 18px; }
.lf-form-card { border: 1px solid var(--k-border); border-radius: var(--k-radius-md); padding: 24px; margin-bottom: 32px; background: var(--k-surface); }
.lf-section-title { font-size: 16px; font-weight: 700; color: var(--k-text); margin: 28px 0 16px; }
.lf-section-title:first-child { margin-top: 0; }
.lf-filter-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 20px; }
.lf-filter-group { display: flex; flex-direction: column; gap: 6px; }
.lf-filter-label { font-size: 13px; font-weight: 600; color: var(--k-text-secondary); }
.lf-filter-input { border: 1px solid var(--k-border); border-radius: var(--k-radius-sm); padding: 10px 14px; font-size: 14px; color: var(--k-text-strong); outline: none; transition: border-color .15s; }
.lf-filter-input:focus { border-color: var(--k-cta); }
.lf-search-row { display: flex; gap: 12px; align-items: center; }
.lf-search-btn { display: inline-flex; align-items: center; gap: 6px; background: var(--k-cta); color: #fff; border: none; border-radius: var(--k-radius-sm); padding: 10px 20px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s; }
.lf-search-btn:hover { background: var(--k-cta-hover); }
.lf-search-btn:disabled { opacity: .6; cursor: not-allowed; }
.lf-headers { display: grid; grid-template-columns: 2fr 1fr 3fr 1fr; padding: 0 16px 8px; }
.lf-hdr { font-size: 11px; font-weight: 600; color: var(--k-text-secondary); text-transform: uppercase; letter-spacing: .44px; }
.lf-list { display: flex; flex-direction: column; gap: 6px; }
.lf-row { display: grid; grid-template-columns: 2fr 1fr 3fr 1fr; align-items: center; padding: 14px 16px; border: 1px solid var(--k-border); border-radius: var(--k-radius-sm); background: var(--k-surface); transition: box-shadow .15s; }
.lf-row:hover { box-shadow: var(--k-shadow-md); }
.lf-name { font-size: 14px; font-weight: 600; color: var(--k-text-strong); }
.lf-cell { font-size: 14px; color: var(--k-text-secondary); }
.lf-filters-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lf-date { font-size: 13px; color: #a0a4ae; }
.lf-empty { text-align: center; padding: 48px 0; color: var(--k-text-secondary); }
.lf-empty p { margin: 8px 0; }
@media (max-width: 768px) {
  .lf-filter-grid { grid-template-columns: 1fr; }
  .lf-headers, .lf-row { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   Suppressions Page (sp-)
   ============================================================ */
.sp-page { padding: 0; }
.sp-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 24px 0 20px; gap: 16px; flex-wrap: wrap; }
.sp-toolbar-left { display: flex; align-items: center; gap: 12px; }
.sp-toolbar-right { display: flex; align-items: center; gap: 10px; }
.sp-search { display: flex; align-items: center; gap: 8px; border: 1px solid var(--k-border); border-radius: var(--k-radius-sm); padding: 8px 14px; background: var(--k-surface); min-width: 260px; }
.sp-search .material-symbols-outlined { font-size: 20px; color: var(--k-text-muted); }
.sp-search input { border: none; outline: none; font-size: 14px; color: var(--k-text-strong); background: transparent; width: 100%; }
.sp-import-btn { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--k-border); border-radius: var(--k-radius-sm); padding: 10px 18px; font-size: 14px; font-weight: 600; color: var(--k-text-strong); background: var(--k-surface); cursor: pointer; transition: background .15s; }
.sp-import-btn:hover { background: var(--k-surface-hover); }
.sp-add-btn { background: var(--k-cta); color: #fff; border: none; border-radius: var(--k-radius-sm); padding: 10px 20px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background .15s; }
.sp-add-btn:hover { background: var(--k-cta-hover); }

/* ============================================================
   Campaign Wizard (wiz-)
   ============================================================ */
.wiz-page { max-width: 820px; margin: 0 auto; }
.wiz-header {
  display: flex; align-items: center; gap: 14px; padding: 0 0 20px;
}
.wiz-title { font: var(--k-text-h2); color: var(--k-text); margin: 0; }
.wiz-stepper {
  display: flex; align-items: center; gap: 0; padding: 0 0 32px;
}
.wiz-step-indicator {
  display: flex; align-items: center; gap: 8px; opacity: 0.5;
  transition: opacity var(--k-dur-normal) var(--k-ease);
}
.wiz-step-indicator.active, .wiz-step-indicator.done { opacity: 1; }
.wiz-step-circle {
  width: 32px; height: 32px; border-radius: 50%; display: flex;
  align-items: center; justify-content: center; flex-shrink: 0;
  font-size: 14px; font-weight: 700; color: var(--k-text-secondary);
  border: 2px solid var(--k-border); background: var(--k-surface);
  transition: all var(--k-dur-normal) var(--k-ease);
}
.wiz-step-indicator.active .wiz-step-circle {
  border-color: var(--k-primary); color: #fff; background: var(--k-primary);
}
.wiz-step-indicator.done .wiz-step-circle {
  border-color: var(--k-success); color: #fff; background: var(--k-success);
}
.wiz-step-indicator.done .wiz-step-circle .material-symbols-outlined { font-size: 18px; }
.wiz-step-label {
  font: var(--k-text-label); color: var(--k-text-secondary); white-space: nowrap;
}
.wiz-step-indicator.active .wiz-step-label { color: var(--k-text); font-weight: 600; }
.wiz-step-line {
  flex: 1; height: 2px; min-width: 24px; margin: 0 10px;
  background: var(--k-border);
  transition: background var(--k-dur-normal) var(--k-ease);
}
.wiz-step-line.done { background: var(--k-success); }

.wiz-content {
  background: var(--k-surface); border: 1px solid var(--k-border);
  border-radius: var(--k-radius-md); padding: 32px; min-height: 300px;
}
.wiz-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 24px 0 0;
}
.wiz-sec-title { font: var(--k-text-h3); color: var(--k-text); margin: 0 0 16px; }
.wiz-sec-desc { font: var(--k-text-body); color: var(--k-text-secondary); margin: 0 0 16px; }
.wiz-mt-16 { margin-top: 16px; }
.wiz-mt-24 { margin-top: 24px; }
.wiz-subsec-title { font: var(--k-text-h4); color: var(--k-text); margin: 20px 0 12px; }
.wiz-accounts { display: flex; flex-direction: column; gap: 8px; }
.wiz-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .wiz-row-3 { grid-template-columns: 1fr; } }
.wiz-days-wrap { display: flex; flex-wrap: wrap; gap: 12px; }

/* Sequence step cards */
.wiz-steps-list { display: flex; flex-direction: column; gap: 16px; }
.wiz-step-card {
  border: 1px solid var(--k-border-light); border-radius: var(--k-radius-md);
  padding: 20px; background: var(--k-surface);
  border-left: 4px solid; border-image: var(--k-gradient) 1;
}
.wiz-step-card-hdr {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
}
.wiz-step-num { font: var(--k-text-h4); color: var(--k-text); }
.wiz-delay-wrap {
  display: flex; align-items: center; gap: 6px;
  font: var(--k-text-body); color: var(--k-text-secondary);
}
.wiz-delay-wrap .material-symbols-outlined { font-size: 18px; }
.wiz-delay-input {
  width: 56px; padding: 6px 8px; border: 1.5px solid var(--k-border);
  border-radius: var(--k-radius-sm); font: var(--k-text-body);
  text-align: center; outline: none;
}
.wiz-delay-input:focus { border-color: var(--k-primary); }
.wiz-subject-input {
  width: 100%; padding: 10px 14px; border: 1.5px solid var(--k-border);
  border-radius: var(--k-radius-sm); font: var(--k-text-body);
  margin-bottom: 10px; outline: none; box-sizing: border-box;
}
.wiz-subject-input:focus { border-color: var(--k-primary); }
.wiz-body-input {
  width: 100%; padding: 10px 14px; border: 1.5px solid var(--k-border);
  border-radius: var(--k-radius-sm); font: var(--k-text-body);
  resize: vertical; outline: none; box-sizing: border-box;
  font-family: inherit;
}
.wiz-body-input:focus { border-color: var(--k-primary); }

/* Lead source tabs */
.wiz-lead-tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.wiz-lead-tab {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 18px; border: 1.5px solid var(--k-border);
  border-radius: var(--k-radius-md); background: var(--k-surface);
  font: var(--k-text-label); color: var(--k-text-secondary);
  cursor: pointer; transition: all var(--k-dur-fast) var(--k-ease);
}
.wiz-lead-tab .material-symbols-outlined { font-size: 18px; }
.wiz-lead-tab:hover { border-color: var(--k-primary); color: var(--k-text); }
.wiz-lead-tab.active {
  border-color: var(--k-primary); color: var(--k-primary);
  background: var(--k-primary-light); font-weight: 600;
}
.wiz-lead-content { min-height: 120px; }
.wiz-leads-textarea {
  width: 100%; padding: 12px 14px; border: 1.5px solid var(--k-border);
  border-radius: var(--k-radius-sm); font: var(--k-text-body);
  resize: vertical; outline: none; box-sizing: border-box;
  font-family: inherit;
}
.wiz-leads-textarea:focus { border-color: var(--k-primary); }
.wiz-csv-info {
  display: flex; align-items: center; gap: 8px; margin-top: 12px;
  font: var(--k-text-body); color: var(--k-success);
}
.wiz-csv-info .material-symbols-outlined { font-size: 20px; }

/* DB segment quick-select grid */
.wiz-db-seg-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px;
}
.wiz-db-seg-btn {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 14px 10px; border: 1.5px solid var(--k-border);
  border-radius: var(--k-radius-md); background: var(--k-surface);
  font: var(--k-text-label); color: var(--k-text-secondary);
  cursor: pointer; transition: all var(--k-dur-fast) var(--k-ease);
  font-size: 13px; font-weight: 600;
}
.wiz-db-seg-btn .material-symbols-outlined { font-size: 24px; }
.wiz-db-seg-btn:hover { border-color: var(--k-primary); color: var(--k-text); background: var(--k-surface-hover); }
.wiz-db-seg-btn.active {
  border-color: var(--k-primary); background: var(--k-primary-light); color: var(--k-text);
  box-shadow: 0 0 0 2px var(--k-primary-light);
}
.wiz-db-seg-note {
  font-size: 12px; color: var(--k-text-secondary); margin: 0;
  padding: 8px 12px; background: var(--k-surface-sunken); border-radius: var(--k-radius-sm);
}

/* CC/BCC collapsible */
.wiz-cc-section { padding-top: 12px; display: flex; flex-direction: column; gap: 12px; }
.wiz-cc-section.hidden { display: none; }

/* CC/BCC tag in campaign detail status row */
.cd-ccbcc-tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; border-radius: var(--k-radius-xs); font-size: 13px;
  background: var(--k-surface-sunken); color: var(--k-text-secondary);
}
.cd-ccbcc-tag .material-symbols-outlined { font-size: 16px; }
.sp-stats-row { display: flex; gap: 16px; margin-bottom: 28px; flex-wrap: wrap; }
.sp-stat-card { flex: 1; min-width: 160px; border: 1px solid var(--k-border); border-radius: var(--k-radius-sm); padding: 16px 20px; background: var(--k-surface); }
.sp-stat-top { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.sp-stat-dot { width: 12px; height: 6px; border-radius: var(--k-radius-full); flex-shrink: 0; }
.sp-stat-label { font-size: 14px; font-weight: 600; color: var(--k-text-secondary); }
.sp-stat-value { font-size: 36px; font-weight: 500; color: var(--k-text-strong); }
.sp-headers { display: grid; grid-template-columns: 3fr 1fr 1fr 1fr 48px; padding: 0 16px 8px; }
.sp-hdr { font-size: 11px; font-weight: 600; color: var(--k-text-secondary); text-transform: uppercase; letter-spacing: .44px; }
.sp-list { display: flex; flex-direction: column; gap: 6px; }
.sp-row { display: grid; grid-template-columns: 3fr 1fr 1fr 1fr 48px; align-items: center; padding: 14px 16px; border: 1px solid var(--k-border); border-radius: var(--k-radius-sm); background: var(--k-surface); transition: box-shadow .15s; }
.sp-row:hover { box-shadow: var(--k-shadow-md); }
.sp-name { font-size: 14px; font-weight: 600; color: var(--k-text-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sp-cell { font-size: 14px; color: var(--k-text-secondary); }
.sp-date { font-size: 13px; color: #a0a4ae; }
.sp-badge { display: inline-block; padding: 4px 10px; border-radius: var(--k-radius-sm); font-size: 13px; font-weight: 500; }
.sp-badge-type { background: #eef4ff; color: #4580f7; }
.sp-badge-unsub { background: #fef3cd; color: #b45309; }
.sp-badge-bounce { background: #ffe5e5; color: #dc2626; }
.sp-del-btn { width: 36px; height: 36px; border: none; background: transparent; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #ef4444; transition: background .15s; }
.sp-del-btn:hover { background: rgba(239,68,68,.08); }
.sp-del-btn .material-symbols-outlined { font-size: 20px; }
.sp-empty { text-align: center; padding: 48px 0; color: var(--k-text-secondary); }
.sp-empty p { margin: 8px 0; }
@media (max-width: 768px) {
  .sp-stats-row { flex-direction: column; }
  .sp-headers, .sp-row { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   Boom Blast Button (btn-boom) + Boom Test Modal (btm-)
   ============================================================ */

/* Boom button — vivid gradient, used in wizard sequence step */
.btn-boom {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 24px; border: none; border-radius: var(--k-radius-md);
  background: linear-gradient(135deg, #f97316 0%, #ef4444 50%, #ec4899 100%);
  color: #fff; font-size: 14px; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 16px rgba(239,68,68,.35);
  transition: all var(--k-dur-fast) var(--k-ease);
}
.btn-boom:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(239,68,68,.45);
  filter: brightness(1.08);
}
.btn-boom:disabled {
  opacity: .45; cursor: not-allowed; transform: none;
  box-shadow: none; filter: none;
}
.btn-boom .material-symbols-outlined { font-size: 20px; }

/* Modal size override */
.modal--boom-test { max-width: 860px; width: 96vw; max-height: 92vh; overflow-y: auto; }

/* Wrapper */
.btm-wrapper { display: flex; flex-direction: column; gap: 0; }

/* Header */
.btm-header { padding: 0 0 16px; }
.btm-title {
  display: flex; align-items: center; gap: 10px;
  font-size: 20px; font-weight: 700; color: var(--k-text); margin: 0 0 4px;
}
.btm-title .material-symbols-outlined { font-size: 22px; color: #ef4444; }
.btm-subtitle { margin: 0; font-size: 14px; }

/* Steps preview chips */
.btm-steps-preview {
  display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0 16px;
  border-bottom: 1px solid var(--k-border-light);
}
.btm-step-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 14px; border: 1px solid var(--k-border);
  border-radius: var(--k-radius-full); background: var(--k-surface-hover);
  font-size: 13px;
}
.btm-step-chip-num { font-weight: 700; color: var(--k-primary); }
.btm-step-chip-subj { color: var(--k-text-secondary); max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Launch section */
.btm-launch-wrap { display: flex; flex-direction: column; align-items: center; padding: 24px 0 16px; }
.btm-launch-btn { font-size: 16px; padding: 14px 40px; }

/* Progress */
.btm-progress {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 40px 0;
}
.btm-progress-label { font-size: 15px; font-weight: 600; color: var(--k-text); margin: 0; }
.btm-spinner {
  width: 40px; height: 40px; border: 4px solid var(--k-border);
  border-top-color: #ef4444; border-radius: 50%;
  animation: btm-spin .8s linear infinite;
}
@keyframes btm-spin { to { transform: rotate(360deg); } }

/* Error state */
.btm-error {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  padding: 32px 0; color: var(--k-danger);
}
.btm-error-icon { font-size: 40px !important; color: var(--k-danger); }

/* Results top row */
.btm-top-row { display: flex; align-items: flex-start; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--k-border-light); margin-bottom: 20px; }
.btm-ring-box { display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; }
.btm-ring-wrap svg { display: block; }
.btm-ring-label { font-size: 12px; font-weight: 600; color: var(--k-text-secondary); margin: 0; text-align: center; }
.btm-stats-box { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.btm-stat-item {
  display: flex; flex-direction: column; align-items: center;
  min-width: 72px; gap: 2px;
  padding: 12px 16px; border: 1px solid var(--k-border-light);
  border-radius: var(--k-radius-md); background: var(--k-surface-hover);
}
.btm-stat-item .material-symbols-outlined { font-size: 20px; color: var(--k-text-secondary); }
.btm-stat-val { font-size: 22px; font-weight: 700; color: var(--k-text); }
.btm-stat-lbl { font-size: 11px; color: var(--k-text-secondary); }

/* Chips row */
.btm-chips-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.btm-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border-radius: var(--k-radius-full); font-size: 12px;
  border: 1px solid var(--k-border-light);
}
.btm-chip .material-symbols-outlined { font-size: 16px; }
.btm-chip--sender { background: var(--k-primary-light); color: var(--k-primary); border-color: var(--k-primary-light); }
.btm-chip--receiver { background: var(--k-success-light); color: var(--k-success-dark); border-color: var(--k-success-light); }
.btm-chip--warn { background: var(--k-warning-light); color: var(--k-warning-dark); border-color: var(--k-warning-light); }

/* Section titles */
.btm-section-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 700; color: var(--k-text);
  margin: 0 0 12px;
}
.btm-section-title .material-symbols-outlined { font-size: 20px; color: var(--k-text-secondary); }

/* Step group */
.btm-step-group { margin-bottom: 20px; }
.btm-step-badge {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; background: var(--k-surface-sunken);
  border-radius: var(--k-radius-sm); margin-bottom: 8px;
}
.btm-step-label { font-weight: 700; color: var(--k-primary); font-size: 13px; }
.btm-step-subj { font-size: 13px; color: var(--k-text); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.btm-step-sent, .btm-step-fail {
  display: flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600;
}
.btm-step-sent .material-symbols-outlined,
.btm-step-fail .material-symbols-outlined { font-size: 16px; }

/* Send table */
.btm-send-table { display: flex; flex-direction: column; gap: 4px; }
.btm-send-row {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 12px; border-radius: var(--k-radius-xs);
  font-size: 13px;
}
.btm-send-row--sent { background: rgba(16,185,129,.06); }
.btm-send-row--failed { background: rgba(239,68,68,.06); }
.btm-send-row .material-symbols-outlined { font-size: 18px; flex-shrink: 0; }
.btm-send-recipient { font-weight: 600; color: var(--k-text); }
.btm-send-sender { font-size: 11px; flex: 1; }
.btm-send-status { font-size: 12px; color: var(--k-text-secondary); margin-left: auto; font-family: monospace; }

/* Deliverability checks */
.btm-check-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 24px; }
.btm-check-row {
  display: flex; align-items: flex-start; gap: 10px;
  padding: 10px 14px; border-radius: var(--k-radius-sm);
  border: 1px solid transparent;
}
.btm-check--pass { background: rgba(16,185,129,.06); border-color: rgba(16,185,129,.15); }
.btm-check--warn { background: rgba(245,158,11,.06); border-color: rgba(245,158,11,.15); }
.btm-check--fail { background: rgba(239,68,68,.06); border-color: rgba(239,68,68,.15); }
.btm-check-row .material-symbols-outlined { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.btm-check--pass .material-symbols-outlined { color: var(--k-success); }
.btm-check--warn .material-symbols-outlined { color: var(--k-warning); }
.btm-check--fail .material-symbols-outlined { color: var(--k-danger,#ef4444); }
.btm-check-info { display: flex; flex-direction: column; gap: 2px; }
.btm-check-label { font-size: 13px; font-weight: 600; color: var(--k-text); }
.btm-check-detail { font-size: 12px; }

/* AI suggestion grid */
.btm-ai-grid { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.btm-ai-card {
  border: 1px solid var(--k-border); border-radius: var(--k-radius-md);
  padding: 16px; background: var(--k-surface);
  transition: box-shadow var(--k-dur-fast) var(--k-ease);
}
.btm-ai-card:hover { box-shadow: var(--k-shadow-md); }
.btm-ai-card--high { border-left: 4px solid var(--k-danger,#ef4444); }
.btm-ai-card--medium { border-left: 4px solid var(--k-warning); }
.btm-ai-card--low { border-left: 4px solid var(--k-success); }
.btm-ai-card-hdr {
  display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
}
.btm-ai-card-hdr .material-symbols-outlined { font-size: 18px; }
.btm-ai-card-title { font-size: 14px; font-weight: 700; color: var(--k-text); flex: 1; }
.btm-ai-prio-badge {
  padding: 2px 8px; border-radius: var(--k-radius-xs);
  font-size: 10px; font-weight: 700; letter-spacing: .5px;
}
.btm-ai-issue { font-size: 13px; color: var(--k-text); margin: 0 0 4px; }
.btm-ai-fix { font-size: 13px; color: var(--k-text-secondary); margin: 0 0 12px; }
.btm-ai-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.btm-ai-copy, .btm-ai-apply { font-size: 12px !important; padding: 6px 12px !important; }

/* Re-run button */
.btm-rerun-wrap { display: flex; justify-content: center; padding: 20px 0 8px; border-top: 1px solid var(--k-border-light); margin-top: 8px; }
.btm-rerun-btn { font-size: 13px; padding: 10px 24px; }

/* ── Phase Timeline ────────────────────────────────────────────── */
.btm-timeline {
  display: flex; flex-direction: row; align-items: flex-start;
  justify-content: space-between; gap: 0;
  padding: 12px 0 16px; border-bottom: 1px solid var(--k-border-light); margin-bottom: 4px;
  width: 100%; overflow: hidden;
}
.btm-tl-item  { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: 1; min-width: 0; }
.btm-tl-label { font-size: 9px; font-weight: 600; color: var(--k-text-secondary); text-transform: uppercase; letter-spacing: .4px; text-align: center; white-space: nowrap; }
.btm-tl-dot {
  width: 34px; height: 34px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--k-surface-hover); border: 2px solid var(--k-border);
  color: var(--k-text-secondary); transition: all .3s var(--k-ease);
}
.btm-tl-dot .material-symbols-outlined { font-size: 17px; }
.btm-tl-dot--active {
  background: linear-gradient(135deg,#f97316,#ef4444);
  border-color: #ef4444; color: #fff;
  box-shadow: 0 0 0 4px rgba(239,68,68,.18);
  animation: btm-tl-pulse 1.4s ease infinite;
}
.btm-tl-dot--done {
  background: var(--k-success); border-color: var(--k-success); color: #fff;
}
@keyframes btm-tl-pulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(239,68,68,.18); }
  50%       { box-shadow: 0 0 0 8px rgba(239,68,68,.06); }
}
.btm-tl-line {
  flex: 1; height: 2px; background: var(--k-border); min-width: 8px; align-self: flex-start; margin-top: 17px;
  transition: background .4s var(--k-ease);
}
.btm-tl-line--filled { background: var(--k-success); }

/* ── Progress bar ──────────────────────────────────────────────── */
.btm-progress-area { display: flex; flex-direction: column; gap: 14px; padding-top: 4px; }
.btm-pb-wrap { display: flex; flex-direction: column; gap: 6px; }
.btm-pb-track {
  height: 8px; border-radius: var(--k-radius-full);
  background: var(--k-surface-hover); overflow: hidden;
}
.btm-pb-fill {
  height: 100%; width: 0%;
  background: linear-gradient(90deg, #f97316, #ef4444);
  border-radius: var(--k-radius-full);
  transition: width .35s var(--k-ease);
}
.btm-pb-meta  { display: flex; justify-content: space-between; align-items: center; }
.btm-pb-label { font-size: 13px; font-weight: 600; color: var(--k-text); }
.btm-pb-count { font-size: 12px; color: var(--k-text-secondary); font-variant-numeric: tabular-nums; }

/* ── Counters row ──────────────────────────────────────────────── */
.btm-counters-row { display: flex; gap: 10px; flex-wrap: wrap; }
.btm-counter {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 14px; border-radius: var(--k-radius-full);
  font-size: 13px; font-weight: 600; border: 1px solid var(--k-border-light);
  background: var(--k-surface-hover);
}
.btm-counter .material-symbols-outlined { font-size: 16px; }
.btm-counter-val { font-size: 15px; font-variant-numeric: tabular-nums; }
.btm-counter--sent { color: var(--k-success); }
.btm-counter--sent .material-symbols-outlined { color: var(--k-success); }
.btm-counter--fail { color: var(--k-danger,#ef4444); }
.btm-counter--fail .material-symbols-outlined { color: var(--k-danger,#ef4444); }
.btm-counter--rem  { color: var(--k-text-secondary); }

/* ── Live feed ─────────────────────────────────────────────────── */
.btm-feed-wrap { border: 1px solid var(--k-border-light); border-radius: var(--k-radius-md); overflow: hidden; }
.btm-feed-hdr {
  display: flex; align-items: center; gap: 6px;
  padding: 8px 14px; background: var(--k-surface-sunken);
  font-size: 12px; font-weight: 700; color: var(--k-text-secondary);
  border-bottom: 1px solid var(--k-border-light);
}
.btm-feed-hdr .material-symbols-outlined { font-size: 16px; color: #f97316; }
.btm-feed { max-height: 260px; overflow-y: auto; padding: 4px 0; }
.btm-feed-row {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 14px; font-size: 12px;
  animation: btm-feed-in .22s var(--k-ease) both;
  border-bottom: 1px solid transparent;
}
.btm-feed-row:hover { background: var(--k-surface-hover); }
.btm-feed-row .material-symbols-outlined { font-size: 15px; flex-shrink: 0; }
.btm-feed-row--sent   { background: rgba(16,185,129,.04); }
.btm-feed-row--failed { background: rgba(239,68,68,.04);  }
.btm-feed-step  { font-weight: 800; color: var(--k-primary); min-width: 26px; font-size: 11px; }
.btm-feed-recip { font-weight: 600; color: var(--k-text); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.btm-feed-from  { font-size: 11px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 140px; }
.btm-feed-code  { font-family: monospace; font-size: 11px; color: var(--k-text-secondary); margin-left: auto; flex-shrink: 0; }
@keyframes btm-feed-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0);     }
}

/* ── Deliverability section animate-in ───────────────────────── */
.btm-deliv-section { margin-top: 4px; }
.btm-check-row--anim { animation: btm-slide-in .28s var(--k-ease) both; }
@keyframes btm-slide-in {
  from { opacity: 0; transform: translateX(-14px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── AI cards animate-in ───────────────────────────────────────── */
.btm-ai-section { margin-top: 4px; }
.btm-ai-card--anim { animation: btm-card-in .32s var(--k-ease) both; }
@keyframes btm-card-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Ranking leaderboard ──────────────────────────────────────── */
.btm-ranking { margin: 20px 0 4px; }
.btm-rank-table { border: 1px solid var(--k-border-light); border-radius: var(--k-radius-md); overflow: hidden; }
.btm-rank-head {
  display: grid;
  grid-template-columns: 48px 64px 1fr 52px 52px 120px;
  padding: 8px 12px; background: var(--k-surface-sunken);
  border-bottom: 1px solid var(--k-border-light);
}
.btm-rank-hdr { font-size: 10px; font-weight: 700; color: var(--k-text-secondary); text-transform: uppercase; letter-spacing: .4px; }
.btm-rank-row {
  display: grid;
  grid-template-columns: 48px 64px 1fr 52px 52px 120px;
  padding: 9px 12px; border-bottom: 1px solid var(--k-border-light);
  animation: btm-rank-in .3s var(--k-ease) both;
  transition: background .15s;
}
.btm-rank-row:last-child { border-bottom: none; }
.btm-rank-row:hover { background: var(--k-surface-hover); }
.btm-rank-row--top { background: rgba(249,115,22,.03); }
@keyframes btm-rank-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.btm-rank-cell {
  font-size: 13px; color: var(--k-text); display: flex; align-items: center;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.btm-rank-cell--rank  { justify-content: center; }
.btm-rank-cell--subj  { color: var(--k-text-secondary); font-size: 12px; }
.btm-rank-cell--sent  { color: var(--k-success); font-weight: 700; justify-content: center; }
.btm-rank-cell--fail  { color: var(--k-danger,#ef4444); font-weight: 700; justify-content: center; }
.btm-rank-cell--rate  { gap: 8px; }
.btm-rank-badge {
  padding: 3px 8px; border-radius: var(--k-radius-xs);
  font-size: 14px; font-weight: 700;
}
.btm-rate-bar  { flex: 1; height: 6px; background: var(--k-border-light); border-radius: var(--k-radius-full); overflow: hidden; }
.btm-rate-fill { height: 100%; border-radius: var(--k-radius-full); transition: width .7s var(--k-ease); }
.btm-rate-pct  { font-size: 12px; font-weight: 700; min-width: 32px; text-align: right; color: var(--k-text); }

/* ── Results area ─────────────────────────────────────────────── */
.btm-results-area { border-top: 1px solid var(--k-border-light); margin-top: 20px; padding-top: 20px; }

@media (max-width: 600px) {
  .btm-top-row  { flex-direction: column; align-items: center; }
  .btm-chip     { font-size: 11px; }
  .btm-rank-head, .btm-rank-row { grid-template-columns: 40px 48px 1fr 40px 40px 80px; }
  .btm-feed-from { display: none; }
  .modal--boom-test { max-width: 100%; }
}

