.info-help {
  display:inline-flex;
  align-items:center;
  vertical-align:middle;
  gap:4px;
  font-weight:400;
}
button.info-help-trigger,
#detail-dialog button.info-help-trigger {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  min-width:28px;
  height:28px;
  min-height:28px;
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--muted,#64748b);
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  line-height:1;
  opacity:.8;
  cursor:help;
}
button.info-help-trigger:is(:hover,:focus-visible,[aria-expanded="true"]) {
  opacity:1;
  background:transparent;
  color:var(--ink,#172033);
}
.info-help-trigger:focus-visible,
.info-help-close:focus-visible { outline:2px solid var(--brand,#c8102e); outline-offset:2px; }
.inventory-result-count:has(+.info-help) { display:inline-block; margin-inline-end:4px; }
.info-help-caption { font-size:13px; color:var(--muted); }
.info-help-popup {
  position:fixed;
  inset:auto;
  margin:0;
  box-sizing:border-box;
  width:min(340px,calc(100vw - 16px));
  max-height:min(360px,calc(100dvh - 16px));
  padding:12px;
  overflow:auto;
  border:1px solid var(--line,#dbe2ec);
  border-radius:4px;
  background:var(--surface,#fff);
  color:var(--ink,#172033);
  box-shadow:0 5px 20px #14203324;
  font:400 13px/1.5 system-ui,sans-serif;
}
.info-help-heading { display:flex; justify-content:space-between; align-items:start; gap:10px; margin-bottom:8px; }
.info-help-heading strong { font-size:13px; font-weight:650; }
button.info-help-close,
#detail-dialog button.info-help-close {
  flex:none; width:24px; min-width:24px; height:24px; min-height:24px;
  margin:0; padding:0; border:0; background:transparent; box-shadow:none;
  color:var(--muted); font-size:19px;
}
.info-help-body { font-size:13px; overflow-wrap:anywhere; }
.info-help-body p { margin:0 0 8px; font-size:13px; }
.info-help-body :is(ol,ul) { margin:0; padding-inline-start:18px; }
.info-help-body .facts { display:grid; grid-template-columns:minmax(0,1fr); padding:0; margin:0; background:none; border:0; }
.info-help-body .fact { padding:5px 0; min-width:0; border:0; }
@media (pointer:coarse) {
  button.info-help-trigger, #detail-dialog button.info-help-trigger { width:36px; height:36px; min-height:36px; min-width:36px; }
}
@media print { .info-help { display:none !important; } }

.info-help-body .inventory-kpi-strip { display:grid; grid-template-columns:minmax(0,1fr); }

/* El botón "?" se ve compacto pero su zona táctil llega a 44 px en pantallas pequeñas o táctiles. */
@media (max-width: 768px), (pointer: coarse) {
  button.info-help-trigger, #detail-dialog button.info-help-trigger { position: relative; }
  button.info-help-trigger::after, #detail-dialog button.info-help-trigger::after { content: ''; position: absolute; inset: -8px; }
}
