/* ============================================================
   Insight (next) — PCC uploads (#/uploads, #/pcc), Decision Center
   (retired card), Feedback inbox (#/app-feedback), Usage audit
   (#/app-usage-audit), Feature value (#/feature-value) and Rollout
   (#/rollout).
   Loads after compliance-next.css and uses the ivy-refresh tokens
   (--bg, --card, --line, --teal, --danger, --warn, --ok, --fg ...).
   The screen files carry no colors; the few new values are tokens
   here. Every selector starts with .ins (the screen root) or an
   .ins- class.
   ============================================================ */

/* ============================================================
   Page frame
   ============================================================ */
.ins { display: flex; flex-direction: column; gap: 18px; max-width: 1240px; margin: 0 auto; min-width: 0; color: var(--fg); }
.ins *, .ins *::before, .ins *::after { box-sizing: border-box; }
.ins [hidden] { display: none !important; }
.ins-i { width: 16px; height: 16px; flex: none; display: inline-block; vertical-align: -3px; }
.ins-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ins-muted { color: var(--muted); }
.ins-small { font-size: var(--fs-sm); }
.ins-tnum { font-variant-numeric: tabular-nums; }
.ins-stack { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.ins-grow { flex: 1; min-width: 0; }
.ins-break { word-break: break-word; }
.ins-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ins-bar-route { margin-top: 6px; max-width: 220px; }

/* header: title + one primary action */
.ins-head { display: flex; align-items: flex-end; gap: 14px 24px; flex-wrap: wrap; }
.ins-head-text { flex: 1 1 420px; min-width: 0; }
.ins-head h1 { margin: 4px 0 0; }
.ins-sub { margin: 6px 0 0; max-width: 760px; }
.ins-freshrow { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; }
.ins-fresh { display: inline-flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.ins-fresh::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ok); flex: none; }
.ins-fresh.is-stale::before { background: var(--warn); }
.ins-fresh.is-missing::before { background: var(--danger); }
.ins-fresh.is-quiet::before { background: var(--line-strong); }
.ins-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

/* buttons, inputs */
.ins .ins-btn { width: auto; box-shadow: none; }
.ins .ins-btn:hover { background: var(--surface-hover); text-decoration: none; }
.ins .ins-btn[disabled] { opacity: .55; cursor: default; pointer-events: none; }
.ins .ins-btn-primary { background: var(--teal); border-color: var(--teal); color: var(--on-solid); box-shadow: var(--shadow-sm); }
.ins .ins-btn-primary:hover { background: var(--teal-deep); border-color: var(--teal-deep); }
.ins .ins-btn-soft { background: var(--teal-soft); border-color: transparent; color: var(--brand-ink); }
.ins .ins-btn-soft:hover { background: var(--teal-line); }
.ins .ins-btn-ghost { background: transparent; border-color: transparent; color: var(--fg-soft); }
.ins .ins-btn-ghost:hover { background: var(--surface-hover); color: var(--fg); }
.ins .ins-btn .ins-i { width: 15px; height: 15px; vertical-align: 0; }
.ins .ins-select, .ins .ins-input { width: auto; min-width: 0; height: 36px; padding: 0 10px; border: 1px solid var(--input-line); border-radius: var(--r-sm); background: var(--card); color: var(--fg); font: inherit; font-size: var(--fs-base); }
.ins .ins-select { padding-right: 28px; }
.ins .ins-input { min-width: 220px; }
.ins .ins-select:focus, .ins .ins-input:focus, .ins .ins-textarea:focus { outline: 2px solid var(--teal-line); outline-offset: 0; border-color: var(--teal); }
.ins .ins-textarea { display: block; width: 100%; min-height: 64px; padding: 8px 10px; border: 1px solid var(--input-line); border-radius: var(--r-sm); background: var(--card); color: var(--fg); font: inherit; font-size: var(--fs-base); line-height: 1.45; resize: vertical; }
.ins .ins-field-label { display: block; margin: 0 0 5px; font-size: var(--fs-xs); font-weight: 650; color: var(--fg-soft); }
.ins-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ins-toolbar .ins-spacer { flex: 1; }

