/* ipp-shell-v1.14.css */
/* ============================================================
   ipp-shell-v1.14.css — Standalone IPP shell styles
   CHANGELOG
     v1.14 (IPP Build S17, 15 Oct 2026) — "Close without saving" is red
       (--ix-danger), so the crown's second click reads as the one that
       throws edits away. One rule changed; pairs ipp-shell-v1.16.js.
     v1.13 (IPP Build S16 · Catalog S2, 13 Oct 2026) — PICKER › EDITORIAL, REVENUE
       Pairs ipp-shell-v1.16.js. One block appended at the end; nothing
       above it changed. Jeff's menu ruling (option A, with his sizes):
       - .ipp-sw-group "Picker" is a heading row, the same 42px as the
         other rows, white, not a button.
       - button.ipp-sw-sub (Editorial, Revenue): 13px, 2px smaller than
         the 15px rows; 36px tall; indented 30px with a thin tree line;
         2px under the heading and between the two (the rows elsewhere
         keep the 4px gap, so the gap before Layout is unchanged).
       - Ink (.ipp-sheet) and teal (.ipp-b) colours both covered.
     v1.12 (Controls parity, 12 Oct 2026) — EASE IN
       Jeff, on v1.11 live: the mockup is gone, but the IPP appearing over
       the title page is abrupt. The sheet and its gold ground now fade in
       over 150ms once the shell has framed them. Off for anyone whose
       system asks for reduced motion. CSS only; pairs ipp-shell-v1.15.js
       unchanged.
     v1.11 (Controls parity, 12 Oct 2026) — NO MOCKUP FLASH ON LOAD
       Jeff: on reload the old placeholder IPP (WLN-114 and other typed
       mockup text in the Designer markup) shows for an instant. Cause:
       the browser paints the page's own markup before ipp-shell's script
       arrives and replaces it (v1.5 already overwrites that text, but
       only once it runs). Fix: the IPP root stays invisible until the
       shell has framed it (it adds .ipp-b in frameB, before anything is
       shown). If the shell never loads, the IPP stays hidden rather than
       showing fake content. Legacy mode is unchanged (the shell hides
       the root itself). CSS only; pairs ipp-shell-v1.15.js unchanged.
     v1.10 (IPP Build S8, 11 Oct 2026) — full ids on the rail
       The Newsletter and Plan ids were cut off with an ellipsis (the
       label column left the id ~160px; a 24-character id at 12px needs
       ~173px). Each id now sits on its own line under its label, at
       11px, full width of the rail, never truncated. One click still
       selects the whole id (user-select:all) for copying. CSS only;
       pairs ipp-shell-v1.15.js unchanged.
     v1.9 (IPP Build S7, 10 Oct 2026) — the plan's ids on the rail
       .ipp-b-ids under the plan name: labels and ids in DM Mono on the
       ink rail (#9AA5B8 labels 5.8:1, #C3CAD6 ids 8.8:1). Pairs
       ipp-shell-v1.14.js.
     v1.8 (IPP Build S7, 10 Oct 2026) — GOLD GROUND
       Ruled (Jeff, option 2 of ipp-ground-options-v0_1): the ground
       around the sheet is solid --ix-gold, so the IPP reads as a special
       page. Was flat --ix-cream-deep. Sheet, crown and ink rail unchanged.
       Gold is also the "edited, waiting for Save" colour; those are thin
       borders on white tiles inside the sheet, far from the frame, so
       the two do not compete. Pairs ipp-shell-v1.13.js.
     v1.7 (from v1.6, IPP Build S7 · surface A3 on flat grey). Pairs
       ipp-shell-v1.12.js. Everything new is in the v1.7 block at the end,
       scoped to [data-ipp-root].ipp-sheet, which the JS sets.
       - Ground: flat --ix-cream-deep behind the sheet; nothing of the
         page beneath shows through.
       - Sheet: inset 22px top/bottom, 56px left/right (12px under
         1100px wide), 14px corners, one soft shadow and a hairline edge.
       - Crown: 46px, --ix-cream, hairline under it. "PubPlan" in DM Mono
         capitals --ix-text-mid (5.65:1); title · plan · date in DM Sans
         600 --ix-text-dark (13.8:1); Close plan an ink pill, white text
         (14.5:1). The unsaved-edits question replaces the right-hand
         tools in place.
       - Rail: ink #1E2A3A (--ix-text-dark). Text #C3CAD6 (8.8:1), open
         tab #2A3A52 with a 3px white spine (11.5:1). Logo strip and
         Close strip gone; no old top bar row.
     v1.6 (from v1.5, IPP Build S6 · layout B "Anchor"). Pairs
       ipp-shell-v1.11.js. Everything new is in the v1.6 block at the
       end, scoped to [data-ipp-root].ipp-b, which the JS sets.
       - Page: --ix-cream-deep, no colour washes.
       - Left rail: --ix-rail (#1A3A3A), full height, 290px. Logo strip
         at the top (the logo drawn white), Close Plan strip at the
         bottom. Title line in DM Mono capitals --ix-rail-text (6.8:1),
         plan name in Fraunces white (12.3:1), date --ix-rail-text.
       - Tabs: a vertical list, 42px rows (UX-030). The open tab sits on
         --ix-rail-lift with a 3px --ix-gold-bright spine, as on the T-A
         rail.
       - Top bar: 64px, over the working area only, --ix-cream. Title
         name left, Planner switch right. No badge.
       - Readiness and Send cards hidden; an empty right rail takes no
         space (browsers without :has show an empty strip, nothing worse).
       - Save bar starts at the rail's edge.
     v1.5 (from v1.4, IA54): the view switcher holds four buttons
       (Picker, Layout, Publish, Revenue). Pairs ipp-shell-v1.9.js.
       Nothing else changed.
     v1.4 (from v1.3, IPP Build S2):
       - FIX: the white box over the top right of the header (reported
         for months). The header's right-hand group carried the class
         "right", a plain word the site's own Webflow stylesheet also
         styles, so a site rule painted that group white and oversized.
         Probe on WLN-998: the topmost element at the box was
         div.ipp-hside.right itself.
         The group now uses .ipp-hside--right (prefixed, so nothing
         outside the IPP can match it). The page embed changes one
         class: class="ipp-hside right" -> class="ipp-hside ipp-hside--right".
         The old .ipp-hside.right rule stays until the embed is changed
         everywhere, so the button never jumps left in between.
       - Rule kept from this: no IPP markup uses an unprefixed class.
     v1.1 (from v1.0):
       - FIX: thin white bleed at top-right of the workspace.
         Hardened .ipp-fullscreen to width/height:100vw/vh + overflow
         hidden, and .ipp-hchrome to width:100% + box-sizing:border-box
         so the header band fills the viewport edge-to-edge after the
         shell reparents to <body>.
     v1.0: initial shell styles — 3-col grid (rail/canvas/right-rail),
       Treatment A header, fullscreen overlay, savebar, toast, tokens.
   ============================================================ */
