/* ============================================================================
   PLUSH74 COLLECTION EDITOR — DIRECTION B: MASTER / DETAIL  (2026-06-19)
   Owner-picked. Two-pane workspace: slim location list (LEFT) + single-focus
   editor (RIGHT) + compact collection-meta top bar. Scoped under .p74ce-md
   (added on the root for staff/admin only) and loaded AFTER collections-editor.css
   so it overrides the legacy deal-card rules. Uses the canonical --p74c-* kit.
   NO new hooks: every behaviour is driven by the existing classes/names that the
   editor JS already binds (see MASTERDETAIL_BUILD_SPEC.md). This file is layout only.
   ============================================================================ */

/* FINAL PUSH 2026-07-02 — DL two-line vocabulary: every SEPARATOR on this surface
   is the ONE editorial hairline (--p74c-hair); the ONLY heavy rules are above the
   receipt TOTAL and under the sticky top bar. --p74cmd-line3 is repointed to the
   hair token so the whole master/detail chrome collapses to one line color. */
.p74ce-md{ --p74cmd-headh:0px; --p74cmd-topbarh:0px; --p74cmd-line3:var(--p74c-hair, rgba(17,17,17,.14)); }

/* ED-16 — on the staff editor page the marketing site header is NON-sticky (it
   scrolls away; wp-admin bar + the editor top bar remain). body.p74ce-mdpage is
   added by the editor's own JS, only on this surface. !important beats the
   inline position:fixed Elementor's sticky handler writes. */
body.p74ce-mdpage .elementor-location-header,
body.p74ce-mdpage .ehf-header,
body.p74ce-mdpage header#masthead,
body.p74ce-mdpage header.site-header{ position:relative !important; top:auto !important; }
body.p74ce-mdpage .elementor-location-header.elementor-sticky--active,
body.p74ce-mdpage .elementor-location-header.elementor-sticky--effects{ position:relative !important; top:auto !important; transform:none !important; }
body.p74ce-mdpage .elementor-sticky__spacer{ display:none !important; }

/* kill the legacy chrome the MD layout replaces ---------------------------- */
.p74ce-md .p74ce-workbar{ display:none !important; }            /* folded into top bar */
.p74ce-md .p74ce-lane{ display:none !important; }               /* legacy booked lane header */
.p74ce-md .panel-heading{ display:none !important; }            /* "Request data" h3 */
/* ED-14: PDF-link + Zip moved into the top bar EXPORT cluster → the orphan
   footer zone (dashboard_wishlists_edit_bottom_menu.php) is hidden for staff.
   Its inline <script> (Send-update dialog) still runs — CSS-only hide. */
.p74ce-md .pl_table_footer{ display:none !important; }
.p74ce-md .preview-pdf > .header.content{ display:none; }
.p74ce-md form.pl_form.auto_save > .header.content{ display:none; }
.p74ce-md .panel.panel-default{ border:0; box-shadow:none; margin:0; }
.p74ce-md .panel-body{ padding:0; }
.p74ce-md .panel-body.preview-pdf{ padding:0; }

/* compact the collection-meta form into a dense brief strip (was ~720px tall) */
.p74ce-md .p74ce-hdr--meta,
.p74ce-md .p74ce-hdr--scout{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:2px 16px; padding:8px 22px; align-items:end; }
.p74ce-md .p74ce-hdr--scout{ border-top:1px solid var(--p74cmd-line3); }
.p74ce-md .p74ce-hdr--meta{ padding-top:12px; border-bottom:1px solid var(--p74c-line-2); }
.p74ce-md .p74ce-hdr-field{ margin:0; min-width:0; }
.p74ce-md .p74ce-hdr-field > label{ font-size:9px; letter-spacing:.07em; margin:0 0 1px; color:var(--p74c-faint); text-transform:uppercase; font-family:var(--p74c-font-disp); font-weight:700; }
.p74ce-md .p74ce-hdr-field .form-group{ margin:0; }
.p74ce-md .p74ce-hdr-field .form-control,
.p74ce-md .p74ce-hdr-field input[type=text]{ height:30px; min-height:30px; font-size:12.5px; padding:2px 6px; }
.p74ce-md .p74ce-hdr-field--wide{ grid-column:span 2; }
/* staff event-type/team-size row + the TOS/notes disclosures stay compact */
.p74ce-md .p74ce-hdr:not(.p74ce-hdr--meta):not(.p74ce-hdr--scout){ display:flex; flex-wrap:wrap; gap:6px 16px; padding:8px 22px 0; align-items:end; }
.p74ce-md .p74ce-hdr-updated{ align-self:center; font-size:10px; color:var(--p74c-muted); margin-left:auto; }
.p74ce-md details.p74ce-hdr-notes{ margin:6px 22px; }

/* ============================================================================
   0. STICKY ENABLER (ED-1) — the theme rule `.bootstrap-wrapper{overflow:hidden}`
   (assets/css/custom.css:11281) sits on 3 ancestors of the workbar/master (the
   root .p74ce-md + 2 inner .bootstrap-wrapper), each creating a scroll container
   that disables position:sticky, so the top bar + master scroll away on tall
   cards. The page has NO horizontal overflow (docOverflowX=0 at every width), so
   restoring visible here is safe and lets sticky pin to the viewport.
   ============================================================================ */
.p74ce-md.bootstrap-wrapper,
.p74ce-md .bootstrap-wrapper{ overflow:visible !important; }

/* ED-2 — legacy rules dim terminal rows (collections-editor.css:850, 55%) AND
   hidden-table rows (.listings_table_hidden tr, 62%). In the MD layout the single
   ACTIVE detail card is the row you're editing, so a rejected/canceled OR hidden
   listing renders washed-out + unreadable (all-rejected coll 1244; any hidden row
   e.g. coll 527). Exempt the FOCUSED card in either table; the LEFT master row
   keeps its strike/dim/"· hidden" cue. */
.p74ce-md .listings_table > tbody > tr.p74ce-terminal.is-active,
.p74ce-md .listings_table_hidden > tbody > tr.is-active{ opacity:1 !important; }

/* ============================================================================
   1. TOP BAR — sticky collection meta + workbar (sits BELOW the fixed site header)
   ============================================================================ */
.p74ce-md .p74cmd__top{
  position:sticky; top:var(--p74cmd-headh); z-index:40;
  background:var(--p74c-paper,#fff); border-top:0;
  border-bottom:2px solid var(--p74c-ink,#111); margin-bottom:0; /* DL: the ONE heavy rule under the top bar */
}
/* Polish round 1 (finding #1): kill the scroll seam. The meta card scrolls behind
   this sticky bar; z-index:40 keeps the bar (and its opaque paper fill) above every
   meta-card descendant, and this opaque paper SKIRT extends the fill a few px below
   the heavy rule so a half-clipped field line can never poke through the seam. The
   skirt only ever overlaps the paper top padding of the master/detail panes (which
   are sticky flush at the bar's bottom), so it is invisible in the working state. */
.p74ce-md .p74cmd__top::after{
  content:""; position:absolute; left:0; right:0; top:100%; height:10px;
  background:var(--p74c-paper,#fff); pointer-events:none;
}
/* ED-14 — top-bar EXPORT cluster (whole-collection outputs: PDF link / Zip) */
.p74cmd__exports{ display:inline-flex; align-items:center; gap:8px; padding-right:12px; border-right:1px solid var(--p74c-hair, rgba(17,17,17,.14)); }
.p74cmd__exports-lbl{ font-family:var(--p74c-font-disp); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--p74c-faint); }
.p74cmd__crumb{ display:flex; align-items:center; gap:14px; padding:13px 22px 11px; flex-wrap:wrap; }
.p74cmd__crumb-back{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border:1px solid var(--p74c-line); color:var(--p74c-ink); text-decoration:none; transition:background .15s; flex:0 0 auto; }
.p74cmd__crumb-back:hover{ background:var(--p74c-lime); }
.p74cmd__crumb-back i{ font-size:14px; }
.p74cmd__crumb-wrap{ min-width:0; flex:1 1 220px; }
.p74cmd__crumb-eyebrow{ font-family:var(--p74c-font-disp); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; color:var(--p74c-faint); }
.p74cmd__crumb-title{ font-family:var(--p74c-font-disp); text-transform:uppercase; font-weight:700; font-size:18px; letter-spacing:.02em; line-height:1.1; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.p74cmd__crumb-actions{ display:inline-flex; gap:8px; align-items:center; flex-wrap:wrap; }
.p74cmd__savechip{ display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--p74c-muted); white-space:nowrap; }
.p74cmd__savechip .p74ce-wb-saved::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--p74c-lime-d); display:inline-block; margin-right:6px; vertical-align:middle; }
.p74cmd__savechip .p74ce-wb-saving::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--p74c-faint); display:inline-block; margin-right:6px; vertical-align:middle; }