/* status: always icon + word */
.ins-status { align-items: center; white-space: nowrap; color: var(--fg-soft); }
.ins-status .ins-i { width: 14px; height: 14px; vertical-align: 0; }
.ins-status.is-ok { color: var(--ok-ink); } .ins-status.is-ok .ins-i { color: var(--ok); }
.ins-status.is-warn { color: var(--warn-ink); } .ins-status.is-warn .ins-i { color: var(--warn); }
.ins-status.is-bad { color: var(--danger-ink); } .ins-status.is-bad .ins-i { color: var(--danger); }
.ins-status.is-info { color: var(--info-ink); } .ins-status.is-info .ins-i { color: var(--info); }
.ins-status.is-muted { color: var(--muted); }
.ins-chip { border: 1px solid var(--line); background: var(--surface-sunk); color: var(--fg-soft); }
.ins-chip .ins-i { width: 12px; height: 12px; vertical-align: 0; }
.ins-chip.is-ok { background: var(--ok-soft); border-color: var(--ok-line); color: var(--ok-ink); }
.ins-chip.is-warn { background: var(--warn-soft); border-color: var(--warn-line); color: var(--warn-ink); }
.ins-chip.is-bad { background: var(--danger-soft); border-color: var(--danger-line); color: var(--danger-ink); }
.ins-chip.is-info { background: var(--info-soft); border-color: var(--info-line); color: var(--info-ink); }
.ins-chip.is-brand { background: var(--teal-soft); border-color: var(--teal-line); color: var(--brand-ink); }

/* KPI strip */
.ins-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.ins-kpi { display: flex; flex-direction: column; gap: 4px; min-width: 0; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow-sm); }
.ins-kpi-value { color: var(--fg); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ins-kpi-value small { font-family: var(--font-sans); font-size: var(--fs-base); font-weight: 600; color: var(--muted); letter-spacing: 0; margin-left: 2px; }
.ins-kpi-foot { font-size: var(--fs-sm); color: var(--muted); }
.ins-kpi-foot .ins-status { white-space: normal; }
.ins-kpi.is-ok .ins-kpi-value { color: var(--ok-ink); }
.ins-kpi.is-warn .ins-kpi-value { color: var(--warn-ink); }
.ins-kpi.is-bad .ins-kpi-value { color: var(--danger-ink); }

/* cards */
.ins-card { min-width: 0; overflow: hidden; }
.ins-card-head { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.ins-card-head.is-plain { border-bottom: 0; padding-bottom: 4px; }
.ins-card-titles { flex: 1 1 260px; min-width: 0; }
.ins .ins-card-title { margin: 0; font-family: var(--font-display); font-size: var(--fs-lg); font-weight: 700; letter-spacing: -0.01em; color: var(--fg); display: flex; align-items: center; gap: 8px; }
.ins-card-sub { margin: 2px 0 0; font-size: var(--fs-sm); color: var(--muted); max-width: 80ch; }
.ins-card-body { padding: 14px 18px 18px; }
.ins-count { background: var(--surface-sunk); color: var(--fg-soft); font-family: var(--font-sans); }

/* banners and notes */
.ins-banner { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: var(--r-card); border: 1px solid var(--info-line); background: var(--info-soft); color: var(--info-ink); font-size: var(--fs-base); line-height: 1.5; }
.ins-banner > .ins-i { width: 18px; height: 18px; margin-top: 1px; }
.ins-banner-title { font-weight: 700; }
.ins-banner.is-warn { border-color: var(--warn-line); background: var(--warn-soft); color: var(--warn-ink); }
.ins-banner.is-bad { border-color: var(--danger-line); background: var(--danger-soft); color: var(--danger-ink); }
.ins-banner.is-ok { border-color: var(--ok-line); background: var(--ok-soft); color: var(--ok-ink); }
.ins-banner.is-quiet { border-color: var(--line); background: var(--card); color: var(--fg-soft); }
.ins-note { margin: 0; font-size: var(--fs-sm); color: var(--muted); max-width: 90ch; }
/* PCC Uploads: the one-time "move from this browser" offer */
.ins-move-text { display: grid; gap: 4px; min-width: 0; }
.ins-move-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.ins-move-actions .ins-btn { white-space: normal; text-align: left; }

/* empty / loading / error */
.ins-empty p { margin: 0; max-width: 56ch; font-size: var(--fs-base); }
.ins-empty .ins-btn { margin-top: 8px; }
.ins-state { padding: 26px 20px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); color: var(--muted); }
.ins-state.is-error { color: var(--danger-ink); background: var(--danger-soft); border-color: var(--danger-line); }
.ins-skel { display: grid; gap: 10px; }
.ins-skel i { display: block; height: 14px; border-radius: 6px; background: var(--surface-sunk); }
.ins-skel i:nth-child(2) { width: 70%; } .ins-skel i:nth-child(3) { width: 45%; }

/* tables: scroll inside on desktop; rows become cards on a phone */
.ins-table-wrap { overflow-x: auto; min-width: 0; }
.ins .ins-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); background: transparent; }
.ins .ins-table th { padding: 9px 14px; text-align: left; font-size: var(--fs-xs); font-weight: 650; color: var(--muted); background: var(--surface-2); border-bottom: 1px solid var(--line); white-space: nowrap; text-transform: none; letter-spacing: 0; }
.ins .ins-table td { padding: 11px 14px; border-bottom: 1px solid var(--line-soft); vertical-align: top; color: var(--fg); }
.ins .ins-table tbody tr:last-child td { border-bottom: 0; }
.ins .ins-table tbody tr:hover td { background: var(--surface-2); }
.ins .ins-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.ins .ins-table td.ins-td-empty { padding: 28px 14px; text-align: center; color: var(--muted); }
.ins-cell-sub { margin-top: 2px; font-size: var(--fs-xs); color: var(--muted); }
.ins-cell-title { font-weight: 650; color: var(--fg); }
.ins-wrap-text { white-space: normal; max-width: 40ch; color: var(--fg-soft); }

