/* inteligencia-mercado-apple.css — [IM APPLE OCT 2026] Look & feel Apple de «🧠 Inteligencia de Mercado»
   (#inteligenciaMercadoSection) con los mismos tokens --ad-* (admin-apple-redesign.css) que Unidad Pública, Organización,
   Comunicaciones, Planes de negocio, Historial y Programar búsqueda. SUSTITUYE a inteligencia-mercado.css (que queda en el
   repo sin enlazar): es la ÚNICA hoja de la sección, así que define todo lo estructural (pestañas, modales, cola, tablas).
   Las plantillas de public/js/inteligencia-mercado.js pintan clases im-* / comp-* en vez de estilos en línea; todos los
   ids, data-* y clases que usan los listeners se mantienen (lista dorada en scripts/pruebas-inteligencia-mercado/
   test-im-apple.js). Se carga antes de thor-skin.css y con !important donde la regla global `.section button` de style.css
   (especificidad 0,4,1, fondo con !important) o los focos de thor-skin.css lo exigen. Los tres modales que cuelgan de <body>
   (.im-modal-overlay, #modal-competidor-detalle, #im-vincular-cuenta-overlay) llevan su propio ámbito. */

/* ── Base y reset de la regla global `.section button` ─────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection {
  font-family: var(--ad-font, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif);
  color: var(--ad-text, #1d1d1f);
  display: flex; flex-direction: column; gap: 18px;
}
#inteligenciaMercadoSection.hidden { display: none; }
#inteligenciaMercadoSection button, .im-modal-overlay button, #modal-competidor-detalle button, #im-vincular-cuenta-overlay button {
  margin: 0 !important; position: static !important; overflow: visible !important; box-shadow: none !important;
  background-image: none !important; transform: none !important; font-family: inherit !important; line-height: 1.2 !important;
}
#inteligenciaMercadoSection button::before, .im-modal-overlay button::before, #modal-competidor-detalle button::before,
#im-vincular-cuenta-overlay button::before { content: none !important; display: none !important; }
#inteligenciaMercadoSection button:hover { transform: none !important; }
#inteligenciaMercadoSection .im-hidden { display: none !important; }
#inteligenciaMercadoSection a { color: var(--ad-accent, #e88732); text-decoration: none; }
#inteligenciaMercadoSection a:hover { text-decoration: underline; }
#inteligenciaMercadoSection h2, #inteligenciaMercadoSection h3, #inteligenciaMercadoSection h4 { margin: 0; color: var(--ad-text, #1d1d1f); }
#inteligenciaMercadoSection p { margin: 0; }

/* ── Piezas comunes ─────────────────────────────────────────────────────────────────────────────────────────────── */
/* botones pastilla (secundario por defecto) */
#inteligenciaMercadoSection .im-btn, .im-modal-overlay .im-btn, #modal-competidor-detalle .im-btn, #im-vincular-cuenta-overlay .im-btn,
#inteligenciaMercadoSection .im-btn-pagination, #im-vincular-cuenta-overlay .im-btn-pagination,
.im-modal-overlay .im-btn-cancel, .im-modal-overlay .im-btn-primary,
#inteligenciaMercadoSection .im-btn-reprocesar, #inteligenciaMercadoSection .im-btn-clasificar, #inteligenciaMercadoSection .comp-vista-btn {
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important;
  padding: 9px 16px !important; border-radius: var(--ad-r-pill, 980px) !important; border: 1px solid var(--ad-border-2, rgba(0,0,0,.14)) !important;
  background: var(--ad-card, #fff) !important; color: var(--ad-text, #1d1d1f) !important;
  font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; white-space: nowrap !important; text-decoration: none !important;
  transition: transform .1s ease, filter .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease !important;
}
#inteligenciaMercadoSection .im-btn:hover, #inteligenciaMercadoSection .im-btn-pagination:hover, #im-vincular-cuenta-overlay .im-btn-pagination:hover,
.im-modal-overlay .im-btn-cancel:hover, #modal-competidor-detalle .im-btn:hover, #inteligenciaMercadoSection .im-btn-clasificar:hover {
  background: color-mix(in srgb, var(--ad-text-2, #6e6e73) 8%, var(--ad-card, #fff)) !important;
  border-color: var(--ad-text-3, #a1a1a6) !important; transform: translateY(-1px) !important;
}
/* primario naranja (degradado como .up-btn.primario) */
#inteligenciaMercadoSection .im-btn-primary, .im-modal-overlay .im-btn-primary, #inteligenciaMercadoSection .im-btn-reprocesar {
  background: linear-gradient(135deg, #f0974a 0%, var(--ad-accent, #e88732) 100%) !important;
  background-image: linear-gradient(135deg, #f0974a 0%, var(--ad-accent, #e88732) 100%) !important;
  color: #fff !important; border-color: transparent !important; box-shadow: 0 6px 18px rgba(232,135,50,.28) !important;
}
#inteligenciaMercadoSection .im-btn-primary:hover, .im-modal-overlay .im-btn-primary:hover, #inteligenciaMercadoSection .im-btn-reprocesar:hover {
  filter: saturate(1.08) !important; box-shadow: 0 8px 22px rgba(232,135,50,.38) !important; transform: translateY(-1px) !important;
}
/* ThorIA: violeta tenue */
#inteligenciaMercadoSection .im-btn-ia, #modal-competidor-detalle .im-btn-ia {
  background: color-mix(in srgb, #7c3aed 10%, var(--ad-card, #fff)) !important; color: #6d28d9 !important;
  border-color: color-mix(in srgb, #7c3aed 35%, transparent) !important;
}
#inteligenciaMercadoSection .im-btn-ia:hover, #modal-competidor-detalle .im-btn-ia:hover { background: color-mix(in srgb, #7c3aed 18%, var(--ad-card, #fff)) !important; transform: translateY(-1px) !important; }
/* peligro rojo tenue */
#inteligenciaMercadoSection .im-btn-danger, #im-vincular-cuenta-overlay .im-btn-danger {
  background: color-mix(in srgb, var(--ad-red, #ff3b30) 10%, var(--ad-card, #fff)) !important; color: var(--ad-red, #ff3b30) !important;
  border-color: color-mix(in srgb, var(--ad-red, #ff3b30) 34%, transparent) !important;
}
#inteligenciaMercadoSection .im-btn-danger:hover, #im-vincular-cuenta-overlay .im-btn-danger:hover { background: color-mix(in srgb, var(--ad-red, #ff3b30) 18%, var(--ad-card, #fff)) !important; }
/* tamaños */
#inteligenciaMercadoSection .im-btn-sm, #inteligenciaMercadoSection .im-btn-pagination, #im-vincular-cuenta-overlay .im-btn-pagination,
#inteligenciaMercadoSection .im-btn-reprocesar, #inteligenciaMercadoSection .im-btn-clasificar, #inteligenciaMercadoSection .comp-vista-btn,
#modal-competidor-detalle .im-btn-sm { padding: 6px 12px !important; font-size: 12px !important; }
#inteligenciaMercadoSection .im-btn-block { display: flex !important; width: 100%; }
#inteligenciaMercadoSection button[disabled], .im-modal-overlay button[disabled], #modal-competidor-detalle button[disabled] { opacity: .55 !important; cursor: default !important; transform: none !important; }

/* inputs, selects, textareas */
#inteligenciaMercadoSection .im-input, #inteligenciaMercadoSection .im-select, #inteligenciaMercadoSection .im-filter-input, #inteligenciaMercadoSection .im-filter-select,
#inteligenciaMercadoSection .im-config-input, #inteligenciaMercadoSection .comp-field select, #inteligenciaMercadoSection #comp-fusion-destino,
.im-modal-overlay .im-form-group input, .im-modal-overlay .im-form-group select, .im-modal-overlay .im-form-group textarea,
#im-vincular-cuenta-overlay .im-filter-input {
  width: 100%; box-sizing: border-box; background: var(--ad-card-2, #fbfbfd) !important; border: 1px solid var(--ad-border-2, rgba(0,0,0,.14)) !important;
  border-radius: var(--ad-r-el, 12px) !important; color: var(--ad-text, #1d1d1f) !important; font-family: inherit !important;
  font-size: 14px !important; padding: 9px 12px !important; outline: none !important; box-shadow: none !important; margin: 0 !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}
#inteligenciaMercadoSection .im-input:focus, #inteligenciaMercadoSection .im-select:focus, #inteligenciaMercadoSection .im-filter-input:focus, #inteligenciaMercadoSection .im-filter-select:focus,
#inteligenciaMercadoSection .im-config-input:focus, #inteligenciaMercadoSection .comp-field select:focus,
.im-modal-overlay .im-form-group input:focus, .im-modal-overlay .im-form-group select:focus, .im-modal-overlay .im-form-group textarea:focus,
#im-vincular-cuenta-overlay .im-filter-input:focus {
  border-color: var(--ad-accent, #e88732) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ad-accent, #e88732) 18%, transparent) !important;
}
#inteligenciaMercadoSection input::placeholder, .im-modal-overlay input::placeholder, #im-vincular-cuenta-overlay input::placeholder { color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection input[type="checkbox"], .im-modal-overlay input[type="checkbox"] { accent-color: var(--ad-accent, #e88732); width: 16px; height: 16px; cursor: pointer; }
#inteligenciaMercadoSection .im-label, #inteligenciaMercadoSection .comp-field label, .im-modal-overlay .im-form-group label {
  display: block; margin: 0 0 6px !important; font-size: 11.5px !important; font-weight: 600 !important; text-transform: uppercase !important;
  letter-spacing: .04em !important; color: var(--ad-text-3, #a1a1a6) !important;
}
#inteligenciaMercadoSection .im-field, #inteligenciaMercadoSection .comp-field { display: flex; flex-direction: column; min-width: 0; }

/* tarjeta base (misma que .up-card / .org-card) */
#inteligenciaMercadoSection .im-card, #inteligenciaMercadoSection .im-stat-card, #inteligenciaMercadoSection .im-chart-wrapper, #inteligenciaMercadoSection .im-chart-card,
#inteligenciaMercadoSection .im-drop-zone, #inteligenciaMercadoSection .im-queue-section, #inteligenciaMercadoSection .im-forecast-section,
#inteligenciaMercadoSection .im-kpi, #inteligenciaMercadoSection .im-comp-card, #inteligenciaMercadoSection .im-pricing,
#inteligenciaMercadoSection .im-historico-filters, #inteligenciaMercadoSection .im-historico-card, #inteligenciaMercadoSection .comp-stat-card,
#inteligenciaMercadoSection .comparativa-filtros, #inteligenciaMercadoSection .comp-grupo, #inteligenciaMercadoSection .comparativa-licitacion-card,
#inteligenciaMercadoSection .comparativa-resumen, #inteligenciaMercadoSection .comparativa-nce, #inteligenciaMercadoSection .im-empty, #inteligenciaMercadoSection .im-error,
#inteligenciaMercadoSection .im-loading, #inteligenciaMercadoSection .im-forecast-header {
  background: var(--ad-card, #fff); border: 1px solid var(--ad-border, rgba(0,0,0,.08));
  border-radius: var(--ad-r-card, 18px); box-shadow: var(--ad-sh, 0 1px 3px rgba(0,0,0,.05));
}
#inteligenciaMercadoSection .im-card { padding: 18px 20px; }
#inteligenciaMercadoSection .im-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 12px; }
#inteligenciaMercadoSection .im-section-title, #inteligenciaMercadoSection .im-card > h3, #inteligenciaMercadoSection .comparativa-resumen h3, #inteligenciaMercadoSection .comparativa-nce h3,
#inteligenciaMercadoSection .comparativa-grupos h3 { font-size: 17px; font-weight: 700; letter-spacing: -.01em; color: var(--ad-text, #1d1d1f); margin: 0; }
#inteligenciaMercadoSection .im-section-sub { font-size: 12.5px; color: var(--ad-text-2, #6e6e73); font-weight: 400; }
#inteligenciaMercadoSection .im-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
#inteligenciaMercadoSection .im-note { margin: 10px 0 0; font-size: 11.5px; color: var(--ad-text-3, #a1a1a6); line-height: 1.45; }
#inteligenciaMercadoSection .im-muted { color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection .im-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#inteligenciaMercadoSection .im-grid-auto { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
#inteligenciaMercadoSection .im-span-2, .im-modal-overlay .im-span-2 { grid-column: 1 / -1; }

/* textos de color (semánticos) */
#inteligenciaMercadoSection .im-t-ok, .im-modal-overlay .im-t-ok { color: #1f8f4a; font-weight: 600; }
#inteligenciaMercadoSection .im-t-err, .im-modal-overlay .im-t-err { color: var(--ad-red, #ff3b30); font-weight: 600; }
#inteligenciaMercadoSection .im-t-warn { color: #b8600f; font-weight: 600; }
#inteligenciaMercadoSection .im-t-info { color: var(--ad-blue, #0a84ff); font-weight: 600; }
#inteligenciaMercadoSection .im-t-violet, #modal-competidor-detalle .im-t-violet { color: #7c3aed; font-weight: 600; }
#inteligenciaMercadoSection .im-t-muted { color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection .im-t-strong { font-weight: 700; color: var(--ad-text, #1d1d1f); }

/* badges / chips */
#inteligenciaMercadoSection .im-badge, #inteligenciaMercadoSection .comp-result, #inteligenciaMercadoSection .im-threat, #inteligenciaMercadoSection .im-queue-origin,
#modal-competidor-detalle .comp-result {
  display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: var(--ad-r-pill, 980px); font-size: 11px; font-weight: 700;
  letter-spacing: .02em; white-space: nowrap; line-height: 1.3; vertical-align: middle;
  background: color-mix(in srgb, var(--ad-text-2, #6e6e73) 12%, var(--ad-card, #fff)); color: var(--ad-text-2, #6e6e73);
}
#inteligenciaMercadoSection .im-badge-green, #inteligenciaMercadoSection .comp-result.ganada, #modal-competidor-detalle .comp-result.ganada { background: color-mix(in srgb, var(--ad-green, #34c759) 16%, var(--ad-card, #fff)); color: #1f8f4a; }
#inteligenciaMercadoSection .im-badge-red, #inteligenciaMercadoSection .comp-result.perdida, #modal-competidor-detalle .comp-result.perdida { background: color-mix(in srgb, var(--ad-red, #ff3b30) 12%, var(--ad-card, #fff)); color: #c62828; }
#inteligenciaMercadoSection .im-badge-amber, #inteligenciaMercadoSection .comp-result.desierta { background: color-mix(in srgb, #ff9f0a 18%, var(--ad-card, #fff)); color: #9a5a00; }
#inteligenciaMercadoSection .im-badge-blue, #inteligenciaMercadoSection .im-queue-origin { background: color-mix(in srgb, var(--ad-blue, #0a84ff) 12%, var(--ad-card, #fff)); color: #0a5fcc; }
#inteligenciaMercadoSection .im-badge-gray, #inteligenciaMercadoSection .comp-result.incompleta { background: color-mix(in srgb, var(--ad-text-2, #6e6e73) 12%, var(--ad-card, #fff)); color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection .im-threat-high { background: color-mix(in srgb, var(--ad-red, #ff3b30) 14%, var(--ad-card, #fff)); color: #c62828; }
#inteligenciaMercadoSection .im-threat-medium { background: color-mix(in srgb, #ff9f0a 20%, var(--ad-card, #fff)); color: #9a5a00; }
#inteligenciaMercadoSection .im-threat-low { background: color-mix(in srgb, var(--ad-green, #34c759) 16%, var(--ad-card, #fff)); color: #1f8f4a; }

/* avisos (callouts) */
#inteligenciaMercadoSection .im-callout, .im-modal-overlay .im-callout {
  display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; border-radius: var(--ad-r-el, 12px); font-size: 12.5px; line-height: 1.5;
  background: color-mix(in srgb, var(--ad-blue, #0a84ff) 8%, var(--ad-card, #fff)); border: 1px solid color-mix(in srgb, var(--ad-blue, #0a84ff) 22%, transparent); color: var(--ad-text, #1d1d1f);
}
#inteligenciaMercadoSection .im-callout-warn, .im-modal-overlay .im-callout-warn { background: color-mix(in srgb, #ff9f0a 10%, var(--ad-card, #fff)); border-color: color-mix(in srgb, #ff9f0a 35%, transparent); }
#inteligenciaMercadoSection .im-callout-error, .im-modal-overlay .im-callout-error { background: color-mix(in srgb, var(--ad-red, #ff3b30) 8%, var(--ad-card, #fff)); border-color: color-mix(in srgb, var(--ad-red, #ff3b30) 30%, transparent); color: #c62828; }
#inteligenciaMercadoSection .im-callout-ok { background: color-mix(in srgb, var(--ad-green, #34c759) 10%, var(--ad-card, #fff)); border-color: color-mix(in srgb, var(--ad-green, #34c759) 30%, transparent); }
#inteligenciaMercadoSection .im-callout-between { justify-content: space-between; align-items: center; flex-wrap: wrap; }
#inteligenciaMercadoSection .im-callout-icon { font-size: 20px; line-height: 1; flex: 0 0 auto; }
#inteligenciaMercadoSection .im-callout strong { font-weight: 700; }

/* estados vacío / error / cargando */
#inteligenciaMercadoSection .im-empty, #inteligenciaMercadoSection .im-error, #inteligenciaMercadoSection .im-loading, #inteligenciaMercadoSection .im-queue-empty,
#inteligenciaMercadoSection .im-queue-loading, #inteligenciaMercadoSection .im-queue-error, #modal-competidor-detalle .im-modal-loading, #modal-competidor-detalle .im-empty,
#inteligenciaMercadoSection .im-pricing-empty {
  padding: 36px 20px; text-align: center; color: var(--ad-text-2, #6e6e73); font-size: 13.5px; line-height: 1.5;
}
#inteligenciaMercadoSection .im-queue-empty, #inteligenciaMercadoSection .im-queue-loading, #inteligenciaMercadoSection .im-queue-error { padding: 22px 16px; border: 1px dashed var(--ad-border-2, rgba(0,0,0,.14)); border-radius: var(--ad-r-el, 12px); margin: 0; }
#inteligenciaMercadoSection .im-error, #inteligenciaMercadoSection .im-queue-error, #modal-competidor-detalle .im-error { color: var(--ad-red, #ff3b30); }
#inteligenciaMercadoSection .im-loading::before, #inteligenciaMercadoSection .im-queue-loading::before, #modal-competidor-detalle .im-modal-loading::before, #inteligenciaMercadoSection .im-pricing-loading::before {
  content: ''; display: block; width: 26px; height: 26px; margin: 0 auto 12px; border-radius: 50%;
  border: 3px solid color-mix(in srgb, var(--ad-accent, #e88732) 22%, transparent); border-top-color: var(--ad-accent, #e88732); animation: im-spin .8s linear infinite;
}
@keyframes im-spin { to { transform: rotate(360deg); } }
#inteligenciaMercadoSection .im-pricing-loading { padding: 24px; text-align: center; color: var(--ad-text-2, #6e6e73); font-size: 13px; }

/* tablas */
#inteligenciaMercadoSection .im-table-wrap, #modal-competidor-detalle .im-table-wrap { overflow: auto; border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: var(--ad-r-el, 12px); background: var(--ad-card, #fff); }
#inteligenciaMercadoSection .im-scroll-300, #modal-competidor-detalle .im-scroll-300 { max-height: 300px; }
#inteligenciaMercadoSection .im-scroll-400 { max-height: 400px; }
#inteligenciaMercadoSection .im-table, #inteligenciaMercadoSection .comparativa-table, #inteligenciaMercadoSection .comp-table, #inteligenciaMercadoSection .im-forecast-table, #modal-competidor-detalle .im-table {
  width: 100%; border-collapse: collapse; font-size: 13px; color: var(--ad-text, #1d1d1f);
}
#inteligenciaMercadoSection .im-table th, #inteligenciaMercadoSection .comparativa-table th, #inteligenciaMercadoSection .comp-table th, #inteligenciaMercadoSection .im-forecast-table th, #modal-competidor-detalle .im-table th {
  position: sticky; top: 0; z-index: 1; padding: 10px 14px; text-align: left; font-size: 11.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
  color: var(--ad-text-3, #a1a1a6); background: var(--ad-card-2, #fbfbfd); border-bottom: 1px solid var(--ad-border, rgba(0,0,0,.08)); white-space: nowrap;
}
#inteligenciaMercadoSection .im-table td, #inteligenciaMercadoSection .comparativa-table td, #inteligenciaMercadoSection .comp-table td, #inteligenciaMercadoSection .im-forecast-table td, #modal-competidor-detalle .im-table td {
  padding: 10px 14px; border-top: 1px solid var(--ad-border, rgba(0,0,0,.08)); vertical-align: middle; font-variant-numeric: tabular-nums;
}
#inteligenciaMercadoSection .im-table tbody tr:first-child td, #inteligenciaMercadoSection .comparativa-table tbody tr:first-child td, #inteligenciaMercadoSection .comp-table tbody tr:first-child td,
#inteligenciaMercadoSection .im-forecast-table tbody tr:first-child td, #modal-competidor-detalle .im-table tbody tr:first-child td { border-top: 0; }
#inteligenciaMercadoSection .im-table tbody tr:hover td, #inteligenciaMercadoSection .comparativa-table tbody tr:hover td, #inteligenciaMercadoSection .comp-table tbody tr:hover td,
#modal-competidor-detalle .im-table tbody tr:hover td { background: color-mix(in srgb, var(--ad-accent, #e88732) 5%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .comp-table { font-size: 12px; }
#inteligenciaMercadoSection .comp-table th { padding: 6px 8px; position: static; }
#inteligenciaMercadoSection .comp-table td { padding: 7px 8px; }
#inteligenciaMercadoSection th.num, #inteligenciaMercadoSection td.num, #modal-competidor-detalle th.num, #modal-competidor-detalle td.num { text-align: right; white-space: nowrap; }
#inteligenciaMercadoSection th.center, #inteligenciaMercadoSection td.center, #modal-competidor-detalle th.center, #modal-competidor-detalle td.center { text-align: center; }
#inteligenciaMercadoSection td.strong, #modal-competidor-detalle td.strong { font-weight: 600; }
#inteligenciaMercadoSection td.mono, #modal-competidor-detalle td.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection td.ellipsis { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#inteligenciaMercadoSection td.nowrap { white-space: nowrap; }
#inteligenciaMercadoSection .comparativa-row td { transition: background .15s ease; }
#inteligenciaMercadoSection .comparativa-row-nosotros td { background: color-mix(in srgb, var(--ad-blue, #0a84ff) 7%, var(--ad-card, #fff)); font-weight: 600; }

/* KPIs (misma tesela que .up-kpi) */
#inteligenciaMercadoSection .im-kpi-grid, #inteligenciaMercadoSection .im-stats-container, #inteligenciaMercadoSection .im-dashboard-grid, #inteligenciaMercadoSection .comp-stats {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px;
}
#inteligenciaMercadoSection .im-kpi, #inteligenciaMercadoSection .im-stat-card, #inteligenciaMercadoSection .comp-stat-card {
  position: relative; overflow: hidden; padding: 14px 16px; display: flex; flex-direction: column; gap: 3px; min-width: 0;
}
#inteligenciaMercadoSection .im-kpi::after, #inteligenciaMercadoSection .im-stat-card::after, #inteligenciaMercadoSection .comp-stat-card::after {
  content: ''; position: absolute; right: -18px; top: -18px; width: 64px; height: 64px; border-radius: 50%; background: var(--im-kpi-tinte, rgba(232,135,50,.10)); pointer-events: none;
}
#inteligenciaMercadoSection .im-kpi:nth-child(6n+2), #inteligenciaMercadoSection .im-stat-card:nth-child(6n+2), #inteligenciaMercadoSection .comp-stat-card:nth-child(6n+2) { --im-kpi-tinte: rgba(10,132,255,.10); }
#inteligenciaMercadoSection .im-kpi:nth-child(6n+3), #inteligenciaMercadoSection .im-stat-card:nth-child(6n+3), #inteligenciaMercadoSection .comp-stat-card:nth-child(6n+3) { --im-kpi-tinte: rgba(52,199,89,.12); }
#inteligenciaMercadoSection .im-kpi:nth-child(6n+4), #inteligenciaMercadoSection .im-stat-card:nth-child(6n+4), #inteligenciaMercadoSection .comp-stat-card:nth-child(6n+4) { --im-kpi-tinte: rgba(94,92,230,.12); }
#inteligenciaMercadoSection .im-kpi:nth-child(6n+5), #inteligenciaMercadoSection .im-stat-card:nth-child(6n+5), #inteligenciaMercadoSection .comp-stat-card:nth-child(6n+5) { --im-kpi-tinte: rgba(255,159,10,.14); }
#inteligenciaMercadoSection .im-kpi:nth-child(6n+6), #inteligenciaMercadoSection .im-stat-card:nth-child(6n+6), #inteligenciaMercadoSection .comp-stat-card:nth-child(6n+6) { --im-kpi-tinte: rgba(48,176,199,.12); }
#inteligenciaMercadoSection .im-kpi-v, #inteligenciaMercadoSection .im-card-value, #inteligenciaMercadoSection .comp-stat-v {
  font-size: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--ad-text, #1d1d1f); line-height: 1.1; font-variant-numeric: tabular-nums; margin: 0; overflow: hidden; text-overflow: ellipsis;
}
#inteligenciaMercadoSection .im-kpi-v.sm { font-size: 18px; white-space: nowrap; }
#inteligenciaMercadoSection .im-kpi-l, #inteligenciaMercadoSection .im-card-label, #inteligenciaMercadoSection .comp-stat-l { font-size: 12.5px; color: var(--ad-text-2, #6e6e73); font-weight: 500; margin: 0; }
#inteligenciaMercadoSection .im-kpi-s { font-size: 11px; color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection .im-stat-card { flex-direction: row; align-items: center; gap: 14px; }
#inteligenciaMercadoSection .im-card-icon {
  width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700;
  background: color-mix(in srgb, var(--ad-accent, #e88732) 14%, var(--ad-card, #fff)); color: var(--ad-accent, #e88732);
}
#inteligenciaMercadoSection .im-card-green .im-card-icon { background: color-mix(in srgb, var(--ad-green, #34c759) 16%, var(--ad-card, #fff)); color: #1f8f4a; }
#inteligenciaMercadoSection .im-card-red .im-card-icon { background: color-mix(in srgb, var(--ad-red, #ff3b30) 12%, var(--ad-card, #fff)); color: #c62828; }
#inteligenciaMercadoSection .im-card-blue .im-card-icon { background: color-mix(in srgb, var(--ad-blue, #0a84ff) 12%, var(--ad-card, #fff)); color: #0a5fcc; }
#inteligenciaMercadoSection .im-card-content { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
#inteligenciaMercadoSection .im-card-content .im-card-label { order: 0; }
#inteligenciaMercadoSection .im-card-content .im-card-value { order: 1; }

/* ── Cabecera y pestañas ────────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection .im-header { display: flex; flex-direction: column; gap: 4px; }
#inteligenciaMercadoSection .im-header h2 { font-size: 1.9rem !important; font-weight: 700 !important; letter-spacing: -.025em !important; line-height: 1.15 !important; color: var(--ad-text, #1d1d1f) !important; }
#inteligenciaMercadoSection .im-subtitle { font-size: 13.5px; color: var(--ad-text-2, #6e6e73); line-height: 1.45; max-width: 760px; }
#inteligenciaMercadoSection .im-tabs {
  display: inline-flex; gap: 2px; background: color-mix(in srgb, var(--ad-text, #1d1d1f) 6%, transparent); padding: 3px; border-radius: var(--ad-r-pill, 980px);
  flex-wrap: wrap; align-self: flex-start; max-width: 100%;
}
#inteligenciaMercadoSection .im-tab-button {
  border: 0 !important; background: transparent !important; padding: 8px 16px !important; border-radius: var(--ad-r-pill, 980px) !important;
  font-size: 13px !important; font-weight: 600 !important; color: var(--ad-text-2, #6e6e73) !important; cursor: pointer; white-space: nowrap;
}
#inteligenciaMercadoSection .im-tab-button:hover { color: var(--ad-text, #1d1d1f) !important; }
#inteligenciaMercadoSection .im-tab-button.active { background: var(--ad-card, #fff) !important; color: var(--ad-text, #1d1d1f) !important; box-shadow: 0 1px 3px rgba(0,0,0,.12) !important; }
#inteligenciaMercadoSection .im-tab-content { display: none; }
#inteligenciaMercadoSection .im-tab-content.active { display: block; animation: im-fade .25s ease; }
@keyframes im-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ── Dashboard ──────────────────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection .im-charts-container, #inteligenciaMercadoSection .im-charts-area { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
#inteligenciaMercadoSection .im-chart-wrapper, #inteligenciaMercadoSection .im-chart-card { padding: 16px 18px; min-width: 0; }
#inteligenciaMercadoSection .im-chart-wrapper h4, #inteligenciaMercadoSection .im-chart-card h3 { font-size: 14px; font-weight: 700; margin: 0 0 10px; color: var(--ad-text, #1d1d1f); }
#inteligenciaMercadoSection .im-chart-wrapper canvas, #inteligenciaMercadoSection .im-chart-card canvas { max-height: 280px; width: 100% !important; }

/* ── Subir documentos ───────────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection .im-upload-section { display: flex; flex-direction: column; gap: 14px; }
#inteligenciaMercadoSection .im-drop-zone {
  border: 2px dashed var(--ad-border-2, rgba(0,0,0,.14)); box-shadow: none; padding: 34px 20px; text-align: center; cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .1s ease;
}
#inteligenciaMercadoSection .im-drop-zone:hover, #inteligenciaMercadoSection .im-drop-zone.im-drag-active {
  border-color: var(--ad-accent, #e88732); background: color-mix(in srgb, var(--ad-accent, #e88732) 6%, var(--ad-card, #fff));
}
#inteligenciaMercadoSection .im-drop-zone.im-uploading { opacity: .6; pointer-events: none; }
#inteligenciaMercadoSection .im-drop-icon {
  width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 26px;
  background: color-mix(in srgb, var(--ad-accent, #e88732) 14%, var(--ad-card, #fff));
}
#inteligenciaMercadoSection .im-drop-zone h3 { font-size: 16px; font-weight: 700; margin: 0 0 4px; }
#inteligenciaMercadoSection .im-drop-zone p { font-size: 13px; color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection .im-howto { align-items: flex-start; }
#inteligenciaMercadoSection .im-howto-t { display: block; margin-bottom: 2px; }
#inteligenciaMercadoSection .im-queue-section { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
#inteligenciaMercadoSection .im-queue-head { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
#inteligenciaMercadoSection .im-queue-head h3 { font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
#inteligenciaMercadoSection .im-queue-hint { font-size: 12px; color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection .im-queue-container { display: flex; flex-direction: column; gap: 8px; }
#inteligenciaMercadoSection .im-queue-item {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: var(--ad-r-el, 12px);
  border: 1px solid var(--ad-border, rgba(0,0,0,.08)); background: var(--ad-card-2, #fbfbfd); border-left: 4px solid var(--ad-text-3, #a1a1a6);
}
#inteligenciaMercadoSection .im-queue-item.im-status-clasificado { border-left-color: var(--ad-green, #34c759); background: color-mix(in srgb, var(--ad-green, #34c759) 6%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-queue-item.im-status-duplicado { border-left-color: #ff9f0a; background: color-mix(in srgb, #ff9f0a 8%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-queue-item.im-status-procesando { border-left-color: var(--ad-blue, #0a84ff); background: color-mix(in srgb, var(--ad-blue, #0a84ff) 6%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-queue-item.im-status-error, #inteligenciaMercadoSection .im-queue-item.im-status-pendiente_revision { border-left-color: var(--ad-red, #ff3b30); background: color-mix(in srgb, var(--ad-red, #ff3b30) 5%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-queue-item.im-status-pendiente, #inteligenciaMercadoSection .im-queue-item.im-status-completado { border-left-color: var(--ad-accent, #e88732); background: color-mix(in srgb, var(--ad-accent, #e88732) 6%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-queue-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
#inteligenciaMercadoSection .im-queue-info h4 { font-size: 13.5px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; align-items: center; gap: 8px; }
#inteligenciaMercadoSection .im-queue-info h4 .im-queue-origin { flex: 0 0 auto; }
#inteligenciaMercadoSection .im-queue-estado { font-size: 12px; color: var(--ad-text-2, #6e6e73); line-height: 1.4; }
#inteligenciaMercadoSection .im-queue-date { margin-left: 8px; color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection .im-queue-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; }
#inteligenciaMercadoSection .im-queue-tag { font-size: 11.5px; font-weight: 600; white-space: nowrap; }
#inteligenciaMercadoSection .im-queue-tag.ok { color: #1f8f4a; }
#inteligenciaMercadoSection .im-queue-tag.warn { color: #b8600f; }
#inteligenciaMercadoSection .im-queue-tag.err { color: var(--ad-red, #ff3b30); }
#inteligenciaMercadoSection .im-queue-tag.muted { color: var(--ad-text-3, #a1a1a6); }
/* marcado estático de panel.html (se sustituye al cargar la pestaña) */
#inteligenciaMercadoSection .im-upload-zone { border: 2px dashed var(--ad-border-2, rgba(0,0,0,.14)); border-radius: var(--ad-r-card, 18px); padding: 34px 20px; text-align: center; }
#inteligenciaMercadoSection .im-progress-bar { height: 6px; border-radius: 980px; background: color-mix(in srgb, var(--ad-text, #1d1d1f) 7%, transparent); overflow: hidden; }
#inteligenciaMercadoSection .im-progress-fill { height: 100%; width: 0; background: var(--ad-accent, #e88732); }

/* ── Config. Forecast ───────────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection .im-forecast-header { padding: 16px 20px; }
#inteligenciaMercadoSection .im-forecast-header h3 { font-size: 17px; font-weight: 700; margin: 0 0 4px; }
#inteligenciaMercadoSection .im-forecast-header p { font-size: 13px; color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection .im-forecast-container { display: flex; flex-direction: column; gap: 14px; }
#inteligenciaMercadoSection .im-forecast-toolbar { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
#inteligenciaMercadoSection .im-forecast-section { padding: 16px 18px; overflow: hidden; }
#inteligenciaMercadoSection .im-forecast-section h4 { font-size: 15px; font-weight: 700; margin: 0 0 10px; text-transform: capitalize; }
#inteligenciaMercadoSection .im-forecast-table { font-size: 13px; }
#inteligenciaMercadoSection .im-forecast-table th { position: static; }
#inteligenciaMercadoSection .im-forecast-table td:first-child { font-weight: 600; }
#inteligenciaMercadoSection .im-config-toggle { width: 18px; height: 18px; accent-color: var(--ad-accent, #e88732); cursor: pointer; }
#inteligenciaMercadoSection .im-config-input { max-width: 140px; padding: 7px 10px !important; font-size: 13px !important; text-align: right; font-variant-numeric: tabular-nums; }

/* ── Competidores ───────────────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection .im-comp-wrap { display: flex; flex-direction: column; gap: 22px; }
#inteligenciaMercadoSection .im-comp-block { display: flex; flex-direction: column; gap: 12px; }
#inteligenciaMercadoSection .im-comp-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; }
#inteligenciaMercadoSection .im-comp-card { padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; transition: box-shadow .15s ease, transform .15s ease; }
#inteligenciaMercadoSection .im-comp-card:hover { box-shadow: var(--ad-sh-h, 0 8px 24px rgba(0,0,0,.12)); transform: translateY(-1px); }
#inteligenciaMercadoSection .im-comp-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
#inteligenciaMercadoSection .im-comp-top h3 { font-size: 16px; font-weight: 700; letter-spacing: -.01em; min-width: 0; overflow-wrap: anywhere; }
#inteligenciaMercadoSection .im-comp-stats, #inteligenciaMercadoSection .im-detail-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
#inteligenciaMercadoSection .im-mini, #modal-competidor-detalle .im-mini { padding: 8px 6px; border-radius: 10px; text-align: center; background: color-mix(in srgb, var(--ad-text, #1d1d1f) 4%, var(--ad-card, #fff)); min-width: 0; }
#inteligenciaMercadoSection .im-mini-bad, #modal-competidor-detalle .im-mini-bad { background: color-mix(in srgb, var(--ad-red, #ff3b30) 9%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-mini-good, #modal-competidor-detalle .im-mini-good { background: color-mix(in srgb, var(--ad-green, #34c759) 12%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-mini-v, #modal-competidor-detalle .im-mini-v { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ad-text, #1d1d1f); }
#inteligenciaMercadoSection .im-mini-bad .im-mini-v, #modal-competidor-detalle .im-mini-bad .im-mini-v { color: #c62828; }
#inteligenciaMercadoSection .im-mini-good .im-mini-v, #modal-competidor-detalle .im-mini-good .im-mini-v { color: #1f8f4a; }
#inteligenciaMercadoSection .im-mini-l, #modal-competidor-detalle .im-mini-l { font-size: 11px; color: var(--ad-text-2, #6e6e73); margin-top: 2px; }
#modal-competidor-detalle .im-mini { padding: 12px 8px; }
#modal-competidor-detalle .im-mini-v { font-size: 20px; }
#inteligenciaMercadoSection .im-tags { display: flex; flex-wrap: wrap; gap: 6px; }
#inteligenciaMercadoSection .im-tags:empty { display: none; }
#inteligenciaMercadoSection .im-tag { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: var(--ad-r-pill, 980px); font-size: 11px; font-weight: 600; }
#inteligenciaMercadoSection .im-tag-region { background: color-mix(in srgb, var(--ad-blue, #0a84ff) 12%, var(--ad-card, #fff)); color: #0a5fcc; }
#inteligenciaMercadoSection .im-tag-producto { background: color-mix(in srgb, var(--ad-accent, #e88732) 14%, var(--ad-card, #fff)); color: #9a4a12; }
#inteligenciaMercadoSection .im-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#inteligenciaMercadoSection .im-panel { padding: 8px 10px; border-radius: 10px; border-left: 3px solid var(--ad-text-3, #a1a1a6); background: color-mix(in srgb, var(--ad-text, #1d1d1f) 4%, var(--ad-card, #fff)); min-width: 0; }
#inteligenciaMercadoSection .im-panel-good { border-left-color: var(--ad-green, #34c759); background: color-mix(in srgb, var(--ad-green, #34c759) 9%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-panel-bad { border-left-color: var(--ad-red, #ff3b30); background: color-mix(in srgb, var(--ad-red, #ff3b30) 7%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-panel-info { border-left-color: #5e5ce6; background: color-mix(in srgb, #5e5ce6 9%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .im-panel-t { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--ad-text-2, #6e6e73); margin-bottom: 2px; }
#inteligenciaMercadoSection .im-panel-b { font-size: 12.5px; color: var(--ad-text, #1d1d1f); line-height: 1.45; overflow-wrap: anywhere; }
#inteligenciaMercadoSection .im-comp-ia-date { font-size: 11.5px; color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection .im-comp-actions { display: flex; gap: 8px; margin-top: auto; }
#inteligenciaMercadoSection .im-comp-actions .im-btn { flex: 1; }
#inteligenciaMercadoSection .im-pricing { padding: 18px 20px; display: flex; flex-direction: column; gap: 14px; }
#inteligenciaMercadoSection .im-pricing-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; align-items: end; }
#inteligenciaMercadoSection .im-pricing-results { min-height: 40px; display: flex; flex-direction: column; gap: 12px; }
#inteligenciaMercadoSection .im-pricing-results:empty { min-height: 0; }
#inteligenciaMercadoSection .im-pricing-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }

/* ── Histórico ──────────────────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection .im-historico-filters { padding: 14px 18px; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin: 0 0 14px; }
#inteligenciaMercadoSection .im-historico-filters:empty { display: none; }
#inteligenciaMercadoSection .im-historico-content { display: flex; flex-direction: column; gap: 12px; }
#inteligenciaMercadoSection .im-historico-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
#inteligenciaMercadoSection .im-historico-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .15s ease, transform .15s ease; }
#inteligenciaMercadoSection .im-historico-card:hover { box-shadow: var(--ad-sh-h, 0 8px 24px rgba(0,0,0,.12)); transform: translateY(-1px); }
#inteligenciaMercadoSection .im-historico-card.im-destacada { box-shadow: 0 0 0 2px var(--ad-accent, #e88732), var(--ad-sh, 0 1px 3px rgba(0,0,0,.05)); }
#inteligenciaMercadoSection .im-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 14px 16px 10px; border-bottom: 1px solid var(--ad-border, rgba(0,0,0,.08)); }
#inteligenciaMercadoSection .im-card-header h4 { font-size: 14px; font-weight: 700; line-height: 1.3; min-width: 0; overflow-wrap: anywhere; }
#inteligenciaMercadoSection .im-card-body { padding: 10px 16px 14px; display: flex; flex-direction: column; gap: 5px; font-size: 13px; }
#inteligenciaMercadoSection .im-card-body p { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; color: var(--ad-text, #1d1d1f); line-height: 1.4; }
#inteligenciaMercadoSection .im-card-body p strong { font-weight: 600; color: var(--ad-text-2, #6e6e73); min-width: 110px; }
#inteligenciaMercadoSection .im-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; padding: 8px 0; }
#inteligenciaMercadoSection .im-page-info { font-size: 12.5px; color: var(--ad-text-2, #6e6e73); font-variant-numeric: tabular-nums; }

/* ── Comparativa de precios ─────────────────────────────────────────────────────────────────────────────────────── */
#inteligenciaMercadoSection #im-comparativa-container { display: flex; flex-direction: column; gap: 14px; }
#inteligenciaMercadoSection .comp-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
#inteligenciaMercadoSection .comparativa-filtros { padding: 14px 18px; display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
#inteligenciaMercadoSection .comparativa-filtros .comp-field { flex: 1 1 170px; min-width: 150px; }
#inteligenciaMercadoSection .comp-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
#inteligenciaMercadoSection .comp-vistas { display: inline-flex; gap: 2px; background: color-mix(in srgb, var(--ad-text, #1d1d1f) 6%, transparent); padding: 3px; border-radius: var(--ad-r-pill, 980px); }
#inteligenciaMercadoSection .comp-vista-btn { border: 0 !important; background: transparent !important; color: var(--ad-text-2, #6e6e73) !important; padding: 6px 14px !important; }
#inteligenciaMercadoSection .comp-vista-btn:hover { transform: none !important; color: var(--ad-text, #1d1d1f) !important; }
#inteligenciaMercadoSection .comp-vista-btn.active { background: var(--ad-card, #fff) !important; color: var(--ad-text, #1d1d1f) !important; box-shadow: 0 1px 3px rgba(0,0,0,.12) !important; }
/* sugerencias de duplicados */
#inteligenciaMercadoSection .comp-sugerencias { border-radius: var(--ad-r-el, 12px); border: 1px solid color-mix(in srgb, #ff9f0a 35%, transparent); background: color-mix(in srgb, #ff9f0a 10%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .comp-sug-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px; cursor: pointer; font-size: 13px; }
#inteligenciaMercadoSection .comp-sug-list { padding: 0 14px 10px; max-height: 320px; overflow: auto; }
#inteligenciaMercadoSection .comp-sug-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid color-mix(in srgb, #ff9f0a 30%, transparent); font-size: 12.5px; flex-wrap: wrap; }
#inteligenciaMercadoSection .comp-sug-motivo { color: #9a5a00; font-size: 11.5px; }
#inteligenciaMercadoSection .comp-sug-n { color: #9a5a00; }
#inteligenciaMercadoSection .comp-sug-actions { display: flex; gap: 6px; flex-wrap: wrap; }
#inteligenciaMercadoSection .comp-caret { font-size: 11px; color: var(--ad-text-3, #a1a1a6); }
/* grupos por competidor */
#inteligenciaMercadoSection .comparativa-grupos { display: flex; flex-direction: column; gap: 8px; }
#inteligenciaMercadoSection .comp-grupos-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 4px; }
#inteligenciaMercadoSection .comp-grupo { overflow: hidden; }
#inteligenciaMercadoSection .comp-grupo-nosotros { border-left: 4px solid var(--ad-blue, #0a84ff); }
#inteligenciaMercadoSection .comp-grupo-cabecera {
  display: grid; grid-template-columns: 18px minmax(200px, 2fr) repeat(4, minmax(90px, 1fr)) minmax(120px, 1.5fr); gap: 10px; align-items: center; padding: 12px 16px; cursor: pointer;
  transition: background .15s ease;
}
#inteligenciaMercadoSection .comp-grupo-cabecera:hover { background: color-mix(in srgb, var(--ad-accent, #e88732) 5%, var(--ad-card, #fff)); }
#inteligenciaMercadoSection .comp-grupo-nombre { font-weight: 600; font-size: 14px; color: var(--ad-text, #1d1d1f); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#inteligenciaMercadoSection .comp-grupo-nosotros .comp-grupo-nombre { font-weight: 700; }
#inteligenciaMercadoSection .comp-grupo-sub, #inteligenciaMercadoSection .comp-grupo-productos { font-size: 11.5px; color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection .comp-grupo-productos { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#inteligenciaMercadoSection .comp-cell { min-width: 0; }
#inteligenciaMercadoSection .comp-cell.center { text-align: center; }
#inteligenciaMercadoSection .comp-cell.right { text-align: right; }
#inteligenciaMercadoSection .comp-cell-l { font-size: 11px; color: var(--ad-text-3, #a1a1a6); text-transform: uppercase; letter-spacing: .03em; }
#inteligenciaMercadoSection .comp-cell-v { font-size: 13.5px; font-variant-numeric: tabular-nums; }
#inteligenciaMercadoSection .comp-cell-v.strong { font-weight: 700; }
#inteligenciaMercadoSection .comp-grupo-detalle { border-top: 1px solid var(--ad-border, rgba(0,0,0,.08)); padding: 12px 16px 14px; background: var(--ad-card-2, #fbfbfd); }
#inteligenciaMercadoSection .comp-fusion-bar { display: flex; justify-content: flex-end; gap: 6px; margin-bottom: 10px; align-items: center; flex-wrap: wrap; font-size: 12px; color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection #comp-fusion-destino { width: auto; max-width: 320px; padding: 6px 10px !important; font-size: 12px !important; }
#inteligenciaMercadoSection .comp-variante { font-size: 10.5px; color: var(--ad-text-3, #a1a1a6); }
#inteligenciaMercadoSection .comp-lic-org { font-weight: 600; color: var(--ad-text, #1d1d1f); }
#inteligenciaMercadoSection .comp-lic-exp { color: var(--ad-text-2, #6e6e73); }
#inteligenciaMercadoSection .comp-links a { font-size: 14px; margin-right: 4px; }
/* licitaciones detalladas */
#inteligenciaMercadoSection .comparativa-detalle { display: flex; flex-direction: column; gap: 12px; }
#inteligenciaMercadoSection .comparativa-licitacion-card { overflow: hidden; }
#inteligenciaMercadoSection .comp-lic-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; padding: 12px 16px; background: var(--ad-card-2, #fbfbfd); border-bottom: 1px solid var(--ad-border, rgba(0,0,0,.08)); }
#inteligenciaMercadoSection .comp-lic-title { font-weight: 700; font-size: 14px; color: var(--ad-text, #1d1d1f); }
#inteligenciaMercadoSection .comp-lic-meta { font-size: 12px; color: var(--ad-text-2, #6e6e73); margin-top: 2px; }
#inteligenciaMercadoSection .comp-lic-body { padding: 14px 16px; }
#inteligenciaMercadoSection .comp-lic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
#inteligenciaMercadoSection .comp-lic-kv .l { font-size: 11px; color: var(--ad-text-3, #a1a1a6); text-transform: uppercase; letter-spacing: .03em; }
#inteligenciaMercadoSection .comp-lic-kv .v { font-size: 15px; font-weight: 700; color: var(--ad-text, #1d1d1f); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#inteligenciaMercadoSection .comp-lic-kv .v.sm { font-size: 13.5px; font-weight: 600; }
#inteligenciaMercadoSection .comp-lic-participantes { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--ad-border, rgba(0,0,0,.08)); font-size: 12.5px; line-height: 1.6; }
#inteligenciaMercadoSection .comp-lic-participantes .l { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--ad-text-3, #a1a1a6); margin-right: 6px; }
#inteligenciaMercadoSection .comp-participante.adj { font-weight: 700; color: #1f8f4a; }
#inteligenciaMercadoSection .comp-participante.off { font-weight: 600; color: var(--ad-blue, #0a84ff); }
#inteligenciaMercadoSection .comp-pagination { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
#inteligenciaMercadoSection .comp-pagination .im-btn-pagination.active { background: color-mix(in srgb, var(--ad-accent, #e88732) 14%, var(--ad-card, #fff)) !important; color: #9a4a12 !important; border-color: color-mix(in srgb, var(--ad-accent, #e88732) 55%, transparent) !important; }
#inteligenciaMercadoSection .comp-pagination-info { text-align: center; }
#inteligenciaMercadoSection .comparativa-resumen, #inteligenciaMercadoSection .comparativa-nce { padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }

/* ── Modal de clasificación (cuelga de <body>) ──────────────────────────────────────────────────────────────────── */
.im-modal-overlay {
  position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: rgba(0,0,0,.42); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
  font-family: var(--ad-font, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif); color: var(--ad-text, #1d1d1f);
}
.im-modal-overlay.active { opacity: 1; pointer-events: auto; }
.im-modal-overlay .im-modal-content, #inteligenciaMercadoSection .im-modal-clasificar .im-modal-content {
  background: var(--ad-card, #fff); color: var(--ad-text, #1d1d1f); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: var(--ad-r-card, 18px);
  box-shadow: var(--ad-sh-h, 0 18px 48px rgba(0,0,0,.2)); width: 100%; max-width: 560px; max-height: 92vh; overflow-y: auto; padding: 22px 24px;
  transform: translateY(8px); transition: transform .25s ease;
}
.im-modal-overlay.active .im-modal-content { transform: none; }
.im-modal-overlay .im-modal-title { font-size: 19px; font-weight: 700; letter-spacing: -.02em; margin: 0 0 6px; }
.im-modal-overlay .im-modal-intro { font-size: 12.5px; color: var(--ad-text-2, #6e6e73); line-height: 1.5; margin: 0 0 14px; }
.im-modal-overlay .im-modal-intro.im-callout { color: var(--ad-text, #1d1d1f); display: block; }
.im-modal-overlay .im-callout { margin-bottom: 12px; }
.im-modal-overlay .im-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.im-modal-overlay .im-form-group { display: flex; flex-direction: column; min-width: 0; }
.im-modal-overlay .im-form-group textarea { resize: vertical; min-height: 60px; }
.im-modal-overlay .im-form-actions { margin-top: 16px; display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
/* marcado estático #im-modal-clasificar (sin uso, oculto) */
#inteligenciaMercadoSection .im-modal-clasificar { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.42); }
#inteligenciaMercadoSection .im-modal-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
#inteligenciaMercadoSection .im-modal-footer { display: flex; justify-content: flex-end; gap: 10px; margin-top: 16px; }
#inteligenciaMercadoSection .im-modal-close { width: 32px; height: 32px; border-radius: 50% !important; padding: 0 !important; border: 1px solid var(--ad-border-2, rgba(0,0,0,.14)) !important; background: var(--ad-card, #fff) !important; color: var(--ad-text-2, #6e6e73) !important; }

/* ── Modal de detalle de competidor (cuelga de <body>) ──────────────────────────────────────────────────────────── */
#modal-competidor-detalle {
  position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: rgba(0,0,0,.42); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  font-family: var(--ad-font, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif); color: var(--ad-text, #1d1d1f);
}
#modal-competidor-detalle .modal-competidor-contenido {
  background: var(--ad-card, #fff); color: var(--ad-text, #1d1d1f); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: var(--ad-r-card, 18px);
  box-shadow: var(--ad-sh-h, 0 18px 48px rgba(0,0,0,.2)); width: min(920px, 100%); max-height: 90vh; overflow-y: auto; padding: 22px 26px; display: flex; flex-direction: column; gap: 18px;
}
#modal-competidor-detalle .im-modal-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
#modal-competidor-detalle .im-modal-head h2 { margin: 0; font-size: 21px; font-weight: 700; letter-spacing: -.02em; color: var(--ad-text, #1d1d1f); }
#modal-competidor-detalle .im-modal-close {
  width: 34px; height: 34px; border-radius: 50% !important; padding: 0 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border: 1px solid var(--ad-border-2, rgba(0,0,0,.14)) !important; background: var(--ad-card, #fff) !important; color: var(--ad-text-2, #6e6e73) !important; font-size: 18px !important; cursor: pointer;
}
#modal-competidor-detalle .im-modal-close:hover { background: color-mix(in srgb, var(--ad-text-2, #6e6e73) 10%, var(--ad-card, #fff)) !important; color: var(--ad-text, #1d1d1f) !important; }
#modal-competidor-detalle .im-detail-body { display: flex; flex-direction: column; gap: 18px; }
#modal-competidor-detalle .im-detail-block h3 { margin: 0 0 10px; font-size: 18px; font-weight: 700; letter-spacing: -.01em; color: var(--ad-text, #1d1d1f); }
#modal-competidor-detalle .im-detail-block h4 { margin: 0 0 10px; font-size: 15px; font-weight: 700; color: var(--ad-text, #1d1d1f); }
#modal-competidor-detalle .im-detail-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#modal-competidor-detalle .im-dossier { border: 1px solid color-mix(in srgb, #7c3aed 25%, transparent); border-radius: var(--ad-r-card, 18px); overflow: hidden; }
#modal-competidor-detalle .im-dossier-head {
  display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 16px;
  background: color-mix(in srgb, #7c3aed 10%, var(--ad-card, #fff)); color: #5b21b6; font-weight: 700; font-size: 14px;
}
#modal-competidor-detalle .im-dossier-meta { display: flex; align-items: center; gap: 10px; font-size: 11.5px; font-weight: 500; color: #6d28d9; }
#modal-competidor-detalle .im-dossier-body { padding: 16px; background: var(--ad-card, #fff); font-size: 13px; line-height: 1.6; color: var(--ad-text, #1d1d1f); }
#modal-competidor-detalle .im-dossier-body .im-dossier-estrategia { margin-bottom: 12px; }
#modal-competidor-detalle .im-dossier-md { font-size: 13px; line-height: 1.6; }
#modal-competidor-detalle .im-dossier-md h1, #modal-competidor-detalle .im-dossier-md h2, #modal-competidor-detalle .im-dossier-md h3 { font-size: 14px; margin: 12px 0 6px; }
#modal-competidor-detalle .im-dossier-md ul, #modal-competidor-detalle .im-dossier-md ol { padding-left: 20px; margin: 6px 0; }
#modal-competidor-detalle .im-dossier-md p { margin: 0 0 8px; }
#modal-competidor-detalle .im-dossier-empty { font-size: 13px; color: var(--ad-text-2, #6e6e73); line-height: 1.55; }

/* ── Modal de vincular cuenta (cuelga de <body>) ────────────────────────────────────────────────────────────────── */
#im-vincular-cuenta-overlay {
  position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 16px;
  background: rgba(0,0,0,.42); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
  font-family: var(--ad-font, -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif); color: var(--ad-text, #1d1d1f);
}
#im-vincular-cuenta-overlay .im-vincular-card {
  background: var(--ad-card, #fff); color: var(--ad-text, #1d1d1f); border: 1px solid var(--ad-border, rgba(0,0,0,.08)); border-radius: var(--ad-r-card, 18px);
  box-shadow: var(--ad-sh-h, 0 18px 48px rgba(0,0,0,.2)); padding: 20px 22px; width: min(500px, 100%); max-height: 72vh; display: flex; flex-direction: column; gap: 12px;
}
#im-vincular-cuenta-overlay h4 { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--ad-text, #1d1d1f); }
#im-vincular-cuenta-overlay .im-vincular-resultados { overflow-y: auto; flex: 1; min-height: 120px; display: flex; flex-direction: column; gap: 4px; }
#im-vincular-cuenta-overlay .im-vincular-resultados .im-btn-pagination { display: flex !important; width: 100%; justify-content: flex-start !important; text-align: left; white-space: normal !important; }
#im-vincular-cuenta-overlay .im-vincular-resultados .im-empty, #im-vincular-cuenta-overlay .im-vincular-resultados .im-loading, #im-vincular-cuenta-overlay .im-vincular-resultados .im-error { padding: 12px; font-size: 13px; color: var(--ad-text-2, #6e6e73); text-align: center; }
#im-vincular-cuenta-overlay .im-vincular-resultados .im-error { color: var(--ad-red, #ff3b30); }
#im-vincular-cuenta-overlay .im-vincular-acciones { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

/* ── Modo oscuro (tokens + los tonos que no salen de color-mix) ─────────────────────────────────────────────────── */
[data-theme="dark"] #inteligenciaMercadoSection .im-t-ok, [data-theme="dark"] .im-modal-overlay .im-t-ok, [data-theme="dark"] #inteligenciaMercadoSection .im-badge-green,
[data-theme="dark"] #inteligenciaMercadoSection .comp-result.ganada, [data-theme="dark"] #inteligenciaMercadoSection .im-threat-low, [data-theme="dark"] #inteligenciaMercadoSection .im-card-green .im-card-icon,
[data-theme="dark"] #inteligenciaMercadoSection .im-mini-good .im-mini-v, [data-theme="dark"] #modal-competidor-detalle .im-mini-good .im-mini-v, [data-theme="dark"] #inteligenciaMercadoSection .im-queue-tag.ok,
[data-theme="dark"] #inteligenciaMercadoSection .comp-participante.adj, [data-theme="dark"] #modal-competidor-detalle .comp-result.ganada { color: #5fd27d; }
[data-theme="dark"] #inteligenciaMercadoSection .im-badge-red, [data-theme="dark"] #inteligenciaMercadoSection .comp-result.perdida, [data-theme="dark"] #inteligenciaMercadoSection .im-threat-high,
[data-theme="dark"] #inteligenciaMercadoSection .im-card-red .im-card-icon, [data-theme="dark"] #inteligenciaMercadoSection .im-mini-bad .im-mini-v, [data-theme="dark"] #modal-competidor-detalle .im-mini-bad .im-mini-v,
[data-theme="dark"] #inteligenciaMercadoSection .im-callout-error, [data-theme="dark"] .im-modal-overlay .im-callout-error, [data-theme="dark"] #modal-competidor-detalle .comp-result.perdida { color: #ff7b72; }
[data-theme="dark"] #inteligenciaMercadoSection .im-badge-amber, [data-theme="dark"] #inteligenciaMercadoSection .comp-result.desierta, [data-theme="dark"] #inteligenciaMercadoSection .im-threat-medium,
[data-theme="dark"] #inteligenciaMercadoSection .im-t-warn, [data-theme="dark"] #inteligenciaMercadoSection .im-queue-tag.warn, [data-theme="dark"] #inteligenciaMercadoSection .comp-sug-motivo,
[data-theme="dark"] #inteligenciaMercadoSection .comp-sug-n, [data-theme="dark"] #inteligenciaMercadoSection .im-tag-producto { color: #ffb454; }
[data-theme="dark"] #inteligenciaMercadoSection .im-badge-blue, [data-theme="dark"] #inteligenciaMercadoSection .im-queue-origin, [data-theme="dark"] #inteligenciaMercadoSection .im-card-blue .im-card-icon,
[data-theme="dark"] #inteligenciaMercadoSection .im-tag-region { color: #6fb3ff; }
[data-theme="dark"] #inteligenciaMercadoSection .im-btn-ia, [data-theme="dark"] #modal-competidor-detalle .im-btn-ia, [data-theme="dark"] #inteligenciaMercadoSection .im-t-violet,
[data-theme="dark"] #modal-competidor-detalle .im-t-violet, [data-theme="dark"] #modal-competidor-detalle .im-dossier-head, [data-theme="dark"] #modal-competidor-detalle .im-dossier-meta { color: #c4b5fd !important; }
[data-theme="dark"] #inteligenciaMercadoSection .comp-pagination .im-btn-pagination.active { color: #ffb454 !important; }
[data-theme="dark"] .im-modal-overlay, [data-theme="dark"] #modal-competidor-detalle, [data-theme="dark"] #im-vincular-cuenta-overlay { background: rgba(0,0,0,.6); }
[data-theme="dark"] #inteligenciaMercadoSection .im-tab-button.active, [data-theme="dark"] #inteligenciaMercadoSection .comp-vista-btn.active { background: var(--ad-card-2, #232325) !important; box-shadow: 0 1px 3px rgba(0,0,0,.5) !important; }

/* ── Responsive ─────────────────────────────────────────────────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  #inteligenciaMercadoSection .comp-grupo-cabecera { grid-template-columns: 18px minmax(160px, 2fr) repeat(4, minmax(70px, 1fr)); }
  #inteligenciaMercadoSection .comp-grupo-productos { display: none; }
}
@media (max-width: 900px) {
  #inteligenciaMercadoSection .im-charts-container, #inteligenciaMercadoSection .im-charts-area { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  #inteligenciaMercadoSection .im-header h2 { font-size: 1.5rem !important; }
  #inteligenciaMercadoSection .im-tabs { display: flex; overflow-x: auto; flex-wrap: nowrap; border-radius: 16px; }
  #inteligenciaMercadoSection .im-comp-stats, #modal-competidor-detalle .im-detail-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #inteligenciaMercadoSection .im-panels { grid-template-columns: 1fr; }
  #inteligenciaMercadoSection .comp-grupo-cabecera { grid-template-columns: 18px minmax(0, 1fr); }
  #inteligenciaMercadoSection .comp-grupo-cabecera .comp-cell { display: none; }
  #inteligenciaMercadoSection .im-queue-item { flex-direction: column; align-items: stretch; }
  #inteligenciaMercadoSection .im-queue-actions { justify-content: flex-start; }
  .im-modal-overlay .im-form-grid { grid-template-columns: 1fr; }
  #inteligenciaMercadoSection .im-comp-actions { flex-direction: column; }
}
