/* ipp-publish-v2.21.css */
/* v2.21 (21 Oct 2026, 106 Gap Interview S8): Distribution is one surface. The Vendor Status card (.vd-status) is interactive: .vd-step rows are labels with a checkbox, a fixed-width truncated name and the time; .is-changed wears the gold ground, .is-dis is greyed; .vd-foot holds Save and Cancel; .is-ready turns the card green with the .vd-done line. The v2.1 Vendor Status tab rules (.vs-*) and the v2.20 Vendor Status pane rules are gone. Goes with ipp-publish-v2.49.js. */
/* v2.20 (21 Oct 2026, 106 Gap Interview S8): the no-scroll Compile page and the Distribution recovery (S8 canvas). The header (.ipp-cx-head) is no longer a floating card: it runs edge to edge across the working area with a solid backdrop, a border above and below, no radius, no shadow, and it is not sticky (nothing scrolls behind it). The board is a list (.ipp-cx-list of .ipp-cx-row2, 52px rows: dot, section tag + check name, value and comment, a 112px Correct/Open slot, a thumbnail slot), headed by .ipp-cx-bh2; a clean board is .ipp-cx-clean. The open section cell is .ipp-cx-cell.is-open. Delivery's detail (.ipp-cx-facts) holds the send facts and the tracking-codes <details>. The status band has no demoted slot (.ipp-cx-act is one 44px button); .ipp-cx-again is also the Compile again link. The Confirmation sits in place of the board (.ipp-cx-confirm): .cf-goes line, .cf-grid--4 four equal cards, .cf-gorow. .ipp-pub-back is the small Back link above the title. Distribution: .vd-wrap two columns (form, 300px side), .vd-f label rows, .vd-pick chips with .vd-dd drop-down and the gold .is-changed border, .vd-note (the replacement note), .vd-side cards with the five .vd-step rows, .vd-actions. The Unlock and Mark-as-sent dialogs share .ipp-cx-unlock (.is-void red bar, .ipp-cx-unlock-l list). The v2.13 bands, tiles, chips and the Last compile band rules are gone. Goes with ipp-publish-v2.47.js. */
/* v2.19 (20 Oct 2026, 106 Gap Interview S7): the Compile header is three fixed rows: .ipp-cx-status 92px (dot or lock, headline, fact line, 200x44 primary, demoted link slot), .ipp-cx-secs 56px (fixed 160x36 cells, scrolls sideways rather than wrapping), .ipp-cx-stamp 56px (stamp sentence; mono fact and three 96x32 file buttons). State tints on .ipp-cx-head: .is-current #EEF6F2, .is-stale gold #FBF4E3, .is-released solid --ix-ok with white text. The verdict, chip, hacts, mini, hint, rel and container-query rules of v2.13 to v2.18 are gone. Goes with ipp-publish-v2.46.js. */
/* v2.18 (20 Oct 2026, 106 Gap Interview S5): unsaved is gold. .is-hold on tiles, bands, chips, verdict dot and the go hint: gold border, gold glow, gold-ink text, '!' badge. Goes with ipp-publish-v2.44.js. */
/* v2.17 (20 Oct 2026, 106 Gap Interview S5): the Revenue band's spine colour (.ipp-cx-g--revenue). Goes with ipp-publish-v2.41.js. */
/* v2.16 (20 Oct 2026): the Compile header's last-compile links are buttons (.ipp-cx-mini-btn), 30px, side by side. Goes with ipp-publish-v2.34.js. */
/* v2.15 (20 Oct 2026, 106 Gap Interview S4): the Greeting band rules (.ipp-grc, v2.12) and the holder rules are gone; the band lives on the Greeting tab (ipp-greeting-v1.0.0.css). Goes with ipp-publish-v2.33.js. */
/* ============================================================
   v2.13 (20 Oct 2026): the Compile page redesign (ipp-publish v2.31): sticky status
     header (.ipp-cx-head: verdict, navigator chips, last-compile line, Compile), one
     column, sections as bands (.ipp-cx-band) with a coloured spine and a header row,
     passing checks folded to one line (.ipp-cx-pass). The side panel and the recon
     strip rules are retired.
   v2.12 (20 Oct 2026): the Greeting is a band (.ipp-grc-band) with the boxes
     (.ipp-grc-body) under it only while editing (.ipp-grc.is-open); stale band is
     salmon (.ipp-grc.is-stale); the v2.11 veil/blur rules are retired. ipp-publish v2.30.
   ipp-publish-v2.11.css — Send Setup, Compile and Distribution view styles
   v2.11 (19 Oct 2026): a stale greeting is behind (.ipp-grc.is-behind): its boxes blur, the
     Layout preview's treatment (filter blur 3px, opacity .55), under a veil with the fact and
     the three ways out; the tile's Correct pulses a gold ring on the card (.is-pulse).
     ipp-publish v2.28.
   ---- v2.10 header follows ----
   ipp-publish-v2.10.css — Send Setup, Compile and Distribution view styles
   v2.10 (19 Oct 2026): the stale Greeting card keeps its normal border and fill; only the
     stamp line is salmon, and "Keep this greeting" is a salmon-outlined button (.ipp-grc-keep).
     ipp-publish v2.27.
   ---- v2.9 header follows ----
   ipp-publish-v2.9.css — Send Setup, Compile and Distribution view styles
   v2.9 (19 Oct 2026): the Greeting card at the top of Compile (.ipp-grc), ipp-publish v2.26.
     Title and Short greeting side by side, Paragraph under them; a changed box takes the
     ix-form-controls gold (.ix-picker-input--changed); a box left empty on Save takes the
     salmon border (.is-missing); the stamp line turns salmon when the greeting is older
     than the issue (.is-stale) and green when it is written after every block (.is-ok).
   ---- v2.8 header follows ----
   ipp-publish-v2.8.css — Send Setup, Compile and Distribution view styles
   v2.14 (20 Oct 2026): the release line is a row of the sticky header (.ipp-cx-rel, grid row r); the v2.8 sticky foot bar (.ipp-cx-bar) is gone. Goes with ipp-publish-v2.32.js.
   v2.8 (19 Oct 2026): the release bar at the foot of Compile (.ipp-cx-bar), sticky.
   ---- v2.7 header follows ----
   ipp-publish-v2.7.css — Publish view styles · PUBLISH THIS ISSUE
   Companion script: ipp-publish-v2.21.js. Replaces ipp-publish-v2.6.css (v2.7 adds the Send Setup grid, ruling 12, 106 Gap Interview S3; nothing removed).
   v2.6 added five rules for Confirmation on v2.5.
   Load after ix-tokens, ix-buttons, ix-form-controls, ix-modals,
   ix-success-toast, ix-info. Everything is scoped to [data-ipp-root],
   except the Correct window (.ipp-cor), which sits on <body>.
   v2.5 (IPP Build S10): the Correct buttons and window from
   compile-correct-mockup v0.2, at the end. The tile fix button is now
   112px (the mockup's size) in two kinds: Correct (filled) and Open
   (outlined). Everything above the v2.5 block is v2.4 unchanged.
   Five step tabs share the row in equal widths (never sized by label).
   ============================================================ */
