/*
 * APEX MARKET V2 — visual layer
 *
 * Uses the existing APEX tokens only. The selectors are scoped to the new
 * Dashboard/Market surfaces so Analysis, Tracker, Copilot internals and the
 * account shell keep their existing visual contracts.
 */

/* El ancho de `main` para todas las vistas vive ahora en app.css
   (main{max-width:1180px} a min-width:901px) — Panel y Market ya no
   necesitan su propia regla aparte. */

.d2-dashboard{
  gap: var(--space-7);
  padding-bottom: var(--space-10);
}
.d2-welcome{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:var(--space-6);
  padding:var(--space-3) 0 var(--space-2);
}
.d2-eyebrow{
  display:block;
  color:var(--muted2);
  font-family:var(--font-mono);
  font-size:var(--text-label-size);
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.4;
  text-transform:uppercase;
}
.d2-title{
  margin:8px 0 5px;
  color:var(--text);
  font-family:var(--font-display);
  font-size:clamp(30px,4vw,48px);
  font-weight:700;
  letter-spacing:-.045em;
  line-height:1.06;
}
.d2-subtitle{
  margin:0;
  color:var(--muted);
  font-size:var(--text-body-size);
  line-height:1.5;
}
.d2-date{
  color:var(--muted2);
  font-size:var(--text-caption-size);
  text-transform:capitalize;
  white-space:nowrap;
}
.d2-briefing-slot{ min-width:0; }
.d2-briefing-content{
  display:grid;
  gap:var(--space-5);
}
.d2-daily-briefing{
  position:relative;
  overflow:hidden;
  padding:clamp(24px,4vw,40px);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--blue) 10%, transparent), transparent 34%),
    var(--surface);
  box-shadow:var(--shadow-md);
}
.d2-daily-briefing::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:var(--blue);
}
.d2-briefing-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-5);
}
.d2-briefing-head h2{
  margin:7px 0 0;
  color:var(--text);
  font-family:var(--font-display);
  font-size:clamp(23px,3vw,32px);
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.15;
}
.d2-context-badge{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  padding:6px 10px;
  border:1px solid var(--blue-soft-border);
  border-radius:var(--r-pill);
  background:var(--blue-soft);
  color:var(--blue);
  font-size:var(--text-label-size);
  font-weight:650;
  white-space:nowrap;
}
.d2-briefing-lede{
  max-width:72ch;
  margin:var(--space-7) 0 var(--space-6);
}
.d2-field-label{
  display:block;
  margin-bottom:7px;
  color:var(--muted2);
  font-size:var(--text-label-size);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.d2-briefing-lede p{
  margin:0;
  color:var(--text);
  font-family:var(--font-display);
  font-size:clamp(19px,2.4vw,27px);
  font-weight:650;
  letter-spacing:-.02em;
  line-height:1.3;
}
.d2-brief-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
}
.d2-brief-field{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:6px;
  padding:var(--space-5) var(--space-5) var(--space-5) 0;
}
.d2-brief-field + .d2-brief-field{
  padding-left:var(--space-5);
  border-left:1px solid var(--border-soft);
}
.d2-brief-field strong{
  display:block;
  color:var(--text);
  font-size:var(--text-body-sm-size);
  font-weight:650;
  line-height:1.4;
}
.d2-brief-field.is-up strong{color:var(--green);}
.d2-brief-field.is-down strong{color:var(--red);}
.d2-brief-field.is-flat strong{color:var(--muted);}
.d2-field-note{
  display:block;
  overflow:hidden;
  color:var(--muted);
  font-size:var(--text-caption-size);
  line-height:1.45;
  text-overflow:ellipsis;
}
.d2-brief-change{
  display:flex;
  gap:var(--space-3);
  margin:var(--space-5) 0 0;
  color:var(--muted);
  font-size:var(--text-body-sm-size);
  line-height:1.5;
}
.d2-brief-change span{
  flex:0 0 auto;
  color:var(--text);
  font-weight:650;
}
.d2-brief-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-4);
  margin-top:var(--space-6);
  color:var(--muted2);
  font-size:var(--text-caption-size);
}
.d2-text-link{
  padding:0;
  border:0;
  background:transparent;
  color:var(--blue);
  font:650 var(--text-body-sm-size) var(--font-body);
  cursor:pointer;
  white-space:nowrap;
}
.d2-text-link:hover{text-decoration:underline;}
.d2-market-entry{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);
  align-items:center;
  gap:var(--space-7);
  width:100%;
  padding:var(--space-7) var(--space-8);
  border:1px solid var(--border-soft);
  border-radius:var(--r-xl);
  background:linear-gradient(135deg,var(--surface2),var(--surface));
  color:var(--text);
  text-align:left;
  cursor:pointer;
  box-shadow:var(--shadow-xs);
  font-family:var(--font-body);
  transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.d2-market-entry:hover{
  border-color:var(--blue-soft-border);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
.d2-market-entry-copy{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;}
.d2-market-entry-copy strong{
  font-family:var(--font-display);
  font-size:clamp(20px,2.6vw,29px);
  letter-spacing:-.025em;
  line-height:1.15;
}
.d2-market-entry-copy > span:last-child{color:var(--muted);font-size:var(--text-body-sm-size);line-height:1.5;}
.d2-market-entry-side{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;}
.d2-pulse-preview{display:grid;gap:9px;}
.d2-pulse-row{
  display:grid;
  grid-template-columns:minmax(80px,.7fr) minmax(80px,1fr) auto;
  align-items:center;
  gap:10px;
  color:var(--muted);
  font-size:var(--text-caption-size);
}
.d2-pulse-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.d2-pulse-track{height:5px;overflow:hidden;border-radius:var(--r-pill);background:var(--surface3);}
.d2-pulse-track span{display:block;height:100%;border-radius:inherit;background:var(--muted2);}
.d2-pulse-row.is-up{color:var(--green);}
.d2-pulse-row.is-up .d2-pulse-track span{background:var(--green);}
.d2-pulse-row.is-down{color:var(--red);}
.d2-pulse-row.is-down .d2-pulse-track span{background:var(--red);}
.d2-pulse-row strong{font-family:var(--font-mono);font-size:var(--text-caption-size);font-weight:700;}
.d2-pulse-empty{color:var(--muted);font-size:var(--text-caption-size);line-height:1.5;}
.d2-market-entry-cta{align-self:flex-end;color:var(--blue);font-size:var(--text-body-sm-size);font-weight:650;}
.d2-actions{display:grid;gap:var(--space-4);}
.d2-section-label{
  color:var(--muted2);
  font-family:var(--font-mono);
  font-size:var(--text-label-size);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.d2-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);}