/* avatar */
.ins-av { display: inline-grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--teal-soft); color: var(--brand-ink); font-size: var(--fs-sm); font-weight: 700; letter-spacing: .02em; }

/* progress bar */
.ins-bar { position: relative; height: 6px; border-radius: 999px; background: var(--surface-sunk); overflow: hidden; }
.ins-bar > i { position: absolute; inset: 0 auto 0 0; border-radius: 999px; background: var(--ok); }

/* ============================================================
   PCC uploads (#/uploads, rebuild.js) — exports × freshness
   ============================================================ */
.ins-up-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ins .ins-zone { position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 14px 16px 14px 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow-sm); cursor: pointer; transition: border-color 120ms, box-shadow 120ms; margin: 0; }
.ins .ins-zone:hover { border-color: var(--teal-line); box-shadow: var(--shadow); }
.ins .ins-zone:focus-within { outline: 2px solid var(--teal-line); outline-offset: 1px; }
.ins .ins-zone::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 0 3px 3px 0; background: var(--ok); }
.ins .ins-zone.is-warn::before { background: var(--warn); }
.ins .ins-zone.is-bad::before { background: var(--danger); }
.ins-zone-top { display: flex; align-items: flex-start; gap: 10px; }
.ins-zone-ico { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 9px; background: var(--teal-soft); color: var(--teal); }
.ins-zone-main { flex: 1; min-width: 0; }
.ins-zone-title { font-weight: 700; font-size: var(--fs-md); color: var(--fg); }
.ins-zone-help { margin-top: 1px; font-size: var(--fs-sm); color: var(--muted); line-height: 1.4; }
.ins-zone-file { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: var(--fs-sm); color: var(--fg-soft); }
.ins-zone-file span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ins-zone-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding-top: 10px; border-top: 1px solid var(--line-soft); }
.ins-zone-cta { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-sm); font-weight: 650; color: var(--teal); }
.ins-zone-cta .ins-i { width: 14px; height: 14px; vertical-align: 0; }

/* the building × export matrix */
.ins .ins-matrix th, .ins .ins-matrix td { text-align: left; }
.ins .ins-matrix td { vertical-align: middle; }
.ins .ins-matrix .ins-mx-b { min-width: 170px; }
.ins .ins-mx-name { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; font: inherit; font-weight: 650; color: var(--fg); cursor: pointer; text-align: left; }
.ins .ins-mx-name:hover { color: var(--teal); text-decoration: underline; }
.ins .ins-mx-name.is-active { color: var(--teal); }
.ins-mx-cell { display: flex; flex-direction: column; gap: 1px; }
.ins-mx-cell .ins-cell-sub { margin: 0; }
.ins-mx-sum { font-size: var(--fs-xs); color: var(--muted); font-weight: 500; }
.ins-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; padding: 10px 18px; border-top: 1px solid var(--line); background: var(--surface-2); font-size: var(--fs-sm); color: var(--muted); }

/* ============================================================
   Feedback inbox (#/app-feedback) — rows render as cards
   ============================================================ */