[data-ipp-root] .ipp-pub-head{max-width:640px;margin:0 0 20px}
[data-ipp-root] .ipp-pub-kicker{margin:0 0 6px;font:600 11px var(--ix-font-body);
  letter-spacing:.14em;text-transform:uppercase;color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-titlerow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
[data-ipp-root] .ipp-pub-title{margin:0;font:600 30px var(--ix-font-display);
  letter-spacing:-.012em;color:var(--ix-text-dark);line-height:1.1}
[data-ipp-root] .ipp-pub-titlerow .ix-info-badge{border-color:var(--ix-border) !important;
  color:var(--ix-text-mid) !important}
[data-ipp-root] .ipp-pub-titlerow .ix-info-badge:hover{border-color:var(--ix-gold) !important}
[data-ipp-root] .ipp-pub-sub{margin:8px 0 0;font:400 14px var(--ix-font-body);
  color:var(--ix-text-mid);line-height:1.55}

[data-ipp-root] .ipp-pub-card{max-width:860px;background:var(--ix-surface);border:1px solid var(--ix-border);
  border-radius:var(--ipp-r);box-shadow:var(--ipp-shadow-card);padding:22px 24px}

[data-ipp-root] .ipp-pub-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0 0 20px}
[data-ipp-root] .ipp-pub-facts dt{font:600 11px var(--ix-font-body);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ix-text-light);align-self:center;white-space:nowrap}
[data-ipp-root] .ipp-pub-facts dd{margin:0;font:500 14px var(--ix-font-body);color:var(--ix-text-dark);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-pub-facts dd.mono,
[data-ipp-root] .ipp-pub-result .mono{font-family:var(--ix-font-mono);font-size:12px;color:var(--ix-text-mid)}

[data-ipp-root] .ipp-pub-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
[data-ipp-root] .ipp-pub-status{font:500 13px var(--ix-font-body);color:var(--ix-text-mid)}

/* ── blocked ─────────────────────────────────────────────── */
[data-ipp-root] .ipp-pub-blocked{border-color:var(--ix-border-input);background:var(--ix-cream)}
[data-ipp-root] .ipp-pub-blocked-head{margin:0 0 10px;font:600 13px var(--ix-font-body);color:var(--ix-warn)}
[data-ipp-root] .ipp-pub-list{margin:0;padding-left:18px}
[data-ipp-root] .ipp-pub-list li{font:400 13px var(--ix-font-body);color:var(--ix-text-mid);
  line-height:1.6;margin:0 0 4px}

/* ── result panel ────────────────────────────────────────── */
[data-ipp-root] .ipp-pub-result{margin:20px 0 0;padding:16px 18px;border-radius:var(--ix-radius-sm);
  border:1px solid var(--ix-border);border-left-width:4px;background:var(--ix-cream-warm)}
[data-ipp-root] .ipp-pub-result[hidden]{display:none}
[data-ipp-root] .ipp-pub-result.is-ok{border-left-color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-result.is-stop{border-left-color:var(--ix-danger);background:var(--ix-salmon-ghost)}
[data-ipp-root] .ipp-pub-result.is-unclear{border-left-color:var(--ix-gold);background:var(--ix-gold-glow)}

[data-ipp-root] .ipp-pub-result-head{margin:0 0 4px;font:600 16px var(--ix-font-body);color:var(--ix-text-dark)}
[data-ipp-root] .ipp-pub-result.is-ok .ipp-pub-result-head{color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-result.is-stop .ipp-pub-result-head{color:var(--ix-danger)}
[data-ipp-root] .ipp-pub-result.is-unclear .ipp-pub-result-head{color:var(--ix-warn)}
[data-ipp-root] .ipp-pub-result-sub{margin:0;font:400 13px var(--ix-font-body);color:var(--ix-text-mid);line-height:1.55}

[data-ipp-root] .ipp-pub-problems{margin:6px 0 10px;padding-left:18px}
[data-ipp-root] .ipp-pub-problems li{font:500 14px var(--ix-font-body);color:var(--ix-danger);
  line-height:1.5;margin:0 0 4px}

[data-ipp-root] .ipp-pub-warn{margin:12px 0 0;padding:10px 12px 10px 28px;border-radius:var(--ix-radius-sharp);
  background:var(--ix-gold-glow);border:1px solid var(--ix-gold)}
[data-ipp-root] .ipp-pub-warn li{font:500 13px var(--ix-font-body);color:var(--ix-warn);line-height:1.5;margin:0 0 3px}

/* size meter: bar width = email bytes / the Worker's 95 KB line */
[data-ipp-root] .ipp-pub-meter{margin:12px 0 0;max-width:420px}
[data-ipp-root] .ipp-pub-meter-bar{height:8px;border-radius:var(--ix-radius-pill);background:var(--ix-cream-deep);overflow:hidden}
[data-ipp-root] .ipp-pub-meter-bar span{display:block;height:100%;border-radius:inherit;background:var(--ix-teal);
  transition:width .4s ease}
[data-ipp-root] .ipp-pub-meter.is-over .ipp-pub-meter-bar span{background:var(--ix-salmon)}
[data-ipp-root] .ipp-pub-meter-label{margin:5px 0 0;font:500 12px var(--ix-font-mono);color:var(--ix-text-mid)}

[data-ipp-root] .ipp-pub-result-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0}
[data-ipp-root] .ipp-pub-result-actions:empty{display:none}
[data-ipp-root] .ipp-pub-result-actions a.ix-btn{text-decoration:none !important}

/* ── before you compile (v1.2) ───────────────────────────── */
[data-ipp-root] .ipp-pub-check{margin:0 0 18px;padding:12px 14px;border-radius:var(--ix-radius-sm);
  border:1px solid var(--ix-border);border-left-width:4px;border-left-color:var(--ix-border-input);
  background:var(--ix-cream)}
[data-ipp-root] .ipp-pub-check:empty{display:none}
[data-ipp-root] .ipp-pub-check.is-ok{border-left-color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-check.is-warn,
[data-ipp-root] .ipp-pub-check.is-unclear{border-left-color:var(--ix-gold)}
[data-ipp-root] .ipp-pub-check.is-stop{border-left-color:var(--ix-danger);background:var(--ix-salmon-ghost)}
[data-ipp-root] .ipp-pub-check-head{margin:0 0 6px;font:600 11px var(--ix-font-body);letter-spacing:.12em;
  text-transform:uppercase;color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-check p{margin:0 0 4px;font:400 13px var(--ix-font-body);line-height:1.5}
[data-ipp-root] .ipp-pub-check-line{color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-check-good{color:var(--ix-ok);font-weight:500 !important}
[data-ipp-root] .ipp-pub-check-warnline{color:var(--ix-warn);font-weight:500 !important}
[data-ipp-root] .ipp-pub-check-stop{color:var(--ix-danger);font-weight:600 !important}
[data-ipp-root] .ipp-pub-check-list{margin:2px 0 6px;padding-left:18px}
[data-ipp-root] .ipp-pub-check-list li{font:400 13px var(--ix-font-body);color:var(--ix-warn);line-height:1.5;margin:0 0 3px}
[data-ipp-root] .ipp-pub-check-notes{margin:4px 0 0;font:400 12px var(--ix-font-body);color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-check-notes summary{cursor:pointer;color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-check-notes ul{margin:4px 0 0;padding-left:18px}
[data-ipp-root] .ipp-pub-check-notes li{margin:0 0 2px;line-height:1.45;word-break:break-word}
[data-ipp-root] .ipp-pub-recheck{margin:6px 0 0;padding:0;border:0;background:none;cursor:pointer;
  font:500 12px var(--ix-font-body);color:var(--ix-text-mid);text-decoration:underline}
[data-ipp-root] .ipp-pub-recheck:hover{color:var(--ix-text-dark)}

/* ── v1.3 · the Email card (ipp-publish-v1.7.js) ───────────────
   Inputs are the platform's ix-picker-input (ix-form-controls v1.1.0),
   so the changed state is its gold border; Cancel is ix-revert. */
[data-ipp-root] .ipp-pub-email{margin:0 0 20px;padding:16px 18px;border:1px solid var(--ix-border);
  border-radius:var(--ix-radius-sm,8px);background:var(--ix-cream-warm,#FDFCF8)}
[data-ipp-root] .ipp-pub-em-head{margin:0 0 12px;font:600 11px var(--ix-font-body);letter-spacing:.12em;
  text-transform:uppercase;color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-em-wait{margin:0;font:400 13px var(--ix-font-body);color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-em-row{margin:0 0 14px}
[data-ipp-root] .ipp-pub-em-labelrow{display:flex;align-items:baseline;gap:10px;margin:0 0 6px;min-height:18px}
[data-ipp-root] .ipp-pub-em-label{font:600 13px var(--ix-font-body);color:var(--ix-text-dark)}
[data-ipp-root] .ipp-pub-em-opt{font:400 12px var(--ix-font-body);color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-em-count{margin-left:auto;font:400 12px 'DM Mono',ui-monospace,monospace;
  font-variant-numeric:tabular-nums;color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-em-count.is-over{color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-pub-em-note{margin:5px 0 0;font:400 12px var(--ix-font-body);color:var(--ix-gold-ink)}
[data-ipp-root] .ipp-pub-em-note.is-dim{color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-em-note.is-bad{color:var(--ix-danger,#B42318)}
[data-ipp-root] .ipp-pub-em-actions{display:flex;align-items:center;gap:14px;margin-top:4px}
[data-ipp-root] .ipp-pub-em-status{font:500 12px var(--ix-font-body);color:var(--ix-ok)}

/* ── v1.4 · three step tabs (ipp-publish-v1.8.js) ──────────────
   Same pill as Revenue's tabs; one fixed width so a label never
   resizes its neighbours. Locked = muted with a lock; done = a check. */
[data-ipp-root] .ipp-pub-tabs{display:flex;gap:10px;align-items:center;margin:0 0 18px;padding:0 0 14px;
  border-bottom:1px solid var(--ix-border)}
[data-ipp-root] .ipp-pub-tab{display:inline-flex;align-items:center;gap:10px;box-sizing:border-box;
  width:252px;height:42px;padding:0 14px 0 8px;margin:0;font:500 12px var(--ix-font-mono,'DM Mono',monospace);
  letter-spacing:.04em;text-transform:uppercase;background:var(--ix-cream,#FAF9F5);border:1.5px solid #e6e2d6;
  border-radius:24px;color:#5a5a52;cursor:pointer;white-space:nowrap;text-align:left}
[data-ipp-root] .ipp-pub-tab:hover:not(.is-active):not(.is-locked){border-color:var(--ix-gold)}
[data-ipp-root] .ipp-pub-tab:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ix-blue-glow)}
[data-ipp-root] .ipp-pub-tab-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:50%;background:#fff;border:1px solid #e6e2d6;font-size:12px;color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-tab-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-pub-tab-end{flex:none;display:inline-flex;align-items:center;width:16px;justify-content:center;
  font-size:14px;color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-tab.is-active{color:#fff;background:var(--ix-blue);border-color:var(--ix-blue)}
[data-ipp-root] .ipp-pub-tab.is-active .ipp-pub-tab-n{background:rgba(255,255,255,.2);border-color:transparent;color:#fff}
[data-ipp-root] .ipp-pub-tab.is-active .ipp-pub-tab-end{color:#fff}
[data-ipp-root] .ipp-pub-tab.is-locked{cursor:not-allowed;color:var(--ix-text-light);background:transparent;border-style:dashed}
[data-ipp-root] .ipp-pub-tab.is-locked .ipp-pub-tab-end{color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-pane[hidden]{display:none!important}
[data-ipp-root] .ipp-pub-pane > .ipp-pub-sub{margin:0 0 16px}

/* v1.5 · four steps share the row in equal widths (no tab sized by its
   label); the label ellipsizes before the tab grows. */
[data-ipp-root] .ipp-pub-tabs{gap:8px}
[data-ipp-root] .ipp-pub-tab{flex:1 1 0;width:auto;min-width:0;max-width:252px;gap:8px;padding:0 12px 0 7px;
  font-size:11px;letter-spacing:.03em}
/* the step number sits as plain mono text (no circle) so the longest
   label, NEWSLETTER EMAIL PREP, fits a 202px tab on a 1288px screen */
[data-ipp-root] .ipp-pub-tab{padding:0 8px 0 12px;gap:6px;letter-spacing:0;font-size:10.5px}
[data-ipp-root] .ipp-pub-tab-end{width:13px}
[data-ipp-root] .ipp-pub-tab-n,[data-ipp-root] .ipp-pub-tab.is-active .ipp-pub-tab-n{width:auto;height:auto;border:0;
  background:none;border-radius:0;font-size:11px;opacity:.75}
[data-ipp-root] .ipp-pub-tab-n::after{content:'\00b7';margin-left:7px}

/* ── v2.0 · five tabs ─────────────────────────────────────── */
/* steps 4 and 5 are simulated: the pane says so; the tab looks like the others */
/* ── v2.0 · Send Setup ────────────────────────────────────── */
[data-ipp-root] .ipp-pub-grp{border:1px solid var(--ix-border);border-radius:var(--ix-radius-sm,8px);background:var(--ix-cream-warm,#FDFCF8);padding:14px 16px;margin:0 0 14px}
[data-ipp-root] .ipp-pub-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
[data-ipp-root] .ipp-pub-chips{display:flex;flex-wrap:wrap;gap:6px}
[data-ipp-root] .ipp-pub-chip{font:500 12px 'DM Mono',ui-monospace,monospace;padding:5px 10px;border-radius:14px;background:#fff;border:1px solid var(--ix-border-input)}
[data-ipp-root] .ipp-pub-age,[data-ipp-root] .ipp-pub-when{display:flex;align-items:center;gap:10px}
[data-ipp-root] .ipp-pub-age select.ix-picker-input{width:86px!important}
[data-ipp-root] .ipp-pub-when input.ix-picker-input{width:180px!important}
[data-ipp-root] .ipp-pub-when select.ix-picker-input{width:130px!important}
@media (max-width:1100px){[data-ipp-root] .ipp-pub-two{grid-template-columns:1fr}}
/* ── v2.7 · Send Setup across the width (ruling 12) ───────── */
[data-ipp-root] .ipp-pub-pane[data-pane="setup"]{max-width:none}
[data-ipp-root] .ipp-pub-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
[data-ipp-root] .ipp-pub-setup-grid .ipp-pub-grp{margin:0}
[data-ipp-root] .ipp-pub-setup-grid .ipp-pub-grp--wide,[data-ipp-root] .ipp-pub-setup-foot{grid-column:1/-1}
[data-ipp-root] .ipp-pub-setup-grid .ipp-pub-when{flex-wrap:wrap}
@media (max-width:1100px){[data-ipp-root] .ipp-pub-setup-grid{grid-template-columns:1fr}}
/* ── v2.0 · the readiness board ───────────────────────────── */
[data-ipp-root] .ipp-pub-board{border:1px solid var(--ix-border);border-radius:10px;overflow:hidden;margin:0 0 16px;background:#fff}
[data-ipp-root] .ipp-pub-bsum{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--ix-border)}
[data-ipp-root] .ipp-pub-bsum .big{font:600 17px var(--ix-font-body)}
[data-ipp-root] .ipp-pub-bsum .bn{font:400 12px 'DM Mono',ui-monospace,monospace;color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-bsum.is-ok{background:#E9F6EF;color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-bsum.is-bad{background:#FDEEEA;color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-pub-bsum.is-wait{background:var(--ix-cream);color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-bg{padding:10px 18px 12px;border-top:1px solid var(--ix-border)}
[data-ipp-root] .ipp-pub-bsum + .ipp-pub-bg{border-top:0}
[data-ipp-root] .ipp-pub-bgh{display:flex;justify-content:space-between;font:600 11px var(--ix-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ix-text-mid);margin:2px 0 6px}
[data-ipp-root] .ipp-pub-bgh .bc{font:500 11px 'DM Mono',ui-monospace,monospace;letter-spacing:0;color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-bgh .bc.is-bad{color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-pub-ln{position:relative;padding:3px 0 3px 22px;font:400 13px/1.5 var(--ix-font-body)}
[data-ipp-root] .ipp-pub-ln::before{position:absolute;left:0;top:3px;width:16px;text-align:center;font-weight:700}
[data-ipp-root] .ipp-pub-ln.is-ok{color:#1d5e3c}[data-ipp-root] .ipp-pub-ln.is-ok::before{content:'\2713';color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-ln.is-bad{color:var(--ix-salmon-ink);font-weight:500}[data-ipp-root] .ipp-pub-ln.is-bad::before{content:'\2715';color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-pub-ln.is-warn{color:var(--ix-gold-ink)}[data-ipp-root] .ipp-pub-ln.is-warn::before{content:'!';color:var(--ix-gold-ink)}
[data-ipp-root] .ipp-pub-ln.is-note{color:var(--ix-text-mid)}[data-ipp-root] .ipp-pub-ln.is-note::before{content:'i';font:italic 700 13px Georgia,serif;color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-ln.is-wait,[data-ipp-root] .ipp-pub-ln.is-grey{color:var(--ix-text-light)}
[data-ipp-root] .ipp-pub-ln.is-wait::before{content:'\2026'}[data-ipp-root] .ipp-pub-ln.is-grey::before{content:'\2013'}
[data-ipp-root] .ipp-pub-go{background:none;border:0;padding:0;margin-left:8px;font:500 12.5px var(--ix-font-body);color:var(--ix-blue);text-decoration:underline;cursor:pointer}
[data-ipp-root] .ipp-pub-gohint{font:400 12.5px var(--ix-font-body);color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-pub-utm{margin:6px 0 2px 22px;font-size:12.5px}
[data-ipp-root] .ipp-pub-utm summary{cursor:pointer;color:var(--ix-blue);text-decoration:underline}
[data-ipp-root] .ipp-pub-utm-common{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}
[data-ipp-root] .ipp-pub-utm-common span{color:var(--ix-text-light);margin-right:4px}
[data-ipp-root] .ipp-pub-utm code{font:400 11.5px 'DM Mono',ui-monospace,monospace;background:var(--ix-cream);border:1px solid var(--ix-border);border-radius:4px;padding:1px 6px;white-space:nowrap}
[data-ipp-root] .ipp-pub-utm-wrap{overflow-x:auto;max-height:340px;overflow-y:auto}
[data-ipp-root] .ipp-pub-utm table{width:100%;border-collapse:collapse;font-size:12px}
[data-ipp-root] .ipp-pub-utm th{text-align:left;font:600 10.5px var(--ix-font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ix-text-light);padding:6px;border-bottom:1px solid var(--ix-border);position:sticky;top:0;background:#fff}
[data-ipp-root] .ipp-pub-utm td{padding:6px;border-bottom:1px dashed var(--ix-border);vertical-align:top}
[data-ipp-root] .ipp-pub-utm td.u{font:400 11.5px 'DM Mono',ui-monospace,monospace;color:var(--ix-text-mid)}
[data-ipp-root] .ipp-pub-utm td.st{font:500 11px 'DM Mono',ui-monospace,monospace;color:var(--ix-ok)}
[data-ipp-root] .ipp-pub-utm tr.is-bad td{background:#FDEEEA}[data-ipp-root] .ipp-pub-utm tr.is-bad td.st{color:var(--ix-salmon-ink)}
/* ── v2.0 · Confirmation ──────────────────────────────────── */
[data-ipp-root] .cf-k{font:600 10.5px var(--ix-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ix-text-mid);margin:0 0 8px}
[data-ipp-root] .cf-big{font:600 22px/1.2 var(--ix-font-display,'Fraunces',Georgia,serif)}
[data-ipp-root] .cf-sub{margin-top:6px;font-size:12.5px;color:#C3CAD6}
[data-ipp-root] .cf-sub a{color:#fff;text-decoration:underline;cursor:pointer}
[data-ipp-root] .cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}
[data-ipp-root] .cf-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}   /* v2.20: four equal cards */
[data-ipp-root] .cf-box{border:1px solid var(--ix-border);border-radius:10px;padding:14px 16px;background:var(--ix-cream-warm,#FDFCF8)}
[data-ipp-root] .cf-row{display:grid;grid-template-columns:76px 1fr;gap:10px;font-size:12.5px;padding:4px 0;border-top:1px dashed var(--ix-border)}
[data-ipp-root] .cf-box .cf-k + .cf-row{border-top:0}
[data-ipp-root] .cf-row span{color:var(--ix-text-light)}[data-ipp-root] .cf-row b{font-weight:500;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .cf-ack{border:0;padding:0;margin:0 0 12px;background:transparent}
[data-ipp-root] .cf-ack label{display:flex;gap:10px;align-items:center;padding:3px 0;font-size:13.5px;cursor:pointer}
[data-ipp-root] .cf-ack input{width:18px;height:18px;accent-color:var(--ix-ok)}
[data-ipp-root] .cf-gorow{display:flex;align-items:center;gap:16px}
[data-ipp-root] .cf-gorow .cf-go,[data-ipp-root] .cf-gorow .cf-go.ix-btn{box-sizing:border-box;width:300px !important;height:44px !important;min-height:0 !important;padding:0 !important;justify-content:center;border-radius:9px !important;font:600 14px var(--ix-font-body) !important;white-space:nowrap;flex:none}
[data-ipp-root] .cf-fine{font-size:12px;color:var(--ix-text-light);margin:0;line-height:1.4;max-width:460px}
[data-ipp-root] .cf-lead{margin:0 0 10px}
[data-ipp-root] .cf-goes{display:flex;align-items:baseline;gap:14px;margin:0 0 12px}
[data-ipp-root] .cf-goes b{font:700 18px var(--ix-font-body);color:var(--ix-text-dark)}
[data-ipp-root] .cf-goes span{font:400 13px var(--ix-font-body);color:var(--ix-text-mid)}
[data-ipp-root] .cf-goes .ix-revert{font:500 11px var(--ix-font-body);color:var(--ix-text-mid);text-decoration:underline;cursor:pointer}
[data-ipp-root] .ipp-pub-back{height:18px;margin:0 0 4px;font:500 12px/18px var(--ix-font-body)}
[data-ipp-root] .ipp-pub-back .ix-revert{font:500 12px var(--ix-font-body);color:var(--ix-blue);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
/* v2.19 (17 Oct 2026): the envelope editor and the content links on Confirmation */
[data-ipp-root] .cf-k-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
[data-ipp-root] .cf-k-row .ix-revert,[data-ipp-root] .cf-link{font:500 11px var(--ix-font-body);letter-spacing:0;text-transform:none;color:var(--ix-text-mid);text-decoration:underline;cursor:pointer}
[data-ipp-root] .cf-edit{border:1px solid var(--ix-gold);border-radius:10px;padding:14px 16px;margin:0 0 18px;background:#fff}
[data-ipp-root] .cf-done{margin-top:14px;padding:14px 16px;border-radius:10px;background:#E9F6EF;color:var(--ix-ok);font-weight:600}
@media (max-width:1100px){[data-ipp-root] .cf-grid,[data-ipp-root] .cf-grid--4{grid-template-columns:1fr 1fr}}
/* ── v2.0 · steps 4 and 5, simulated ──────────────────────── */
[data-ipp-root] .ipp-pub-sim{margin:0 0 14px;padding:8px 12px;border:1px dashed var(--ix-gold);border-radius:8px;background:var(--ix-gold-glow,rgba(196,163,90,.12));color:var(--ix-gold-ink);font:600 12px var(--ix-font-body)}
[data-ipp-root] .sim-mail{border:1px solid var(--ix-border);border-radius:10px;overflow:hidden;margin:0 0 16px}
[data-ipp-root] .sim-mh{margin:0;background:var(--ix-cream-warm,#FDFCF8);border-bottom:1px solid var(--ix-border);padding:12px 16px;display:grid;grid-template-columns:70px 1fr;gap:6px 10px;font-size:13px}
[data-ipp-root] .sim-mh dt{color:var(--ix-text-light)}[data-ipp-root] .sim-mh dd{margin:0}
[data-ipp-root] .sim-mb{padding:16px 18px;font-size:13.5px;line-height:1.6}
[data-ipp-root] .sim-att{display:inline-flex;margin-top:8px;padding:6px 10px;border:1px solid var(--ix-border);border-radius:8px;background:var(--ix-cream);font:500 12px 'DM Mono',ui-monospace,monospace}
[data-ipp-root] .sim-demo{font-size:12px;color:var(--ix-text-light);margin:0 0 12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
[data-ipp-root] .sim-demo button{font:500 11px 'DM Mono',ui-monospace,monospace;border:1px solid var(--ix-border-input);background:#fff;border-radius:12px;padding:3px 10px;cursor:pointer;color:var(--ix-text-mid)}
[data-ipp-root] .sim-bar{border:1px solid var(--ix-border);border-radius:10px;padding:14px 18px;margin:0 0 14px;background:#F3F6FF}
[data-ipp-root] .sim-bar.is-testing{background:#FBF6EA}[data-ipp-root] .sim-bar.is-ready{background:#E9F6EF}
[data-ipp-root] .sim-bar b{font-size:16px;margin-right:10px}[data-ipp-root] .sim-bar > span{font-size:12.5px;color:var(--ix-text-light)}
[data-ipp-root] .sim-steps{display:flex;gap:6px;margin-top:10px}
[data-ipp-root] .sim-steps span{flex:1;text-align:center;font:500 11px 'DM Mono',ui-monospace,monospace;text-transform:uppercase;padding:6px 0;border-radius:6px;background:#fff;border:1px solid var(--ix-border);color:var(--ix-text-light)}
[data-ipp-root] .sim-steps span.on{background:#1E2A3A;color:#fff;border-color:#1E2A3A}
[data-ipp-root] .sim-thread{display:flex;flex-direction:column;gap:10px}
[data-ipp-root] .sim-em{border:1px solid var(--ix-border);border-radius:10px;padding:12px 16px;background:#fff;max-width:88%;font-size:13.5px;line-height:1.55}
[data-ipp-root] .sim-em.out{align-self:flex-end;background:var(--ix-cream-warm,#FDFCF8)}
[data-ipp-root] .sim-emh{font-size:12px;color:var(--ix-text-light);margin:0 0 4px}
[data-ipp-root] .sim-em mark{background:rgba(196,163,90,.25);padding:0 2px;border-radius:3px}
[data-ipp-root] .sim-tag{margin-top:6px;font-size:12px;color:var(--ix-text-mid)}
[data-ipp-root] .sim-final{display:flex;gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:10px;background:#0F5132;color:#fff;font-size:14px;line-height:1.5}
/* done (v2.1): Vendor Status "Fully set up" turns the rail deep green with a lock */
[data-ipp-root].ipp-sheet.ipp-pub-done .ipp-rail{background:#0F5132}
[data-ipp-root].ipp-sheet.ipp-pub-done .ipp-switcher button.on{background:#17653F}
[data-ipp-root].ipp-sheet.ipp-pub-done .ipp-b-head::after{content:'\1F512  Done \00B7 fully set up with the vendor';display:inline-block;margin:0 0 14px;padding:6px 10px;border-radius:6px;background:rgba(255,255,255,.12);color:#fff;font:600 12px var(--ix-font-body)}
/* ── v2.20 · Submit to Vendor (S8 canvas board 6 and 7) ───────────── */
[data-ipp-root] .ipp-pub-card.ipp-pub-pane[data-pane="vendor"],[data-ipp-root] .ipp-pub-card.ipp-pub-pane[data-pane="status"]{max-width:none}
[data-ipp-root] .vd-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;margin-top:12px;min-width:0}
[data-ipp-root] .vd-form{display:flex;flex-direction:column;gap:10px;min-width:0}
[data-ipp-root] .vd-f{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:start;gap:0 12px;min-width:0}
[data-ipp-root] .vd-l{font:600 12px/36px var(--ix-font-body);color:var(--ix-text-mid)}
[data-ipp-root] .vd-frow{display:flex;align-items:center;gap:10px;min-width:0}
[data-ipp-root] .vd-frow.is-body{align-items:flex-start}
[data-ipp-root] .vd-v{flex:1;min-width:0;box-sizing:border-box;height:36px;border:1px solid var(--ix-border);border-radius:8px;background:var(--ix-cream,#FAF9F5);padding:0 10px;font:400 13px/34px var(--ix-font-body);color:var(--ix-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .vd-v.mono{font:500 12.5px/34px var(--ix-font-mono,'DM Mono',monospace)}
[data-ipp-root] .vd-body{flex:1;min-width:0;margin:0;box-sizing:border-box;height:150px;overflow:auto;white-space:pre;border:1px solid var(--ix-border);border-radius:8px;background:var(--ix-cream,#FAF9F5);padding:8px 10px;font:400 12px/1.45 var(--ix-font-mono,'DM Mono',monospace);color:var(--ix-text-dark)}
[data-ipp-root] .vd-copy{flex:none;box-sizing:border-box;width:84px;height:30px;border:1.5px solid var(--ix-border-input);border-radius:8px;background:#fff;font:600 12px var(--ix-font-body);color:var(--ix-text-dark);cursor:pointer}
[data-ipp-root] .vd-copy:hover{border-color:var(--ix-blue)}
[data-ipp-root] .vd-copy.is-done{border-color:var(--ix-ok);color:var(--ix-ok)}
/* To and CC pickers: chips, a drop-down of the list, the gold border while a pick is pending */
[data-ipp-root] .vd-pickwrap{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
[data-ipp-root] .vd-pick{position:relative;width:100%;box-sizing:border-box;min-height:36px;border:1px solid var(--ix-border);border-radius:8px;background:#fff;padding:4px 36px 4px 6px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
[data-ipp-root] .vd-pick.is-changed{border:2px solid var(--ix-gold);padding:3px 35px 3px 5px}
[data-ipp-root] .vd-chev{position:absolute;right:6px;top:4px;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--ix-text-mid);font-size:14px;cursor:pointer}
[data-ipp-root] .vd-chev:hover{background:var(--ix-cream,#FAF9F5)}
[data-ipp-root] .vd-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px 0 10px;border-radius:6px;border:1px solid var(--ix-border);background:var(--ix-cream,#FAF9F5);font:500 12px var(--ix-font-body);color:var(--ix-text-dark);white-space:nowrap}
[data-ipp-root] .vd-chip.is-new{border-color:var(--ix-gold);background:var(--ix-gold-glow,#FBF4E3)}
[data-ipp-root] .vd-chip button{width:14px;height:14px;border:0;background:none;color:var(--ix-text-mid);font-size:13px;line-height:1;padding:0;cursor:pointer}
[data-ipp-root] .vd-ph{font:400 12.5px/26px var(--ix-font-body);color:var(--ix-text-light);padding-left:4px}
[data-ipp-root] .vd-dd{position:absolute;left:-1px;right:-1px;top:calc(100% + 4px);background:#fff;border:1px solid var(--ix-border);border-radius:10px;box-shadow:0 12px 32px rgba(30,42,58,.14);z-index:6;padding:6px;display:flex;flex-direction:column;gap:2px}
[data-ipp-root] .vd-dd label{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;height:32px;padding:0 8px;border-radius:6px;font:400 13px var(--ix-font-body);cursor:pointer}
[data-ipp-root] .vd-dd label:hover{background:var(--ix-cream,#FAF9F5)}
[data-ipp-root] .vd-dd label input{width:15px;height:15px;margin:0;accent-color:var(--ix-ok)}
[data-ipp-root] .vd-dd label em{font:400 11.5px var(--ix-font-body);font-style:normal;color:var(--ix-text-light)}
[data-ipp-root] .vd-dd-foot{font:400 11.5px/1.3 var(--ix-font-body);color:var(--ix-text-light);padding:6px 8px 4px;border-top:1px solid var(--ix-border);margin-top:4px}
[data-ipp-root] .vd-cancel{font:500 12px var(--ix-font-body);color:var(--ix-text-mid);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
/* the replacement note after an Unlock (board 7) */
[data-ipp-root] .vd-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid #E9D9A8;background:#FFFBEF;border-radius:10px;padding:10px 14px;margin:12px 0 0;font:400 13px/1.35 var(--ix-font-body);color:var(--ix-text-dark)}
[data-ipp-root] .vd-note b{font-weight:600}
[data-ipp-root] .vd-note .ix-btn{white-space:nowrap}
/* actions and the right column */
[data-ipp-root] .vd-actions{display:flex;align-items:center;gap:14px;margin-top:4px;flex-wrap:wrap}
[data-ipp-root] .vd-actions .ix-btn{box-sizing:border-box;width:160px !important;height:44px !important;min-height:0 !important;padding:0 !important;justify-content:center;text-decoration:none !important;white-space:nowrap}
[data-ipp-root] .vd-actions .cf-fine{flex:1;min-width:200px}
[data-ipp-root] .vd-side{display:flex;flex-direction:column;gap:12px;min-width:0}
[data-ipp-root] .vd-card{border:1px solid var(--ix-border);border-radius:12px;background:#fff;padding:14px 16px}
[data-ipp-root] .vd-card h4{margin:0 0 10px;font:600 11px var(--ix-font-mono,'DM Mono',monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ix-text-mid)}
[data-ipp-root] .vd-kv{display:grid;grid-template-columns:70px minmax(0,1fr);gap:6px 14px;font:400 13px/1.4 var(--ix-font-body)}
[data-ipp-root] .vd-kv span{color:var(--ix-text-mid)}[data-ipp-root] .vd-kv b{font-weight:500;color:var(--ix-text-dark);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .vd-kv b.mono{font:500 12.5px var(--ix-font-mono,'DM Mono',monospace)}
[data-ipp-root] .vd-steps{display:flex;flex-direction:column;gap:2px;margin:0 -8px}
[data-ipp-root] .vd-step{display:grid;grid-template-columns:16px 132px minmax(0,1fr);align-items:center;gap:0 8px;height:30px;padding:0 8px;border-radius:6px;font:400 12.5px var(--ix-font-body);color:var(--ix-text-mid);cursor:pointer;box-sizing:border-box}
[data-ipp-root] .vd-step input{width:15px;height:15px;margin:0;accent-color:var(--ix-ok)}
[data-ipp-root] .vd-step span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .vd-step.is-on span{color:var(--ix-text-dark)}
[data-ipp-root] .vd-step em{font:400 10.5px var(--ix-font-mono,'DM Mono',monospace);font-style:normal;color:var(--ix-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
[data-ipp-root] .vd-step.is-changed{background:var(--ix-gold-glow,#FBF4E3);box-shadow:inset 0 0 0 1px var(--ix-gold)}
[data-ipp-root] .vd-step.is-changed em{color:var(--ix-gold-ink)}
[data-ipp-root] .vd-step.is-dis{cursor:default}
[data-ipp-root] .vd-step.is-dis:not(.is-on) span{color:var(--ix-text-light)}
[data-ipp-root] .vd-foot{display:flex;align-items:center;gap:12px;margin-top:10px}
[data-ipp-root] .vd-foot .ix-btn{box-sizing:border-box;height:32px !important;min-height:0 !important;padding:0 12px !important}
[data-ipp-root] .vd-foot .ix-revert{font:500 12px var(--ix-font-body);color:var(--ix-text-mid);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
[data-ipp-root] .vd-status.is-pending{border-color:var(--ix-gold)}
[data-ipp-root] .vd-status.is-ready{background:#E9F6EF;border-color:var(--ix-ok)}
[data-ipp-root] .vd-status.is-ready h4{color:var(--ix-ok)}
[data-ipp-root] .vd-done{margin:10px 0 0;font:400 12px/1.4 var(--ix-font-body);color:var(--ix-text-dark)}
[data-ipp-root] .vd-cleared{margin:10px 0 0;font:400 12px/1.35 var(--ix-font-body);color:var(--ix-text-mid)}
[data-ipp-root] .vd-form .cf-done{margin-top:4px}
/* five tabs at 1288px: tighter inner spacing so SUBMIT TO VENDOR fits */
[data-ipp-root] .ipp-pub-tab{padding:0 6px 0 10px;gap:5px}
[data-ipp-root] .ipp-pub-tab-n::after{margin-left:5px}
[data-ipp-root] .ipp-pub-tab-end{width:12px}

/* ── v2.3 · sectors as a list of segment chips ────────────── */
[data-ipp-root] .ipp-pub-secs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border:1.5px solid var(--ix-border-input);border-radius:var(--ix-radius-sm,8px);background:#fff;min-height:38px}
[data-ipp-root] .ipp-pub-secs.is-changed{border:2px solid var(--ix-gold);background:var(--ix-gold-glow,rgba(196,163,90,.12));padding:5.5px}
[data-ipp-root] .ipp-pub-sec{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 4px 0 10px;border-radius:14px;background:var(--ix-cream);border:1px solid var(--ix-border-input);font:500 12.5px var(--ix-font-body);color:var(--ix-text-dark);white-space:nowrap}
[data-ipp-root] .ipp-pub-sec-x{width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--ix-text-mid);font:600 15px/1 var(--ix-font-body);cursor:pointer}
[data-ipp-root] .ipp-pub-sec-x:hover{background:#fff;color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-pub-sec-add{display:inline-flex;align-items:center;gap:6px;flex:1 1 220px;min-width:200px}
[data-ipp-root] .ipp-pub-sec-add input.ix-picker-input{min-height:28px!important;height:28px!important;padding:0 8px!important;border:1px dashed var(--ix-border-input)!important;background:transparent!important}

/* ── v2.13 · the Compile page (ipp-publish-v2.31.js) ─────────────
   One column. A sticky header holds the status; each section is a
   band with a spine in its own colour. Tiles: equal widths, 2/3/4
   across by the board's own width, fixed 124px tall; only failing
   checks are tiles, passing ones fold to one line. Group colours are
   fixed per content type (page palette, not data). Salmon = waiting
   on you. Never sized by content. */
[data-ipp-root] .ipp-pub-card.ipp-cx-pane{max-width:none;container:ipp-cx-pane/inline-size}
[data-ipp-root] .ipp-cx-board{display:flex;flex-direction:column;gap:10px;min-width:0}
[data-ipp-root] .ipp-cx-board[hidden],[data-ipp-root] .ipp-cx-confirm[hidden],[data-ipp-root] .ipp-pub-back[hidden]{display:none}
[data-ipp-root] .ipp-cx-wait{margin:0;font:400 14px var(--ix-font-body);color:var(--ix-text-light)}

/* section colours (per kind) */
[data-ipp-root] .ipp-cx-g--article{--c:#3A5A7A}
[data-ipp-root] .ipp-cx-g--ad{--c:#B08A3E}
[data-ipp-root] .ipp-cx-g--event{--c:#5B7F5E}
[data-ipp-root] .ipp-cx-g--re{--c:#8A5A6E}
[data-ipp-root] .ipp-cx-g--text-ad{--c:#6B6B9A}
[data-ipp-root] .ipp-cx-g--greeting{--c:#7A6A55}
[data-ipp-root] .ipp-cx-g--other{--c:#7D8590}
[data-ipp-root] .ipp-cx-g--revenue{--c:#8C6A2A}
/* v2.18 hold = unsaved, gold */
[data-ipp-root] .ipp-cx-g--edits{--c:var(--ix-gold)}
[data-ipp-root] .ipp-cx-g--delivery{--c:#9AA3AD}

/* ── v2.19 · the sticky header, three fixed rows (S6 canvas "IPP Compile header · four states") ── */
[data-ipp-root] .ipp-cx-head{position:relative;margin:0 -24px 14px;background:#fff;border-top:1px solid var(--ix-border);border-bottom:1px solid var(--ix-border);--k:var(--ix-ok);--g:#fff}   /* v2.20: edge to edge, solid, not sticky */
[data-ipp-root] .ipp-cx-head.is-current{--g:#EEF6F2}
[data-ipp-root] .ipp-cx-head.is-stale{--k:var(--ix-gold-ink);--g:#FBF4E3}
[data-ipp-root] .ipp-cx-head.is-released{--g:var(--ix-ok);border-top-color:var(--ix-ok)}
/* row 1 · status · 92px */
[data-ipp-root] .ipp-cx-status{display:grid;grid-template-columns:14px minmax(0,1fr) 200px;align-items:center;gap:0 16px;height:92px;padding:0 24px;box-sizing:border-box;background:var(--g)}
[data-ipp-root] .ipp-cx-head.is-released .ipp-cx-status{grid-template-columns:52px minmax(0,1fr) 200px}
[data-ipp-root] .ipp-cx-sdot{width:14px;height:14px;border-radius:50%;background:var(--k)}
[data-ipp-root] .ipp-cx-sdot.is-bad{background:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-cx-sdot.is-hold{background:var(--ix-gold-ink)}
[data-ipp-root] .ipp-cx-sdot.is-wait{background:var(--ix-text-light)}
[data-ipp-root] .ipp-cx-biglock-box{display:block;width:52px;height:52px;color:#fff}
[data-ipp-root] .ipp-cx-biglock{width:52px;height:52px;display:block}
[data-ipp-root] .ipp-cx-txt{min-width:0}
[data-ipp-root] .ipp-cx-h{margin:0;font:700 21px/1.15 var(--ix-font-body);color:var(--ix-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-cx-h.is-bad{color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-cx-h.is-hold{color:var(--ix-gold-ink)}
[data-ipp-root] .ipp-cx-sub{margin:5px 0 0;font:400 13px/1.3 var(--ix-font-body);color:var(--ix-text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-cx-again{margin:0;padding:0;border:0;background:none;font:500 13px var(--ix-font-body);color:var(--ix-blue);text-decoration:underline;cursor:pointer}
[data-ipp-root] .ipp-cx-again:hover{color:var(--ix-text-dark)}
[data-ipp-root] .ipp-cx-head.is-released .ipp-cx-h{color:#fff}
[data-ipp-root] .ipp-cx-head.is-released .ipp-cx-sub{color:#CFEAD9}
[data-ipp-root] .ipp-cx-act{display:flex;align-items:center;justify-content:flex-end;height:44px}   /* v2.20: one height in every state */
[data-ipp-root] .ipp-cx-act .ipp-cx-go,[data-ipp-root] .ipp-cx-act .ipp-cx-go.ix-btn{box-sizing:border-box;width:200px !important;height:44px !important;min-height:0 !important;padding:0 !important;justify-content:center;border-radius:9px !important;font:600 14px var(--ix-font-body) !important;white-space:nowrap}
[data-ipp-root] .ipp-cx-act .ipp-cx-go.is-bad:disabled{background:var(--ix-salmon-ink) !important;border-color:var(--ix-salmon-ink) !important;color:#fff !important;opacity:1 !important}
[data-ipp-root] .ipp-cx-act .ipp-cx-go.is-hold:disabled{background:var(--ix-gold-ink) !important;border-color:var(--ix-gold-ink) !important;color:#fff !important;opacity:1 !important}
[data-ipp-root] .ipp-cx-demote{display:inline-block;height:16px;margin:0;padding:0;border:0;background:none;font:500 12px/16px var(--ix-font-body);color:var(--ix-text-mid);text-decoration:underline;cursor:pointer;white-space:nowrap}
[data-ipp-root] .ipp-cx-demote:disabled{cursor:default;opacity:.55}
[data-ipp-root] .ipp-cx-demote.is-none{visibility:hidden}
[data-ipp-root] .ipp-cx-demote.is-text{text-decoration:none;cursor:default}
[data-ipp-root] .ipp-cx-head.is-released .ipp-cx-demote{color:#CFEAD9}
[data-ipp-root] .ipp-cx-head.is-released .ipp-cx-demote:hover{color:#fff}
/* row 2 · sections · 56px, fixed 160px cells, never wrapping */
[data-ipp-root] .ipp-cx-secs{display:flex;align-items:center;gap:8px;height:56px;padding:0 24px;box-sizing:border-box;border-top:1px solid var(--ix-border);background:#fff;overflow:hidden;min-width:0}
[data-ipp-root] .ipp-cx-secs::-webkit-scrollbar{display:none}
[data-ipp-root] .ipp-cx-cell{flex:1 1 0;min-width:0;max-width:160px;box-sizing:border-box;display:grid;grid-template-columns:8px minmax(0,1fr) auto 14px;align-items:center;gap:0 8px;height:36px;padding:0 10px 0 12px;border-radius:8px;border:1px solid var(--ix-border);background:#fff;font:600 12.5px var(--ix-font-body);color:var(--ix-text-dark);cursor:pointer;text-align:left}
[data-ipp-root] .ipp-cx-cell:hover{border-color:var(--c)}
[data-ipp-root] .ipp-cx-cell i{width:8px;height:8px;border-radius:50%;background:var(--c)}
[data-ipp-root] .ipp-cx-cell span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-cx-cell em{font:500 11px var(--ix-font-mono,'DM Mono',monospace);font-style:normal;color:var(--ix-text-mid)}
[data-ipp-root] .ipp-cx-cell b{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font:700 12px/1 var(--ix-font-body);color:var(--ix-ok)}
[data-ipp-root] .ipp-cx-cell b svg{width:14px;height:14px}
[data-ipp-root] .ipp-cx-cell.is-bad{background:#FDEEEA;border-color:var(--ix-salmon)}
[data-ipp-root] .ipp-cx-cell.is-bad span,[data-ipp-root] .ipp-cx-cell.is-bad em,[data-ipp-root] .ipp-cx-cell.is-bad b{color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-cx-cell.is-hold{background:var(--ix-gold-glow,#FBF4E3);border-color:var(--ix-gold)}
[data-ipp-root] .ipp-cx-cell.is-hold span,[data-ipp-root] .ipp-cx-cell.is-hold em,[data-ipp-root] .ipp-cx-cell.is-hold b{color:var(--ix-gold-ink)}
[data-ipp-root] .ipp-cx-cell.is-locked b{color:var(--ix-text-light)}
[data-ipp-root] .ipp-cx-cell.is-open{outline:2px solid var(--ix-text-dark);outline-offset:-2px;background:#F5F3EC}
/* row 3 · stamp · 56px */
[data-ipp-root] .ipp-cx-stamp{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 20px;height:56px;padding:0 24px;box-sizing:border-box;border-top:1px solid var(--ix-border);background:var(--ix-cream-warm,#FDFCF8)}
[data-ipp-root] .ipp-cx-stl{min-width:0;font:400 13px var(--ix-font-body);color:var(--ix-text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-cx-stl b{color:var(--ix-text-dark);font-weight:600}
[data-ipp-root] .ipp-cx-stl b.is-k{color:var(--k)}
[data-ipp-root] .ipp-cx-str{display:flex;align-items:center;gap:8px;white-space:nowrap}
[data-ipp-root] .ipp-cx-fact{font:500 12.5px var(--ix-font-mono,'DM Mono',monospace);color:var(--ix-text-dark);margin-right:6px}
[data-ipp-root] .ipp-cx-fact.is-dim{color:var(--ix-text-light)}
[data-ipp-root] .ipp-cx-fact .is-bad{color:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-cx-sm,[data-ipp-root] a.ipp-cx-sm{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:96px;height:32px;padding:0;border-radius:7px;border:1px solid var(--ix-teal);background:#fff;color:var(--ix-teal);font:600 12px var(--ix-font-body);text-decoration:none;cursor:pointer;white-space:nowrap}
[data-ipp-root] .ipp-cx-sm:hover,[data-ipp-root] a.ipp-cx-sm:hover{background:var(--ix-teal-ghost)}
[data-ipp-root] .ipp-cx-sm.is-dim,[data-ipp-root] a.ipp-cx-sm.is-dim{border-color:#C9C3B4;color:var(--ix-text-mid)}
[data-ipp-root] span.ipp-cx-sm[aria-disabled]{border-color:#C9C3B4;color:var(--ix-text-light);cursor:default}
/* the Unlock confirmation (ruling 9) */
.ipp-cx-unlock.ix-modal{max-width:460px !important}
.ipp-cx-unlock .ipp-cx-unlock-p{margin:8px 0 0;font:400 14px/1.5 var(--ix-font-body);color:var(--ix-text-mid)}
.ipp-cx-unlock .ipp-cx-unlock-f{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.ipp-cx-unlock .ipp-cx-unlock-l{margin:8px 0 0;padding-left:18px;font:400 13px/1.5 var(--ix-font-body);color:var(--ix-text-mid)}
.ipp-cx-unlock .mono{font:500 12.5px var(--ix-font-mono,'DM Mono',monospace);color:var(--ix-text-dark)}
.ipp-cx-unlock.is-void .ix-modal-bar{background:var(--ix-danger)}
.ipp-cx-unlock.is-sent .ix-modal-bar{background:var(--ix-gold)}
[data-ipp-root] .ipp-cx-pane .ipp-pub-result{margin:0 0 16px}

/* ── v2.5 · Correct buttons and window (compile-correct-mockup v0.2) ── */
[data-ipp-root] .ipp-cx-fix.is-cor{background:var(--ix-salmon-ink);color:#fff}
[data-ipp-root] .ipp-cx-fix.is-cor:hover{background:#A33822;border-color:#A33822}
.ipp-cor-ov{align-items:flex-start !important;padding-top:9vh !important}
.ipp-cor.ix-modal{max-width:560px !important}
.ipp-cor.ix-modal.is-drawn{animation:none !important}   /* redraws keep the window still; only the first opening animates */
.ipp-cor .ipp-cor-k{margin:0 0 4px;font:600 11px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-salmon-ink,#C0432B)}
.ipp-cor .ix-modal-title{font-size:18px !important}
.ipp-cor .ipp-cor-p{margin:6px 0 0;font:400 13px/1.45 var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-mid,#5A6478)}
.ipp-cor .ipp-cor-b{display:flex;flex-direction:column;gap:12px;max-height:58vh}
.ipp-cor .ipp-cor-blk{border:1px solid var(--ix-border,#E4E0D4);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:#fff}
.ipp-cor .ipp-cor-blk.is-field{border:0;padding:0}
.ipp-cor .ipp-cor-blk.is-dirty:not(.is-field){border:2px solid var(--ix-gold,#C4A35A);background:rgba(196,163,90,.08);padding:9px 11px}
.ipp-cor .ipp-cor-bh{display:flex;align-items:center;gap:10px;min-width:0}
.ipp-cor .ipp-cor-bh b{font:600 13.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ipp-cor .ipp-cor-bh span{flex:1;min-width:0;font:400 12px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-mid,#5A6478);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipp-cor .ipp-cor-bh span.is-over{color:var(--ix-salmon-ink,#C0432B)}
.ipp-cor .ipp-cor-undo{display:none;flex:0 0 auto}
.ipp-cor .is-dirty .ipp-cor-undo{display:inline-block}
.ipp-cor .ipp-cor-req{font:600 10.5px var(--ix-font-body,'DM Sans',sans-serif);font-style:normal;color:#fff;background:var(--ix-salmon-ink,#C0432B);border-radius:8px;padding:1px 7px;margin-left:6px;vertical-align:1px}
.ipp-cor .ipp-cor-in{width:100%;box-sizing:border-box}
.ipp-cor textarea.ipp-cor-in{resize:vertical;min-height:52px}
.ipp-cor .ipp-pub-when{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.ipp-cor .ipp-cor-lbl{font:600 12px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A);margin:2px 0 -2px}
.ipp-cor .ipp-cor-why{margin:0;font:400 12.5px/1.45 var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-mid,#5A6478)}
.ipp-cor .ipp-cor-fail{margin:0;font:500 12.5px/1.45 var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-salmon-ink,#C0432B)}
/* design choices: three fixed tiles a row */
.ipp-cor .ipp-cor-dz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ipp-cor .ipp-cor-dzb{box-sizing:border-box;height:58px;padding:6px 8px;border:1.5px solid var(--ix-border,#DDD9C8);border-radius:9px;background:var(--ix-cream,#FAF9F5);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}
.ipp-cor .ipp-cor-dzb span{max-width:100%;font:600 12.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipp-cor .ipp-cor-dzb small{font:400 10.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-light,#6B7280)}
.ipp-cor .ipp-cor-dzb.is-sel{border:2px solid var(--ix-gold,#C4A35A);background:rgba(196,163,90,.12)}
/* MEDIA pictures: four fixed tiles a row */
.ipp-cor .ipp-cor-media{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:212px;overflow-y:auto;padding:2px}
.ipp-cor .ipp-cor-mb{box-sizing:border-box;aspect-ratio:4/3;padding:0;border:1.5px solid var(--ix-border,#DDD9C8);border-radius:8px;overflow:hidden;cursor:pointer;background:var(--ix-cream,#FAF9F5)}
.ipp-cor .ipp-cor-mb img{display:block;width:100%;height:100%;object-fit:cover}
.ipp-cor .ipp-cor-mb.is-sel{border:3px solid var(--ix-gold,#C4A35A)}
.ipp-cor .ipp-cor-up{position:relative;flex:0 0 auto;box-sizing:border-box;width:92px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ix-border,#DDD9C8);border-radius:7px;background:#fff;font:600 12px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A);cursor:pointer;overflow:hidden;white-space:nowrap}
.ipp-cor .ipp-cor-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ipp-cor .ipp-cor-up.is-busy{opacity:.6;cursor:progress}
/* links */
.ipp-cor .ipp-cor-lk{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--ix-salmon,#EC7259);background:#FDEEEA;border-radius:9px;min-width:0}
.ipp-cor .ipp-cor-lk span{flex:1;min-width:0;font:500 12.5px var(--ix-font-mono,'DM Mono',monospace);color:var(--ix-salmon-ink,#C0432B);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipp-cor .ipp-cor-open{flex:0 0 auto;box-sizing:border-box;width:92px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ix-salmon-ink,#C0432B);border-radius:7px;background:#fff;color:var(--ix-salmon-ink,#C0432B);font:600 12px var(--ix-font-body,'DM Sans',sans-serif);text-decoration:none}
.ipp-cor .ipp-cor-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--ix-border,#E4E0D4);border-radius:9px}
.ipp-cor .ipp-cor-row.is-dirty{border:2px solid var(--ix-gold,#C4A35A);background:rgba(196,163,90,.08);padding:7px 9px}
.ipp-cor .ipp-cor-row b{display:block;font:600 13px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A)}
.ipp-cor .ipp-cor-row span{display:block;font:400 12px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-mid,#5A6478);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipp-cor .ipp-cor-tog{box-sizing:border-box;width:112px;height:30px;border-radius:8px;border:1px solid var(--ix-border,#DDD9C8);background:#fff;font:600 12.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipp-cor .ipp-cor-tog.is-on{background:var(--ix-ok,#1F7A5C);border-color:var(--ix-ok,#1F7A5C);color:#fff}
/* cloned ads: the banner at its real shape, full width */
.ipp-cor .ipp-cor-ad{border:1px solid var(--ix-border,#E4E0D4);border-radius:10px;overflow:hidden;background:#fff}
.ipp-cor .ipp-cor-ad.is-dirty{border:2px solid var(--ix-gold,#C4A35A);background:rgba(196,163,90,.08)}
.ipp-cor .ipp-cor-adimg{display:block;width:100%;aspect-ratio:700/235;object-fit:cover;background:var(--ix-cream,#FAF9F5)}
.ipp-cor .ipp-cor-adimg.is-none{display:grid;place-items:center;font:500 12.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-mid,#5A6478)}
.ipp-cor .ipp-cor-adm{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;padding:10px 12px}
.ipp-cor .ipp-cor-adm b{display:block;font:600 13.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-dark,#1E2A3A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ipp-cor .ipp-cor-adm span{display:block;font:400 12px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-text-mid,#5A6478)}
.ipp-cor .ipp-cor-ad .ipp-cor-fail{padding:0 12px 10px}
/* footer */
.ipp-cor .ipp-cor-note{font:500 12.5px var(--ix-font-body,'DM Sans',sans-serif);color:var(--ix-gold-ink,#8A6E2E);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ipp-cor .ipp-cor-save{width:120px !important;justify-content:center}
.ipp-cor button:focus-visible,.ipp-cor input:focus-visible,.ipp-cor textarea:focus-visible,.ipp-cor select:focus-visible,.ipp-cor a:focus-visible{outline:2px solid var(--ix-blue,#5B7FFF);outline-offset:2px}
@media (max-width:560px){.ipp-cor .ipp-cor-dz{grid-template-columns:repeat(2,minmax(0,1fr))}.ipp-cor .ipp-cor-media{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* ── v2.20 · the board: a list of what needs a hand; one section's checks on demand (S8 canvas boards 1 and 2) ── */
[data-ipp-root] .ipp-cx-bh2{display:flex;align-items:baseline;gap:12px;height:24px;min-width:0}
[data-ipp-root] .ipp-cx-bh2 i{align-self:center;width:10px;height:10px;border-radius:3px;background:var(--c,var(--ix-text-mid));flex:none}
[data-ipp-root] .ipp-cx-bh2 h3{margin:0;font:700 14px var(--ix-font-body);color:var(--ix-text-dark);white-space:nowrap}
[data-ipp-root] .ipp-cx-bh2 span{font:400 12.5px var(--ix-font-body);color:var(--ix-text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
[data-ipp-root] .ipp-cx-list{display:flex;flex-direction:column;gap:8px;min-width:0}
[data-ipp-root] .ipp-cx-row2{display:grid;grid-template-columns:8px minmax(0,1fr) 48px 112px;align-items:center;gap:0 14px;height:52px;padding:0 14px;border:1px solid var(--ix-border);border-radius:10px;background:#fff;min-width:0;box-sizing:border-box}
[data-ipp-root] .ipp-cx-row2 > i{width:8px;height:8px;border-radius:50%;background:var(--ix-ok)}
[data-ipp-root] .ipp-cx-row2.is-bad{border-color:#F2C4BE;background:#FFF7F6}[data-ipp-root] .ipp-cx-row2.is-bad > i{background:var(--ix-salmon-ink)}
[data-ipp-root] .ipp-cx-row2.is-hold{border-color:#E9D9A8;background:#FFFBEF}[data-ipp-root] .ipp-cx-row2.is-hold > i{background:var(--ix-gold-ink)}
[data-ipp-root] .ipp-cx-row2.is-wait > i{background:var(--ix-text-light)}
[data-ipp-root] .ipp-cx-row2.is-sold > i{background:var(--c,#8C6A2A)}
[data-ipp-root] .ipp-cx-r2t{min-width:0}
[data-ipp-root] .ipp-cx-r2t b{display:block;font:600 13px/1.2 var(--ix-font-body);color:var(--ix-text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-cx-r2t > span{display:block;font:400 12px/1.3 var(--ix-font-body);color:var(--ix-text-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
[data-ipp-root] .ipp-cx-sec{font:600 10.5px var(--ix-font-mono,'DM Mono',monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--c,var(--ix-text-mid));margin-right:8px}
[data-ipp-root] .ipp-cx-thumb2{width:48px;height:25px;border-radius:4px;object-fit:cover;background:var(--ix-cream-deep)}
[data-ipp-root] .ipp-cx-thumb2.is-none{background:transparent}
[data-ipp-root] .ipp-cx-row2 .ipp-cx-fix{position:static;box-sizing:border-box;width:112px;height:30px;padding:0 10px;border-radius:7px;border:1px solid var(--ix-salmon-ink);background:#fff;color:var(--ix-salmon-ink);font:600 12px var(--ix-font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
[data-ipp-root] .ipp-cx-row2 .ipp-cx-fix:hover{background:var(--ix-salmon-ink);color:#fff}
[data-ipp-root] .ipp-cx-row2 .ipp-cx-fix.is-cor{background:var(--ix-salmon-ink);color:#fff}
[data-ipp-root] .ipp-cx-row2 .ipp-cx-fix.is-cor:hover{background:#A33822;border-color:#A33822}
[data-ipp-root] .ipp-cx-row2.is-hold .ipp-cx-fix{border-color:var(--ix-gold-ink);color:var(--ix-gold-ink)}
[data-ipp-root] .ipp-cx-row2.is-hold .ipp-cx-fix:hover{background:var(--ix-gold-ink);color:#fff}
[data-ipp-root] .ipp-cx-fix.is-none{display:block;width:112px;height:30px;visibility:hidden}
[data-ipp-root] .ipp-cx-clean{display:flex;align-items:center;justify-content:center;min-height:120px;border:1px dashed var(--ix-border);border-radius:12px;padding:20px;text-align:center;font:400 13.5px/1.5 var(--ix-font-body);color:var(--ix-text-mid)}
[data-ipp-root] .ipp-cx-clean b{color:var(--ix-text-dark);font-weight:600}
/* Delivery's detail: the send facts and the tracking codes */
[data-ipp-root] .ipp-cx-facts{border:1px solid var(--ix-border);border-radius:12px;background:#fff;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
[data-ipp-root] .ipp-cx-kv{display:grid;grid-template-columns:150px minmax(0,1fr);gap:0 14px;font:400 13px/1.4 var(--ix-font-body);align-items:start}
[data-ipp-root] .ipp-cx-kv > span{color:var(--ix-text-mid)}[data-ipp-root] .ipp-cx-kv > b{font-weight:500;color:var(--ix-text-dark);min-width:0}
[data-ipp-root] .ipp-cx-kv .mono{font:500 12.5px var(--ix-font-mono,'DM Mono',monospace)}
[data-ipp-root] .ipp-cx-kv-dim{color:var(--ix-text-light);font-weight:400}
[data-ipp-root] .ipp-cx-kv .ipp-pub-utm{margin:0}
[data-ipp-root] .ipp-cx-kv .ipp-pub-utm summary{font:500 13px var(--ix-font-body);color:var(--ix-blue);text-decoration:underline;cursor:pointer}
[data-ipp-root] .ipp-cx-kv .ipp-pub-utm-wrap{max-height:220px;overflow:auto}
[data-ipp-root] .ipp-cx-again:disabled{opacity:.5;cursor:default}

/* ── v2.20 · the page itself: no card chrome around the three working panes; a tighter title block ── */
[data-ipp-root] .ipp-pub-card.ipp-cx-pane,[data-ipp-root] .ipp-pub-card.ipp-pub-pane[data-pane="vendor"],[data-ipp-root] .ipp-pub-card.ipp-pub-pane[data-pane="status"]{padding:0;border:0;box-shadow:none;background:transparent;border-radius:0}
[data-ipp-root] .ipp-cx-pane .ipp-pub-result{margin:0 0 12px}
[data-ipp-root] .ipp-cx-head{margin:0 -28px 14px}
[data-ipp-root] .ipp-pub-head{margin:0 0 12px}
[data-ipp-root] .ipp-pub-kicker{margin:0 0 2px}
[data-ipp-root] .ipp-pub-title{font-size:24px}
[data-ipp-root] .ipp-pub-tabs[data-publish-tabs="distribution"]{margin:0 0 10px;padding:0 0 10px}
[data-ipp-root] .ipp-pub-tabs[data-publish-tabs="distribution"] .ipp-pub-tab{height:36px !important;min-height:0 !important}
[data-ipp-root] .ipp-pub-pane[data-pane="vendor"] .ipp-pub-sub{margin:0}
[data-ipp-root] .vd-pickwrap{flex-direction:row;align-items:center;gap:10px}
[data-ipp-root] .ipp-pub-head{display:flex;align-items:center;gap:12px;max-width:none}
[data-ipp-root] .ipp-pub-kicker{order:2;margin:0 0 0 2px}
[data-ipp-root] .ipp-pub-titlerow{flex-wrap:nowrap}
[data-ipp-root] .cf-box{padding:10px 14px}
[data-ipp-root] .cf-row{grid-template-columns:88px 1fr;padding:3px 0;font-size:12.5px}
[data-ipp-root] .cf-row span{white-space:nowrap}
[data-ipp-root] .cf-k-row .ix-revert,[data-ipp-root] .cf-link{white-space:nowrap}
[data-ipp-root] .cf-k{margin:0 0 6px}
[data-ipp-root] .ipp-pub-back{margin:0 0 2px}
[data-ipp-root] .vd-body.is-short{height:118px}
[data-ipp-root] .ipp-cx-facts{padding:12px 16px;gap:5px}
[data-ipp-root] .cf-lead{margin:0 0 8px}
[data-ipp-root] .cf-goes{margin:0 0 10px}
[data-ipp-root] .cf-grid--4{margin:0 0 10px}

[data-ipp-root] .vd-pickwrap .vd-pick{flex:1;width:auto}