[data-ipp-root]{
  /* v33 tokens, scoped to the IPP root so they can't leak into
     or collide with the live tile UI's globals. */
  --ipp-blue:#5b7fff; --ipp-blue-deep:#4060dd; --ipp-blue-light:#8ba3ff;
  --ipp-blue-ghost:rgba(91,127,255,.06); --ipp-blue-glow:rgba(91,127,255,.12); --ipp-blue-shadow:rgba(91,127,255,.20);
  --ipp-gold:#C4A35A; --ipp-gold-warm:#e8c172; --ipp-gold-deep:#9D8341; --ipp-gold-glow:rgba(196,163,90,.12); --ipp-gold-shadow:rgba(196,163,90,.20);
  --ipp-cream:#FAF9F5; --ipp-cream-warm:#f5f0e4; --ipp-cream-deep:#ebe5d4;
  --ipp-text-dark:#1e2a3a; --ipp-text-mid:#4a5568; --ipp-text-light:#8a8e9a;
  --ipp-border:#e7e3d6; --ipp-border-input:#ddd9c8;
  --ipp-ok:#2e8b57; --ipp-warn:#c47a1c; --ipp-err:#c1452f;
  --ipp-r:14px; --ipp-rs:10px;
  --ipp-shadow-card:0 1px 2px rgba(30,42,58,.04), 0 8px 28px -14px rgba(30,42,58,.22);
  --ipp-shadow-pop:0 18px 48px -14px rgba(30,42,58,.32);
  --ipp-font-display:'Fraunces',Georgia,serif;
  --ipp-font-body:'DM Sans',system-ui,-apple-system,sans-serif;

  display:block; font-family:var(--ipp-font-body); color:var(--ipp-text-dark);
  font-size:14px; position:relative;
}
[data-ipp-root] *{box-sizing:border-box}

/* ── fixed-height workspace: header band + view band + savebar band ── */
[data-ipp-root].ipp-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;z-index:9000;background:var(--ipp-cream);overflow:hidden;
  background-image:radial-gradient(900px 520px at 88% -8%,rgba(91,127,255,.10),transparent 60%),
    radial-gradient(720px 480px at -6% 108%,rgba(196,163,90,.12),transparent 60%);overflow:hidden}