/* compact meta key/value strip */
.p74cmd__meta{ display:grid; grid-template-columns:repeat(6,1fr); border-top:1px solid var(--p74c-line-2); }
.p74cmd__metacell{ padding:8px 16px 9px; border-right:1px solid var(--p74cmd-line3); min-width:0; }
.p74cmd__metacell:last-child{ border-right:0; }
.p74cmd__metacell > label{ display:block; font-family:var(--p74c-font-disp); text-transform:uppercase; letter-spacing:.09em; font-size:9px; font-weight:700; color:var(--p74c-faint); margin:0 0 3px; }
.p74cmd__metacell .form-group{ margin:0; }
.p74cmd__metacell input,
.p74cmd__metacell .form-control,
.p74cmd__metacell .select2-container{ border:0 !important; border-bottom:1px solid var(--p74c-line-2) !important; border-radius:0 !important; background:transparent !important; height:26px !important; padding:0 0 2px !important; font-size:12.5px !important; box-shadow:none !important; min-height:0 !important; color:var(--p74c-ink); width:100%; }
.p74cmd__metacell input:focus,
.p74cmd__metacell .form-control:focus{ border-bottom-color:var(--p74c-lime-d) !important; outline:none; }
.p74cmd__metacell input[readonly]{ color:var(--p74c-muted); }
.p74cmd__meta .input-group.date{ width:100%; }
.p74cmd__meta .input-group-addon{ background:transparent; border:0; padding:0 0 0 6px; }
.p74cmd__meta .btn-add-producer{ font-size:9px; padding:2px 6px; margin-top:3px; }
.p74cmd__meta .field_event_producer{ position:relative; }

/* the "more" row — disclosures + scout + edit-brief */
.p74cmd__metamore{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:9px 18px; border-top:1px solid var(--p74cmd-line3); background:var(--p74c-soft); flex-wrap:wrap; }
.p74cmd__metamore .p74ce-hdr--scout{ display:flex; gap:18px; flex-wrap:wrap; align-items:flex-end; margin:0; flex:1 1 auto; }
.p74cmd__metamore .p74ce-hdr-field{ margin:0; }
.p74cmd__metamore details.p74ce-hdr-notes{ margin:0; border:0; flex:1 1 100%; }

/* ============================================================================
   2. WORKSPACE — two panes
   ============================================================================ */
.p74cmd{ display:grid; grid-template-columns:320px minmax(0,1fr); align-items:start; }
.p74cmd__detail-wrap{ min-width:0; }   /* the form/tables column */

/* ---------- LEFT: master list ---------- */
/* sticky UNDER the sticky top bar (offset measured by the editor JS) so the left
   column never turns into dead white on scroll (DL master rule). */
.p74cmd__master{ position:sticky; top:calc(var(--p74cmd-headh) + var(--p74cmd-topbarh, 0px)); align-self:start; max-height:calc(100vh - var(--p74cmd-headh) - var(--p74cmd-topbarh, 0px)); display:flex; flex-direction:column; background:var(--p74c-paper); border-right:1px solid var(--p74cmd-line3); }
.p74cmd__master-head{ display:flex; align-items:center; gap:8px; padding:12px 15px; border-bottom:1px solid var(--p74cmd-line3); }
.p74cmd__master-title{ font-family:var(--p74c-font-disp); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.p74cmd__master-count{ font-size:10px; color:var(--p74c-faint); font-weight:700; }
/* p74cmd__master-add removed 2026-07-03 (polish round 3): the single add affordance
   is the bottom '+ Add listings' foot button per DESIGN_LANGUAGE — the redundant
   lime top '+ Add' (different label + different style) was dropped from the markup. */
.p74cmd__lanes{ display:flex; border-bottom:1px solid var(--p74cmd-line3); }
.p74cmd__lanepill{ flex:1; appearance:none; border:0; border-right:1px solid var(--p74cmd-line3); background:var(--p74c-paper); color:var(--p74c-muted); cursor:pointer; padding:7px 4px 6px; font-family:var(--p74c-font-disp); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; transition:background .15s,color .15s; }
.p74cmd__lanepill:last-child{ border-right:0; }
.p74cmd__lanepill b{ display:block; font-size:13px; line-height:1.25; }
.p74cmd__lanepill:hover{ background:var(--p74c-soft); }
.p74cmd__lanepill.is-on{ background:var(--p74c-lime); color:var(--p74c-ink); }

.p74cmd__list{ overflow:auto; flex:1; }
/* ED-2 — FLEX with min-width:0 (grid-on-<button> let the mid column overprint the
   right column on long names + "· hidden"); right column is flex:none, name
   truncates cleanly against it. */
.p74cmd__lrow{ display:flex; gap:11px; align-items:center; padding:11px 13px 11px 15px; border-bottom:1px solid var(--p74cmd-line3); cursor:pointer; position:relative; transition:background .12s; width:100%; text-align:left; background:transparent; border-left:0; border-right:0; border-top:0; }
.p74cmd__lrow:hover{ background:var(--p74c-soft); }
.p74cmd__lrow.is-active{ background:var(--p74c-soft); }
.p74cmd__lrow.is-active::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--p74c-lime-d); }
.p74cmd__lrow.is-terminal{ opacity:.5; }
.p74cmd__lrow.is-terminal .p74cmd__lrow-name{ text-decoration:line-through; }
.p74cmd__lrow.is-hidden{ opacity:.6; }
.p74cmd__lrow.is-hidden .p74cmd__lrow-name::after{ content:" · hidden"; font-size:9px; font-weight:400; color:var(--p74c-faint); }
.p74cmd__lrow[hidden]{ display:none; }
.p74cmd__lrow-thumbwrap{ position:relative; width:46px; height:46px; flex:0 0 46px; }
.p74cmd__lrow-thumb{ position:relative; z-index:1; width:46px; height:46px; object-fit:cover; background:var(--p74c-soft2); display:block; }
/* Polish round 2 — monogram / no-photo tile sitting BEHIND the cover thumb. It shows
   when a listing has no cover image (or the file 404s → the <img> hides on error),
   so an orphan/hidden row renders a clean initial (or a muted image glyph) instead of
   the grey broken-image placeholder. */
.p74cmd__lrow-mono{ position:absolute; inset:0; z-index:0; display:flex; align-items:center; justify-content:center; background:var(--p74c-soft2); color:var(--p74c-muted); font-family:var(--p74c-font-disp); font-weight:700; font-size:15px; line-height:1; text-transform:uppercase; }
.p74cmd__lrow-mono svg{ width:17px; height:17px; opacity:.55; }
/* 2026-07-08 (owner feedback #9c "black squares"): the order number left the thumbnail
   corner — it now sits in a quiet ord-column (number + hover up/down arrows) at the row's
   left edge, and the row is draggable. Class .p74cmd__lrow-order stays (resyncOrder()
   renumbers by it). */
