/* Marketplace Radar — isolated module styles (mp- prefix only) */

.mp-page { padding: 0 4px 24px; max-width: 1400px; }
.mp-page-compact { padding-bottom: 16px; }

.mp-exec-strip {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 12px;
  padding: 14px 18px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
  margin-bottom: 14px;
}
@media (max-width: 1000px) { .mp-exec-strip { grid-template-columns: 1fr 1fr; } }
.mp-exec-label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--color-text-secondary, #6B7280); }
.mp-exec-metric strong, .mp-exec-org strong { display: block; font-size: 22px; font-weight: 700; margin-top: 2px; }
.mp-warn-text { color: #B45309; }

.mp-kpi-compact { padding: 12px 14px; }
.mp-kpi-compact .mp-kpi-value { font-size: 20px; }

.mp-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.mp-grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; }
@media (max-width: 1000px) { .mp-grid-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .mp-grid-3 { grid-template-columns: 1fr; } }

/* Dashboard primary column (Priority Actions — the actionable list) + a
   narrower secondary rail (Channel Health, Channel Opportunity, Expansion
   Signals stacked) — replaces the old 4-equal-column grid where the most
   actionable widget had no more visual weight than a supporting one. */
.mp-dash-columns { display: grid; grid-template-columns: 1.6fr 1fr; gap: 12px; align-items: start; }
.mp-dash-rail { display: flex; flex-direction: column; gap: 12px; }
.mp-dash-primary { min-height: 100%; }
@media (max-width: 1000px) { .mp-dash-columns { grid-template-columns: 1fr; } }