/* ── header (Treatment A) ── */
.ipp-hchrome{position:absolute;top:0;left:0;right:0;width:100%;height:96px;z-index:10;box-sizing:border-box;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--ipp-border)}
.ipp-hrow{display:flex;align-items:center;height:96px;padding:0 24px;gap:14px}
.ipp-hside{flex:1 1 0;display:flex;align-items:center;gap:10px;min-width:0}
.ipp-hside.right{justify-content:flex-end}   /* until the embed uses .ipp-hside--right */
.ipp-hside.ipp-hside--right{justify-content:flex-end}
.ipp-hcenter{flex:0 0 auto}
.ipp-logo{height:26px;width:auto;display:block}
.ipp-title-static{display:inline-flex;align-items:center;gap:14px;padding:18px;line-height:1}
.ipp-title-badge{width:46px;height:46px;border-radius:50%;background:var(--ipp-cream-warm);
  border:1.5px solid var(--ipp-border);display:grid;place-items:center;
  font:600 22px var(--ipp-font-display);color:var(--ipp-text-dark);flex:none}
.ipp-title-name{font:600 30px var(--ipp-font-display);letter-spacing:-.012em;color:var(--ipp-text-dark);line-height:1}
.ipp-cpr{font-family:var(--ipp-font-body);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:9px;
  transition:.16s;line-height:1;border-radius:var(--ipp-rs);white-space:nowrap;background:var(--ipp-cream);
  border:1.5px solid var(--ipp-blue);color:var(--ipp-blue-deep);font-size:13.5px;padding:11px 18px}
.ipp-cpr svg{flex:none}
.ipp-cpr:hover{background:#fff;border-color:var(--ipp-blue-deep);box-shadow:0 4px 14px -6px var(--ipp-blue-shadow);transform:translateY(-1px)}

/* ── views ── */
.ipp-view{position:absolute;inset:96px 0 56px 0;display:none;z-index:1}
.ipp-view.on{display:block}
.ipp-nl{height:100%;display:grid;grid-template-columns:320px 1fr 248px;gap:0}

/* ── left rail (switcher + view content) ── */
.ipp-rail{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px;
  border-right:1px solid var(--ipp-border);background:rgba(255,255,255,.5);
  display:flex;flex-direction:column;gap:14px;
  scrollbar-width:thin;scrollbar-color:var(--ipp-border-input) transparent}
.ipp-rail::-webkit-scrollbar{width:8px}
.ipp-rail::-webkit-scrollbar-thumb{background:var(--ipp-border-input);border-radius:4px;border:2px solid #fff}
.ipp-card{flex:0 0 auto;background:#fff;border:1px solid var(--ipp-border);border-radius:var(--ipp-r);
  box-shadow:var(--ipp-shadow-card);padding:16px}

/* ── view switcher (v1.5: four views) ── */
.ipp-switcher{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ipp-cream);
  border:1px solid var(--ipp-border);border-radius:999px;padding:2px;width:100%;margin-bottom:14px}
.ipp-switcher button{font-family:var(--ipp-font-body);font-weight:600;font-size:11px;letter-spacing:.02em;
  color:var(--ipp-text-mid);background:transparent;border:none;cursor:pointer;padding:7px 4px;
  border-radius:999px;transition:.15s;white-space:nowrap;text-align:center}
.ipp-switcher button:hover{color:var(--ipp-blue)}
.ipp-switcher button.on{background:linear-gradient(135deg,var(--ipp-blue),var(--ipp-blue-deep));color:#fff;
  box-shadow:0 2px 8px var(--ipp-blue-shadow)}

/* ── issue identity ── */
.ipp-id-hero{padding:2px 2px 14px;border-bottom:1px solid var(--ipp-border);margin-bottom:6px}
.ipp-id-issue{font:700 28px var(--ipp-font-display);letter-spacing:-.01em;line-height:1}
.ipp-id-issue .pfx{font:600 12px var(--ipp-font-body);color:var(--ipp-text-light);margin-right:6px}
.ipp-id-issue .ed{color:var(--ipp-blue-deep)}
.ipp-id-date{font:500 12px var(--ipp-font-body);color:var(--ipp-text-mid);margin-top:5px}

/* ── canvas ── */
/* ── right rail (Readiness / Send) — v33 third column ── */
.ipp-rail-right{height:100%;min-height:0;overflow:hidden;padding:18px;
  border-left:1px solid var(--ipp-border);background:rgba(255,255,255,.5);
  display:flex;flex-direction:column;gap:14px}
.ipp-rail-right .ipp-card{display:flex;flex-direction:column}
.ipp-rail-right .ipp-card.readiness{flex:1;min-height:0;overflow:auto}
.ipp-rail-right .ipp-card.send{flex:0 0 auto}
.ipp-rail-right h4{font:700 10px var(--ipp-font-body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--ipp-text-light);margin:0 0 10px}
.ipp-ready-num{font-family:var(--ipp-font-display);font-size:28px;font-weight:600;line-height:1}
.ipp-ready-num .muted{font-size:18px;font-weight:400;color:var(--ipp-text-light)}
.ipp-progbar{height:6px;background:var(--ipp-cream-deep);border-radius:3px;overflow:hidden;margin-top:6px}
.ipp-progbar i{display:block;height:100%;background:linear-gradient(90deg,var(--ipp-blue),var(--ipp-blue-light));border-radius:3px}
.ipp-check{display:flex;flex-direction:column;gap:7px;font-size:12.5px;margin-top:14px}
.ipp-check .row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px dashed var(--ipp-border)}
.ipp-check .row:last-child{border:none}
.ipp-check .row .dot{width:7px;height:7px;border-radius:50%;flex:none}
.ipp-check .row b{font-weight:700;color:var(--ipp-text-dark)}

