.cb-integrations-hub { display: grid; gap: 22px; }
.cb-integrations-page-header .cb-page-title svg { color: var(--cb-accent); }
.cb-integration-route-pill { display:inline-flex; padding:7px 10px; border-radius:999px; background:var(--cb-accent-softest); color:var(--cb-accent-strong); font-weight:700; font-size:12px; }
.cb-integrations-section { display:grid; gap:14px; }
.cb-section-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; }
.cb-section-heading-row h2 { margin:0; font-size:22px; }
.cb-integrations-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.cb-integration-card { background:#fff; border:1px solid #e5eaf3; border-radius:22px; padding:18px; box-shadow:0 16px 40px rgba(15,23,42,.06); display:grid; gap:12px; }
.cb-integration-card-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.cb-integration-icon { width:44px; height:44px; border-radius:15px; background:linear-gradient(135deg,var(--cb-accent-soft),var(--cb-accent-soft)); color:var(--cb-accent-strong); display:inline-flex; align-items:center; justify-content:center; font-size:22px; font-weight:900; }
.cb-integration-card h3 { margin:0; font-size:18px; color:#0f172a; }
.cb-integration-card p { margin:0; color:#64748b; line-height:1.5; }
.cb-integration-status { border-radius:999px; padding:5px 9px; font-size:12px; font-weight:800; background:#f1f5f9; color:#475569; }
.cb-integration-status--connected { background:#dcfce7; color:#166534; }
.cb-integration-status--needs_attention, .cb-integration-status--error { background:#fee2e2; color:#991b1b; }
.cb-integration-status--coming_soon { background:#fef3c7; color:#92400e; }
.cb-integration-chips { display:flex; flex-wrap:wrap; gap:6px; }
.cb-integration-chip { font-size:11px; font-weight:800; color:#334155; background:#f8fafc; border:1px solid #e2e8f0; border-radius:999px; padding:4px 8px; text-transform:capitalize; }
.cb-integration-meta { font-size:12px; color:#94a3b8 !important; }
.cb-integration-actions, .cb-integration-form-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.cb-integration-config { border-top:1px solid #edf2f7; padding-top:14px; }
.cb-integration-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.cb-integration-field { display:grid; gap:6px; font-weight:800; color:#334155; font-size:13px; }
.cb-integration-field input, .cb-integration-field select, .cb-integration-field textarea { width:100%; border:1px solid #d8e0ee; border-radius:12px; padding:10px 12px; background:#fff; color:#0f172a; font:inherit; }
.cb-integration-field textarea { min-height:96px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; }
.cb-integration-field small { font-weight:500; color:#64748b; }
.cb-integration-field--wide { grid-column:1/-1; }
.cb-integration-message { font-weight:800; color:var(--cb-accent); }
.cb-integrations-legacy-note { background:#f8fafc; }
@media (max-width:720px){ .cb-section-heading-row{align-items:flex-start; flex-direction:column;} .cb-integrations-grid{grid-template-columns:1fr;} .cb-integration-form-grid{grid-template-columns:1fr;} }


.cb-integration-provider-logo-wrap { min-width:48px; height:48px; border-radius:15px; display:inline-flex; align-items:center; justify-content:center; background:var(--cb-surface-soft,#f8fafc); border:1px solid var(--cb-border,#e5e7eb); padding:7px; }
.cb-integration-provider-logo-wrap.is-wide { width:auto; min-width:78px; padding:8px 10px; }
.cb-integration-provider-logo-wrap.is-square { width:48px; min-width:48px; }
.cb-integration-provider-logo { display:block; max-width:112px; max-height:34px; width:auto; height:auto; object-fit:contain; }
.cb-integration-provider-logo-wrap.is-square .cb-integration-provider-logo { max-width:30px; max-height:30px; }
.cb-integration-card.is-coming-soon .cb-integration-provider-logo { filter:grayscale(.08); opacity:.84; }

/* Salesforce active integration state */
.cb-salesforce-connected-summary {
  background: var(--cb-accent-softest, #eff6ff);
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  border-radius: 14px;
  padding: 14px 16px;
  margin: 8px 0 14px;
}
.cb-salesforce-connected-summary p {
  margin: 4px 0;
  color: var(--cb-text, #0f172a);
}

/* v5.6.4.2 Salesforce connection and metadata polish */
.cb-integration-notice {
  margin: 0 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  background: var(--cb-accent-softest, #eff6ff);
  color: var(--cb-accent-text, #1e40af);
  font-weight: 700;
}
.cb-salesforce-card-summary,
.cb-salesforce-connected-summary {
  margin: 12px 0;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--cb-border, #e5e7eb);
  background: var(--cb-surface-soft, #f8fafc);
}
.cb-salesforce-card-summary p,
.cb-salesforce-connected-summary p { margin: 5px 0; color: var(--cb-muted, #64748b); font-size: 12px; }
.cb-sf-badge-row { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; }
.cb-sf-env-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 800;
  border: 1px solid var(--cb-border, #e5e7eb);
  background: #fff;
  color: var(--cb-muted, #64748b);
}
.cb-sf-env-badge.is-production { background: var(--cb-accent-softest, #eff6ff); color: var(--cb-accent-text, #1e40af); border-color: var(--cb-accent-border, #bfdbfe); }
.cb-sf-env-badge.is-sandbox { background: var(--cb-warning-soft, #fef3c7); color: var(--cb-warning-text, #92400e); border-color: var(--cb-warning-border, #fde68a); }
.cb-sf-env-badge.is-connected { background: var(--cb-success-soft, #dcfce7); color: var(--cb-success-text, #166534); border-color: var(--cb-success-border, #bbf7d0); }
.cb-sf-env-badge.is-muted { background: #f1f5f9; color: #475569; }

/* v5.6.4.2 Salesforce connection and metadata polish */
.cb-salesforce-connected-summary {
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  background: linear-gradient(135deg, var(--cb-accent-softest, #eff6ff), #fff);
  border-radius: 16px;
  padding: 14px 16px;
  margin: 10px 0 14px;
}
.cb-salesforce-summary-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 8px;
}
.cb-salesforce-connected-summary p { margin: 4px 0; color: #334155; }
.cb-salesforce-env-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  color: var(--cb-accent-text, #1e40af);
  background: var(--cb-accent-soft, #dbeafe);
}
.cb-salesforce-env-badge--sandbox { color: #92400e; border-color: #fde68a; background: #fef3c7; }
.cb-salesforce-notice {
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 700;
  margin-bottom: 12px;
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  color: var(--cb-accent-text, #1e40af);
  background: var(--cb-accent-softest, #eff6ff);
}
.cb-salesforce-notice--error { border-color: #fecaca; color: #991b1b; background: #fee2e2; }

/* v5.6.4.2.1 integrations compact cards + full-width selected provider panel */
.cb-integrations-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items: stretch;
}
.cb-integration-card {
  min-width: 0;
  align-content: start;
}
.cb-integration-card.is-selected {
  border-color: var(--cb-accent-border, #bfdbfe);
  box-shadow: 0 18px 48px rgba(37, 99, 235, .12);
}
.cb-integration-chips,
.cb-integration-actions,
.cb-integration-form-actions {
  min-width: 0;
}
.cb-integration-chip,
.cb-integration-actions .cb-btn,
.cb-integration-form-actions .cb-btn {
  flex: 0 0 auto;
  white-space: nowrap;
}
.cb-integration-actions .cb-btn {
  min-width: 112px;
  justify-content: center;
}
.cb-integration-selected-panel {
  grid-column: 1 / -1;
  margin-top: 8px;
}
.cb-integration-config-panel {
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  background: linear-gradient(135deg, var(--cb-accent-softest, #eff6ff), #fff);
  box-shadow: 0 22px 64px rgba(15, 23, 42, .10);
}
.cb-selected-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(148, 163, 184, .24);
  padding-bottom: 16px;
  margin-bottom: 18px;
}
.cb-selected-provider-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex: 1;
  min-width: 0;
}
.cb-selected-provider-title {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.cb-selected-provider-title .cb-eyebrow,
.cb-selected-provider-title h3 {
  margin: 0;
}
.cb-selected-provider-title h3 {
  color: #0f172a;
  font-size: 22px;
}
.cb-integration-config-panel .cb-integration-config {
  border-top: 0;
  padding-top: 0;
}
.cb-integration-config-panel .cb-integration-form-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.cb-integrations-legacy-note {
  display: none !important;
}
@media (max-width: 840px) {
  .cb-selected-panel-head,
  .cb-selected-provider-summary {
    align-items: flex-start;
    flex-direction: column;
  }
  .cb-integration-config-panel .cb-integration-form-grid {
    grid-template-columns: 1fr;
  }
  .cb-integration-actions .cb-btn,
  .cb-integration-form-actions .cb-btn {
    min-width: 0;
  }
}

/* v5.6.4.2.2 Salesforce customer app credential setup */
.cb-salesforce-setup {
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  background: var(--cb-accent-softest, #eff6ff);
  border-radius: 16px;
  padding: 14px 16px;
  margin: 14px 0 18px;
}
.cb-salesforce-setup summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--cb-accent-text, #1e40af);
}
.cb-salesforce-setup ol {
  margin: 12px 0 0 20px;
  padding: 0;
  color: #334155;
  line-height: 1.55;
}
.cb-salesforce-redirect-box {
  border: 1px solid var(--cb-border, #e5e7eb);
  background: #fff;
  border-radius: 16px;
  padding: 14px 16px;
  margin: 0 0 18px;
}
.cb-salesforce-redirect-box label > span {
  display: block;
  font-weight: 800;
  color: #0f172a;
  margin-bottom: 8px;
}
.cb-copy-row {
  display: flex;
  gap: 10px;
  align-items: center;
}
.cb-copy-row input {
  flex: 1 1 auto;
  min-width: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.cb-salesforce-credentials-grid {
  align-items: start;
}
.cb-integration-form [data-salesforce-connect][disabled],
.cb-integration-form [data-salesforce-test][disabled],
.cb-integration-form [data-salesforce-refresh-fields][disabled] {
  opacity: .55;
  cursor: not-allowed;
}
.cb-sf-env-badge.is-muted {
  background: var(--cb-accent-soft, #dbeafe);
  color: var(--cb-accent-text, #1e40af);
  border-color: var(--cb-accent-border, #bfdbfe);
}

/* v5.6.4.5 Salesforce Object Mapping Library */
.cb-salesforce-mapping-library {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--cb-border, #e5e7eb);
}
.cb-salesforce-mapping-editor {
  margin-top: 18px;
  border: 1px solid var(--cb-border, #e5e7eb);
  border-radius: 16px;
  background: var(--cb-surface-soft, #f8fafc);
  padding: 14px 16px;
}
.cb-salesforce-mapping-editor > summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--cb-text, #0f172a);
}
.cb-salesforce-mapping-editor form {
  margin-top: 16px;
}
.cb-salesforce-mapping-editor textarea {
  width: 100%;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.cb-salesforce-mapping-action-settings {
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid var(--cb-accent-border, #bfdbfe);
  border-radius: 14px;
  background: var(--cb-accent-softest, #eff6ff);
}