.d2-action{
  display:flex;
  align-items:flex-start;
  gap:var(--space-4);
  min-width:0;
  padding:var(--space-5);
  border:1px solid var(--border-soft);
  border-radius:var(--r-lg);
  background:var(--surface);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font-family:var(--font-body);
  transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.d2-action:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-2px);}
.d2-action:focus-visible,.d2-market-entry:focus-visible,.d2-copilot-card:focus-visible{outline:none;box-shadow:var(--shadow-focus);}
.d2-action-ic{
  display:grid;
  width:38px;
  height:38px;
  flex:0 0 38px;
  place-items:center;
  border:1px solid var(--border-soft);
  border-radius:var(--r-sm);
  background:var(--surface2);
  color:var(--blue);
}
.d2-action-txt{display:flex;min-width:0;flex-direction:column;gap:4px;}
.d2-action-name{font-size:var(--text-body-sm-size);font-weight:650;}
.d2-action-desc{color:var(--muted);font-size:var(--text-caption-size);line-height:1.45;}
.d2-personal-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-5);}
.d2-personal-grid > .mx-card{margin:0;min-width:0;}
.d2-copilot-card{
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-5);
  width:100%;
  padding:var(--space-5) var(--space-6);
  border:1px solid var(--border-soft);
  border-radius:var(--r-lg);
  background:var(--surface2);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font-family:var(--font-body);
}
.d2-copilot-copy{display:grid;gap:4px;min-width:0;}
.d2-copilot-copy strong{font-size:var(--text-body-sm-size);font-weight:650;}
.d2-copilot-copy span{color:var(--muted);font-size:var(--text-caption-size);}
.d2-copilot-arrow{color:var(--blue);font-size:20px;}