.ipp-canvas{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:26px 30px;
  display:flex;flex-direction:column;gap:14px;
  scrollbar-width:thin;scrollbar-color:var(--ipp-border-input) transparent}
.ipp-canvas::-webkit-scrollbar{width:8px}
.ipp-canvas::-webkit-scrollbar-thumb{background:var(--ipp-border-input);border-radius:4px;border:2px solid #fff}

/* placeholder (until each view's build lands) */
.ipp-ph{height:100%;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;border:2px dashed var(--ipp-border);border-radius:18px;background:rgba(255,255,255,.4)}
.ipp-ph .pic{width:54px;height:54px;border-radius:14px;background:var(--ipp-blue-ghost);
  border:1px solid var(--ipp-blue-light);display:grid;place-items:center;color:var(--ipp-blue);margin-bottom:16px}
.ipp-ph h2{font:600 22px var(--ipp-font-display);color:var(--ipp-text-dark);margin:0 0 6px}
.ipp-ph p{font:400 13.5px var(--ipp-font-body);color:var(--ipp-text-mid);margin:0;max-width:420px;line-height:1.55}
.ipp-ph .chunk{font:700 11px var(--ipp-font-body);letter-spacing:.1em;text-transform:uppercase;
  color:var(--ipp-blue-deep);background:var(--ipp-blue-ghost);border:1px solid var(--ipp-blue-light);
  border-radius:999px;padding:4px 12px;margin-top:16px}

/* ── save bar ── */
.ipp-savebar{position:absolute;left:0;right:0;bottom:0;height:56px;z-index:20;background:#fff;
  border-top:1px solid var(--ipp-border);display:flex;align-items:center;gap:18px;padding:0 22px;
  box-shadow:0 -6px 22px -10px rgba(30,42,58,.18)}
.ipp-savebar .dot{width:8px;height:8px;border-radius:50%;background:var(--ipp-text-light)}
.ipp-savebar.saving .dot{background:var(--ipp-gold);box-shadow:0 0 0 4px var(--ipp-gold-shadow)}
.ipp-savebar .stat{font-size:13px;color:var(--ipp-text-mid)}

/* ── toast ── */
.ipp-toast{position:fixed;bottom:72px;left:50%;transform:translate(-50%,16px);opacity:0;transition:.25s;
  background:var(--ipp-text-dark);color:#fff;font:600 12.5px var(--ipp-font-body);padding:10px 16px;
  border-radius:10px;box-shadow:var(--ipp-shadow-pop);z-index:9999;max-width:360px}
.ipp-toast b{color:var(--ipp-gold-warm)}
.ipp-toast.err{background:var(--ipp-err)} .ipp-toast.err b{color:#fff;text-decoration:underline}
.ipp-toast.show{opacity:1;transform:translate(-50%,0)}

/* ── v1.3 no-code planner toggle (mounts to <body>, shows in both states) ── */
.ipp-planner-toggle{position:fixed;top:10px;left:50%;transform:translateX(-50%);z-index:99999;
  display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.96);
  border:1px solid #e7e3d6;border-radius:999px;padding:4px 6px 4px 12px;
  box-shadow:0 6px 22px -10px rgba(30,42,58,.32);font-family:'DM Sans',system-ui,sans-serif}
.ipp-planner-toggle .ippt-label{font-weight:700;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:#8a8e9a;margin-right:2px}
.ipp-planner-toggle .ippt-btn{font-family:inherit;font-weight:600;font-size:12px;cursor:pointer;
  border:none;background:transparent;color:#4a5568;padding:5px 12px;border-radius:999px;transition:.15s}
.ipp-planner-toggle .ippt-btn:hover{color:#5b7fff}
.ipp-planner-toggle .ippt-btn.on{background:linear-gradient(135deg,#5b7fff,#4060dd);color:#fff;
  box-shadow:0 2px 8px rgba(91,127,255,.20)}

/* ════════════════════════════════════════════════════════════
   v1.6 · layout B "Anchor" (the JS adds .ipp-b to the root)
   Colours are platform tokens with their values as fallbacks.
   ════════════════════════════════════════════════════════════ */
[data-ipp-root].ipp-b{--ipp-b-rail:290px;--ipp-b-bar:64px;--ipp-b-save:56px}
[data-ipp-root].ipp-b.ipp-fullscreen{background:var(--ix-cream-deep,#F1EDE2);background-image:none}

/* top bar, over the working area only */
[data-ipp-root].ipp-b .ipp-hchrome{left:var(--ipp-b-rail);right:0;width:auto;height:var(--ipp-b-bar);
  background:var(--ix-cream,#FAF9F5);backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid var(--ix-border,#E4E0D4)}
[data-ipp-root].ipp-b .ipp-hrow{height:var(--ipp-b-bar);padding:0 28px;gap:16px}
[data-ipp-root].ipp-b .ipp-hside{flex:0 0 auto;min-width:0}
[data-ipp-root].ipp-b .ipp-hcenter{flex:1 1 auto;min-width:0}
[data-ipp-root].ipp-b .ipp-title-static{padding:0;gap:0;max-width:100%}
[data-ipp-root].ipp-b .ipp-title-badge{display:none}
[data-ipp-root].ipp-b .ipp-title-name{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* the Planner switch, in the bar */
[data-ipp-root].ipp-b .ipp-planner-toggle.ipp-planner-toggle--bar{position:static;transform:none;margin-left:auto;flex:none;
  background:var(--ix-cream-deep,#F1EDE2);border:0;box-shadow:none;padding:4px 4px 4px 10px}
[data-ipp-root].ipp-b .ipp-planner-toggle--bar .ippt-label{color:var(--ix-text-mid,#5A6478)}
[data-ipp-root].ipp-b .ipp-planner-toggle--bar .ippt-btn{color:var(--ix-text-mid,#5A6478);padding:6px 14px}
[data-ipp-root].ipp-b .ipp-planner-toggle--bar .ippt-btn.on{background:#fff;color:var(--ix-text-dark,#1E2A3A);
  box-shadow:0 1px 2px rgba(30,42,58,.14)}

/* the grid: rail full height; bar, work and save bar on the right */
[data-ipp-root].ipp-b .ipp-view{inset:0}
[data-ipp-root].ipp-b .ipp-nl{grid-template-columns:var(--ipp-b-rail) minmax(0,1fr) auto;
  grid-template-rows:var(--ipp-b-bar) minmax(0,1fr) var(--ipp-b-save)}
[data-ipp-root].ipp-b .ipp-rail{grid-column:1;grid-row:1 / 4;background:var(--ix-rail,#1A3A3A);border-right:0;
  padding:80px 22px 92px;gap:18px;color:var(--ix-rail-text,#B9C2C2);scrollbar-color:var(--ix-rail-lift,#24504F) transparent}
[data-ipp-root].ipp-b .ipp-rail::-webkit-scrollbar-thumb{background:var(--ix-rail-lift,#24504F);border-color:var(--ix-rail,#1A3A3A)}
[data-ipp-root].ipp-b .ipp-canvas{grid-column:2;grid-row:2;padding:24px 28px;gap:20px}
[data-ipp-root].ipp-b .ipp-rail-right{grid-column:3;grid-row:2;background:transparent;border-left:0;padding:24px 28px 24px 0}
[data-ipp-root].ipp-b .ipp-rail-right .ipp-card.readiness,
[data-ipp-root].ipp-b .ipp-rail-right .ipp-card.send{display:none!important}
[data-ipp-root].ipp-b .ipp-rail-right:not(:has(.ipp-card:not(.readiness):not(.send))):not(:has(.ipp-al-strip)){display:none}
[data-ipp-root].ipp-b .ipp-savebar{left:var(--ipp-b-rail)}

/* logo and Close Plan strips over the rail */
[data-ipp-root].ipp-b .ipp-b-brand,
[data-ipp-root].ipp-b .ipp-b-foot{position:absolute;left:0;width:var(--ipp-b-rail);z-index:12;box-sizing:border-box;
  background:var(--ix-rail,#1A3A3A);display:flex;padding:0 22px}
[data-ipp-root].ipp-b .ipp-b-brand{top:0;height:68px;align-items:center}
[data-ipp-root].ipp-b .ipp-b-brand .ipp-logo{height:22px;width:auto;display:block;filter:brightness(0) invert(1)}
[data-ipp-root].ipp-b .ipp-b-brand a{display:block;line-height:0}
[data-ipp-root].ipp-b .ipp-b-foot{bottom:0;height:84px;align-items:center}
[data-ipp-root].ipp-b .ipp-b-foot .ipp-cpr{width:100%;justify-content:center;height:44px;padding:0 14px;
  background:transparent;border:1px solid #3E6463;color:#fff;font-size:14px}
[data-ipp-root].ipp-b .ipp-b-foot .ipp-cpr:hover{background:var(--ix-rail-lift,#24504F);border-color:#5A7F7E;box-shadow:none;transform:none}
[data-ipp-root].ipp-b .ipp-b-foot .ipp-cpr svg{stroke:currentColor}

/* rail head: title line, plan, date, tabs */
[data-ipp-root].ipp-b .ipp-b-head{display:flex;flex-direction:column;flex:0 0 auto}
[data-ipp-root].ipp-b .ipp-b-pub{font:500 11px var(--ix-font-mono,'DM Mono',ui-monospace,monospace);letter-spacing:.14em;
  text-transform:uppercase;color:var(--ix-rail-text,#B9C2C2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:14px}
[data-ipp-root].ipp-b .ipp-b-head .ipp-id-hero{border:0;padding:0;margin:6px 0 0}
[data-ipp-root].ipp-b .ipp-b-head .ipp-id-issue{font:600 34px var(--ipp-font-display);color:#fff;letter-spacing:-.01em;line-height:1.05}
[data-ipp-root].ipp-b .ipp-b-head .ipp-id-issue .pfx,
[data-ipp-root].ipp-b .ipp-b-head .ipp-id-issue .ed{color:inherit}
[data-ipp-root].ipp-b .ipp-b-head .ipp-id-date{font:500 14px var(--ipp-font-body);color:var(--ix-rail-text,#B9C2C2);margin-top:4px}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher{display:flex;flex-direction:column;gap:4px;width:100%;margin:24px 0 0;
  padding:0;background:none;border:0;border-radius:0}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button{box-sizing:border-box;height:42px;padding:0 14px;text-align:left;
  border-radius:9px;font:500 15px var(--ipp-font-body);letter-spacing:0;color:var(--ix-rail-text,#B9C2C2);background:none;box-shadow:none}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button:hover{color:#fff;background:rgba(255,255,255,.05)}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button.on{background:var(--ix-rail-lift,#24504F);color:#fff;font-weight:600;
  box-shadow:inset 3px 0 0 var(--ix-gold-bright,#E8C172)}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* ════════════════════════════════════════════════════════════
   v1.7 · surface A3 (the JS adds .ipp-sheet to the root)
   ════════════════════════════════════════════════════════════ */
.ipp-sheet-ground{position:fixed;inset:0;z-index:8999;background:var(--ix-gold,#C4A35A)}   /* v1.8 gold ground (was cream-deep) */
[data-ipp-root].ipp-sheet{--ipp-crown:46px;--ipp-ink:var(--ix-text-dark,#1E2A3A);--ipp-ink-lift:#2A3A52;--ipp-ink-text:#C3CAD6;
  --ipp-b-bar:0px}
[data-ipp-root].ipp-sheet.ipp-fullscreen{inset:22px 56px;width:auto;height:auto;border-radius:14px;
  background:var(--ix-cream-deep,#F1EDE2);background-image:none;
  box-shadow:0 30px 70px -20px rgba(30,42,58,.38),0 0 0 1px rgba(30,42,58,.10)}
@media (max-width:1100px){[data-ipp-root].ipp-sheet.ipp-fullscreen{inset:12px}}

/* crown */
[data-ipp-root].ipp-sheet .ipp-crown{position:absolute;top:0;left:0;right:0;height:var(--ipp-crown);z-index:15;
  display:flex;align-items:center;gap:12px;padding:0 10px 0 20px;box-sizing:border-box;
  background:var(--ix-cream,#FAF9F5);border-bottom:1px solid var(--ix-border,#E4E0D4)}
[data-ipp-root].ipp-sheet .ipp-crown-k{flex:none;font:500 11px var(--ix-font-mono,'DM Mono',ui-monospace,monospace);
  letter-spacing:.16em;text-transform:uppercase;color:var(--ix-text-mid,#5A6478)}
[data-ipp-root].ipp-sheet .ipp-crown-p{min-width:0;display:flex;align-items:baseline;gap:8px;white-space:nowrap;overflow:hidden;
  font:600 15px var(--ipp-font-body);color:var(--ipp-ink)}
[data-ipp-root].ipp-sheet .ipp-crown-p > span{overflow:hidden;text-overflow:ellipsis}
[data-ipp-root].ipp-sheet .ipp-crown-sep{color:var(--ix-text-mid,#5A6478);font-weight:400;flex:none}
[data-ipp-root].ipp-sheet .ipp-crown-t:empty + .ipp-crown-sep{display:none}
[data-ipp-root].ipp-sheet .ipp-crown-sp{flex:1}
[data-ipp-root].ipp-sheet .ipp-crown-tools,
[data-ipp-root].ipp-sheet .ipp-crown-ask{flex:none;display:flex;align-items:center;gap:10px}
[data-ipp-root].ipp-sheet .ipp-crown-tools[hidden],
[data-ipp-root].ipp-sheet .ipp-crown-ask[hidden]{display:none}
[data-ipp-root].ipp-sheet .ipp-crown-esc{font:500 10px var(--ix-font-mono,'DM Mono',ui-monospace,monospace);
  color:var(--ix-text-mid,#5A6478);background:var(--ix-cream-deep,#F1EDE2);border-radius:4px;padding:3px 6px;line-height:1}
[data-ipp-root].ipp-sheet .ipp-crown .ipp-cpr{height:32px;padding:0 16px;gap:8px;border:0;border-radius:999px;
  background:var(--ipp-ink);color:#fff;font:600 13.5px var(--ipp-font-body);box-shadow:none;transform:none}
[data-ipp-root].ipp-sheet .ipp-crown .ipp-cpr:hover{background:#2E3E56;box-shadow:none;transform:none}
[data-ipp-root].ipp-sheet .ipp-crown .ipp-cpr:focus-visible,
[data-ipp-root].ipp-sheet .ipp-crown-ask button:focus-visible{outline:2px solid var(--ipp-ink);outline-offset:2px}
[data-ipp-root].ipp-sheet .ipp-crown-ask-n{font:600 13px var(--ipp-font-body);color:var(--ipp-ink)}
[data-ipp-root].ipp-sheet .ipp-crown-ask button{height:32px;padding:0 14px;border-radius:999px;cursor:pointer;
  font:600 13px var(--ipp-font-body)}
[data-ipp-root].ipp-sheet .ipp-crown-stay{background:#fff;color:var(--ipp-ink);border:1px solid var(--ix-border,#E4E0D4)}
[data-ipp-root].ipp-sheet .ipp-crown-go{background:var(--ix-danger,#B5473C);color:#fff;border:0}   /* v1.14: red, the destructive click */
/* the Planner switch, in the crown */
[data-ipp-root].ipp-sheet .ipp-planner-toggle.ipp-planner-toggle--bar{margin-left:0;padding:3px 3px 3px 10px}
[data-ipp-root].ipp-sheet .ipp-planner-toggle--bar .ippt-btn{padding:4px 12px}

/* old chrome off: top bar, logo and Close strips */
[data-ipp-root].ipp-sheet .ipp-hchrome,
[data-ipp-root].ipp-sheet .ipp-b-brand,
[data-ipp-root].ipp-sheet .ipp-b-foot{display:none!important}

/* views sit under the crown; no bar row */
[data-ipp-root].ipp-sheet .ipp-view{inset:var(--ipp-crown) 0 0 0}
[data-ipp-root].ipp-sheet .ipp-savebar{left:var(--ipp-b-rail)}

/* ink rail */
[data-ipp-root].ipp-sheet .ipp-rail{background:var(--ipp-ink);color:var(--ipp-ink-text);padding:22px 22px 22px;
  scrollbar-color:var(--ipp-ink-lift) transparent}
[data-ipp-root].ipp-sheet .ipp-rail::-webkit-scrollbar-thumb{background:var(--ipp-ink-lift);border-color:var(--ipp-ink)}
[data-ipp-root].ipp-sheet .ipp-b-pub,
[data-ipp-root].ipp-sheet .ipp-b-head .ipp-id-date{color:var(--ipp-ink-text)}
[data-ipp-root].ipp-sheet .ipp-b-head .ipp-switcher button{color:var(--ipp-ink-text)}
[data-ipp-root].ipp-sheet .ipp-b-head .ipp-switcher button:hover{color:#fff;background:rgba(255,255,255,.05)}
[data-ipp-root].ipp-sheet .ipp-b-head .ipp-switcher button.on{background:var(--ipp-ink-lift);color:#fff;box-shadow:inset 3px 0 0 #fff}

/* v1.9 · the plan's ids under the plan name (ipp-shell-v1.14.js) */
[data-ipp-root].ipp-sheet .ipp-b-ids{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:14px 0 18px;padding:0}
[data-ipp-root].ipp-sheet .ipp-b-ids dt{margin:0;font:500 10px 'DM Mono',ui-monospace,monospace;letter-spacing:.12em;
  text-transform:uppercase;color:#9AA5B8;line-height:18px}
[data-ipp-root].ipp-sheet .ipp-b-ids dd{margin:0;font:400 12px 'DM Mono',ui-monospace,monospace;color:#C3CAD6;line-height:18px;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:all}

/* v1.10 · full ids, each on its own line under its label */
[data-ipp-root].ipp-sheet .ipp-b-ids{grid-template-columns:1fr;gap:0}
[data-ipp-root].ipp-sheet .ipp-b-ids dt{line-height:16px}
[data-ipp-root].ipp-sheet .ipp-b-ids dt ~ dt{margin-top:8px}
[data-ipp-root].ipp-sheet .ipp-b-ids dd{font-size:11px;line-height:17px;overflow:visible;text-overflow:clip;
  white-space:nowrap;overflow-wrap:normal;cursor:text;border-radius:3px}
[data-ipp-root].ipp-sheet .ipp-b-ids dd:not(.is-none):hover{background:rgba(255,255,255,.06);color:#fff}
[data-ipp-root].ipp-sheet .ipp-b-ids dd::selection{background:#C4A35A;color:#1A2333}
[data-ipp-root].ipp-sheet .ipp-b-ids dd.is-none{color:#9AA5B8;font-style:italic;user-select:auto}

/* v1.11 — hidden until the shell has framed it (no mockup flash) */
[data-ipp-root]:not(.ipp-b){visibility:hidden !important}

/* v1.12 — ease in, sheet and ground together */
@keyframes ippFadeIn{from{opacity:0}to{opacity:1}}
[data-ipp-root].ipp-b,.ipp-sheet-ground{animation:ippFadeIn .15s ease-out both}
@media (prefers-reduced-motion:reduce){[data-ipp-root].ipp-b,.ipp-sheet-ground{animation:none}}

/* ════════════════════════════════════════════════════════════
   v1.13 · Picker › Editorial, Revenue (ipp-shell-v1.16.js)
   ════════════════════════════════════════════════════════════ */
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher .ipp-sw-group{box-sizing:border-box;height:42px;padding:0 14px;display:flex;align-items:center;
  font:600 15px var(--ipp-font-body);letter-spacing:0;color:#fff;margin:0 0 -2px;cursor:default;user-select:none}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button.ipp-sw-sub{height:36px;font-size:13px;padding-left:30px;
  background-image:linear-gradient(var(--ix-rail-lift,#24504F),var(--ix-rail-lift,#24504F)),linear-gradient(var(--ix-rail-lift,#24504F),var(--ix-rail-lift,#24504F));
  background-repeat:no-repeat;background-size:1px 100%,8px 1px;background-position:16px 0,16px 50%}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button.ipp-sw-sub+button.ipp-sw-sub{margin-top:-2px}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button.ipp-sw-sub.on{font-weight:600;
  background-image:linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)),linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35))}
[data-ipp-root].ipp-b .ipp-b-head .ipp-switcher button.ipp-sw-sub:hover{background-color:rgba(255,255,255,.05)}
[data-ipp-root].ipp-sheet .ipp-b-head .ipp-switcher button.ipp-sw-sub{
  background-image:linear-gradient(var(--ipp-ink-lift),var(--ipp-ink-lift)),linear-gradient(var(--ipp-ink-lift),var(--ipp-ink-lift))}
[data-ipp-root].ipp-sheet .ipp-b-head .ipp-switcher button.ipp-sw-sub.on{background-color:var(--ipp-ink-lift);
  background-image:linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35)),linear-gradient(rgba(255,255,255,.35),rgba(255,255,255,.35))}
/* the sub rows' count and dot painted by views (.ipp-pk-tabn, .ipp-ly-tabn) keep their size */