.ins .ins-fb-filters .ins-input { flex: 1 1 220px; }
.ins .ins-fb-table, .ins .ins-fb-table tbody { display: block; width: 100%; }
.ins .ins-fb-table thead { display: none; }
.ins .ins-fb-table tr { display: grid; grid-template-columns: minmax(0, 1fr) 300px; grid-template-areas: "when when" "msg side"; gap: 0; margin: 0 0 12px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow-sm); overflow: hidden; }
.ins .ins-fb-table tr:hover td { background: transparent; }
.ins .ins-fb-table td { display: block; padding: 0; border: 0; }
.ins-fb-when { grid-area: when; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; padding: 12px 18px !important; border-bottom: 1px solid var(--line-soft) !important; background: var(--surface-2); }
.ins .ins-fb-table td.ins-fb-when { display: flex; }
.ins-fb-when .ins-spacer { flex: 1; }
.ins-fb-msg { grid-area: msg; padding: 14px 18px 16px !important; min-width: 0; }
.ins-fb-side { grid-area: side; display: flex !important; flex-direction: column; gap: 14px; padding: 14px 18px 16px !important; border-left: 1px solid var(--line-soft) !important; background: var(--card); min-width: 0; }
.ins-fb-text { white-space: pre-wrap; line-height: 1.5; font-size: var(--fs-md); color: var(--fg); }
.ins-fb-who { margin-top: 6px; font-size: var(--fs-sm); color: var(--muted); }
.ins-fb-block { margin-top: 14px; }
.ins-fb-sec { font-size: var(--fs-xs); font-weight: 650; color: var(--fg-soft); margin-bottom: 6px; }
.ins-fb-ctx a { color: var(--teal); font-weight: 650; text-decoration: none; }
.ins-fb-ctx a:hover { text-decoration: underline; }
.ins-fb-atts { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin-top: 8px; }
.ins-fb-row { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ins-fb-row .ins-spacer { flex: 1; }
.ins-fb-row.is-start { justify-content: flex-start; }
.ins-fb-follow { display: flex; flex-direction: column; gap: 8px; }
.ins .ins-fb-follow .ins-input { min-width: 0; width: 100%; }
.ins .ins-fb-side .ins-select { width: 100%; }
.ins-triage { margin-top: 14px; padding: 12px 14px; border: 1px solid var(--teal-line); border-left: 3px solid var(--teal); border-radius: 10px; background: var(--teal-soft); }
.ins-triage-head { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 6px; font-size: var(--fs-sm); }
.ins-triage-head strong { color: var(--brand-ink); font-size: var(--fs-sm); letter-spacing: .04em; }
.ins-triage-sum { font-size: var(--fs-base); font-weight: 650; line-height: 1.45; }
.ins-triage p { margin: 5px 0 0; font-size: var(--fs-sm); color: var(--fg-soft); line-height: 1.45; }
.ins-triage p.is-ask { color: var(--warn-ink); }
.ins-triage .ins-fb-row { justify-content: flex-start; margin-top: 10px; }

/* ============================================================
   Feature value (#/feature-value)
   ============================================================ */
.ins .ins-fv-table td .ins-chip { margin-left: 6px; }

/* ============================================================
   Rollout (#/rollout)
   ============================================================ */
.ins .ro-auto { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); box-shadow: var(--shadow-sm); }
.ins .ro-auto p { margin: 0; font-size: var(--fs-sm); color: var(--muted); }
.ins .ro-switch { display: flex; gap: 10px; align-items: center; min-height: 32px; font-weight: 650; color: var(--fg); cursor: pointer; }
.ins .ro-switch input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--teal); }
.ins .ro-legend { padding: 12px 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--r-card); font-size: var(--fs-base); }
.ins .ro-legend summary { cursor: pointer; font-weight: 650; color: var(--teal); }
.ins .ro-legend ul { margin: 10px 0 6px; padding-left: 18px; }
.ins .ro-legend p { margin: 6px 0 0; font-size: var(--fs-sm); color: var(--muted); }
.ins .ro-legend .ro-step { margin-right: 6px; }
.ins-ro-bhead { gap: 10px 16px; }
.ins-ro-prog { flex: 0 1 220px; min-width: 140px; display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-sm); color: var(--muted); }
.ins .ro-row { display: grid; grid-template-columns: minmax(170px, 1.1fr) minmax(170px, 1fr) minmax(0, 2.6fr) auto; gap: 12px 16px; align-items: start; padding: 14px 18px; border-bottom: 1px solid var(--line-soft); }
.ins .ro-row:last-child { border-bottom: 0; }
.ins .ro-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ins-ro-name { display: flex; flex-direction: column; min-width: 0; }
.ins-ro-name strong { font-weight: 650; }
.ins .ro-muted { font-size: var(--fs-sm); color: var(--muted); }
.ins .ro-last { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; min-width: 0; }
.ins .ro-pill { font-size: var(--fs-sm); }
.ins .ro-steps { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.ins .ro-step { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--line); background: var(--card); color: var(--fg-soft); font-size: var(--fs-sm); font-weight: 600; }
.ins .ro-step .ins-i { width: 13px; height: 13px; vertical-align: 0; }
.ins .ro-step.done { background: var(--ok-soft); border-color: var(--ok-line); color: var(--ok-ink); }
.ins .ro-step.looked { background: var(--warn-soft); border-color: var(--warn-line); color: var(--warn-ink); }
.ins .ro-step.todo { background: var(--surface-sunk); color: var(--muted); }
.ins .ro-mark { display: none; }
.ins .ro-next { flex-basis: 100%; margin-top: 2px; font-size: var(--fs-base); line-height: 1.45; color: var(--fg); }
.ins .ro-next-k { font-weight: 700; color: var(--brand-ink); }
.ins .ro-next a { color: var(--teal); white-space: nowrap; }
.ins .ro-nudged { font-size: var(--fs-sm); color: var(--fg-soft); }
.ins .ro-nudged.bad { color: var(--danger-ink); }
.ins .ro-help { display: inline-flex; align-items: center; gap: 4px; }
.ins .ro-act { justify-self: end; }
.ins .ro-result { display: block; }
.ins .ro-result p { margin: 8px 0 2px; font-weight: 650; }
.ins .ro-result ul { margin: 0; padding-left: 18px; }
.ins .ro-result-h { display: flex; justify-content: space-between; align-items: center; gap: 12px; }