/* Market V2 */
.mk2-view{max-width:none;padding-bottom:var(--space-10);}
.mk2-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-7);margin-bottom:var(--space-5);}
.mk2-eyebrow,.mk2-kicker{
  display:block;
  color:var(--muted2);
  font-family:var(--font-mono);
  font-size:var(--text-label-size);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mk2-title{margin:8px 0 0;color:var(--text);font-family:var(--font-display);font-size:clamp(28px,4vw,46px);font-weight:700;letter-spacing:-.04em;line-height:1.08;}
.mk2-subtitle{max-width:650px;margin:10px 0 0;color:var(--muted);font-size:var(--text-body-size);line-height:1.5;}
.mk2-header-actions{display:flex;align-items:center;gap:var(--space-3);flex:0 0 auto;}
.mk2-updated{color:var(--muted2);font-size:var(--text-caption-size);white-space:nowrap;}
.mk2-refresh{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);}
.mk2-refresh:hover{color:var(--text);transform:rotate(50deg);}
.mk2-refresh svg{width:15px;height:15px;}
.mk2-mode-switch{display:inline-flex;gap:3px;margin-bottom:var(--space-7);padding:4px;border:1px solid var(--border-soft);border-radius:var(--r-pill);background:var(--surface2);}
.mk2-mode{padding:8px 18px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font:650 var(--text-body-sm-size) var(--font-body);cursor:pointer;}
.mk2-mode.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs);}
.mk2-loading{max-width:760px;padding:var(--space-7) 0;}
.mk2-skeleton{display:block;width:70%;height:14px;border-radius:var(--r-2xs);background:linear-gradient(90deg,var(--surface2) 25%,var(--surface3) 50%,var(--surface2) 75%);background-size:250% 100%;animation:mkShimmer 1.5s ease-in-out infinite;}
.mk2-skeleton-xl{width:56%;height:40px;}
.mk2-skeleton-short{width:38%;}
/* min-width:0 en TODOS los hijos directos: son items de un grid, y por
   defecto un item de grid tiene min-width:auto (no 0), así que su
   ancho mínimo lo marca su contenido más ancho — el carrusel de pulso
   (.mk2-pulse-grid, con overflow-x:auto en móvil) calzaba ahí dentro y
   empujaba TODA la página a un scroll horizontal en vez de scrollear
   solo el carrusel. Es la causa real del "se ve muy grande" en móvil,
   no un tamaño de fuente. */