.p74cmd__lrow-ordcol{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; flex:0 0 16px; width:16px; align-self:stretch; cursor:grab; }
.p74cmd__lrow-order{ font-size:10px; font-weight:700; color:var(--p74c-muted); font-family:var(--p74c-font-disp); font-variant-numeric:tabular-nums; line-height:1.4; background:transparent; }
.p74cmd__lrow-mv{ display:flex; align-items:center; justify-content:center; width:16px; height:13px; color:var(--p74c-faint); opacity:0; transition:opacity .12s, color .12s, background .12s; }
.p74cmd__lrow-mv svg{ width:11px; height:11px; }
.p74cmd__lrow:hover .p74cmd__lrow-mv{ opacity:1; }
.p74cmd__lrow-mv:hover{ color:var(--p74c-ink); background:var(--p74c-lime); }
.p74cmd__lrow.is-dragging{ opacity:.45; }
.p74cmd__lrow.is-dropbefore{ box-shadow:inset 0 2px 0 0 var(--p74c-lime-d); }
.p74cmd__lrow.is-dropafter{ box-shadow:inset 0 -2px 0 0 var(--p74c-lime-d); }
.p74cmd__lrow-mid{ min-width:0; flex:1 1 auto; }
.p74cmd__lrow-name{ display:block; font-family:var(--p74c-font-disp); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.01em; line-height:1.15; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } /* ED-2: block so the ellipsis clips INSIDE the mid column — inline spans painted over the price/cue */
.p74cmd__lrow-sub{ font-size:10px; color:var(--p74c-muted); text-transform:uppercase; letter-spacing:.03em; margin-top:3px; display:flex; align-items:center; gap:6px; }
.p74cmd__lrow-dot{ width:7px; height:7px; border-radius:50%; flex:0 0 auto; background:var(--p74c-faint); }
.p74cmd__lrow-dot.is-booked{ background:#3aa86b; }
.p74cmd__lrow-dot.is-available{ background:var(--p74c-lime-d); }
.p74cmd__lrow-dot.is-requested{ background:var(--p74c-ink); } /* XC-3: gold retired */
.p74cmd__lrow-dot.is-rejected{ background:var(--p74c-faint); }
.p74cmd__lrow-right{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex:none; max-width:46%; }
.p74cmd__lrow-total{ font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.p74cmd__lrow-total.is-empty{ display:none; } /* DL: unpriced rows show ONLY the quiet Set-price cue */
/* EDB-5: at ≤1024 the narrow master crowds long (terminal, struck) names against the
   right-aligned total; widen the gap so the name truncates with clear breathing room. */
@media (max-width:1024px){ .p74ce-md .p74cmd__lrow{ column-gap:16px; } }
/* master cue chips = the ONE kit chip system (XC-3/ED-6): Set price = ink outline
   interactive cue, Responded = lime fill + ink, Booked = quiet muted. No gold. */
.p74cmd__lrow-cue{ font-size:8.5px; font-family:var(--p74c-font-disp); font-weight:700; text-transform:uppercase; letter-spacing:.04em; padding:2px 6px; line-height:1.3; white-space:nowrap; }
/* Polish round 1 (finding #5): ONE Set-price chip treatment — ink outline on paper,
   IDENTICAL whether or not the row is active. The active row already signals selection
   with its soft fill + lime left-bar, so the chip must not flip to a lime fill (that
   read as two chip systems in one list). A transient lime HOVER stays (kit interactive
   cue) but the persistent active-row override is removed. */
.p74cmd__lrow-cue.cue-action{ background:var(--p74c-paper,#fff); color:var(--p74c-ink,#111); border:1px solid var(--p74c-ink,#111); }
.p74cmd__lrow:hover .p74cmd__lrow-cue.cue-action{ background:var(--p74c-lime,#E9FF75); color:var(--p74c-ink,#111); }
.p74cmd__lrow-cue.cue-updated{ background:var(--p74c-lime); color:var(--p74c-ink); border:1px solid var(--p74c-lime); }
.p74cmd__lrow-cue.cue-ok{ color:var(--p74c-muted,#777); border:1px solid var(--p74c-hair, rgba(17,17,17,.14)); background:transparent; }

/* TASK-B 2026-07-06 — STRONG "member updated their response" notification.
   Master-list pill + row tint + top-bar count chip. Lime fill + INK text
   everywhere (button rule: never an ink fill with lime/yellow TEXT). Display-only. */
.p74cmd__lrow-upd[hidden], .p74cmd__updchip[hidden]{ display:none !important; }
.p74cmd__lrow-upd{ display:inline-flex; align-items:center; font-family:var(--p74c-font-disp); font-size:8.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; line-height:1.3; padding:2px 6px; white-space:nowrap; background:var(--p74c-lime,#E9FF75); color:var(--p74c-ink,#111); border:1px solid var(--p74c-lime-d,#c8e64a); }
.p74cmd__lrow.is-updated:not(.is-active){ background:rgba(233,255,117,.30); }
.p74cmd__lrow.is-updated::after{ content:""; position:absolute; right:0; top:0; bottom:0; width:4px; background:var(--p74c-lime-d,#c8e64a); }
.p74cmd__updchip{ display:flex; width:100%; align-items:center; justify-content:center; gap:6px; appearance:none; border:0; border-bottom:1px solid var(--p74cmd-line3); cursor:pointer; padding:7px 4px 6px; font-family:var(--p74c-font-disp); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; background:var(--p74c-lime,#E9FF75); color:var(--p74c-ink,#111); }
.p74cmd__updchip b{ font-size:12px; line-height:1; font-variant-numeric:tabular-nums; }
.p74cmd__updchip:hover{ background:var(--p74c-lime-d,#c8e64a); }
.p74cmd__updchip.is-on{ box-shadow:inset 0 0 0 2px var(--p74c-ink,#111); }

.p74cmd__master-foot{ border-top:1px solid var(--p74cmd-line3); padding:10px 15px; }
.p74cmd__master-empty{ padding:24px 16px; font-size:12px; color:var(--p74c-faint); text-align:center; }

/* ============================================================================
   3. DETAIL — the active <tr> rendered as a single card. Table → block.
   ============================================================================ */
.p74ce-md .listings_table{ display:block; width:100%; margin:0; border:0; }
.p74ce-md .listings_table > thead{ display:none; }
.p74ce-md .listings_table > tbody{ display:block; }
.p74ce-md .listings_table > tbody > tr{ display:none !important; border:0; }
.p74ce-md .listings_table > tbody > tr.is-active{ display:block !important; }
.p74ce-md .listings_table > tbody > tr.no_el{ display:none !important; }
.p74ce-md .listings_table > tbody > tr.is-active > th,
.p74ce-md .listings_table > tbody > tr.is-active > td{ display:block; padding:0; border:0; }
.p74ce-md .listings_table .p74ce-hide-cell,
.p74ce-md .listings_table .p74cmd-hide{ display:none !important; }
.p74ce-md .listings_table_hidden{ margin-top:0; }
.p74ce-md .listings_table_hidden::before{ content:none; }

/* beat the legacy .fields_list:not(.p74ce-card) flex rule (editor.css:253) — the MD
   card is a vertical stack of zones, never a wrap-flex of fields. */
.p74ce-md .listings_table .p74cmd__card.fields_list{ display:block !important; flex-wrap:nowrap; margin:0; gap:0; }
/* legacy .listings_table cells center their text — the MD card is always left-aligned */
.p74ce-md .p74cmd__card,
.p74ce-md .p74cmd__maincell,
.p74ce-md .p74cmd__dhead,
.p74ce-md .p74cmd__dhead-main,
.p74ce-md .p74cmd__name,
.p74ce-md .p74cmd__addr,
.p74ce-md .p74cmd__sec,
.p74ce-md .p74cmd__actgroup{ text-align:left; }

/* ---- detail header band (v2 mockup .dhead) ---------------------------------
   cover · #id · name · address/View listing on the LEFT;
   status <select> + ↑↓× tools clustered on the RIGHT. */
.p74cmd__dhead{ padding:22px 28px 0; border-bottom:1px solid var(--p74cmd-line3); } /* ONE hairline under the head zone */
.p74cmd__dhead-top{ display:flex; align-items:flex-start; gap:18px; padding-bottom:16px; border-bottom:0; } /* no doubled rule — the flags row draws the single divider */
.p74cmd__coverwrap{ position:relative; flex:0 0 auto; }
.p74cmd__cover{ width:108px; height:80px; object-fit:cover; background:var(--p74c-soft2); display:block; }
.p74cmd__cover-secret{ position:absolute; left:6px; top:6px; }
.p74cmd__dhead-main{ flex:1 1 auto; min-width:0; }
.p74cmd__did{ display:block; font-family:var(--p74c-font-disp); font-size:10px; font-weight:700; letter-spacing:.07em; color:var(--p74c-faint); font-variant-numeric:tabular-nums; }
.p74cmd__name{ font-family:var(--p74c-font-disp); font-size:22px; font-weight:700; text-transform:uppercase; letter-spacing:.01em; line-height:1.08; color:var(--p74c-ink); text-decoration:none; display:inline-block; margin:5px 0 3px; }
.p74cmd__name:hover{ color:var(--p74c-ink); border-bottom:2px solid var(--p74c-lime); }
.p74cmd__addr{ font-size:12px; color:var(--p74c-muted); text-transform:uppercase; letter-spacing:.04em; margin-top:5px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
/* Polish round 1 (finding #9): the lime underline is RESERVED for the real nav link
   (View listing). The address (a Maps link) reads as quiet muted text at rest so it no
   longer duplicates the link affordance; it reveals as tappable only on hover. */
.p74cmd__addr a{ color:var(--p74c-ink); text-decoration:none; border-bottom:1px solid var(--p74c-lime); }
.p74cmd__addr a.p74cmd__addr-map{ color:var(--p74c-muted); border-bottom:0; }
.p74cmd__addr a.p74cmd__addr-map:hover{ color:var(--p74c-ink); border-bottom:1px solid var(--p74c-hair,rgba(17,17,17,.14)); }
/* ED-7: monochrome ink external-link arrow (inline SVG, currentColor) */
.p74cmd__ext{ display:inline-block; vertical-align:baseline; margin-left:1px; color:var(--p74c-ink); }

/* RIGHT cluster: status select stacked over the ↑↓× tool row.
   The arrows + delete carry classes the legacy editor.css styles at (0,3,0) with
   !important (`.p74ce-root .p74ce-arrows .btn-order-move-top`, etc.), so every tool
   rule below is scoped under .p74cmd__card .p74cmd__tools (0,4,0) + !important to win. */
.p74cmd__dhead-right{ flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.p74cmd__tools{ display:inline-flex; align-items:center; gap:0; }
.p74ce-md .p74cmd__card .p74cmd__tools .p74ce-arrows{ display:inline-flex !important; flex-direction:row !important; gap:0 !important; }
.p74ce-md .p74cmd__card .p74cmd__tools .p74c__xbtn,
.p74ce-md .p74cmd__card .p74cmd__tools .btn-order-move-top,
.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a,
.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del .btn{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:31px !important; min-width:31px !important; height:31px !important; min-height:31px !important;
  padding:0 !important; margin:0 0 0 -1px !important; border:1px solid var(--p74c-line-2) !important;
  border-radius:0 !important; background:var(--p74c-paper) !important; color:var(--p74c-ink2,#3a3a37) !important;
  box-shadow:none !important; cursor:pointer; text-decoration:none; font-size:12px !important; line-height:1; gap:0 !important;
}
.p74ce-md .p74cmd__card .p74cmd__tools .p74ce-arrows .btn-order-move-top:first-child{ margin-left:0 !important; }
.p74ce-md .p74cmd__card .p74cmd__tools .p74c__xbtn:hover,
.p74ce-md .p74cmd__card .p74cmd__tools .btn-order-move-top:not(.no_active):hover,
.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a:hover,
.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del .btn:hover{ background:var(--p74c-lime) !important; border-color:var(--p74c-line) !important; color:var(--p74c-ink) !important; position:relative; z-index:1; }
.p74ce-md .p74cmd__card .p74cmd__tools .p74c__xbtn.no_active,
.p74ce-md .p74cmd__card .p74cmd__tools .btn-order-move-top.no_active{ opacity:.3; pointer-events:none; }
.p74cmd__tools .p74cmd__tools-del{ display:inline-flex; }
/* btn_delete() renders "<i remove> Delete" — collapse to an icon-only × box (font-size:0 hides the
   text node; the glyph is restored on the <i>). The href + confirm() onclick are untouched. */
.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a.delete_button{ font-size:0 !important; overflow:hidden; white-space:nowrap; }
.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a.delete_button .glyphicon{ font-size:13px !important; margin:0 !important; line-height:1; }

/* status select (reuses .p74c__status_select hook) — boxed lifecycle control */
/* 4 classes to beat editor.css:272/634 (0,4,0) */
.p74ce-md .p74cmd__card .p74cmd__dhead-right .p74c__status_select{ appearance:none !important; -webkit-appearance:none !important; border:1px solid var(--p74c-line) !important; background-color:var(--p74c-paper) !important; color:var(--p74c-ink) !important; font-family:var(--p74c-font-disp); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:6px 30px 6px 12px !important; cursor:pointer; height:33px !important; border-radius:0 !important; min-width:140px; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>") !important; background-repeat:no-repeat !important; background-position:right 10px center !important; }
.p74ce-md .p74cmd__card .p74cmd__dhead-right .p74c__status_select:focus{ outline:none; border-color:var(--p74c-lime-d) !important; }
.p74ce-md .p74cmd__card .p74cmd__dhead-right .p74c__status_chip{ display:none !important; }  /* the select already shows the status word */
.p74cmd__customstatus{ margin-top:4px; }
.p74cmd__customstatus.hidden{ display:none; }

/* ---- FLAGS row: shortlist / booked / shown-to-client toggle SWITCHES ----
   FINAL PUSH 2026-07-02: label removed (toggles self-explanatory, DL) and the
   dashed rule — the only dashed line on the page (ED-8) — is now the ONE solid
   hairline. */
.p74cmd__flags{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; padding:13px 0 18px; border-top:1px solid var(--p74cmd-line3); }
.p74cmd__flags-lbl{ display:none; }

/* the switch component (reuses the wishlisting_field checkbox + event_hide/show hooks) */
.p74cmd__sw{ display:inline-flex; align-items:center; gap:9px; cursor:pointer; margin:0; font-weight:600; }
.p74cmd__sw input{ position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
.p74cmd__sw-track{ width:34px; height:19px; border-radius:11px; background:#d3d3cd; position:relative; transition:background .15s; flex:0 0 auto; display:inline-block; }
.p74cmd__sw-track::after{ content:""; position:absolute; top:2px; left:2px; width:15px; height:15px; border-radius:50%; background:#fff; transition:left .15s; }
.p74cmd__sw input:checked + .p74cmd__sw-track{ background:var(--p74c-ink); }
.p74cmd__sw input:checked + .p74cmd__sw-track::after{ left:17px; }
.p74cmd__sw-track.is-on{ background:var(--p74c-ink); }
.p74cmd__sw-track.is-on::after{ left:17px; }
.p74cmd__sw-lbl{ font-family:var(--p74c-font); font-size:11.5px; color:var(--p74c-ink2,#3a3a37); text-transform:none; letter-spacing:0; font-weight:600; }
/* the eye toggle is two anchors (.event_show / .event_hide), exactly one visible. The legacy
   editor.css `.p74ce-root .event_show/.event_hide` rule (0,2,0) boxes them with a border +
   uppercase + min-height !important; override under .p74cmd__card .p74cmd__sw--eye (0,4,0) so the
   anchor reads as a bare switch + label (no box). The hooks (classes/data/href) are untouched. */
.p74cmd__sw--eye{ display:inline-flex; align-items:center; }
.p74ce-md .p74cmd__card .p74cmd__sw--eye a.event_show,
.p74ce-md .p74cmd__card .p74cmd__sw--eye a.event_hide{
  display:inline-flex !important; align-items:center !important; justify-content:flex-start !important;
  gap:9px !important; text-decoration:none !important; cursor:pointer; color:inherit !important;
  border:0 !important; background:transparent !important; box-shadow:none !important;
  padding:0 !important; margin:0 !important; min-height:0 !important; height:auto !important;
  text-transform:none !important; letter-spacing:0 !important; font-weight:600 !important;
}
.p74ce-md .p74cmd__card .p74cmd__sw--eye a.event_show:hover,
.p74ce-md .p74cmd__card .p74cmd__sw--eye a.event_hide:hover{ background:transparent !important; color:inherit !important; }
.p74ce-md .p74cmd__card .p74cmd__sw--eye a.hidden{ display:none !important; }

/* ---- detail SECTIONS ---- */
.p74cmd__sec{ padding:20px 28px; border-bottom:1px solid var(--p74cmd-line3); }
.p74cmd__sec:last-child{ border-bottom:0; }
.p74cmd__sec-head{ display:flex; align-items:baseline; gap:12px; margin-bottom:15px; }
.p74cmd__sec-title{ font-family:var(--p74c-font-disp); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
/* Polish round 1 (finding #10): full-sentence helper sublines are sentence case (DL:
   no ALL-CAPS helper copy). Small-caps stays for the 1–3 word section eyebrows only. */
.p74cmd__sec-hint{ font-size:10.5px; color:var(--p74c-faint); text-transform:none; letter-spacing:.01em; }

/* ---- MONEY block (flagship). .p74c__preview wraps the WHOLE zone (JS reads prev_* + pct inside it).
   Fills the detail width — receipt grows, outcome cards reach the right gutter (no dead strip). */
.p74ce-md .p74cmd__money.p74c__preview{ display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:34px; align-items:start; }
/* ED-10: keep the 2-col receipt down to ~900px of viewport (the master is only
   320px, the detail still has ~560px+ at 1152) — outcome cards only stack on
   genuinely narrow screens, where the hint copy stays true (it is
   orientation-neutral now). */
@media (max-width:900px){ .p74ce-md .p74cmd__money.p74c__preview{ grid-template-columns:1fr; gap:22px; } }
.p74cmd__receipt{ display:flex; flex-direction:column; gap:0; min-width:0; }
.p74cmd__recline{ display:grid; grid-template-columns:1fr 150px; align-items:center; gap:16px; padding:8px 0; border-bottom:1px solid var(--p74cmd-line3); }
.p74cmd__recline:first-child{ padding-top:2px; }
.p74cmd__reclabel{ font-family:var(--p74c-font-disp); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.p74cmd__reclabel .p74cmd__rechint{ display:block; width:100%; }
.p74cmd__rechint{ font-family:var(--p74c-font); font-size:9.5px; font-weight:400; color:var(--p74c-faint); text-transform:uppercase; letter-spacing:.04em; margin-top:1px; }
.p74cmd__recfig{ position:relative; }
/* FINAL PUSH 2026-07-02 — QUIET money cells: the kit .p74c-quiet skin (hairline
   underneath at rest, ink box + lime ring on focus) replaces the old boxed
   inputs. Here we only TUNE the quiet cell for the receipt: right-aligned bold
   tabular figure. Same (0,4,0)+!important, later in the cascade → wins the tie. */
.p74ce-md .p74cmd__recfig .p74c-quiet.p74c-quiet.p74c-quiet{ width:100%; font-size:14px !important; font-weight:700; font-variant-numeric:tabular-nums; text-align:right; color:var(--p74c-ink); padding:4px 2px !important; }
/* the receipt ROW hairline is the single ledger rule — the quiet field's own rest
   hairline would double it (DL bans stacked rules). Rest = invisible; hover/focus
   affordances stay from the kit. */
.p74ce-md .p74cmd__recfig .p74c-quiet.p74c-quiet.p74c-quiet:not(:hover):not(:focus){ border-bottom-color:transparent !important; }
.p74cmd__recline--total{ border-bottom:0; border-top:2px solid var(--p74c-line); padding-top:12px; margin-top:3px; } /* DL: THE heavy rule above TOTAL */
.p74cmd__recline--total .p74cmd__reclabel{ font-size:12px; }
/* readonly TOTAL = plain text in its heavy-rule slot (kit quiet--ro kills the hairline) */
.p74ce-md .p74cmd__recline--total .p74c-quiet.p74c-quiet.p74c-quiet{ font-size:17px !important; font-weight:700; text-align:right; }
.p74cmd__recline.is-na .p74c__cellinput{ color:var(--p74c-faint); text-decoration:line-through; }
.p74cmd__recline.is-na .p74cmd__reclabel{ color:var(--p74c-faint); }
.p74cmd__na-tag{ font-size:10px; color:var(--p74c-faint); font-family:var(--p74c-font); text-transform:none; letter-spacing:0; }
/* 2026-07-08 (owner feedback #11): auto-% pills read YELLOW (lime fill + ink text —
   the allowed combo) on every receipt fee line: member / client / 3rd-party. */
.p74ce-md .p74cmd__reclabel .p74c__pill--pct{ font-family:var(--p74c-font-disp); font-size:9.5px; font-weight:700; letter-spacing:.03em; padding:2px 7px; color:var(--p74c-ink); background:var(--p74c-lime,#E9FF75); border-color:var(--p74c-lime,#E9FF75); font-variant-numeric:tabular-nums; }
.p74ce-md .p74cmd__reclabel .p74c__pill--warn{ font-size:9px; padding:2px 6px; background:#fff4d6; color:#7a5d00; font-family:var(--p74c-font-disp); font-weight:700; text-transform:uppercase; }

/* outcome cards (right) — reach the section's right gutter */
.p74cmd__outcomes{ display:flex; flex-direction:column; gap:12px; }
.p74cmd__outcard{ border:1px solid var(--p74c-line); padding:14px 16px; }
.p74cmd__outcard--pays{ background:var(--p74c-lime); }
.p74cmd__outcard-lbl{ font-family:var(--p74c-font-disp); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--p74c-ink); }
.p74cmd__outcard-val{ font-family:var(--p74c-font-disp); font-size:24px; font-weight:700; font-variant-numeric:tabular-nums; line-height:1.05; margin-top:6px; }
.p74cmd__outcard-foot{ font-size:9.5px; color:var(--p74c-ink); opacity:.7; text-transform:uppercase; letter-spacing:.04em; margin-top:7px; }
.p74cmd__outcard--earns .p74cmd__outcard-foot{ color:var(--p74c-muted); opacity:1; }
/* Polish round 1 (finding #10): the outcome helper sentence is sentence case, not shouting. */
.p74cmd__outhint{ font-size:9.5px; color:var(--p74c-faint); text-transform:none; letter-spacing:.01em; text-align:center; line-height:1.4; }
.p74cmd__outcard--ot{ display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.p74cmd__outcard--ot .p74cmd__outcard-val{ font-size:18px; margin-top:0; }

/* ---- BOOKING TERMS — 3 QUIET fields in a row (DL quiet-field recipe) ---- */
.p74cmd__terms{ display:grid; grid-template-columns:repeat(3,minmax(0,200px)); gap:16px; }
@media (max-width:560px){ .p74cmd__terms{ grid-template-columns:1fr; } }
.p74cmd__term{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.p74cmd__term > label{ font-family:var(--p74c-font-disp); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--p74c-muted); margin:0; }
/* kit .p74c-quiet does the skin; tune size/alignment only (same trick as the receipt) */
.p74ce-md .p74cmd__term .p74c-quiet.p74c-quiet.p74c-quiet{ width:100%; font-size:14px !important; color:var(--p74c-ink); font-variant-numeric:tabular-nums; text-align:left; padding:4px 2px !important; }

/* ---- ACTIONS — ONE left-aligned rail, labeled clusters (ED-5) ----
   FINAL PUSH 2026-07-02: the asymmetric rule fragment after the group label is
   gone (::after removed) and the stray 32px vertical ticks are killed below
   (the legacy editor.css `.p74ce-cluster:not(:first-child){border-left}`).
   Everything packs hard left. */
.p74cmd__actions{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; text-align:left; }
.p74cmd__actgroup{ display:flex; flex-direction:column; gap:9px; align-items:flex-start; width:100%; text-align:left; }
.p74cmd__actgroup-lbl{ font-family:var(--p74c-font-disp); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--p74c-faint); display:flex; align-items:center; }
.p74ce-md .p74cmd__actrow{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-start; }
/* let the existing .p74c__action_rail flow as a flex row of buttons in MD */
.p74ce-md .p74cmd__card .p74c__action_rail{ display:flex; flex-direction:column; gap:16px; }
.p74ce-md .p74cmd__card .p74ce-cluster{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-start; }
/* kill the legacy vertical tick + indent (editor.css .p74ce-cluster:not(:first-child)) */
.p74ce-md .p74cmd__card .p74ce-cluster,
.p74ce-md .p74cmd__card .p74ce-cluster:not(:first-child){ border-left:0 !important; padding-left:0 !important; }
/* theme .btn-primary-block centers/blocks buttons — force inline rail buttons */
.p74ce-md .p74cmd__actions .btn-primary-block{ display:inline-flex !important; width:auto !important; margin:0 !important; float:none !important; }

/* member contact — square ink-outline avatar, ink text on paper (NOT lime-on-dark);
   laid straight INTO the rail like the Request/Documents clusters — NO floating box
   (ED-5 / polish round 1 finding #2: the bordered wrapper was the only container in the
   actions rail and read as a stray card). */
.p74cmd__contact{ display:flex; align-items:center; gap:13px; padding:0; border:0; flex-wrap:wrap; max-width:560px; width:100%; }
.p74cmd__contact-av{ width:36px; height:36px; background:var(--p74c-paper); border:1px solid var(--p74c-ink); display:flex; align-items:center; justify-content:center; font-family:var(--p74c-font-disp); font-weight:700; font-size:13px; color:var(--p74c-ink); flex:0 0 auto; }
.p74cmd__contact-info{ flex:1; min-width:0; }
.p74cmd__contact-name{ font-family:var(--p74c-font-disp); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.p74cmd__contact-meta{ font-size:11px; color:var(--p74c-muted); margin-top:2px; }

/* ---- NOTES (moved up, right after Money; reuse details.p74ce-notes). The summary
   reads like the mockup's "add a note…" placeholder; expanded shows the TinyMCE box. */
.p74ce-md .p74cmd__card .p74cmd__sec--notes{ }
.p74ce-md .p74cmd__card details.p74ce-notes{ border-top:0; border-bottom:0; padding:0; margin:0; }
/* Polish round 3 (finding: per-location note trigger read as a full gray box at
   rest — the boxed-input treatment DL bans, inconsistent with the borderless
   hairline accordions in the meta card). Match the meta-card accordions: a
   borderless '+ label' row with ONE hairline at rest, no box/background; the box
   appears only on expand (the editor's own hair frame) and a lime ring only on
   keyboard focus. Chrome-only — TinyMCE init/save behaviour untouched. */
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:9px; border:0; border-bottom:1px solid var(--p74c-hair, rgba(17,17,17,.14)); background:transparent; padding:9px 0; font-family:var(--p74c-font); font-size:13px; color:var(--p74c-muted); text-transform:none; letter-spacing:0; font-weight:400; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-summary::-webkit-details-marker{ display:none; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-summary:hover{ border-bottom-color:var(--p74c-ink); color:var(--p74c-ink); }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-summary:focus-visible{ outline:2px solid var(--p74c-lime,#E9FF75); outline-offset:2px; border-bottom-color:var(--p74c-ink); }
.p74ce-md .p74cmd__card .p74cmd__sec--notes details[open] .p74ce-notes-summary{ border-bottom-color:transparent; color:var(--p74c-ink); }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-plus{ font-family:var(--p74c-font-disp); font-weight:700; font-size:13px; color:var(--p74c-ink); flex:0 0 auto; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes details[open] .p74ce-notes-plus{ transform:rotate(45deg); }
/* POLISH round 1 (ED notes finding): the summary preview is the AT-REST chip (readable
   muted, one line). Once the accordion is open the editor below already shows the note,
   so the preview text hides — leaving just the collapse toggle. Kills the duplicate. */
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74cmd__notes-preview{ color:var(--p74c-muted); min-width:0; flex:0 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes details[open] .p74cmd__notes-preview{ display:none; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-body{ border:0; padding:10px 0 2px; }
/* the inner "NOTES" wp_editor_label duplicates the section head "Notes for this
   location" — the section head is the one label, so drop the inner one. */
.p74ce-md .p74cmd__card .p74cmd__sec--notes .p74ce-notes-body .wp_editor_label{ display:none; }
/* Polish round 1 (finding #3): the notes editor read as a HARD-bordered box with a
   native resize grip and clipped text (doubled frame = the base editor.css
   `.group.text_editor .wp-editor-container{border:1px solid #111}` boxing the editor
   INSIDE the outer .p74ce-notes-body hair frame). Collapse to ONE quiet hair frame:
   drop the inner editor box, soften its internal toolbar rule to the hairline, kill the
   resize handle + native textarea resize, and give the edit area a comfortable floor so
   short notes don't clip mid-line. Chrome-only — init/save behaviour untouched. */
.p74ce-md .p74cmd__card .p74cmd__sec--notes .wp-editor-container{ border:1px solid var(--p74c-hair, rgba(17,17,17,.14)) !important; background:transparent !important; box-shadow:none !important; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-toolbar-grp{ border-bottom:1px solid var(--p74c-hair,rgba(17,17,17,.14)) !important; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-statusbar .mce-resizehandle,
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-resizehandle{ display:none !important; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes textarea.wp-editor-area{ resize:none !important; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-edit-area iframe,
.p74ce-md .p74cmd__card .p74cmd__sec--notes .wp-editor-area{ min-height:130px !important; }
/* POLISH round 1 (ED notes finding): the toolbar glyphs still rendered in WP's default
   grey (the "raw TinyMCE chrome" DL bans). Recolour to ink so the toolbar reads on-system;
   disabled buttons (undo/redo at rest) keep TinyMCE's own muted opacity. Toolbar sits on a
   paper strip with a single hairline under it (kit) — no boxed/gradient chrome. Chrome-only. */
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-toolbar-grp{ background:transparent !important; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-ico{ color:var(--p74c-ink,#111) !important; }
.p74ce-md .p74cmd__card .p74cmd__sec--notes .mce-btn.mce-disabled .mce-ico{ color:var(--p74c-faint,#999) !important; }

/* ============================================================================
   4. RESPONSIVE — collapse to single column; master becomes a horizontal strip
   ============================================================================ */
@media (max-width:900px){
  .p74cmd{ grid-template-columns:1fr; }
  .p74cmd__master{ position:static; max-height:none; border-right:0; border-bottom:1px solid var(--p74c-line); }
  .p74cmd__list{ max-height:300px; }
  .p74cmd__meta{ grid-template-columns:repeat(2,1fr); }
  .p74cmd__dhead,.p74cmd__sec{ padding-left:18px; padding-right:18px; }
}

/* ============================================================================
   5. META HEADER — grouped RECORD CARD (2026-06-23, round 4)
   Replaces the flat .p74ce-hdr--meta / --scout / --notes strip. Matches the
   approved v2 mockup (.rec): boxed white fields on an even 12-col grid, ink
   section hairlines, grouped Overview / Schedule / Producer / Plush74 scout,
   read-only producer email/tel as key/value, Updated meta line + two accordions
   (Collection notes OPEN + Terms of service). Scoped to .p74ce-md .p74ce-rec so
   it never leaks; carries enough specificity to beat the base underline rule
   `.p74c__input,.p74c__select,.p74c__textarea` (collections-2026.css:135). The
   legacy .p74ce-hdr--meta/--scout md rules above are now dead (no longer emitted)
   but harmless. This section is layout only — no field NAMES/IDs are touched. */
/* FINAL PUSH 2026-07-02 — the record card is now DENSE + QUIET + COLLAPSIBLE:
   • collapse strip [chevron · COLLECTION DETAILS · summary · Updated] (localStorage)
   • band 1 = Overview+Schedule, band 2 = Producer+Scout — ONE hairline between
   • fields are kit .p74c-quiet (skin comes from collections-2026.css) — only
     density tuning lives here
   • accordions CLOSED by default with content-presence dots
   Target: ≤ ~340px open @1440 (was ~1090px boxed). */
.p74ce-md .p74ce-rec{
  background:var(--p74c-paper); border:1px solid var(--p74c-hair, rgba(17,17,17,.14));
  margin:14px 0 14px;
}
/* collapse strip */
.p74ce-md .p74ce-rec-head{
  display:flex; align-items:center; gap:12px; width:100%; padding:9px 18px;
  background:var(--p74c-paper); border:0; border-bottom:1px solid var(--p74c-hair, rgba(17,17,17,.14));
  cursor:pointer; text-align:left; appearance:none; -webkit-appearance:none; border-radius:0;
}
.p74ce-md .p74ce-rec.is-collapsed .p74ce-rec-head{ border-bottom:0; }
.p74ce-md .p74ce-rec-head:hover{ background:var(--p74c-soft,#f6f6f3); }
.p74ce-md .p74ce-rec-chev{ width:8px; height:8px; border-right:1.5px solid var(--p74c-ink); border-bottom:1.5px solid var(--p74c-ink); transform:rotate(45deg) translateY(-2px); flex:0 0 auto; transition:transform .15s; }
.p74ce-md .p74ce-rec.is-collapsed .p74ce-rec-chev{ transform:rotate(-45deg); }
.p74ce-md .p74ce-rec-head-lbl{ font-family:var(--p74c-font-disp); font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--p74c-ink); white-space:nowrap; }
.p74ce-md .p74ce-rec-head-sum{ flex:1 1 auto; min-width:0; font-family:var(--p74c-font); font-size:12px; color:var(--p74c-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-transform:none; letter-spacing:0; }
.p74ce-md .p74ce-rec-head-upd{ margin-left:auto; font-family:var(--p74c-font-disp); font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--p74c-faint); white-space:nowrap; }
.p74ce-md .p74ce-rec-head-upd b{ color:var(--p74c-muted); font-weight:700; }
.p74ce-md .p74ce-rec.is-collapsed .p74ce-rec-body{ display:none; }

/* dense bands — ONE hairline between bands, nothing doubled */
.p74ce-md .p74ce-recgrp{ padding:10px 18px 12px; border-bottom:1px solid var(--p74c-hair, rgba(17,17,17,.14)); }
.p74ce-md .p74ce-recgrp:last-child{ border-bottom:0; }
.p74ce-md .p74ce-recgrp-h{ display:none; } /* band headers retired — labels carry the info (ED-20 dup fix) */

/* even 12-col field grid, dense */
.p74ce-md .p74ce-fgrid{ display:grid; grid-template-columns:repeat(12,1fr); gap:8px 14px; }
.p74ce-md .p74ce-f{ display:flex; flex-direction:column; gap:2px; min-width:0; grid-column:span 12; }
.p74ce-md .p74ce-f.c2{ grid-column:span 2; }
.p74ce-md .p74ce-f.c3{ grid-column:span 3; }
.p74ce-md .p74ce-f.c4{ grid-column:span 4; }
.p74ce-md .p74ce-f.c5{ grid-column:span 5; }
.p74ce-md .p74ce-f.c6{ grid-column:span 6; }
.p74ce-md .p74ce-f .form-group{ margin:0; position:relative; }
.p74ce-md .p74ce-lbl{
  font-family:var(--p74c-font-disp); font-size:9px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--p74c-muted); font-weight:700; margin:0;
}

/* QUIET fields — the kit .p74c-quiet skin does the field look; only density is
   tuned here ((0,4,0)+!important, later in cascade → wins the kit tie).
   text-transform:none kills the legacy uppercase leak on VALUES (ED-20). */
.p74ce-md .p74ce-rec .p74c-quiet.p74c-quiet{ padding:3px 2px !important; min-height:26px; text-transform:none !important; letter-spacing:0 !important; }
.p74ce-md .p74ce-rec select.p74c-quiet.p74c-quiet{ padding-right:20px !important; }
.p74ce-md .p74ce-rec .input-group.date{ display:flex; align-items:center; width:100%; }
.p74ce-md .p74ce-rec .input-group.date .p74c-quiet{ flex:1 1 auto; }
.p74ce-md .p74ce-rec .input-group-addon{ border:0; background:transparent; padding:0 0 0 6px; color:var(--p74c-muted); }

/* producer select2 → QUIET closed control (kit skins it inside .p74c); just make
   room for the Add-New button so it can't touch the control edge (ED-11) */
.p74ce-md .p74ce-rec .field_event_producer{ position:relative; }
.p74ce-md .p74ce-rec .field_event_producer .select2-container--default .select2-selection--multiple{
  border:0 !important; border-bottom:1px solid var(--p74c-hair, rgba(17,17,17,.14)) !important; border-radius:0 !important;
  background:transparent !important; min-height:26px !important;
  padding:0 84px 0 0 !important;
}
.p74ce-md .p74ce-rec .field_event_producer .select2-container--default.select2-container--focus .select2-selection--multiple{
  border-bottom-color:var(--p74c-ink,#111) !important;
}
.p74ce-md .p74ce-rec .field_event_producer .btn.btn-add,
.p74ce-md .p74ce-rec .field_event_producer .btn.btn-add-producer{
  position:absolute; right:0; top:50%; transform:translateY(-50%); z-index:3;
  display:inline-flex; align-items:center; height:22px; padding:0 8px;
  border:1px solid var(--p74c-hair, rgba(17,17,17,.14)); background:var(--p74c-paper); color:var(--p74c-muted);
  font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; border-radius:0;
}
.p74ce-md .p74ce-rec .field_event_producer .btn.btn-add-producer:hover{ background:var(--p74c-lime); color:var(--p74c-ink); border-color:var(--p74c-ink); }

/* Polish round 1 (finding #6): the SELECTED producer must read as a quiet underline
   value like every sibling meta field — NOT a black-bordered select2 pill. Drop the
   box (base editor.css `.select2-selection__choice{border:1px solid #111}`); the value
   sits on the container's hairline underline with subtle muted clear (×) / edit (✎)
   affordances that ink on hover. Skin only — the select2 hooks are untouched. */
.p74ce-md .p74ce-rec .field_event_producer .select2-container--default .select2-selection--multiple .select2-selection__choice{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  padding:0 !important; margin:0 10px 0 0 !important; line-height:26px !important;
  font-size:12.5px !important; color:var(--p74c-ink) !important;
}
.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice .name{ color:var(--p74c-ink); }
.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice__remove{
  color:var(--p74c-faint) !important; font-size:13px !important; margin-right:5px !important; font-weight:400 !important;
}
.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice .edit_user_popup{
  color:var(--p74c-faint); margin-right:5px; text-decoration:none;
}
.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice .edit_user_popup .glyphicon{ font-size:10px; }
.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice__remove:hover,
.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice .edit_user_popup:hover{ color:var(--p74c-ink) !important; }

/* read-only producer = plain text (kit .p74c-quiet[readonly] kills the hairline);
   the "from record" tag is a MUTED SMALL-CAPS SUFFIX in the label, no chip box (ED-11) */
.p74ce-md .p74ce-rec .p74ce-ro .p74ce-ro-line{ display:flex; align-items:center; gap:8px; min-height:26px; }
.p74ce-md .p74ce-rec .p74ce-ro .p74ce-ro-v{ flex:1; min-width:0; text-overflow:ellipsis; cursor:default; pointer-events:none; }
.p74ce-md .p74ce-rec .p74ce-ro-tag{
  font-family:var(--p74c-font-disp); font-size:8px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--p74c-faint); border:0; padding:0; margin-left:4px; flex:0 0 auto; white-space:nowrap; font-weight:400;
}

/* accordions — CLOSED by default; lime presence dot when content exists */
.p74ce-md .p74ce-rec .p74ce-acc{ padding:0 18px 2px; }
.p74ce-md .p74ce-rec .p74ce-acc > details{ border-bottom:1px solid var(--p74c-hair, rgba(17,17,17,.14)); }
.p74ce-md .p74ce-rec .p74ce-acc > details:last-child{ border-bottom:0; }
.p74ce-md .p74ce-acc-dot{ width:6px; height:6px; border-radius:50%; background:var(--p74c-lime-d,#d9f155); display:inline-block; flex:0 0 auto; }
.p74ce-md .p74ce-rec .p74ce-acc summary{
  list-style:none; cursor:pointer; padding:9px 0;
  font-family:var(--p74c-font-disp); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  font-weight:700; color:var(--p74c-ink); display:flex; align-items:center; gap:9px;
}
.p74ce-md .p74ce-rec .p74ce-acc summary::-webkit-details-marker{ display:none; }
.p74ce-md .p74ce-rec .p74ce-acc summary::marker{ content:""; }
.p74ce-md .p74ce-rec .p74ce-acc .p74ce-chev{
  width:14px; height:14px; border:1px solid var(--p74c-hair, rgba(17,17,17,.14));
  display:inline-flex; align-items:center; justify-content:center; font-size:10px; color:var(--p74c-muted); flex:0 0 auto;
}
.p74ce-md .p74ce-rec .p74ce-acc .p74ce-acc-body{ padding:0 0 14px; }
.p74ce-md .p74ce-rec .p74ce-acc-field{ display:flex; flex-direction:column; gap:5px; margin-bottom:12px; }
.p74ce-md .p74ce-rec .p74ce-acc-field:last-child{ margin-bottom:0; }
/* textareas are kit .p74c-quiet now; size tuning only */
.p74ce-md .p74ce-rec textarea.p74c-quiet.p74c-quiet{ min-height:72px; line-height:1.45; }
/* the project-details TinyMCE chrome is skinned by the kit (XC-4); hair frame to match */
.p74ce-md .p74ce-rec .p74ce-acc-field .wp-editor-container{ border:1px solid var(--p74c-hair, rgba(17,17,17,.14)); }
.p74ce-md .p74ce-rec .p74ce-acc-field .mce-toolbar-grp{ border-bottom:1px solid var(--p74c-hair, rgba(17,17,17,.14)); }

/* stack the 12-col grid on narrow widths */
@media (max-width:900px){
  .p74ce-md .p74ce-fgrid{ grid-template-columns:repeat(6,1fr); }
  .p74ce-md .p74ce-f.c3{ grid-column:span 3; }
  .p74ce-md .p74ce-f.c4,
  .p74ce-md .p74ce-f.c5,
  .p74ce-md .p74ce-f.c6{ grid-column:span 6; }
}
@media (max-width:560px){
  .p74ce-md .p74ce-fgrid{ grid-template-columns:1fr; }
  .p74ce-md .p74ce-f.c3,
  .p74ce-md .p74ce-f.c4,
  .p74ce-md .p74ce-f.c5,
  .p74ce-md .p74ce-f.c6{ grid-column:span 1; }
}

/* ============================================================================
   6. WIDTH CAP — centre the editor column (top bar + record card + two-pane)
   so the surface is not edge-to-edge. The sticky top bar keeps its full-bleed
   white band + hairline; only its INNER row is capped, so it lines up with the
   capped record card and the capped two-pane below (all share --p74cmd-maxw).
   ============================================================================ */
.p74ce-md{ --p74cmd-maxw:1240px; }
.p74ce-md .p74cmd__top > .p74cmd__crumb{ max-width:var(--p74cmd-maxw); margin-left:auto; margin-right:auto; }
.p74ce-md .p74ce-rec{ max-width:var(--p74cmd-maxw); margin-left:auto; margin-right:auto; }
.p74ce-md .p74cmd{ max-width:var(--p74cmd-maxw); margin-left:auto; margin-right:auto; }

/* ============================================================================
   ED-BIG (2026-07-07) — owner: the staff MD editor text/controls are too small;
   scale the readable type + controls ~25% for daily staff use ("see all, read/
   write all"). CSS-ONLY, scoped .p74ce-md (client/share views untouched). The
   layout stays fluid (2-col master+detail); bigger type = taller rows, nothing
   clipped. Doubled-class prefix + !important so these win over the sized rules
   above (incl. the money-cell / status-select / tools !important rules).
   ============================================================================ */
/* -- meta header fields -- */
.p74ce-md.p74ce-md .p74ce-hdr-field > label{ font-size:11px !important; }
.p74ce-md.p74ce-md .p74ce-hdr-field .form-control,
.p74ce-md.p74ce-md .p74ce-hdr-field input[type=text]{ font-size:15.5px !important; height:38px !important; min-height:38px !important; padding:4px 8px !important; }
.p74ce-md.p74ce-md .p74ce-hdr-updated{ font-size:12.5px !important; }
/* -- master list (left rail) -- */
.p74ce-md.p74ce-md .p74cmd__master-title{ font-size:13.5px !important; }
.p74ce-md.p74ce-md .p74cmd__master-count{ font-size:12.5px !important; }
.p74ce-md.p74ce-md .p74cmd__lanepill{ font-size:11px !important; padding:9px 4px 8px !important; }
.p74ce-md.p74ce-md .p74cmd__lanepill b{ font-size:16px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow{ padding:13px 15px 13px 17px !important; gap:13px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-thumbwrap,
.p74ce-md.p74ce-md .p74cmd__lrow-thumb{ width:57px !important; height:57px !important; flex-basis:57px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-mono{ font-size:19px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-ordcol{ flex-basis:20px !important; width:20px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-order{ font-size:12px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-mv{ width:20px !important; height:15px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-mv svg{ width:13px !important; height:13px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-name{ font-size:15px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-sub{ font-size:12.5px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-total{ font-size:15px !important; }
.p74ce-md.p74ce-md .p74cmd__lrow-cue,
.p74ce-md.p74ce-md .p74cmd__lrow-upd{ font-size:10.5px !important; }
.p74ce-md.p74ce-md .p74cmd__master-empty{ font-size:15px !important; }
/* -- detail header (right) -- */
.p74ce-md.p74ce-md .p74cmd__did{ font-size:12.5px !important; }
.p74ce-md.p74ce-md .p74cmd__cover{ width:135px !important; height:100px !important; }
.p74ce-md.p74ce-md .p74cmd__name{ font-size:27px !important; }
.p74ce-md.p74ce-md .p74cmd__addr{ font-size:15px !important; }
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__dhead-right .p74c__status_select{ font-size:13.5px !important; height:41px !important; padding:8px 34px 8px 14px !important; min-width:168px !important; }
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__tools .p74c__xbtn,
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__tools .btn-order-move-top,
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a,
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del .btn{ width:38px !important; min-width:38px !important; height:38px !important; min-height:38px !important; font-size:15px !important; }
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a.delete_button .glyphicon{ font-size:16px !important; }
/* -- flags toggles -- */
.p74ce-md.p74ce-md .p74cmd__sw-track{ width:42px !important; height:23px !important; border-radius:12px !important; }
.p74ce-md.p74ce-md .p74cmd__sw-track::after{ width:19px !important; height:19px !important; top:2px !important; left:2px !important; }
.p74ce-md.p74ce-md .p74cmd__sw input:checked + .p74cmd__sw-track::after,
.p74ce-md.p74ce-md .p74cmd__sw-track.is-on::after{ left:21px !important; }
.p74ce-md.p74ce-md .p74cmd__sw-lbl{ font-size:14px !important; }
/* -- detail sections + money receipt -- */
.p74ce-md.p74ce-md .p74cmd__sec-title{ font-size:15px !important; }
.p74ce-md.p74ce-md .p74cmd__sec-hint{ font-size:13px !important; }
.p74ce-md.p74ce-md .p74cmd__reclabel{ font-size:14px !important; }
.p74ce-md.p74ce-md .p74cmd__rechint{ font-size:12px !important; }
.p74ce-md.p74ce-md .p74cmd__recfig .p74c-quiet.p74c-quiet.p74c-quiet{ font-size:17.5px !important; }
.p74ce-md.p74ce-md .p74cmd__recline--total .p74cmd__reclabel{ font-size:15px !important; }
.p74ce-md.p74ce-md .p74cmd__recline--total .p74c-quiet.p74c-quiet.p74c-quiet{ font-size:21px !important; }
.p74ce-md.p74ce-md .p74cmd__reclabel .p74c__pill--pct{ font-size:12px !important; }
.p74ce-md.p74ce-md .p74cmd__na-tag{ font-size:12.5px !important; }
/* -- outcome cards (CLIENT PAYS / MEMBER EARNS) -- */
.p74ce-md.p74ce-md .p74cmd__outcard-lbl{ font-size:12.5px !important; }
.p74ce-md.p74ce-md .p74cmd__outcard-val{ font-size:30px !important; }
.p74ce-md.p74ce-md .p74cmd__outcard-foot,
.p74ce-md.p74ce-md .p74cmd__outhint{ font-size:12px !important; }
/* ED-BIG fix: keep the Delete button icon-only (my tools font bump re-showed the
   "Delete" text label which the base hides with font-size:0). Re-assert 0 on the
   anchor text; the glyph size bump above stands. */
.p74ce-md.p74ce-md .p74cmd__card .p74cmd__tools .p74cmd__tools-del a.delete_button{ font-size:0 !important; }
/* ED-BIG cont. — the top META record card (.p74ce-rec) uses its OWN selectors
   (.p74ce-lbl / .p74ce-rec .p74c-quiet / .p74ce-rec-head-*), not .p74ce-hdr-field.
   Bump those too so the whole editor scales, not just master+detail. */
.p74ce-md.p74ce-md .p74ce-lbl{ font-size:11px !important; }
.p74ce-md.p74ce-md .p74ce-rec .p74c-quiet.p74c-quiet{ font-size:15px !important; min-height:32px !important; padding:4px 2px !important; }
.p74ce-md.p74ce-md .p74ce-rec .p74ce-ro .p74ce-ro-line,
.p74ce-md.p74ce-md .p74ce-rec .p74ce-ro-v{ font-size:15px !important; min-height:32px !important; }
.p74ce-md.p74ce-md .p74ce-rec-head-lbl{ font-size:13px !important; }
.p74ce-md.p74ce-md .p74ce-rec-head-sum{ font-size:15px !important; }
.p74ce-md.p74ce-md .p74ce-rec-head-upd{ font-size:11px !important; }
.p74ce-md.p74ce-md .p74ce-rec .field_event_producer .select2-selection__choice{ font-size:15.5px !important; line-height:32px !important; }
.p74ce-md.p74ce-md .p74ce-rec textarea.p74c-quiet.p74c-quiet{ font-size:14.5px !important; }

/* ED-WIDE (2026-07-07) — owner: use the unused left/right white space; the editor
   was capped at 1240px centered. Widen the cap responsively (fills wide staff
   screens, keeps a small gutter) and give the bigger master list a touch more
   room. Applies to the crumb + meta record card + two-pane (all read the var). */
.p74ce-md{ --p74cmd-maxw:min(1720px, calc(100% - 40px)) !important; }
.p74ce-md.p74ce-md .p74cmd{ grid-template-columns:360px minmax(0,1fr) !important; }

/* ED-FOOT (2026-07-07) — owner: weird horizontal lines at the page bottom + too
   little space before the footer. The redesigned last section correctly has no
   border, but the LEGACY table markup under the detail card still draws two
   stray full-width rules (the active <tr> grey border + the table.pl_table black
   border). Kill them, and add breathing room before the site footer. */
.p74ce-md.p74ce-md .listings_table,
.p74ce-md.p74ce-md table.pl_table,
.p74ce-md.p74ce-md .listings_table > tbody > tr,
.p74ce-md.p74ce-md .listings_table > tbody > tr.is-active,
.p74ce-md.p74ce-md .listings_table_hidden{ border:0 !important; }
.p74ce-md.p74ce-md .listings_table > tbody > tr.is-active > td,
.p74ce-md.p74ce-md .listings_table > tbody > tr.is-active > th{ border-bottom:0 !important; }
/* space before the footer (the two-pane butted straight into it) */
.p74ce-md.p74ce-md .p74cmd{ margin-bottom:64px !important; }

/* ============================================================================
   OWNER FEEDBACK #6 (2026-07-08) — "Collection details" top card read grey-on-grey
   and was straining to scan; Producer + Scout were merged and Scout wrapped oddly.
   Fix: raise the CONTRAST (black caps labels + black fine lines) and re-organise
   the meta into four clearly-labelled bands (Overview · Schedule · Production ·
   Plush74 Scout). Quiet-field language is kept; only line/label colour changes.
   Scoped to the STAFF card (.p74ce-md .p74ce-rec) — the non-staff client editor
   (.p74ce-root:not(.p74ce-md)) is untouched.
   ------------------------------------------------------------------------------
   One lever: redefine the two greyscale tokens LOCALLY on the card, so every
   descendant `var(--p74c-hair)` line and `var(--p74c-muted)` label/value inside
   the card resolves to ink — no per-rule edits, nothing leaks past the card. */
.p74ce-md .p74ce-rec{
  --p74c-hair:var(--p74c-ink,#111);   /* card border + band dividers + field underlines → black fine lines */
  --p74c-muted:var(--p74c-ink,#111);  /* caps labels + collapse-summary + read-only values → black */
}
/* Re-introduce the band group labels (retired at ED-20) — the owner now wants the
   top part explicitly organised + boxed. Black small-caps eyebrow above each band. */
.p74ce-md .p74ce-recgrp-h{
  display:block; margin:0 0 9px;
  font-family:var(--p74c-font-disp); font-size:9.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--p74c-ink,#111);
}

/* ===== feedback #12/#13 (2026-07-08): shortlist toggle + yellow row marking ===== */
/* toggle square at the row's far right — hairline at rest, lime + ink ✓ when on */
.p74cmd__lrow-sl{ flex:0 0 auto; align-self:center; width:18px; height:18px; border:1px solid rgba(17,17,17,.3); display:flex; align-items:center; justify-content:center; font-size:11px; line-height:1; color:transparent; background:var(--p74c-paper,#fff); transition:background .12s, border-color .12s, color .12s; }
.p74cmd__lrow-sl:hover{ border-color:var(--p74c-ink,#111); }
.p74cmd__lrow.is-shortlisted .p74cmd__lrow-sl{ background:var(--p74c-lime,#E9FF75); border-color:var(--p74c-ink,#111); color:var(--p74c-ink,#111); }
/* #13: shortlisted rows read YELLOW — pale lime fill at rest; hover/active still win */
.p74cmd__lrow.is-shortlisted:not(.is-active):not(:hover){ background:#FBFFDE; }
.p74cmd__lrow.is-shortlisted:not(.is-active):hover{ background:#F4FCC8; }
/* ED-BIG scale parity */
.p74ce-md.p74ce-md .p74cmd__lrow-sl{ width:22px !important; height:22px !important; font-size:13px !important; }

/* ===== 2026-07-08 owner follow-ups: tpf toggle · shortlist-at-number · internal strip ===== */
/* the 3rd-party-fee receipt line is collection-optional — hidden until .is-tpf-on */
.p74cmd .p74cmd__recline--tpf{ display:none; }
.p74cmd.is-tpf-on .p74cmd__recline--tpf{ display:grid; }
/* top option bar (above the two panes): quiet, right-aligned kit switch */
.p74cmd-optbar{ display:flex; justify-content:flex-end; padding:6px 0 8px; }
.p74cmd-opt{ display:inline-flex; align-items:center; gap:7px; cursor:pointer; font-family:var(--p74c-font-disp); font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--p74c-muted,#777); margin:0; }
.p74cmd-opt input{ width:15px; height:15px; accent-color:#111; cursor:pointer; margin:0; }
.p74cmd-opt:hover{ color:var(--p74c-ink,#111); }
/* shortlisted rows read AT THE NUMBER too: lime-filled order square with ink digit */
.p74cmd__lrow.is-shortlisted .p74cmd__lrow-order{ background:var(--p74c-lime,#E9FF75); color:var(--p74c-ink,#111); min-width:16px; text-align:center; padding:1px 0; }
/* VIEW-ONLY internal strip under the outcome cards */
.p74cmd__internal{ grid-column:1 / -1; margin-top:12px; border:1px solid var(--p74c-hair,#e5e5e2); background:var(--p74c-soft,#f7f7f5); padding:10px 14px 12px; }
.p74cmd__internal-h{ font-family:var(--p74c-font-disp); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--p74c-muted,#777); margin-bottom:8px; }
.p74cmd__internal-cells{ display:flex; gap:28px; flex-wrap:wrap; }
.p74cmd__internal-cell{ min-width:150px; }
.p74cmd__internal-lbl{ display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--p74c-muted,#777); margin-bottom:2px; }
.p74cmd__internal-val{ font-size:15px; font-weight:700; color:var(--p74c-ink,#111); font-variant-numeric:tabular-nums; }
/* ED-BIG scale parity */
.p74ce-md.p74ce-md .p74cmd-opt{ font-size:12.5px !important; }
.p74ce-md.p74ce-md .p74cmd-opt input{ width:18px !important; height:18px !important; }
.p74ce-md.p74ce-md .p74cmd__internal-lbl{ font-size:12px !important; }
.p74ce-md.p74ce-md .p74cmd__internal-val{ font-size:19px !important; }
.p74ce-md.p74ce-md .p74cmd__internal-h{ font-size:11.5px !important; }

/* toggle moved INTO the money sec-head (owner round 2) — neutralize theme checkbox
   scaling/margins so the box never overlaps its label; keep it on one line */
.p74cmd-opt--inhead{ margin-left:auto; white-space:nowrap; align-self:center; }
.p74cmd__sec-head .p74cmd-opt input{ margin:0 !important; transform:none !important; scale:none !important; position:static !important; flex:0 0 auto; appearance:auto; -webkit-appearance:checkbox; }