.mp-tenant-bar {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 8px 12px; margin-bottom: 10px;
  background: #F9FAFB; border: 1px solid var(--color-border, #E5E7EB); border-radius: 8px;
  font-size: 13px; color: var(--color-text-secondary, #4B5563);
}
.mp-tenant-divider { color: #D1D5DB; }
.mp-tenant-ws select { font: inherit; font-size: 13px; padding: 3px 8px; border-radius: 6px; border: 1px solid #D1D5DB; }
.mp-tenant-role { margin-left: auto; font-weight: 600; text-transform: capitalize; }

.mp-opp-row { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; border-bottom: 1px solid #F3F4F6; font-size: 13px; }
.mp-opp-row:last-child { border-bottom: none; }

.mp-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 1000;
  padding: 8px 16px; background: #2563EB; color: #fff; font-weight: 600; text-decoration: none; border-radius: 0 0 8px 0;
}
.mp-skip-link:focus { left: 0; }
.mp-section-compact { padding: 12px 14px; }
.mp-section-compact h3 { margin: 0 0 8px; font-size: 13px; }

.mp-page-header-inline { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.mp-page-header-inline h2 { margin: 0; font-size: 20px; font-weight: 700; color: var(--color-text-primary, #111827); }
.mp-page-header-inline p { margin: 2px 0 0; font-size: 13px; }

.mp-filter-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 10px 12px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 8px;
  margin-bottom: 10px;
}
.mp-filter-search { flex: 1; min-width: 160px; font: inherit; font-size: 13px; padding: 6px 10px; border: 1px solid var(--color-border, #D1D5DB); border-radius: 6px; }
.mp-filter-bar select { font: inherit; font-size: 13px; padding: 6px 10px; border: 1px solid var(--color-border, #D1D5DB); border-radius: 6px; background: #fff; }

.mp-add-form-compact { padding: 10px 12px; margin-bottom: 10px; }
.mp-table-dense th, .mp-table-dense td { padding: 7px 12px; font-size: 13px; }
.mp-table-dense code { font-size: 12px; background: #F3F4F6; padding: 1px 5px; border-radius: 4px; }

.mp-action-list { margin: 0; padding-left: 18px; font-size: 13px; }
.mp-action-list li { margin-bottom: 8px; }
.mp-action-link { text-decoration: none; color: inherit; display: block; }
.mp-action-link span { display: block; font-size: 12px; color: var(--color-text-secondary, #6B7280); margin-top: 1px; }
.mp-action-link:hover strong { color: var(--color-primary, #2563EB); }

.mp-channel-bars { display: flex; flex-direction: column; gap: 6px; }
.mp-channel-row { display: grid; grid-template-columns: 100px 1fr 40px; gap: 8px; align-items: center; font-size: 12px; }
.mp-channel-bar { height: 8px; background: #E5E7EB; border-radius: 4px; overflow: hidden; }
.mp-channel-fill { height: 100%; background: #2563EB; border-radius: 4px; }
.mp-channel-pct { text-align: right; font-weight: 600; font-size: 12px; }

.mp-section-more { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 600; color: var(--color-primary, #2563EB); text-decoration: none; }
.mp-section-more:hover { text-decoration: underline; }

.mp-alert-compact { padding: 8px 10px; margin-bottom: 6px; }
.mp-alert-compact strong { font-size: 13px; }

.mp-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 10px; font-size: 13px; }
.mp-page-info { color: var(--color-text-secondary, #6B7280); }

.mp-price-down { color: #047857; font-weight: 600; }
.mp-price-up { color: #B91C1C; font-weight: 600; }

.mp-page-header { margin-bottom: 20px; }
.mp-page-header h2 { margin: 0 0 4px; font-size: 20px; font-weight: 700; color: var(--color-text-primary, #111827); }
.mp-page-header p { margin: 0; font-size: 14px; color: var(--color-text-secondary, #6B7280); }

.mp-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.mp-kpi-grid-sm { grid-template-columns: repeat(4, minmax(120px, 1fr)); }

.mp-kpi-card {
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
  padding: 16px 18px;
}
.mp-kpi-label { display: block; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text-secondary, #6B7280); }
.mp-kpi-value { display: block; font-size: 26px; font-weight: 700; color: var(--color-text-primary, #111827); margin: 4px 0 2px; }
.mp-kpi-sub { font-size: 12px; color: var(--color-text-secondary, #9CA3AF); }

.mp-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 900px) { .mp-grid-2 { grid-template-columns: 1fr; } }

.mp-section {
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
  padding: 16px 18px;
}
.mp-section h3 { margin: 0 0 12px; font-size: 14px; font-weight: 700; }

.mp-subhead { margin: 24px 0 10px; font-size: 14px; font-weight: 700; }

.mp-muted { color: var(--color-text-secondary, #6B7280); font-size: 13px; margin: 0; }

.mp-add-form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  padding: 14px 16px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
}
.mp-add-form input {
  flex: 1;
  min-width: 200px;
  font: inherit;
  font-size: 14px;
  padding: 8px 12px;
  border: 1px solid var(--color-border, #D1D5DB);
  border-radius: 8px;
}
.mp-add-form input:focus { outline: 2px solid var(--color-primary, #2563EB); outline-offset: 1px; border-color: transparent; }

.mp-table-wrap {
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
  overflow-x: auto;
}
.mp-matrix-wrap { overflow-x: auto; }

.mp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mp-table th {
  text-align: left;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--color-text-secondary, #6B7280);
  padding: 10px 14px;
  border-bottom: 1px solid var(--color-border, #E5E7EB);
  background: var(--color-background, #F9FAFB);
  white-space: nowrap;
}
.mp-table td { padding: 10px 14px; border-bottom: 1px solid #F3F4F6; vertical-align: middle; }
.mp-table tbody tr:last-child td { border-bottom: none; }
.mp-table tbody tr:hover { background: #F8FAFF; }
.mp-cell-primary { font-weight: 600; color: var(--color-text-primary, #111827); }
.mp-actions { white-space: nowrap; }

.mp-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: 2px 8px;
  border-radius: 999px;
  background: #F3F4F6;
  color: #4B5563;
}
.mp-badge-ok { background: #ECFDF5; color: #047857; }
.mp-badge-warn { background: #FEF3C7; color: #92400E; }
.mp-badge-info { background: #EFF6FF; color: #1D4ED8; }

.mp-presence { font-weight: 800; font-size: 15px; }
.mp-presence-yes { color: #047857; }
.mp-presence-no { color: #B91C1C; }
.mp-presence-unknown { color: #4b5563; }
.mp-evidence-link { display: block; font-size: 12px; font-weight: 600; color: var(--color-primary, #2563EB); margin-top: 2px; }

.mp-empty-state {
  text-align: center;
  padding: 48px 24px;
  background: var(--color-white, #fff);
  border: 1px dashed var(--color-border, #D1D5DB);
  border-radius: 12px;
  margin: 16px 0;
}
.mp-empty-icon { color: #4b5563; margin-bottom: 8px; }
/* `.mp-empty` was used by competitor.js / pipeline.js but never defined, so those
   "run a Competitor Gap first" states rendered as bare unstyled text. Give it the
   same dashed-card treatment as the shared empty-state so it matches everywhere. */
.mp-empty {
  text-align: center;
  padding: 32px 24px;
  color: var(--color-text-muted, #6B7280);
  background: var(--color-white, #fff);
  border: 1px dashed var(--color-border, #D1D5DB);
  border-radius: 12px;
  margin: 16px 0;
}
.mp-empty-state h3 { margin: 0 0 8px; font-size: 16px; }
.mp-empty-state p { margin: 0 auto 16px; max-width: 420px; font-size: 14px; color: var(--color-text-secondary, #6B7280); line-height: 1.5; }

.mp-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: #EFF6FF;
  border: 1px solid #BFDBFE;
  border-radius: 8px;
  margin-top: 12px;
  font-size: 13px;
  color: #1D4ED8;
}
.mp-spinner {
  width: 18px; height: 18px;
  border: 2px solid #BFDBFE;
  border-top-color: #2563EB;
  border-radius: 50%;
  animation: mp-spin .8s linear infinite;
}
@keyframes mp-spin { to { transform: rotate(360deg); } }

.mp-error {
  padding: 12px 14px;
  background: #FEF2F2;
  border: 1px solid #FECACA;
  border-radius: 8px;
  color: #991B1B;
  font-size: 13px;
  margin-top: 12px;
}
.mp-info {
  padding: 12px 14px;
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  border-radius: 8px;
  color: #92400E;
  font-size: 13px;
  margin: 12px 0;
}

.mp-alert-list { display: flex; flex-direction: column; gap: 10px; }
.mp-alert {
  padding: 14px 16px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-left: 4px solid #D1D5DB;
  border-radius: 8px;
}
.mp-alert-high, .mp-alert-high { border-left-color: #DC2626; }
.mp-alert-medium { border-left-color: #D97706; }
.mp-alert-low { border-left-color: #2563EB; }
.mp-alert-read { opacity: .65; }
.mp-alert-head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.mp-alert p { margin: 0 0 8px; font-size: 13px; color: var(--color-text-secondary, #4B5563); }

.mp-connector-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}
.mp-connector-card {
  display: flex;
  gap: 12px;
  padding: 14px 16px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
  cursor: pointer;
}
.mp-connector-card:has(input:checked) { border-color: #93C5FD; background: #F8FAFF; }
.mp-connector-card input { margin-top: 4px; }
.mp-connector-body { display: flex; flex-direction: column; gap: 4px; }
.mp-connector-body strong { font-size: 14px; }

.mp-agent-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 12px;
}
.mp-agent-card {
  padding: 14px 16px;
  background: var(--color-white, #fff);
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
}
.mp-agent-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 6px; }
.mp-agent-head strong { font-size: 14px; }
.mp-agent-meta { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--color-text-secondary, #9CA3AF); margin-top: 8px; }

.mp-settings { display: flex; flex-direction: column; gap: 12px; max-width: 480px; }
.mp-setting-row { display: flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; }
.mp-danger { color: #B91C1C !important; }

.mp-toolbar { margin-bottom: 16px; }

.mp-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  padding: 10px 16px;
  background: #111827;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .2s, transform .2s;
  z-index: 999;
  pointer-events: none;
}
.mp-toast.show { opacity: 1; transform: translateY(0); }

/* Sync status bar (orchestrator) */
.mp-status-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 6px 12px;
  margin-bottom: 8px;
  font-size: 12px;
  font-weight: 600;
  border-radius: 6px;
  border: 1px solid var(--color-border, #E5E7EB);
}
.mp-status-bar span { display: inline-flex; align-items: center; gap: 5px; }
.mp-status-ok { background: #F0FDF4; color: #166534; border-color: #BBF7D0; }
.mp-status-warn { background: #FFFBEB; color: #92400E; border-color: #FDE68A; }
.mp-status-err { color: #B91C1C; font-weight: 500; }

/* CSV import label (styled as button) */
.mp-import-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  margin: 0;
}
.mp-import-label input[type="file"] { display: none; }

/* Virtual scroll table (100K+ row UI pattern) */
.mp-vscroll { border: 1px solid var(--color-border, #E5E7EB); border-radius: 8px; }
.mp-vtable thead th {
  position: sticky;
  top: 0;
  background: #F9FAFB;
  z-index: 1;
}

/* AI-CRO Phase 2 */
.mp-decision-card {
  padding: 14px 16px;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid var(--color-border, #E5E7EB);
  border-left: 3px solid #2563EB;
  border-radius: 8px;
}
.mp-decision-card h4 { margin: 0 0 6px; font-size: 14px; }
.mp-decision-meta { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--color-text-secondary, #6B7280); margin-top: 8px; }
.mp-confidence-high { color: #166534; font-weight: 700; }
.mp-copilot-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 720px;
}
.mp-copilot-messages {
  min-height: 200px;
  max-height: 400px;
  overflow-y: auto;
  padding: 14px;
  background: #F9FAFB;
  border: 1px solid var(--color-border, #E5E7EB);
  border-radius: 10px;
}
.mp-copilot-msg { margin-bottom: 12px; font-size: 14px; line-height: 1.5; }
.mp-copilot-msg-user { color: #1E40AF; font-weight: 600; }
.mp-copilot-msg-ai { color: #111827; white-space: pre-wrap; }
.mp-copilot-form { display: flex; gap: 8px; }
.mp-copilot-input { flex: 1; font: inherit; padding: 10px 12px; border: 1px solid #D1D5DB; border-radius: 8px; }
.mp-threat-high { color: #B91C1C; font-weight: 700; }
.mp-threat-medium { color: #B45309; font-weight: 700; }
.mp-workflow-pending { border-left-color: #F59E0B; }
.mp-workflow-done { border-left-color: #10B981; opacity: .85; }
/* ── Competitor Assortment Gap ── */
.mp-cg-controls { display: flex; flex-wrap: wrap; gap: 16px; align-items: flex-end; padding: 16px; background: var(--color-surface, #fff); border: 1px solid #E5E7EB; border-radius: 12px; margin-bottom: 16px; }
.mp-cg-field { display: flex; flex-direction: column; gap: 6px; }
.mp-cg-field-grow { flex: 1; min-width: 260px; }
.mp-cg-field label { font-size: 12px; font-weight: 600; color: var(--color-text-secondary, #6B7280); }
.mp-select { font: inherit; padding: 9px 12px; border: 1px solid #D1D5DB; border-radius: 8px; background: #fff; min-width: 180px; }
.mp-cg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mp-cg-chip { display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px; border: 1px solid #D1D5DB; border-radius: 999px; background: #F9FAFB; font-size: 13px; color: #374151; cursor: pointer; transition: all .12s; }
.mp-cg-chip:hover { border-color: #9CA3AF; }
.mp-cg-chip.is-on { background: #2563EB; border-color: #2563EB; color: #fff; }
.mp-cg-auto { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; background: rgba(0,0,0,.08); padding: 1px 5px; border-radius: 6px; margin-left: 2px; }
.mp-cg-chip.is-on .mp-cg-auto { background: rgba(255,255,255,.22); }
.mp-cg-add { display: flex; gap: 6px; margin-top: 4px; }
.mp-cg-add input { font: inherit; padding: 7px 10px; border: 1px solid #D1D5DB; border-radius: 8px; min-width: 200px; }
.mp-cg-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 4px 0 10px; }
.mp-cg-stat { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; background: var(--color-surface, #fff); border: 1px solid #E5E7EB; border-radius: 12px; }
.mp-cg-num { font-size: 26px; font-weight: 800; color: #111827; line-height: 1.1; }
.mp-cg-lbl { font-size: 12px; color: #4b5563; }
.mp-cg-stat-adv { border-left: 3px solid #10B981; }
.mp-cg-stat-adv .mp-cg-num { color: #059669; }
.mp-cg-stat-gap { border-left: 3px solid #F59E0B; }
.mp-cg-stat-gap .mp-cg-num { color: #B45309; }
.mp-cg-warn { color: #B45309; }
.mp-cg-tabs { display: flex; align-items: center; gap: 8px; margin: 14px 0 10px; flex-wrap: wrap; }
.mp-cg-tab { padding: 8px 14px; border: 1px solid #D1D5DB; border-radius: 8px; background: #fff; font: inherit; font-size: 13px; font-weight: 600; color: #4b5563; cursor: pointer; }
.mp-cg-tab.is-active { background: #111827; border-color: #111827; color: #fff; }
.mp-cg-export { margin-left: auto; }
.mp-fineprint { font-size: 12px; color: #4b5563; margin-top: 10px; }
.mp-conf-cell { cursor: help; }
.mp-conf-info { color: #4b5563; font-size: 12px; }

@media (prefers-color-scheme: dark) {
  .mp-cg-controls, .mp-cg-stat { background: #111827; border-color: #1F2937; }
  .mp-select, .mp-cg-add input { background: #0B1220; border-color: #374151; color: #E5E7EB; }
  .mp-cg-chip { background: #1F2937; border-color: #374151; color: #D1D5DB; }
  .mp-cg-num { color: #F9FAFB; }
  .mp-cg-tab { background: #1F2937; border-color: #374151; color: #4b5563; }
}

/* ── Price Intelligence ── */
.mp-pl-import { padding: 16px; background: var(--color-surface, #fff); border: 1px solid #E5E7EB; border-radius: 12px; }
.mp-pl-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.mp-pl-own-check { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #374151; padding-bottom: 8px; }
.mp-pl-filebtn { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.mp-pl-sources { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.mp-pl-source { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border: 1px solid #E5E7EB; border-radius: 999px; background: #F9FAFB; font-size: 13px; }
.mp-pl-source.is-own { border-color: #2563EB; background: #EFF6FF; }
.mp-pl-src-name { font-weight: 600; color: #111827; }
.mp-pl-clear { border: none; background: none; color: #4b5563; font-size: 16px; cursor: pointer; line-height: 1; padding: 0 2px; }
.mp-pl-clear:hover { color: #EF4444; }
.mp-pl-barcode { font-family: ui-monospace, monospace; font-size: 12px; }
.mp-pl-pos { padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 600; text-transform: capitalize; }
.mp-pl-pos-lowest { background: #DCFCE7; color: #166534; }
.mp-pl-pos-mid { background: #FEF3C7; color: #92400E; }
.mp-pl-pos-highest { background: #FEE2E2; color: #991B1B; }
.mp-pl-over { color: #B91C1C; font-weight: 700; }
.mp-pl-under { color: #059669; font-weight: 700; }
.mp-pl-rec { font-size: 13px; max-width: 320px; }
.mp-pl-apply { margin-top: 4px; border: 1px solid #2563EB; color: #2563EB; background: #fff; border-radius: 6px; padding: 2px 8px; font-size: 12px; cursor: pointer; }
.mp-pl-apply:hover { background: #2563EB; color: #fff; }

/* ── Content Studio ── */
.mp-cs-layout { display: grid; grid-template-columns: 240px 1fr; gap: 16px; margin-top: 16px; align-items: start; }
.mp-cs-list { display: flex; flex-direction: column; gap: 4px; max-height: 70vh; overflow-y: auto; border: 1px solid #E5E7EB; border-radius: 10px; padding: 6px; }
.mp-cs-item { text-align: left; padding: 9px 11px; border: none; background: none; border-radius: 8px; font: inherit; font-size: 13px; color: #374151; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mp-cs-item:hover { background: #F3F4F6; }
.mp-cs-item.is-active { background: #2563EB; color: #fff; }
.mp-cs-detail { display: flex; flex-direction: column; gap: 12px; }
.mp-cs-block { border: 1px solid #E5E7EB; border-radius: 10px; padding: 12px 14px; background: var(--color-surface, #fff); }
.mp-cs-h { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #4b5563; margin-bottom: 6px; }
.mp-cs-copy { margin-left: auto; border: 1px solid #D1D5DB; background: #fff; border-radius: 6px; padding: 2px 9px; font-size: 12px; cursor: pointer; color: #374151; }
.mp-cs-copy:hover { border-color: #2563EB; color: #2563EB; }
.mp-cs-val { font-size: 14px; color: #111827; line-height: 1.55; }
.mp-cs-val ul, .mp-cs-val ol { margin: 0; padding-left: 20px; }
.mp-cs-val p { margin: 0 0 8px; }
.mp-cs-kw { display: inline-block; background: #EFF6FF; color: #1D4ED8; padding: 2px 8px; border-radius: 6px; font-size: 12px; margin: 2px 2px 0 0; }
.mp-cs-code { background: #0B1220; color: #D1D5DB; padding: 12px; border-radius: 8px; overflow-x: auto; font-family: ui-monospace, monospace; font-size: 12px; white-space: pre; }

@media (max-width: 720px) { .mp-cs-layout { grid-template-columns: 1fr; } .mp-cs-list { flex-direction: row; overflow-x: auto; } }
@media (prefers-color-scheme: dark) {
  .mp-pl-import, .mp-cs-block, .mp-cs-list { background: #111827; border-color: #1F2937; }
  .mp-pl-source { background: #1F2937; border-color: #374151; }
  .mp-pl-src-name, .mp-cs-val { color: #E5E7EB; }
  .mp-cs-item { color: #D1D5DB; }
  .mp-cs-item:hover { background: #1F2937; }
}

/* Competitor Gap — CSV-only marketplace chips */
.mp-cg-chip.mp-cg-csv { border-style: dashed; }
.mp-cg-csvtag { background: #FEF3C7 !important; color: #92400E !important; }
.mp-cg-chip.is-on .mp-cg-csvtag { background: rgba(255,255,255,.25) !important; color: #fff !important; }

/* ══ Marketplace Capability Matrix — graded intelligence tiers ══ */
.mp-cap-stars { font-size: 12px; letter-spacing: -.5px; white-space: nowrap; }
.mp-cg-chip .mp-cap-stars { margin-left: 2px; opacity: .95; }
/* Per-tier accent on chips (left border) + star colour */
.mp-cg-chip.mp-cap-t5 { border-left: 3px solid #059669; }
.mp-cg-chip.mp-cap-t4 { border-left: 3px solid #2563EB; }
.mp-cg-chip.mp-cap-t3 { border-left: 3px solid #0891B2; }
.mp-cg-chip.mp-cap-t2 { border-left: 3px solid #D97706; }
.mp-cg-chip.mp-cap-t1 { border-left: 3px solid #9CA3AF; border-style: dashed; }
.mp-cap-t5 .mp-cap-stars { color: #059669; }
.mp-cap-t4 .mp-cap-stars { color: #2563EB; }
.mp-cap-t3 .mp-cap-stars { color: #0891B2; }
.mp-cap-t2 .mp-cap-stars { color: #D97706; }
.mp-cap-t1 .mp-cap-stars { color: #4b5563; }
.mp-cg-chip.is-on .mp-cap-stars { color: rgba(255,255,255,.92); }

.mp-cap-matrix { margin: 14px 0 4px; border: 1px solid var(--color-border, #E5E7EB); border-radius: 12px; background: var(--color-surface, #fff); overflow: hidden; }
.mp-cap-matrix > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 12px 16px; font-weight: 600; font-size: 14px; color: var(--color-text-primary, #111827); flex-wrap: wrap; }
.mp-cap-matrix > summary::-webkit-details-marker { display: none; }
.mp-cap-leghint { display: inline-flex; gap: 12px; flex-wrap: wrap; margin-left: auto; font-weight: 500; }
.mp-cap-legkey { font-size: 12px; color: var(--color-text-secondary, #6B7280); white-space: nowrap; }
.mp-cap-legkey b { letter-spacing: -.5px; margin-right: 3px; }
.mp-cap-legkey.mp-cap-t5 b { color: #059669; } .mp-cap-legkey.mp-cap-t4 b { color: #2563EB; }
.mp-cap-legkey.mp-cap-t3 b { color: #0891B2; } .mp-cap-legkey.mp-cap-t2 b { color: #D97706; }
.mp-cap-legkey.mp-cap-t1 b { color: #4b5563; }
.mp-cap-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.mp-cap-table th, .mp-cap-table td { text-align: left; padding: 9px 14px; border-top: 1px solid var(--color-border, #EEF0F3); vertical-align: top; }
.mp-cap-table th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text-secondary, #6B7280); font-weight: 600; background: var(--color-surface-subtle, #F9FAFB); }
.mp-cap-table td.mp-cap-lim { color: var(--color-text-secondary, #6B7280); max-width: 320px; }
.mp-cap-you { display: inline-block; padding: 1px 7px; border-radius: 999px; background: #DBEAFE; color: #1D4ED8; font-size: 12px; font-weight: 600; }
.mp-cap-table tr.mp-cap-more td { color: var(--color-text-secondary, #6B7280); font-style: italic; font-size: 12px; }
.mp-cap-foot { margin: 0; padding: 10px 16px 13px; font-size: 12px; color: var(--color-text-secondary, #6B7280); border-top: 1px solid var(--color-border, #EEF0F3); }

@media (max-width: 720px) { .mp-cap-leghint { margin-left: 0; width: 100%; } }
@media (prefers-color-scheme: dark) {
  .mp-cap-matrix { background: #111827; border-color: #1F2937; }
  .mp-cap-matrix > summary { color: #F3F4F6; }
  .mp-cap-table th { background: #111827; color: #4b5563; }
  .mp-cap-table th, .mp-cap-table td { border-color: #1F2937; }
  .mp-cap-you { background: #1E3A8A; color: #BFDBFE; }
  .mp-cap-t5 .mp-cap-stars { color: #34D399; } .mp-cap-t4 .mp-cap-stars { color: #60A5FA; }
  .mp-cap-t3 .mp-cap-stars { color: #22D3EE; } .mp-cap-t2 .mp-cap-stars { color: #FBBF24; }
}

/* ══ Competitor Gap — Intelligence Workspace ══ */
.mp-cg-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.mp-cg-viewtoggle { display: inline-flex; background: #F3F4F6; border-radius: 9px; padding: 3px; flex-shrink: 0; }
.mp-seg { display: inline-flex; align-items: center; gap: 5px; border: none; background: none; padding: 6px 12px; font: inherit; font-size: 13px; font-weight: 600; color: #4b5563; border-radius: 7px; cursor: pointer; }
.mp-seg.is-on { background: #fff; color: #111827; box-shadow: 0 1px 3px rgba(0,0,0,.08); }

/* Executive summary cards */
.mp-exec-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 18px 0 12px; }
.mp-exec-card { border: 1px solid #E5E7EB; border-radius: 12px; padding: 14px 16px; background: var(--color-surface, #fff); display: flex; flex-direction: column; gap: 2px; }
.mp-exec-hero { background: linear-gradient(180deg, #EFF6FF, #fff); border-color: #DBEAFE; }
.mp-exec-adv { background: #F0FDF4; border-color: #BBF7D0; }
.mp-exec-lbl { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #4b5563; }
.mp-exec-num { font-size: 30px; font-weight: 700; color: #111827; line-height: 1.05; font-variant-numeric: tabular-nums; }
.mp-exec-sub { font-size: 12px; color: #4b5563; }
.mp-pri-high-txt { color: #B91C1C; } .mp-pri-medium-txt { color: #B45309; }
.mp-cg-needs { display: flex; align-items: flex-start; gap: 8px; background: #FFFBEB; border: 1px solid #FDE68A; color: #92400E; border-radius: 10px; padding: 10px 13px; font-size: 13px; line-height: 1.45; margin-bottom: 16px; }
.mp-cg-needs i { flex-shrink: 0; margin-top: 2px; }

/* Filter bar */
.mp-cg-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.mp-cg-filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mp-select-sm { padding: 6px 8px; font-size: 13px; border-radius: 8px; }
.mp-cg-search { min-width: 160px; padding: 6px 10px; font-size: 13px; border: 1px solid #D1D5DB; border-radius: 8px; }
.mp-cg-checkbox { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: #374151; cursor: pointer; white-space: nowrap; }

/* Table cells */
.mp-cg-table th { white-space: nowrap; }
.mp-brandlink { border: none; background: none; padding: 0; font: inherit; font-weight: 600; color: #1D4ED8; cursor: pointer; text-align: left; }
.mp-brandlink:hover { text-decoration: underline; }
.mp-owner-tag { display: inline-block; margin-left: 8px; background: #EFF6FF; color: #1D4ED8; font-size: 12px; font-weight: 600; padding: 1px 7px; border-radius: 999px; }
.mp-carrier { display: inline-block; background: #F3F4F6; color: #374151; font-size: 12px; padding: 2px 8px; border-radius: 6px; margin: 1px 3px 1px 0; }
.mp-cg-actions { white-space: nowrap; }
.mp-cg-actions .btn { margin-right: 4px; }

/* Priority / confidence pills */
.mp-pri { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.mp-pri-high { background: #FEE2E2; color: #991B1B; } .mp-pri-medium { background: #FEF3C7; color: #92400E; } .mp-pri-low { background: #F3F4F6; color: #4B5563; }
.mp-conf { display: inline-block; padding: 2px 9px; border-radius: 6px; font-size: 12px; font-weight: 600; cursor: help; }
.mp-conf-high { background: #DCFCE7; color: #166534; } .mp-conf-medium { background: #FEF3C7; color: #92400E; } .mp-conf-low { background: #F3F4F6; color: #4b5563; }
.mp-gstatus { display: inline-block; padding: 2px 9px; border-radius: 6px; font-size: 12px; font-weight: 600; }
.mp-gstatus-new { background: #EFF6FF; color: #1D4ED8; } .mp-gstatus-tracked { background: #EDE9FE; color: #6D28D9; }
.mp-gstatus-sourcing { background: #FFEDD5; color: #C2410C; } .mp-gstatus-ignored, .mp-gstatus-archived { background: #F3F4F6; color: #4b5563; }

/* Opportunity meter */
.mp-opp { display: flex; align-items: center; gap: 8px; }
.mp-opp-bar { width: 60px; height: 6px; background: #E5E7EB; border-radius: 999px; overflow: hidden; }
.mp-opp-bar span { display: block; height: 100%; background: #2563EB; border-radius: 999px; }
.mp-opp b { font-size: 13px; color: #111827; font-variant-numeric: tabular-nums; min-width: 20px; }
.mp-opp-bar-lg { width: 100%; height: 9px; margin: 6px 0 14px; }

/* Executive view */
.mp-exec-view { margin-top: 8px; }
.mp-exec-block h3 { margin: 0 0 2px; font-size: 16px; }
.mp-exec-rank { font-weight: 700; color: #4b5563; width: 28px; }
.mp-exec-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-top: 20px; }
.mp-exec-panel { border: 1px solid #E5E7EB; border-radius: 12px; padding: 14px 16px; background: var(--color-surface, #fff); }
.mp-exec-panel h4 { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; font-size: 14px; }
.mp-exec-list { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.mp-exec-list li { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; border-bottom: 1px solid #F3F4F6; padding-bottom: 5px; }
.mp-exec-list li b { color: #4B5563; white-space: nowrap; font-size: 12px; }
.mp-exec-needs { background: #FFFBEB; border-color: #FDE68A; }
.mp-needs-txt { color: #B45309 !important; font-weight: 600; }

/* Drawer */
.mp-drawer-scrim { position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 60; animation: mpFade .15s ease; }
@keyframes mpFade { from { opacity: 0; } }
.mp-drawer { position: fixed; top: 0; right: 0; height: 100vh; width: 440px; max-width: 92vw; background: var(--color-surface, #fff); z-index: 61; box-shadow: -12px 0 40px rgba(0,0,0,.18); display: flex; flex-direction: column; animation: mpSlide .2s ease; }
.mp-drawer-wide { width: 560px; }
@keyframes mpSlide { from { transform: translateX(30px); opacity: .5; } }
.mp-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 14px; border-bottom: 1px solid #E5E7EB; }
.mp-drawer-head h3 { margin: 2px 0 0; font-size: 19px; }
.mp-drawer-eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #4b5563; }
.mp-drawer-tags { display: flex; gap: 6px; margin-top: 8px; }
.mp-drawer-x { border: none; background: none; font-size: 26px; line-height: 1; color: #4b5563; cursor: pointer; padding: 0 4px; }
.mp-drawer-x:hover { color: #111827; }
.mp-drawer-body { flex: 1; overflow-y: auto; padding: 18px 22px; display: flex; flex-direction: column; gap: 20px; }
.mp-drawer-sec h4 { margin: 0 0 8px; font-size: 14px; }
.mp-drawer-sec p { margin: 0; font-size: 14px; line-height: 1.55; color: #374151; }
.mp-score-head { display: flex; align-items: baseline; justify-content: space-between; }
.mp-score-head > span:first-child { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: #4b5563; }
.mp-score-big { font-size: 30px; font-weight: 700; color: #4F46E5; } .mp-score-big small { font-size: 15px; color: #4b5563; }
.mp-score-factors { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.mp-score-factors li { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; }
.mp-sf-lbl { font-size: 13px; font-weight: 600; color: #374151; }
.mp-sf-pts { font-size: 13px; font-weight: 700; color: #4F46E5; } .mp-sf-pts small { color: #4b5563; font-weight: 500; }
.mp-sf-detail { grid-column: 1 / -1; font-size: 12px; color: #4b5563; }
.mp-score-not { margin-top: 14px; padding-top: 12px; border-top: 1px dashed #E5E7EB; }
.mp-needs-chip { display: inline-block; background: #FFFBEB; color: #B45309; border: 1px solid #FDE68A; font-size: 12px; padding: 2px 8px; border-radius: 6px; margin: 6px 4px 0 0; }
.mp-kv { display: flex; flex-direction: column; gap: 8px; }
.mp-kv > div { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; border-bottom: 1px solid #F3F4F6; padding-bottom: 7px; }
.mp-kv-k { color: #4b5563; }
.mp-drawer-needs h4 { color: #92400E; }
.mp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.mp-field-sm { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; color: #4b5563; }
.mp-field-sm .mp-input, .mp-field-sm .mp-select { font-weight: 400; color: #111827; }
.mp-input { width: 100%; padding: 7px 10px; border: 1px solid #D1D5DB; border-radius: 8px; font: inherit; font-size: 13px; box-sizing: border-box; }
.mp-watch { margin-top: 10px; }
.mp-brief summary { cursor: pointer; font-weight: 600; font-size: 14px; }
.mp-brief-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.mp-brief-table td { padding: 5px 8px; border-bottom: 1px solid #F3F4F6; font-size: 13px; }
.mp-brief-table td:first-child { color: #4b5563; width: 40%; }
.mp-brief-q { margin: 6px 0 0; padding-left: 18px; font-size: 13px; color: #B45309; }
.mp-drawer-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 22px; border-top: 1px solid #E5E7EB; }
.mp-drawer-foot-main { display: flex; gap: 8px; }
.mp-ev-item { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid #F3F4F6; font-size: 13px; }
.mp-ev-lbl { color: #4b5563; flex-shrink: 0; }

@media (max-width: 640px) { .mp-form-grid { grid-template-columns: 1fr; } .mp-cg-head { flex-direction: column; } .mp-drawer, .mp-drawer-wide { width: 100vw; } }

@media (prefers-color-scheme: dark) {
  .mp-exec-card, .mp-exec-panel, .mp-drawer { background: #111827; border-color: #1F2937; }
  .mp-drawer-head, .mp-drawer-foot { border-color: #1F2937; }
  .mp-exec-hero { background: #172033; border-color: #1e3a5f; }
  .mp-exec-adv { background: #052E16; border-color: #14532D; }
  .mp-exec-num, .mp-drawer-head h3, .mp-opp b, .mp-kv > div { color: #F9FAFB; }
  .mp-seg { color: #4b5563; } .mp-seg.is-on { background: #1F2937; color: #F9FAFB; }
  .mp-cg-viewtoggle { background: #1F2937; }
  .mp-carrier { background: #1F2937; color: #D1D5DB; }
  .mp-input, .mp-cg-search { background: #1F2937; border-color: #374151; color: #E5E7EB; }
  .mp-drawer-sec p, .mp-sf-lbl { color: #D1D5DB; }
  .mp-kv > div, .mp-ev-item, .mp-exec-list li, .mp-brief-table td { border-color: #1F2937; }
}
:root[data-theme="dark"] .mp-exec-card, :root[data-theme="dark"] .mp-exec-panel, :root[data-theme="dark"] .mp-drawer { background: #111827; border-color: #1F2937; }
:root[data-theme="light"] .mp-exec-card, :root[data-theme="light"] .mp-exec-panel, :root[data-theme="light"] .mp-drawer { background: #fff; }

/* Evidence — per-marketplace source list */
.mp-ev-sources { padding: 10px 0; border-bottom: 1px solid #F3F4F6; }
.mp-ev-sources > .mp-ev-lbl { display: block; margin-bottom: 8px; }
.mp-ev-source { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 10px; margin-top: 6px; background: #F9FAFB; border: 1px solid #F3F4F6; border-radius: 8px; font-size: 13px; }
.mp-ev-mk { font-weight: 600; color: #111827; } .mp-ev-mk small { font-weight: 400; color: #4b5563; }
@media (prefers-color-scheme: dark) { .mp-ev-source { background: #1F2937; border-color: #374151; } .mp-ev-mk { color: #F9FAFB; } .mp-ev-sources { border-color: #1F2937; } }

/* Competitor Gap — CSV competitor chips + import */
.mp-cg-chip-csv { border-style: solid; border-color: #C7D2FE; background: #EEF2FF; color: #3730A3; }
.mp-cg-chip-csv.is-on { background: #4338CA; color: #fff; border-color: #4338CA; }
.mp-cg-import { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; border: 1px dashed #A5B4FC; color: #4338CA; }
.mp-cg-import:hover { background: #EEF2FF; }
@media (prefers-color-scheme: dark) {
  .mp-cg-chip-csv { background: #1E1B4B; color: #C7D2FE; border-color: #3730A3; }
  .mp-cg-import { color: #C7D2FE; border-color: #4338CA; }
}

/* Competitor price inline in carrier chip + evidence */
.mp-carrier-price { color: #166534; font-weight: 700; margin-left: 4px; }
.mp-ev-price { color: #166534; font-weight: 700; margin-left: 6px; }
@media (prefers-color-scheme: dark) { .mp-carrier-price, .mp-ev-price { color: #4ADE80; } }

/* ── Live enrichment panel (Track drawer): measured vs derived signals ── */
.mp-badge-real { background: #ECFDF5; color: #047857; border: 1px solid #A7F3D0; }
.mp-badge-derived { background: #EFF6FF; color: #1D4ED8; border: 1px solid #BFDBFE; }
.mp-enrich .mp-kv-k .mp-badge { margin-left: 6px; font-size: 12px; vertical-align: middle; }
.mp-sig-row { border-top: 1px solid var(--mp-border, #E5E7EB); padding: 8px 0; }
.mp-sig-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mp-sig-val { font-size: 15px; font-weight: 700; margin-top: 2px; }
.mp-sig-val small { font-weight: 500; color: #4b5563; font-size: 12px; }
.mp-sig-formula { margin-top: 4px; }
.mp-sig-formula code { font-size: 12px; color: #4b5563; background: #F9FAFB; border: 1px solid #F0F1F3; border-radius: 4px; padding: 2px 6px; display: inline-block; word-break: break-word; }
.mp-linkbtn { background: none; border: none; color: #2563EB; cursor: pointer; padding: 0; font-size: 12px; text-decoration: underline; }
.mp-spin { display: inline-block; width: 12px; height: 12px; border: 2px solid #BFDBFE; border-top-color: #2563EB; border-radius: 50%; animation: mp-spin 0.7s linear infinite; vertical-align: middle; margin-right: 4px; }
@keyframes mp-spin { to { transform: rotate(360deg); } }
@media (prefers-color-scheme: dark) {
  .mp-badge-real { background: #052E1C; color: #6EE7B7; border-color: #065F46; }
  .mp-badge-derived { background: #0b2452; color: #93C5FD; border-color: #1E40AF; }
  .mp-sig-formula code { background: #111827; border-color: #1F2937; color: #4b5563; }
}

/* ── AI Recommendation (P1 — Opportunity Intelligence decision layer) ── */
.mp-reco { border-left: 3px solid #2563EB; }
.mp-reco-headline { font-weight: 600; font-size: 14px; margin: 6px 0 8px; }
.mp-reco-why { list-style: none; padding: 0; margin: 0 0 10px; display: flex; flex-direction: column; gap: 5px; }
.mp-reco-why li { font-size: 13px; line-height: 1.45; padding-left: 14px; position: relative; }
.mp-reco-why li::before { content: "▸"; position: absolute; left: 0; color: #2563EB; }
.mp-reco-meta { margin-bottom: 8px; }
.mp-reco-action { font-size: 13px; margin: 4px 0 6px; }
.mp-reco-verdict, .mp-reco-chip { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; letter-spacing: .02em; }
.mp-reco-chip { margin-left: 6px; font-size: 12px; padding: 1px 7px; vertical-align: middle; }
.mp-reco-verdict-launch { background: #DCFCE7; color: #166534; }
.mp-reco-verdict-watch { background: #FEF3C7; color: #92400E; }
.mp-reco-verdict-deprioritize { background: #F3F4F6; color: #4B5563; }
.mp-reco-verdict-insufficient { background: #EFF6FF; color: #1D4ED8; }
.mp-reco-launch { border-left-color: #16A34A; }
.mp-reco-watch { border-left-color: #D97706; }
.mp-reco-deprioritize { border-left-color: #9CA3AF; }
.mp-reco-insufficient { border-left-color: #2563EB; }

@media (prefers-color-scheme: dark) {
  .mp-reco-verdict-launch { background: #052E16; color: #86EFAC; }
  .mp-reco-verdict-watch { background: #422006; color: #FCD34D; }
  .mp-reco-verdict-deprioritize { background: #1F2937; color: #4b5563; }
  .mp-reco-verdict-insufficient { background: #0b2452; color: #93C5FD; }
}

/* ── Opportunity Pipeline (Phase 2, Capability 2) ── */
.mp-pl-views { display: flex; gap: 4px; flex-wrap: wrap; }
.mp-pl-toolbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 14px 0; padding: 10px 12px; background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 10px; }
.mp-pl-search { min-width: 200px; flex: 0 1 260px; }
.mp-pl-ctl { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #4b5563; }
.mp-pl-ctl select { min-width: 90px; }
.mp-pl-check { display: flex; align-items: center; gap: 5px; font-size: 13px; color: #4B5563; cursor: pointer; }
.mp-pl-count { margin-left: auto; font-size: 12px; color: #4b5563; font-weight: 600; }
.mp-pl-body { min-height: 200px; }

.mp-pl-kanban { display: grid; grid-template-columns: repeat(5, minmax(200px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 6px; }
.mp-pl-prio { grid-template-columns: repeat(3, minmax(240px, 1fr)); }
.mp-pl-col { background: #F9FAFB; border: 1px solid #E5E7EB; border-radius: 12px; display: flex; flex-direction: column; min-height: 120px; }
.mp-pl-col.is-over { outline: 2px dashed #2563EB; outline-offset: -3px; background: #EFF6FF; }
.mp-pl-col-head { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #4B5563; border-bottom: 1px solid #E5E7EB; }
.mp-pl-col-n { background: #E5E7EB; color: #4B5563; border-radius: 999px; padding: 1px 8px; font-size: 12px; }
.mp-pl-col-body { padding: 10px; display: flex; flex-direction: column; gap: 10px; }
.mp-pl-col-high { border-top: 3px solid #EF4444; } .mp-pl-col-medium { border-top: 3px solid #F59E0B; } .mp-pl-col-low { border-top: 3px solid #9CA3AF; }
.mp-pl-empty { text-align: center; font-size: 12px; padding: 16px 0; }

.mp-pl-card { background: #fff; border: 1px solid #E5E7EB; border-radius: 10px; padding: 11px 12px; box-shadow: 0 1px 2px rgba(16,24,40,.04); cursor: grab; display: flex; flex-direction: column; gap: 8px; }
.mp-pl-card.is-dragging { opacity: .5; }
.mp-pl-card-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.mp-pl-brand { background: none; border: 0; padding: 0; font-weight: 600; font-size: 14px; color: #1F2937; cursor: pointer; text-align: left; }
.mp-pl-brand:hover { color: #1D4ED8; text-decoration: underline; }
.mp-pl-card-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.mp-pl-card-stats { display: flex; gap: 12px; flex-wrap: wrap; font-size: 12px; color: #4B5563; }
.mp-pl-card-stats span { display: inline-flex; align-items: center; gap: 4px; }
.mp-pl-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid #F3F4F6; padding-top: 7px; }
.mp-pl-owner { font-size: 12px; color: #4b5563; }

.mp-diff { font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 999px; }
.mp-diff-low { background: #DCFCE7; color: #166534; } .mp-diff-medium { background: #FEF3C7; color: #92400E; } .mp-diff-high { background: #FEE2E2; color: #991B1B; }
.mp-roi { font-size: 12px; font-weight: 600; padding: 1px 8px; border-radius: 999px; background: #EFF6FF; color: #1D4ED8; }
.mp-roi-high { background: #DCFCE7; color: #166534; } .mp-roi-low { background: #F3F4F6; color: #4b5563; }

.mp-pl-actions { position: relative; }
.mp-pl-actions > summary { list-style: none; cursor: pointer; width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; color: #2563EB; }
.mp-pl-actions > summary::-webkit-details-marker { display: none; }
.mp-pl-actions > summary:hover { background: #EFF6FF; }
.mp-pl-menu { position: absolute; right: 0; top: 30px; z-index: 20; background: #fff; border: 1px solid #E5E7EB; border-radius: 10px; box-shadow: 0 8px 28px rgba(16,24,40,.14); padding: 6px; min-width: 232px; display: flex; flex-direction: column; gap: 1px; }
.mp-pl-menu button { display: flex; align-items: center; gap: 8px; width: 100%; background: none; border: 0; padding: 8px 10px; border-radius: 7px; font-size: 13px; color: #374151; cursor: pointer; text-align: left; }
.mp-pl-menu button:hover { background: #F3F4F6; color: #1D4ED8; }
.mp-pl-tablewrap { max-height: 68vh; overflow: auto; }
.mp-pl-table th { position: sticky; top: 0; background: #F9FAFB; z-index: 1; }
.mp-pl-exec-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }

@media (prefers-color-scheme: dark) {
  .mp-pl-toolbar { background: #111827; border-color: #1F2937; }
  .mp-pl-col { background: #111827; border-color: #1F2937; }
  .mp-pl-col.is-over { background: #0b2452; }
  .mp-pl-col-head { color: #4b5563; border-color: #1F2937; }
  .mp-pl-col-n { background: #1F2937; color: #D1D5DB; }
  .mp-pl-card { background: #1F2937; border-color: #374151; }
  .mp-pl-brand { color: #E5E7EB; }
  .mp-pl-card-foot { border-color: #374151; }
  .mp-pl-menu { background: #1F2937; border-color: #374151; }
  .mp-pl-menu button { color: #D1D5DB; } .mp-pl-menu button:hover { background: #374151; color: #93C5FD; }
  .mp-pl-table th { background: #111827; }
  .mp-diff-low { background: #052E16; color: #86EFAC; } .mp-diff-medium { background: #422006; color: #FCD34D; } .mp-diff-high { background: #450A0A; color: #FCA5A5; }
}

/* ── Marketplace Health Score (Phase 2, Capability 3) ── */
.mp-h-hero { display: flex; gap: 22px; align-items: center; padding: 20px; border-radius: 14px; border: 1px solid #E5E7EB; background: #F9FAFB; margin: 14px 0 18px; }
.mp-h-hero-strong { border-left: 5px solid #16A34A; } .mp-h-hero-healthy { border-left: 5px solid #22C55E; }
.mp-h-hero-risk { border-left: 5px solid #F59E0B; } .mp-h-hero-weak { border-left: 5px solid #EF4444; } .mp-h-hero-unknown { border-left: 5px solid #9CA3AF; }
.mp-h-gauge { text-align: center; min-width: 120px; }
.mp-h-score { font-size: 46px; font-weight: 800; line-height: 1; color: #111827; }
.mp-h-score small { font-size: 16px; font-weight: 600; color: #4b5563; }
.mp-h-band { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; margin: 4px 0 6px; color: #4B5563; }
.mp-h-hero-meta { flex: 1; font-size: 14px; }
.mp-h-hero-meta p { margin: 0 0 6px; }
.mp-h-trend { display: inline-block; font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 999px; }
.mp-h-trend-up { background: #DCFCE7; color: #166534; } .mp-h-trend-down { background: #FEE2E2; color: #991B1B; }
.mp-h-trend-flat, .mp-h-trend-new { background: #F3F4F6; color: #4b5563; }
.mp-h-trend small { font-weight: 500; opacity: .8; }

.mp-h-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-bottom: 20px; }
.mp-h-card { border: 1px solid #E5E7EB; border-radius: 12px; padding: 13px 14px; background: #fff; border-top: 3px solid #D1D5DB; }
.mp-h-card-strong, .mp-h-card-healthy { border-top-color: #22C55E; } .mp-h-card-risk { border-top-color: #F59E0B; }
.mp-h-card-weak { border-top-color: #EF4444; } .mp-h-card-unknown { border-top-color: #D1D5DB; }
.mp-h-card-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.mp-h-card-label { font-size: 13px; font-weight: 600; color: #374151; }
.mp-h-card-val { font-size: 15px; margin: 6px 0 4px; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.mp-h-card-val b { font-size: 28px; font-weight: 800; color: #111827; } .mp-h-card-val small { color: #4b5563; font-size: 13px; }
.mp-h-bar { height: 6px; background: #EEF2F6; border-radius: 999px; overflow: hidden; margin: 4px 0 8px; }
.mp-h-bar span { display: block; height: 100%; background: linear-gradient(90deg, #2563EB, #22C55E); }
.mp-h-exp { font-size: 12px; line-height: 1.45; color: #4B5563; margin: 4px 0 6px; }
.mp-h-ev summary { font-size: 12px; color: #2563EB; cursor: pointer; }
.mp-h-ev ul { list-style: none; padding: 6px 0 0; margin: 0; display: flex; flex-direction: column; gap: 3px; }
.mp-h-ev li { display: flex; justify-content: space-between; font-size: 12px; color: #4b5563; }
.mp-h-ev li b { color: #374151; }

.mp-h-ins-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; margin: 8px 0 12px; }
.mp-h-ins h4 { font-size: 13px; margin: 0 0 6px; color: #374151; }
.mp-h-ins-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 5px; }
.mp-h-ins-list li { font-size: 13px; line-height: 1.4; color: #4B5563; }

@media (prefers-color-scheme: dark) {
  .mp-h-hero { background: #111827; border-color: #1F2937; }
  .mp-h-score { color: #F3F4F6; }
  .mp-h-card { background: #1F2937; border-color: #374151; }
  .mp-h-card-val b { color: #F3F4F6; }
  .mp-h-bar { background: #111827; }
  .mp-h-trend-up { background: #052E16; color: #86EFAC; } .mp-h-trend-down { background: #450A0A; color: #FCA5A5; }
  .mp-h-trend-flat, .mp-h-trend-new { background: #1F2937; color: #4b5563; }
}

/* ── Competitive Intelligence (Capability 4) ─────────────────────────────── */
.mp-h-badge { display: inline-block; font-size: 12px; font-weight: 800; padding: 2px 9px; border-radius: 999px; background: #F3F4F6; color: #4B5563; vertical-align: middle; }
.mp-h-badge-strong, .mp-h-badge-healthy { background: #DCFCE7; color: #166534; }
.mp-h-badge-risk { background: #FEF3C7; color: #92400E; } .mp-h-badge-weak { background: #FEE2E2; color: #991B1B; }
.mp-h-badge-unknown { background: #F3F4F6; color: #4b5563; }

.mp-ci-layout { display: grid; grid-template-columns: 260px 1fr; gap: 16px; margin-top: 14px; align-items: start; }
.mp-ci-rail { display: flex; flex-direction: column; gap: 8px; position: sticky; top: 12px; max-height: calc(100vh - 40px); overflow-y: auto; }
.mp-ci-railcard { text-align: left; border: 1px solid #E5E7EB; background: #fff; border-radius: 11px; padding: 10px 12px; cursor: pointer; transition: border-color .12s, box-shadow .12s; }
.mp-ci-railcard:hover { border-color: #BFDBFE; }
.mp-ci-railcard.is-on { border-color: #2563EB; box-shadow: 0 0 0 2px rgba(37,99,235,.15); }
.mp-ci-railtop { display: flex; align-items: center; gap: 8px; }
.mp-ci-rank { font-size: 12px; font-weight: 700; color: #4b5563; }
.mp-ci-railname { font-size: 14px; font-weight: 700; color: #111827; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mp-ci-railmeta { display: flex; align-items: center; gap: 8px; margin-top: 6px; font-size: 12px; color: #4b5563; }
.mp-ci-railmeta span { display: inline-flex; align-items: center; gap: 3px; }
.mp-ci-posture { font-size: 12px; font-weight: 700; padding: 1px 7px; border-radius: 999px; text-transform: capitalize; }
.mp-ci-posture-aggressive { background: #FEE2E2; color: #991B1B; } .mp-ci-posture-premium { background: #EDE9FE; color: #6D28D9; } .mp-ci-posture-parity { background: #F3F4F6; color: #4B5563; }

.mp-ci-detail { min-width: 0; }
.mp-ci-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; border-bottom: 1px solid #E5E7EB; padding-bottom: 12px; margin-bottom: 14px; }
.mp-ci-eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .07em; color: #4b5563; font-weight: 700; }
.mp-ci-head h3 { margin: 3px 0 6px; font-size: 20px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mp-ci-exec { font-size: 13px; line-height: 1.5; margin: 0; max-width: 70ch; }
.mp-ci-headactions { display: flex; gap: 8px; flex-shrink: 0; }

.mp-ci-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-bottom: 12px; }
.mp-ci-panel { border: 1px solid #E5E7EB; border-radius: 12px; padding: 13px 15px; background: #fff; }
.mp-ci-wide { margin-bottom: 12px; }
.mp-ci-panel h4 { font-size: 13px; margin: 0 0 9px; color: #1F2937; display: flex; align-items: center; gap: 6px; }
.mp-ci-panel h4 i, .mp-ci-panel h4 svg { width: 15px; height: 15px; color: #2563EB; }
.mp-ci-kv { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; padding: 4px 0; border-bottom: 1px dashed #F3F4F6; }
.mp-ci-kv:last-child { border-bottom: 0; }
.mp-ci-kv span { color: #4b5563; } .mp-ci-kv b { color: #1F2937; font-weight: 600; text-align: right; }
.mp-ci-factors { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 9px; }
.mp-ci-factors li { display: grid; grid-template-columns: 130px 1fr 28px; align-items: center; gap: 8px; font-size: 12px; color: #4B5563; }
.mp-ci-factors li small { grid-column: 1 / -1; color: #4b5563; font-size: 12px; margin-top: -4px; }
.mp-ci-factors li b { text-align: right; font-weight: 700; color: #111827; }
.mp-h-bar-sm { margin: 0; }
.mp-ci-mini { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 3px; }
.mp-ci-mini li { display: flex; justify-content: space-between; font-size: 12px; color: #4b5563; } .mp-ci-mini li b { color: #1F2937; }

.mp-ci-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0; }
.mp-ci-chip { font-size: 12px; padding: 3px 10px; border-radius: 999px; border: 1px solid #E5E7EB; background: #F9FAFB; color: #374151; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.mp-ci-chip:hover { border-color: #2563EB; color: #1D4ED8; }
.mp-ci-chip-gap { border-color: #FED7AA; background: #FFF7ED; color: #9A3412; }
.mp-ci-chip-edge { border-color: #BBF7D0; background: #F0FDF4; color: #166534; }
.mp-ci-chip-new { border-color: #BFDBFE; background: #EFF6FF; color: #1E40AF; }
.mp-ci-chip-removed { border-color: #E5E7EB; background: #F9FAFB; color: #4b5563; text-decoration: line-through; }
.mp-ci-more { font-size: 12px; align-self: center; }

.mp-ci-swot-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.mp-ci-swot { border-radius: 10px; padding: 10px 12px; border: 1px solid #E5E7EB; }
.mp-ci-swot h5 { margin: 0 0 6px; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.mp-ci-swot ul { margin: 0; padding-left: 16px; } .mp-ci-swot li { font-size: 12px; line-height: 1.45; color: #4B5563; margin-bottom: 3px; }
.mp-ci-swot-s { background: #F0FDF4; border-color: #BBF7D0; } .mp-ci-swot-s h5 { color: #166534; }
.mp-ci-swot-w { background: #FEF2F2; border-color: #FECACA; } .mp-ci-swot-w h5 { color: #991B1B; }
.mp-ci-swot-o { background: #EFF6FF; border-color: #BFDBFE; } .mp-ci-swot-o h5 { color: #1E40AF; }
.mp-ci-swot-t { background: #FFFBEB; border-color: #FDE68A; } .mp-ci-swot-t h5 { color: #92400E; }

.mp-ci-recs { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.mp-ci-recs li { display: flex; gap: 10px; align-items: flex-start; }
.mp-ci-recs li > div { flex: 1; } .mp-ci-recs b { font-size: 13px; color: #1F2937; } .mp-ci-recs p { margin: 2px 0 0; font-size: 12px; line-height: 1.4; }
.mp-ci-recbrands { margin-top: 4px; font-size: 12px; }

.mp-ci-timeline { list-style: none; padding: 0; margin: 0; }
.mp-ci-timeline li { display: flex; gap: 10px; padding: 0 0 12px; position: relative; }
.mp-ci-timeline li:not(:last-child)::before { content: ''; position: absolute; left: 4px; top: 12px; bottom: 0; width: 1px; background: #E5E7EB; }
.mp-ci-tl-dot { width: 9px; height: 9px; border-radius: 999px; background: #2563EB; margin-top: 3px; flex-shrink: 0; z-index: 1; }
.mp-ci-tl-added .mp-ci-tl-dot { background: #22C55E; } .mp-ci-tl-removed .mp-ci-tl-dot { background: #EF4444; } .mp-ci-tl-snapshot .mp-ci-tl-dot { background: #9CA3AF; }
.mp-ci-timeline b { font-size: 12px; color: #1F2937; } .mp-ci-timeline p { margin: 2px 0 0; font-size: 12px; color: #4b5563; line-height: 1.4; }

@media (max-width: 900px) { .mp-ci-layout { grid-template-columns: 1fr; } .mp-ci-rail { position: static; flex-direction: row; overflow-x: auto; max-height: none; } .mp-ci-railcard { min-width: 200px; } }

@media (prefers-color-scheme: dark) {
  .mp-h-badge { background: #1F2937; color: #4b5563; }
  .mp-h-badge-strong, .mp-h-badge-healthy { background: #052E16; color: #86EFAC; }
  .mp-h-badge-risk { background: #422006; color: #FCD34D; } .mp-h-badge-weak { background: #450A0A; color: #FCA5A5; }
  .mp-ci-railcard, .mp-ci-panel { background: #1F2937; border-color: #374151; }
  .mp-ci-railname, .mp-ci-head h3, .mp-ci-kv b, .mp-ci-mini li b, .mp-ci-recs b, .mp-ci-timeline b, .mp-ci-panel h4 { color: #F3F4F6; }
  .mp-ci-head { border-color: #374151; }
  .mp-ci-kv { border-color: #111827; }
  .mp-ci-chip { background: #111827; border-color: #374151; color: #D1D5DB; }
  .mp-ci-chip-gap { background: #3b220a; border-color: #7c451d; color: #FDBA74; }
  .mp-ci-chip-edge { background: #052E16; border-color: #14532D; color: #86EFAC; }
  .mp-ci-chip-new { background: #0b2447; border-color: #1E40AF; color: #93C5FD; }
  .mp-ci-chip-removed { background: #111827; border-color: #374151; color: #4b5563; }
  .mp-ci-swot { border-color: #374151; }
  .mp-ci-swot-s { background: #05240f; } .mp-ci-swot-w { background: #2a0f10; } .mp-ci-swot-o { background: #0b1e3a; } .mp-ci-swot-t { background: #241a05; }
  .mp-ci-swot li, .mp-ci-recs p, .mp-ci-timeline p, .mp-ci-kv span, .mp-ci-mini li, .mp-ci-factors li { color: #4b5563; }
  .mp-ci-timeline li:not(:last-child)::before { background: #374151; }
  .mp-ci-posture-parity { background: #1F2937; color: #4b5563; }
}

/* ── Enterprise Reports (Capability 5) ────────────────────────────────────── */
.mp-rp { display: flex; flex-direction: column; gap: 18px; }
.mp-rp-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.mp-rp-head h2 { margin: 0 0 4px; }
.mp-rp-ready { display: flex; gap: 8px; flex-wrap: wrap; }
.mp-rp-chip { font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--mp-border, #E5E7EB); }
.mp-rp-chip.ok { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.mp-rp-chip.off { background: #f3f4f6; color: #4b5563; }
.mp-rp-warn { background: #fffbeb; border: 1px solid #fcd34d; color: #92400e; border-radius: 10px; padding: 10px 14px; font-size: 13px; }
.mp-rp-kinds { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.mp-rp-kind { text-align: left; display: flex; flex-direction: column; gap: 6px; padding: 16px; border: 1px solid var(--mp-border, #E5E7EB); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.mp-rp-kind:hover { border-color: #93c5fd; }
.mp-rp-kind.is-active { border-color: #1d4ed8; box-shadow: 0 0 0 3px rgba(29,78,216,.12); }
.mp-rp-kind-h { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.mp-rp-kind-h i, .mp-rp-kind-h svg { width: 16px; height: 16px; color: #1d4ed8; }
.mp-rp-kind-d { font-size: 13px; color: #4b5563; line-height: 1.5; }
.mp-rp-bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.mp-rp-fmts { display: flex; gap: 8px; flex-wrap: wrap; }
.mp-rp-fmt { font-size: 13px; font-weight: 600; padding: 9px 14px; border-radius: 8px; border: 1px solid var(--mp-border, #E5E7EB); background: #fff; color: #1f2937; cursor: pointer; }
.mp-rp-fmt:hover { border-color: #93c5fd; }
.mp-rp-fmt.is-primary { background: #1d4ed8; color: #fff; border-color: #1d4ed8; }
.mp-rp-open { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; padding: 9px 14px; border-radius: 8px; border: 1px solid var(--mp-border, #E5E7EB); background: #fff; cursor: pointer; }
.mp-rp-open i, .mp-rp-open svg { width: 15px; height: 15px; }
.mp-rp-grid { display: grid; grid-template-columns: 1fr 300px; gap: 16px; align-items: start; }
.mp-rp-preview { border: 1px solid var(--mp-border, #E5E7EB); border-radius: 12px; overflow: hidden; background: #fff; }
.mp-rp-preview-h { display: flex; justify-content: space-between; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--mp-border, #E5E7EB); font-weight: 600; font-size: 13px; }
.mp-rp-frame { width: 100%; height: 620px; border: 0; background: #fff; display: block; }
.mp-rp-side { display: flex; flex-direction: column; gap: 12px; }
.mp-rp-card { border: 1px solid var(--mp-border, #E5E7EB); border-radius: 12px; padding: 14px 16px; background: #fff; }
.mp-rp-card h4 { margin: 0 0 10px; font-size: 13px; }
.mp-rp-hist-row { display: flex; justify-content: space-between; gap: 10px; padding: 7px 0; border-top: 1px solid var(--mp-border, #F3F4F6); font-size: 13px; }
.mp-rp-hist-row:first-of-type { border-top: 0; }
.mp-rp-hist-empty { font-size: 13px; padding: 6px 0; }
.mp-rp-inside { font-size: 13px; line-height: 1.55; }
@media (max-width: 900px) { .mp-rp-grid { grid-template-columns: 1fr; } .mp-rp-side { flex-direction: row; } .mp-rp-side .mp-rp-card { flex: 1; } }
@media (max-width: 620px) { .mp-rp-side { flex-direction: column; } }
@media (prefers-color-scheme: dark) {
  .mp-rp-kind, .mp-rp-fmt, .mp-rp-open, .mp-rp-preview, .mp-rp-preview-h, .mp-rp-card { background: #111827; border-color: #1F2937; color: #E5E7EB; }
  .mp-rp-kind.is-active { border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37,99,235,.18); }
  .mp-rp-kind-d, .mp-rp-inside { color: #4b5563; }
  .mp-rp-chip { border-color: #1F2937; }
  .mp-rp-chip.ok { background: #05240f; color: #6ee7b7; border-color: #14532d; }
  .mp-rp-chip.off { background: #1F2937; color: #4b5563; }
  .mp-rp-fmt { color: #E5E7EB; }
  .mp-rp-fmt.is-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
  .mp-rp-warn { background: #241a05; border-color: #b45309; color: #fcd34d; }
  .mp-rp-hist-row { border-color: #1F2937; }
  /* The preview iframe hosts the standalone light report document by design. */
  .mp-rp-frame { background: #fff; }
}

/* ── Smart Data Collection Wizard (Pricing Intelligence acquisition) ───────── */
.mpc-wizard { background: var(--color-white,#fff); border: 1px solid var(--color-border,#e5e7eb); border-radius: 12px; padding: 16px; margin-bottom: 18px; }
.mpc-steps { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; font-weight: 600; color: var(--color-text-muted,#6b7280); margin-bottom: 14px; }
.mpc-steps i { width: 13px; height: 13px; opacity: .5; }
.mpc-scope { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 14px; }
.mpc-inline { display: inline-block; }

.mpc-estimate-wrap { margin: 4px 0 14px; }
.mpc-estimate { border: 1px solid var(--color-border,#e5e7eb); border-left: 3px solid var(--color-gray-300,#d1d5db); border-radius: 10px; padding: 12px 14px; background: var(--color-gray-50,#f9fafb); }
.mpc-tier-5 { border-left-color: #059669; } .mpc-tier-4 { border-left-color: #2563eb; }
.mpc-tier-3 { border-left-color: #0891b2; } .mpc-tier-2 { border-left-color: #d97706; } .mpc-tier-1 { border-left-color: #9ca3af; }
.mpc-est-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.mpc-est-stars { letter-spacing: 1px; color: #f59e0b; font-size: 14px; }
.mpc-est-caplabel { font-weight: 700; font-size: 13px; color: var(--color-text-primary,#111827); }
.mpc-est-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.mpc-est-cell { display: flex; flex-direction: column; gap: 2px; }
.mpc-est-lbl { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--color-text-muted,#6b7280); font-weight: 600; }
.mpc-est-val { font-size: 14px; font-weight: 600; color: var(--color-text-primary,#111827); font-variant-numeric: tabular-nums; }
.mpc-est-limits { margin-top: 10px; }
.mpc-est-limits ul { margin: 4px 0 0; padding-left: 18px; font-size: 12px; color: var(--color-text-secondary,#4b5563); }
.mpc-est-why { margin: 8px 0 0; font-size: 12px; }

.mpc-methods { margin-bottom: 14px; }
.mpc-methods-label { font-size: 12px; font-weight: 600; color: var(--color-text-secondary,#4b5563); margin-bottom: 8px; }
.mpc-method-row { display: flex; flex-wrap: wrap; gap: 8px; }
.mpc-method { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border: 1px solid var(--color-border,#e5e7eb); border-radius: 999px; background: var(--color-white,#fff); cursor: pointer; font-family: var(--font-family); font-size: 12px; color: var(--color-text-secondary,#4b5563); }
.mpc-method:hover { border-color: var(--color-primary-300,#93c5fd); }
.mpc-method.on { background: var(--color-primary-50,#eff6ff); border-color: var(--color-primary-500,#3b82f6); color: var(--color-primary-700,#1d4ed8); font-weight: 600; }
.mpc-auto-tag { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #059669; font-weight: 700; }
.mpc-method.auto { border-style: dashed; }

.mpc-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mpc-banner { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 9px 12px; border-radius: 8px; font-size: 13px; }
.mpc-banner.running { background: #eff6ff; color: #1d4ed8; }
.mpc-banner.ok { background: #ecfdf5; color: #047857; }
.mpc-banner.warn { background: #fffbeb; color: #b45309; }

.mpc-results { margin-top: 6px; }
.mpc-nomargin { cursor: help; }
.mpc-history { margin-top: 18px; border: 1px solid var(--color-border,#e5e7eb); border-radius: 10px; padding: 8px 12px; }
.mpc-history > summary { cursor: pointer; font-weight: 600; font-size: 13px; color: var(--color-text-primary,#111827); }
.mpc-hist-table { margin-top: 10px; }
.mpc-ev { cursor: help; color: var(--color-primary-600,#2563eb); font-size: 12px; }

@media (prefers-color-scheme: dark) {
  .mpc-wizard, .mpc-history { background: #1f2937; border-color: #374151; }
  .mpc-estimate { background: #111827; border-color: #374151; }
  .mpc-method { background: #1f2937; border-color: #374151; color: #d1d5db; }
}

/* ── AI-first Pricing: Executive Summary + one-click collection ────────────── */
.mpc-exec { background: linear-gradient(180deg, var(--color-primary-50,#eff6ff), var(--color-white,#fff)); border: 1px solid var(--color-primary-100,#dbeafe); border-radius: 12px; padding: 16px 18px; margin-bottom: 16px; }
.mpc-exec-head { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--color-primary-700,#1d4ed8); margin-bottom: 8px; }
.mpc-exec-line { margin: 0 0 12px; font-size: 15px; line-height: 1.5; color: var(--color-text-primary,#111827); }
.mpc-exec-recs { margin-top: 12px; }
.mpc-exec-recs ul { margin: 5px 0 0; padding-left: 18px; font-size: 13px; color: var(--color-text-secondary,#374151); }
.mpc-exec-recs li { margin-bottom: 3px; }

.mpc-ai-primary { border: 1px solid var(--color-border,#e5e7eb); border-radius: 12px; padding: 16px 18px; margin-bottom: 16px; background: var(--color-white,#fff); }
.mpc-ai-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.mpc-ai-title { display: flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 700; color: var(--color-text-primary,#111827); }
.mpc-ai-sub { font-size: 13px; color: var(--color-text-muted,#6b7280); margin-top: 3px; }
.mpc-ai-targets { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.mpc-ai-target { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--color-gray-50,#f9fafb); border: 1px solid var(--color-border,#e5e7eb); color: var(--color-text-secondary,#4b5563); cursor: help; }

.mpc-advanced { margin-top: 16px; border-top: 1px solid var(--color-border,#e5e7eb); padding-top: 12px; }
.mpc-advanced > summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--color-text-secondary,#4b5563); display: flex; align-items: center; gap: 6px; }
.mpc-advanced > summary:hover { color: var(--color-text-primary,#111827); }
.mpc-advanced .mpc-wizard { margin-top: 12px; }

@media (prefers-color-scheme: dark) {
  .mpc-exec { background: #172033; border-color: #1e3a5f; }
  .mpc-ai-primary { background: #1f2937; border-color: #374151; }
  .mpc-ai-target { background: #111827; border-color: #374151; color: #d1d5db; }
}

/* Folded Pricing Analysis inside the unified Price Intelligence wizard */
.mpc-analysis { margin-top: 16px; border: 1px solid var(--color-border,#e5e7eb); border-radius: 10px; padding: 10px 14px; }
.mpc-analysis > summary { cursor: pointer; font-weight: 600; font-size: 13px; color: var(--color-text-primary,#111827); display: flex; align-items: center; gap: 6px; }
.mpc-analysis > summary:hover { color: var(--color-primary-700,#1d4ed8); }
.mpc-analysis .mp-kpi-grid { margin-top: 12px; }
@media (prefers-color-scheme: dark) { .mpc-analysis { border-color: #374151; } }

/* ── AI Onboarding hero (production front door) ────────────────────────────── */
.mp-onboard { border: 1px solid var(--color-primary-100,#dbeafe); border-radius: 14px; padding: 22px 24px; margin: 4px 0 16px; background: linear-gradient(180deg, var(--color-primary-50,#eff6ff), var(--color-white,#fff)); }
.mp-onboard-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--color-primary-700,#1d4ed8); background: var(--color-white,#fff); border: 1px solid var(--color-primary-100,#dbeafe); border-radius: 999px; padding: 4px 10px; }
.mp-onboard-title { margin: 12px 0 4px; font-size: 20px; font-weight: 700; color: var(--color-text-primary,#111827); }
.mp-onboard-sub { margin: 0 0 16px; font-size: 14px; color: var(--color-text-secondary,#4b5563); max-width: 680px; line-height: 1.55; }
.mp-onboard-form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.mp-onboard-form #mp-onb-brand { flex: 1; min-width: 240px; }
.mp-onboard-form #mp-onb-region { min-width: 160px; }
.mp-onboard-targets { margin-top: 12px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 12px; }
.mp-onboard-chip { font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--color-white,#fff); border: 1px solid var(--color-border,#e5e7eb); color: var(--color-text-secondary,#4b5563); }
.mp-onboard-status { margin-top: 16px; padding: 12px 14px; border-radius: 10px; font-size: 13px; }
.mp-onboard-status.running { background: #eff6ff; color: #1d4ed8; display: flex; align-items: center; gap: 8px; }
.mp-onboard-status.ok { background: var(--color-white,#fff); border: 1px solid #a7f3d0; }
.mp-onboard-status.warn { background: #fffbeb; color: #b45309; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mp-onboard-result-head { display: flex; align-items: center; gap: 7px; font-weight: 700; color: #047857; margin-bottom: 12px; }
.mp-onboard-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 12px; margin-bottom: 14px; }
.mp-onboard-result-grid div { display: flex; flex-direction: column; }
.mp-onboard-result-grid strong { font-size: 22px; font-weight: 700; color: var(--color-text-primary,#111827); font-variant-numeric: tabular-nums; }
.mp-onboard-result-grid span { font-size: 12px; color: var(--color-text-muted,#6b7280); }
.mp-onboard-actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (prefers-color-scheme: dark) {
  .mp-onboard { background: #172033; border-color: #1e3a5f; }
  .mp-onboard-badge, .mp-onboard-chip, .mp-onboard-status.ok { background: #1f2937; border-color: #374151; color: #d1d5db; }
}

/* ── Evidence badges (Verified / Partial / AI Inferred / Pending) ──────────── */
.mp-ev { display:inline-block; font-size: 12px; font-weight:600; padding:2px 7px; border-radius:999px; white-space:nowrap; }
.mp-ev-verified { background:#ecfdf5; color:#047857; }
.mp-ev-partial  { background:#eff6ff; color:#1d4ed8; }
.mp-ev-inferred { background:#fffbeb; color:#b45309; }
.mp-ev-pending  { background:#f3f4f6; color: #4b5563; }
@media (prefers-color-scheme: dark) {
  .mp-ev-verified { background:#052e22; color:#6ee7b7; }
  .mp-ev-partial  { background:#0b2452; color:#93c5fd; }
  .mp-ev-inferred { background:#3a2a08; color:#fcd34d; }
  .mp-ev-pending  { background:#1f2937; color: #4b5563; }
}

.mp-onboard-cap { display:inline-flex; align-items:center; gap:6px; margin:0 0 14px; font-size:12px; color:var(--color-text-secondary,#4b5563); background:var(--color-white,#fff); border:1px solid var(--color-border,#e5e7eb); border-radius:999px; padding:4px 12px; }
.mp-onboard-cap strong { color:var(--color-text-primary,#111827); }
@media (prefers-color-scheme: dark){ .mp-onboard-cap { background:#1f2937; border-color:#374151; } }

/* ============================================================================
   Agent Operations Command Center (Agent Health v2) — .mp-ops*
   Dense, Datadog/Grafana-class operations surface. Status colour system:
   green healthy - blue running - orange warning - red failed - grey idle.
   ============================================================================ */
.mp-ops { --ops-green:#10B981; --ops-blue:#3B82F6; --ops-orange:#F59E0B; --ops-red:#EF4444; --ops-grey:#9CA3AF;
  --ops-border:#E5E7EB; --ops-bg:#F9FAFB; --ops-card:#fff; --ops-ink:#111827; --ops-mut:#6B7280; max-width:1500px; }
.mp-ops .mp-ops-dot { width:8px; height:8px; border-radius:50%; flex:0 0 auto; display:inline-block; }
.mp-dot-green { background:var(--ops-green); box-shadow:0 0 0 3px rgba(16,185,129,.15); }
.mp-dot-blue { background:var(--ops-blue); box-shadow:0 0 0 3px rgba(59,130,246,.15); animation:mpOpsPulse 1.4s infinite; }
.mp-dot-orange { background:var(--ops-orange); box-shadow:0 0 0 3px rgba(245,158,11,.15); }
.mp-dot-red { background:var(--ops-red); box-shadow:0 0 0 3px rgba(239,68,68,.15); }
.mp-dot-grey { background:var(--ops-grey); }
@keyframes mpOpsPulse { 0%,100%{ box-shadow:0 0 0 2px rgba(59,130,246,.25);} 50%{ box-shadow:0 0 0 5px rgba(59,130,246,0);} }

/* Executive banner (CEO 5-second view) */
.mp-ops-exec { display:grid; grid-template-columns:280px 1fr auto; gap:22px; align-items:center;
  background:linear-gradient(135deg,#111827,#1F2937); color:#fff; border-radius:14px; padding:18px 22px; margin-bottom:14px; }
.mp-ops-exec-ok    { box-shadow:inset 4px 0 0 var(--ops-green); }
.mp-ops-exec-run   { box-shadow:inset 4px 0 0 var(--ops-blue); }
.mp-ops-exec-warn  { box-shadow:inset 4px 0 0 var(--ops-orange); }
.mp-ops-exec-fail  { box-shadow:inset 4px 0 0 var(--ops-red); }
.mp-ops-exec-idle  { box-shadow:inset 4px 0 0 var(--ops-grey); }
.mp-ops-exec-eyebrow { font-size: 12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color: #4b5563; }
.mp-ops-exec-num { font-size:46px; font-weight:800; line-height:1; margin:4px 0; }
.mp-ops-exec-num small { font-size:20px; color: #4b5563; margin-left:2px; }
.mp-ops-await { font-size:22px; font-weight:700; color:#D1D5DB; }
.mp-ops-exec-bar { height:8px; border-radius:6px; background:rgba(255,255,255,.12); overflow:hidden; margin:6px 0; }
.mp-ops-exec-bar span { display:block; height:100%; background:linear-gradient(90deg,#22D3EE,#34D399); border-radius:6px; transition:width .5s; }
.mp-ops-exec-band { display:inline-block; font-weight:700; font-size: 13px; }
.mp-ops-exec-basis { display:block; font-size: 12px; color: #4b5563; margin-top:3px; }
.mp-ops-exec-domains { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.mp-ops-dom { display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.09);
  border-radius:9px; padding:8px 10px; font-size:12px; }
.mp-ops-dom-name { font-weight:600; color:#E5E7EB; }
.mp-ops-dom-state { margin-left:auto; font-size: 12px; color: #4b5563; }
.mp-ops-exec-tallies { display:flex; align-items:center; gap:10px; }
.mp-ops-tally { text-align:center; background:rgba(255,255,255,.06); border-radius:10px; padding:8px 14px; min-width:64px; }
.mp-ops-tally b { display:block; font-size:22px; font-weight:800; }
.mp-ops-tally span { font-size: 12px; color: #4b5563; text-transform:uppercase; letter-spacing:.04em; }
.mp-ops-tally-ok b { color:#34D399; } .mp-ops-tally-warn b { color:#FBBF24; } .mp-ops-tally-fail b { color:#F87171; }
.mp-ops-exec-tallies .btn { white-space:nowrap; }
@media (max-width:1100px){ .mp-ops-exec { grid-template-columns:1fr; } }

/* KPI bar */
.mp-ops-kpibar { display:grid; grid-template-columns:repeat(8,1fr); gap:8px; margin-bottom:14px; }
@media (max-width:1200px){ .mp-ops-kpibar { grid-template-columns:repeat(4,1fr); } }
@media (max-width:640px){ .mp-ops-kpibar { grid-template-columns:repeat(2,1fr); } }
.mp-ops-kpi { background:var(--ops-card); border:1px solid var(--ops-border); border-radius:9px; padding:9px 11px; border-left:3px solid var(--ops-grey); }
.mp-ops-kpi-label { display:block; font-size: 12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--ops-mut); }
.mp-ops-kpi-val { display:block; font-size:20px; font-weight: 700; color:var(--ops-ink); margin-top:2px; line-height:1.1; }
.mp-ops-kpi-val small { font-size:12px; color:var(--ops-mut); margin-left:1px; }
.mp-ops-kpi-empty .mp-ops-kpi-val { font-size: 13px; font-weight:600; color:var(--ops-mut); }
.mp-ops-kpi-ok { border-left-color:var(--ops-green); } .mp-ops-kpi-run { border-left-color:var(--ops-blue); }
.mp-ops-kpi-warn { border-left-color:var(--ops-orange); } .mp-ops-kpi-fail { border-left-color:var(--ops-red); }
.mp-ops-kpi-idle { border-left-color:var(--ops-grey); }

/* Section headers */
.mp-ops-sec-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:0 0 10px; }
.mp-ops-sec-head h3 { margin:0; font-size:14px; font-weight:700; color:var(--ops-ink); }
.mp-ops-sec-sub, .mp-ops-count { font-size: 12px; color:var(--ops-mut); }
.mp-ops-count { font-weight:700; background:#EEF2F7; border-radius:6px; padding:1px 7px; margin-left:6px; }

/* Pipeline */
.mp-ops-flow-wrap { background:var(--ops-card); border:1px solid var(--ops-border); border-radius:12px; padding:14px 16px; margin-bottom:14px; }
.mp-ops-flow { display:flex; align-items:stretch; gap:4px; overflow-x:auto; padding-bottom:4px; }
.mp-ops-node { flex:1 0 auto; min-width:112px; display:flex; flex-direction:column; gap:3px; align-items:flex-start;
  background:var(--ops-bg); border:1px solid var(--ops-border); border-top:3px solid var(--ops-grey); border-radius:8px;
  padding:9px 11px; cursor:pointer; transition:transform .12s, box-shadow .12s; text-align:left; }
.mp-ops-node:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(15,23,42,.09); }
.mp-ops-node-label { font-size:12px; font-weight: 600; color:var(--ops-ink); }
.mp-ops-node-state { font-size: 12px; color:var(--ops-mut); }
.mp-ops-node-ok { border-top-color:var(--ops-green); } .mp-ops-node-run { border-top-color:var(--ops-blue); }
.mp-ops-node-warn { border-top-color:var(--ops-orange); } .mp-ops-node-fail { border-top-color:var(--ops-red); }
.mp-ops-flow-arrow { display:flex; align-items:center; color:#D1D5DB; }
.mp-ops-flow-arrow i { width:16px; height:16px; }

/* Two-column ops layout */
.mp-ops-cols { display:grid; grid-template-columns:1fr 340px; gap:14px; align-items:start; }
@media (max-width:1100px){ .mp-ops-cols { grid-template-columns:1fr; } }

/* Agents */
.mp-ops-tools { display:flex; align-items:center; gap:10px; }
.mp-ops-search { display:inline-flex; align-items:center; gap:6px; background:var(--ops-card); border:1px solid var(--ops-border);
  border-radius:8px; padding:5px 10px; }
.mp-ops-search i { width:14px; height:14px; color:var(--ops-mut); }
.mp-ops-search input { border:none; outline:none; font:inherit; font-size: 13px; width:220px; background:transparent; color:var(--ops-ink); }
.mp-ops-toggle { font-size:12px; color:var(--ops-mut); display:inline-flex; align-items:center; gap:5px; cursor:pointer; }
.mp-ops-chips { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.mp-ops-chip { font-size:12px; font-weight:600; color:var(--ops-mut); background:var(--ops-card); border:1px solid var(--ops-border);
  border-radius:999px; padding:4px 11px; cursor:pointer; }
.mp-ops-chip b { color:var(--ops-ink); margin-left:3px; }
.mp-ops-chip.is-active { background:#111827; color:#fff; border-color:#111827; }
.mp-ops-chip.is-active b { color:#fff; }
.mp-ops-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:10px; }
.mp-ops-card { background:var(--ops-card); border:1px solid var(--ops-border); border-left:3px solid var(--ops-grey);
  border-radius:10px; padding:12px 13px; cursor:pointer; transition:box-shadow .12s, transform .12s; }
.mp-ops-card:hover { box-shadow:0 4px 14px rgba(15,23,42,.08); transform:translateY(-1px); }
.mp-ops-card-ok { border-left-color:var(--ops-green); } .mp-ops-card-run { border-left-color:var(--ops-blue); }
.mp-ops-card-warn { border-left-color:var(--ops-orange); } .mp-ops-card-fail { border-left-color:var(--ops-red); }
.mp-ops-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.mp-ops-card-id { display:flex; gap:8px; align-items:flex-start; }
.mp-ops-card-id strong { display:block; font-size:13px; color:var(--ops-ink); line-height:1.25; }
.mp-ops-card-purpose { display:block; font-size: 12px; color:var(--ops-mut); margin-top:1px; }
.mp-ops-card-id .mp-ops-dot { margin-top:5px; }
.mp-ops-badge { font-size: 12px; font-weight:700; padding:2px 8px; border-radius:999px; white-space:nowrap; text-transform:uppercase; letter-spacing:.02em; }
.mp-ops-badge-ok { background:#ECFDF5; color:#047857; } .mp-ops-badge-run { background:#EFF6FF; color:#1D4ED8; }
.mp-ops-badge-warn { background:#FEF3C7; color:#92400E; } .mp-ops-badge-fail { background:#FEF2F2; color:#B91C1C; }
.mp-ops-badge-idle { background:#F3F4F6; color: #4b5563; }
.mp-ops-card-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:10px 0 8px; }
.mp-ops-card-metrics > div { background:var(--ops-bg); border-radius:7px; padding:6px 7px; }
.mp-ops-card-metrics span { display:block; font-size: 12px; text-transform:uppercase; letter-spacing:.03em; color:var(--ops-mut); }
.mp-ops-card-metrics b { font-size:13px; color:var(--ops-ink); }
.mp-ops-neg { color:var(--ops-red); }
.mp-ops-card-dep { font-size: 12px; color:var(--ops-mut); display:flex; align-items:center; gap:5px; }
.mp-ops-card-msg { font-size: 12px; color:#4B5563; background:var(--ops-bg); border-radius:6px; padding:6px 8px; margin:8px 0 0; }
.mp-ops-card-actions { display:flex; flex-wrap:wrap; gap:4px; margin-top:10px; padding-top:9px; border-top:1px solid #F3F4F6; }
.mp-ops-act { display:inline-flex; align-items:center; gap:4px; font-size: 12px; font-weight:600; color:#374151;
  background:var(--ops-bg); border:1px solid var(--ops-border); border-radius:6px; padding:4px 8px; cursor:pointer; }
.mp-ops-act:hover { background:#EEF2F7; }
.mp-ops-act i { width:12px; height:12px; }
.mp-ops-act:disabled, .mp-ops-act.is-off { opacity:.45; cursor:not-allowed; }
.mp-ops-empty { grid-column:1/-1; text-align:center; padding:34px 16px; color:var(--ops-mut); }
.mp-ops-empty i { width:26px; height:26px; opacity:.5; } .mp-ops-empty b { display:block; margin:8px 0 3px; color:var(--ops-ink); }

/* Side + enterprise panels */
.mp-ops-side { display:flex; flex-direction:column; gap:12px; }
.mp-ops-panel, .mp-ops-epanel { background:var(--ops-card); border:1px solid var(--ops-border); border-radius:10px; padding:12px 13px; }
.mp-ops-panel-h { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:8px; }
.mp-ops-panel-h h4 { margin:0; font-size: 13px; font-weight:700; color:var(--ops-ink); }
.mp-ops-panel-h span { font-size: 12px; color:var(--ops-mut); }
.mp-ops-list { list-style:none; margin:0; padding:0; }
.mp-ops-list li { display:flex; align-items:center; gap:7px; padding:5px 0; border-top:1px solid #F3F4F6; font-size:12px; color:var(--ops-ink); }
.mp-ops-list li:first-child { border-top:none; }
.mp-ops-list b { font-weight: 600; }
.mp-ops-li-meta { margin-left:auto; font-size: 12px; color:var(--ops-mut); text-align:right; }
.mp-ops-list-lg li { padding:8px 0; font-size: 13px; }
.mp-ops-ok { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:#047857; background:#ECFDF5; border-radius:7px; padding:9px 11px; }
.mp-ops-ok i { width:15px; height:15px; }
.mp-ops-ok-quiet { color:var(--ops-mut); background:var(--ops-bg); font-weight:500; }
.mp-ops-dist { display:flex; height:12px; border-radius:6px; overflow:hidden; background:#F3F4F6; margin-bottom:9px; }
.mp-ops-dist-seg { display:block; height:100%; }
.mp-ops-dist-ok { background:var(--ops-green); } .mp-ops-dist-run { background:var(--ops-blue); }
.mp-ops-dist-warn { background:var(--ops-orange); } .mp-ops-dist-fail { background:var(--ops-red); } .mp-ops-dist-idle { background:var(--ops-grey); }
.mp-ops-legend { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:3px 12px; }
.mp-ops-legend li { display:flex; align-items:center; gap:6px; font-size: 12px; color:var(--ops-mut); }
.mp-ops-legend b { margin-left:auto; color:var(--ops-ink); }
.mp-ops-timeline { list-style:none; margin:0; padding:0; }
.mp-ops-timeline li { display:flex; align-items:center; gap:8px; padding:5px 0; border-top:1px solid #F3F4F6; font-size: 12px; }
.mp-ops-timeline li:first-child { border-top:none; }
.mp-ops-timeline time { font-variant-numeric:tabular-nums; color:var(--ops-mut); font-size: 12px; flex:0 0 42px; }
.mp-ops-tl-msg { color:#374151; } .mp-ops-tl-msg b { color:var(--ops-ink); }

.mp-ops-esec { margin-top:14px; }
.mp-ops-egrid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
@media (max-width:1200px){ .mp-ops-egrid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .mp-ops-egrid { grid-template-columns:1fr; } }

/* Drawer */
.mp-ops-drawer .mp-ops-tabs { display:flex; flex-wrap:wrap; gap:4px; padding:10px 16px; border-bottom:1px solid var(--ops-border); background:var(--ops-bg); }
.mp-ops-tab { font-size: 12px; font-weight:600; color:var(--ops-mut); background:transparent; border:1px solid transparent; border-radius:6px; padding:4px 9px; cursor:pointer; }
.mp-ops-tab:hover { background:#EEF2F7; }
.mp-ops-tab.is-active { background:#111827; color:#fff; }
.mp-ops-drawer .mp-drawer-head .mp-ops-badge { margin-top:6px; }
.mp-ops-ov-purpose { font-size:13px; color:#374151; margin:0 0 12px; }
.mp-ops-ov-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.mp-ops-ov-grid > div { background:var(--ops-bg); border-radius:8px; padding:9px 10px; }
.mp-ops-ov-grid span { display:block; font-size: 12px; text-transform:uppercase; letter-spacing:.03em; color:var(--ops-mut); }
.mp-ops-ov-grid b { font-size:14px; color:var(--ops-ink); }
.mp-ops-ov-actions { margin-top:14px; }
.mp-ops-list-lg code { font-size: 12px; background:var(--ops-bg); padding:1px 6px; border-radius:5px; }

@media (prefers-color-scheme: dark){
  .mp-ops { --ops-border:#374151; --ops-bg:#0B1220; --ops-card:#111827; --ops-ink:#E5E7EB; --ops-mut:#9CA3AF; }
  .mp-ops-count { background:#1F2937; }
  .mp-ops-chip.is-active, .mp-ops-tab.is-active { background:#2563EB; border-color:#2563EB; }
  .mp-ops-card-actions { border-top-color:#1F2937; }
  .mp-ops-list li, .mp-ops-timeline li, .mp-ops-list-lg li { border-top-color:#1F2937; }
  .mp-ops-card-msg { color:#D1D5DB; }
}