.mk2-content{display:grid;gap:var(--space-7);}
.mk2-content > *{min-width:0;}
.mk2-status{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:var(--space-7);
  padding:clamp(24px,4vw,40px);
  border:1px solid var(--border);
  border-radius:var(--r-xl);
  background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.mk2-status .mk-status-copy{min-width:0;}
.mk2-status .mk-kicker{display:none;}
.mk2-status h3{max-width:25ch;margin:0;color:var(--text);font-family:var(--font-display);font-size:clamp(23px,3vw,34px);font-weight:700;letter-spacing:-.035em;line-height:1.13;}
.mk2-status .mk-status-note{max-width:62ch;margin:12px 0 0;color:var(--muted);font-size:var(--text-body-sm-size);line-height:1.5;}
.mk2-status .mk-status-evidence{margin-top:var(--space-4);color:var(--text);font-size:var(--text-caption-size);}
.mk2-status .mk-status-change{margin:var(--space-4) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-soft);color:var(--text);font-size:var(--text-body-sm-size);}
.mk2-status .mk-status-source{display:block;margin-top:var(--space-4);color:var(--muted2);font-size:var(--text-caption-size);}
.mk2-status .mk-status-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--muted);font-size:var(--text-caption-size);white-space:nowrap;}
.mk2-status .mk-status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);}
.mk2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);}
.mk2-section-head h3{margin:6px 0 0;color:var(--text);font-family:var(--font-display);font-size:var(--text-h3-size);font-weight:700;letter-spacing:-.02em;line-height:1.2;}
.mk2-section-note{color:var(--muted2);font-size:var(--text-caption-size);white-space:nowrap;}
.mk2-period{text-transform:capitalize;font-weight:650;color:var(--muted);}
.mk2-pulse-section{margin:0;padding:var(--space-6) 0 0;border-top:1px solid var(--border);}
.mk2-pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);border:0;}
.mk2-pulse-item{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 10px;
  min-width:0;
  padding:var(--space-4);
  border:1px solid var(--border-soft);
  border-radius:var(--r-lg);
  background:var(--surface);
  color:var(--text);
  text-align:left;
  cursor:pointer;
  font-family:var(--font-body);
  transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);
}
.mk2-pulse-item:first-child,.mk2-pulse-item:last-child{padding-left:var(--space-4);padding-right:var(--space-4);border-right:1px solid var(--border-soft);}
.mk2-pulse-item:hover,.mk2-pulse-item[aria-expanded="true"]{border-color:var(--blue-soft-border);box-shadow:var(--shadow-sm);transform:translateY(-1px);}
.mk2-pulse-item .mk-pulse-label{overflow:hidden;color:var(--text);font-size:var(--text-body-sm-size);font-weight:650;text-overflow:ellipsis;white-space:nowrap;}
.mk2-pulse-item > strong{font-family:var(--font-mono);font-size:var(--text-body-sm-size);font-weight:750;text-align:right;white-space:nowrap;}
.mk2-pulse-item.is-up{border-left:3px solid var(--green);background:linear-gradient(90deg,var(--green-soft),var(--surface) 60%);}
.mk2-pulse-item.is-down{border-left:3px solid var(--red);background:linear-gradient(90deg,var(--red-soft),var(--surface) 60%);}
.mk2-pulse-item.is-up > strong{color:var(--green);}.mk2-pulse-item.is-down > strong{color:var(--red);}.mk2-pulse-item.is-flat > strong{color:var(--muted);}
.mk2-pulse-item .mk-pulse-price{grid-column:1/-1;color:var(--text);font-family:var(--font-mono);font-size:var(--text-caption-size);font-weight:650;}
.mk2-pulse-item .mk-pulse-meta{grid-column:1/-1;overflow:hidden;color:var(--muted2);font-size:10px;text-overflow:ellipsis;white-space:nowrap;}
.mk2-pulse-item .mk-pulse-open{grid-column:1/-1;color:var(--blue);font-size:var(--text-caption-size);font-weight:650;}
.mk2-indicator-panel{margin-top:var(--space-4);padding:var(--space-6);border:1px solid var(--blue-soft-border);border-radius:var(--r-lg);background:var(--surface2);animation:mk2-reveal .24s var(--ease-out) both;}
@keyframes mk2-reveal{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.mk2-indicator-panel-head{display:flex;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);}
.mk2-indicator-panel-head h3{margin:6px 0 0;color:var(--text);font-family:var(--font-display);font-size:var(--text-h3-size);}
.mk2-panel-close{width:30px;height:30px;border:0;border-radius:50%;background:var(--surface);color:var(--muted);font-size:20px;line-height:1;cursor:pointer;}
.mk2-indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);}
.mk2-indicator-grid > div{min-width:0;padding-top:var(--space-4);border-top:1px solid var(--border-soft);}
.mk2-detail-label{display:block;margin-bottom:6px;color:var(--muted2);font-size:var(--text-label-size);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.mk2-indicator-grid p{margin:0;color:var(--text);font-size:var(--text-body-sm-size);line-height:1.55;}
.mk2-detail-meta{display:block;margin-top:8px;color:var(--muted2);font-size:var(--text-caption-size);}
.mk2-indicator-grid ul{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;}
.mk2-indicator-grid li{padding:4px 8px;border:1px solid var(--border-soft);border-radius:var(--r-pill);color:var(--muted);font-size:var(--text-caption-size);}
.mk2-indicator-source{display:flex;align-items:baseline;gap:10px;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-soft);font-size:var(--text-caption-size);}
.mk2-indicator-source span{color:var(--muted2);}.mk2-indicator-source strong{color:var(--text);}.mk2-indicator-source small{color:var(--muted2);}
.mk2-main-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:var(--space-5);align-items:start;}
.mk2-panel{min-width:0;margin:0;padding:var(--space-6);border:1px solid var(--border-soft);border-radius:var(--r-xl);background:var(--surface);}
.mk2-panel .mk2-section-head{margin-bottom:var(--space-5);}
.mk2-panel .mk-driver-list{border-top:1px solid var(--border-soft);}
.mk2-panel .mk-driver{padding:var(--space-4) 0;}
.mk2-panel .mk-driver:first-child{padding-top:0;}
.mk2-panel .mk-driver h4{font-size:var(--text-body-sm-size);}
.mk2-panel .mk-context-summary{padding:var(--space-5);background:var(--surface2);border-color:var(--border-soft);}
.mk2-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);}
/* Qué viene y Qué observar viven a MEDIO ancho dentro de .mk2-lower-grid:
   el grid de 3 columnas que trae market.css para .mk-coming-list en
   pantalla completa quedaría comprimido ahí, así que se fuerza a una
   columna solo en ESTE contexto. Fuentes (#mkSources) es un .mk2-panel
   aparte, a ancho COMPLETO fuera de mk2-lower-grid — antes esta regla
   la igualaba a las de medio ancho sin motivo y perdía sus columnas en
   escritorio; ya no se le aplica. */