/* ============================================================
   Phones and narrow desktops
   ============================================================ */
@media (max-width: 1100px) {
  .ins-up-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ins .ins-fb-table tr { grid-template-columns: minmax(0, 1fr); grid-template-areas: "when" "msg" "side"; }
  .ins-fb-side { border-left: 0 !important; border-top: 1px solid var(--line-soft) !important; }
}
@media (max-width: 720px) {
  .ins .ro-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "who act" "last last" "steps steps"; }
  .ins .ro-who { grid-area: who; } .ins .ro-act { grid-area: act; }
  .ins .ro-last { grid-area: last; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
  .ins .ro-steps { grid-area: steps; }
  .ins .ro-next a { white-space: normal; }
}
@media (max-width: 720px) {
  .ins { gap: 14px; }
  .ins-actions { width: 100%; }
  .ins-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ins-kpi { padding: 12px 14px; }
  .ins-kpi-value { font-size: var(--fs-3xl); }
  .ins-up-grid { grid-template-columns: minmax(0, 1fr); }
  .ins-card-head { padding: 12px 14px; }
  .ins-card-body { padding: 12px 14px 14px; }
  .ins .ins-input { min-width: 0; flex: 1 1 100%; }
  .ins-toolbar .ins-select { flex: 1 1 calc(50% - 8px); }

  /* tables turn into stacked cards */
  .ins .ins-table.is-stack thead { display: none; }
  .ins .ins-table.is-stack, .ins .ins-table.is-stack tbody, .ins .ins-table.is-stack tr, .ins .ins-table.is-stack td { display: block; width: 100%; }
  .ins .ins-table.is-stack tr { padding: 10px 14px; border-bottom: 1px solid var(--line); }
  .ins .ins-table.is-stack tbody tr:last-child { border-bottom: 0; }
  .ins .ins-table.is-stack td { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 3px 0; border: 0; text-align: right; }
  .ins .ins-table.is-stack td::before { content: attr(data-label); flex: none; font-size: var(--fs-xs); font-weight: 600; color: var(--muted); text-align: left; }
  .ins .ins-table.is-stack td[data-label=""]::before, .ins .ins-table.is-stack td:not([data-label])::before { content: none; }
  .ins .ins-table.is-stack td.is-lead { display: block; text-align: left; padding-bottom: 6px; }
  .ins .ins-table.is-stack td.is-lead::before { content: none; }
  .ins .ins-table.is-stack td.ins-td-empty { display: block; text-align: center; }
  .ins .ins-table.is-stack td.ins-td-empty::before { content: none; }
  .ins .ins-table.is-stack .ins-wrap-text { max-width: none; text-align: right; }
  .ins .ins-table.is-stack .num { text-align: right; }
  .ins .ins-table.is-stack tbody tr:hover td { background: transparent; }

  .ins-fb-when, .ins-fb-msg, .ins-fb-side { padding-left: 14px !important; padding-right: 14px !important; }
  .ins .ro-row { padding: 12px 14px; }
}

/* the feedback rows are cards at every width: no legacy per-cell labels */
.ins .ins-fb-table td::before { content: none !important; display: none !important; }
.ins .ins-fb-follow .ins-input { min-height: 36px; padding-top: 0; padding-bottom: 0; }