.mk2-lower-grid .mk-coming-list,.mk2-lower-grid .mk-watch-list{grid-template-columns:1fr;}
.mk2-panel .mk-watch-row,.mk2-panel .mk-watch-row:nth-child(odd),.mk2-panel .mk-watch-row:nth-child(even){padding-left:0;padding-right:0;border-right:0;}
.mk2-week-chain{display:grid;gap:0;border-left:1px solid var(--border);}
.mk2-week-step{display:grid;grid-template-columns:28px 1fr;gap:var(--space-3);position:relative;padding:0 0 var(--space-5) var(--space-5);}
.mk2-week-step:last-child{padding-bottom:0;}
.mk2-week-index{display:grid;width:22px;height:22px;place-items:center;margin-left:-27px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);font-family:var(--font-mono);font-size:10px;}
.mk2-week-step strong{display:block;color:var(--text);font-size:var(--text-body-sm-size);line-height:1.45;}
.mk2-week-step p{margin:5px 0 0;color:var(--muted);font-size:var(--text-caption-size);line-height:1.45;}
.mk2-week-step span:last-child{display:block;margin-top:5px;color:var(--muted2);font-size:var(--text-caption-size);}
.mk2-week-facts{margin-top:var(--space-5);}
.mk2-honesty-note{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-soft);color:var(--muted);font-size:var(--text-caption-size);line-height:1.5;}
.mk2-empty{max-width:720px;margin-top:var(--space-5);text-align:left;}

@media (min-width:901px){
  .d2-copilot-card{display:flex;}
}
@media (max-width:900px){
  .d2-welcome{align-items:flex-start;flex-direction:column;}
  .d2-date{white-space:normal;}
  .d2-brief-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
  .d2-brief-field:nth-child(3){padding-left:0;border-left:0;border-top:1px solid var(--border-soft);}
  .d2-brief-field:nth-child(4){border-top:1px solid var(--border-soft);}
  .d2-market-entry{grid-template-columns:1fr;}
  .d2-market-entry-cta{align-self:flex-start;}
  .d2-personal-grid{grid-template-columns:1fr;}
  .mk2-pulse-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .mk2-main-grid{grid-template-columns:1fr;}
  /* A este ancho (tablet) cada mitad de mk2-lower-grid bajaba a ~360px:
     suficiente para partir "Qué observar" (tres columnas internas en
     .mk-watch-row) en una palabra por línea. Colapsa junto con
     mk2-main-grid, al mismo breakpoint. */
  .mk2-lower-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .d2-dashboard{gap:var(--space-6);}
  /* clamp(30px,4vw,48px) ya da ~30px a este ancho; el 32px fijo que
     había aquí antes iba en la dirección CONTRARIA a "más compacto en
     móvil" — lo achicaba menos, no más. */
  .d2-title{font-size:26px;}
  .d2-daily-briefing{padding:var(--space-5);border-radius:var(--r-lg);}
  .d2-briefing-head{flex-direction:column;gap:var(--space-3);}
  .d2-briefing-lede{margin:var(--space-6) 0 var(--space-5);}
  .d2-brief-fields{grid-template-columns:1fr;}
  .d2-brief-field,.d2-brief-field + .d2-brief-field{padding:var(--space-4) 0;border-left:0;}
  .d2-brief-field + .d2-brief-field{border-top:1px solid var(--border-soft);}
  .d2-brief-foot{align-items:flex-start;flex-direction:column;gap:var(--space-3);}
  .d2-market-entry{padding:var(--space-5);border-radius:var(--r-lg);}
  .d2-actions-grid{grid-template-columns:1fr;}
  .mk2-header{align-items:flex-start;flex-direction:column;gap:var(--space-4);}
  .mk2-header-actions{width:100%;justify-content:space-between;}
  .mk2-updated{margin-right:auto;}
  /* Mismo caso que .d2-title: clamp(28px,4vw,46px) ya da ~28px aquí;
     32px fijo era más grande, no más compacto. */
  .mk2-title{font-size:24px;}
  .mk2-mode-switch{margin-bottom:var(--space-6);}
  .mk2-pulse-grid{display:flex;overflow-x:auto;margin-inline:-2px;padding-bottom:3px;scrollbar-width:thin;}
  .mk2-pulse-item{flex:0 0 148px;}
  .mk2-status{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-5);border-radius:var(--r-lg);}
  .mk2-status .mk-status-badge{justify-self:start;order:-1;}
  .mk2-panel{padding:var(--space-5);border-radius:var(--r-lg);}
  .mk2-lower-grid{grid-template-columns:1fr;}
  .mk2-indicator-panel{padding:var(--space-5);}
  .mk2-indicator-grid{grid-template-columns:1fr;gap:var(--space-4);}
  .mk2-indicator-source{align-items:flex-start;flex-direction:column;gap:3px;}
}
@media (max-width:900px){
  .nav-external,.d2-copilot-card{display:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .d2-market-entry,.d2-action,.mk2-pulse-item,.mk2-refresh{transition:none;}
  .mk2-indicator-panel,.mk2-skeleton{animation:none;}
}
