
        .studio-home-meta {
          display: flex; align-items: center; justify-content: space-between;
          margin-bottom: 36px;
        }
        .studio-home-meta-left {
          display: flex; align-items: center; gap: 12px;
          font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase;
          color: var(--ink); font-weight: 600;
        }
        .studio-home-meta-left .sep { color: var(--border-2); font-weight: 400; }
        .studio-home-meta-left .label {
          font-weight: 400; color: var(--ink-3); letter-spacing: 0.06em;
        }
        .studio-home-meta-right {
          font-family: 'JetBrains Mono', monospace;
          font-size: 11px; color: var(--ink-3); letter-spacing: 0.04em;
        }
        .studio-home-chips { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
        .studio-home-chip {
          display: inline-flex; align-items: center; gap: 7px;
          padding: 6px 14px; border-radius: 999px;
          font-size: 11.5px; font-weight: 500; letter-spacing: 0.02em;
          border: 1px solid;
        }
        .studio-home-chip::before {
          content: ""; width: 6px; height: 6px; border-radius: 999px;
          background: currentColor; opacity: 0.7;
        }
        .studio-home-chip.ink   { background: var(--cream-soft); color: var(--ink-2); border-color: var(--border-2); }
        .studio-home-chip.sage  { background: var(--sage-soft); color: var(--sage-ink); border-color: #C9DFB8; }
        .studio-home-chip.clay  { background: var(--clay-soft); color: var(--clay); border-color: #E8C6B2; }
        .studio-home-headline {
          /* 2026-05-23 · was 68px — matched to index.html's biggest
             section-headline scale (38px) so the studio home reads as
             part of the same family as the main dashboard. */
          font-size: 36px; line-height: 1.05; letter-spacing: -0.02em;
          font-weight: 600; color: var(--ink);
          margin: 0 0 20px;
        }
        .studio-home-headline em {
          font-family: 'Instrument Serif', Georgia, serif;
          font-style: italic; font-weight: 400;
        }
        .studio-home-sub {
          font-size: 14px; line-height: 1.6;
          color: var(--ink-3); max-width: 720px;
          margin: 0 0 40px;
        }
        .studio-fig-wrap {
          position: relative; padding: 28px 4px 8px;
          margin-bottom: 36px;
        }
        .studio-fig-corner {
          position: absolute; top: 0;
          font-family: 'JetBrains Mono', monospace;
          font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
          color: var(--ink-4);
        }
        .studio-fig-corner.left  { left: 4px; }
        .studio-fig-corner.right { right: 4px; }
        .studio-kpi-grid {
          display: grid; grid-template-columns: repeat(6, 1fr);
          gap: 16px; margin-top: 24px;
        }
        .studio-kpi-card {
          background: var(--bg-card, white);
          border: 1px solid var(--border);
          border-radius: 10px;
          padding: 20px 18px;
        }
        .studio-kpi-lbl {
          font-family: 'JetBrains Mono', monospace;
          font-size: 9.5px; letter-spacing: 0.08em; text-transform: uppercase;
          color: var(--ink-4);
        }
        .studio-kpi-val {
          font-family: 'Instrument Serif', Georgia, serif;
          font-style: italic; font-weight: 400;
          /* 2026-05-23 · was 32px — matched ws-budget-val (28px) so home-
             page KPI cards feel like the same scale as project hero. */
          font-size: 24px; color: var(--ink);
          margin-top: 6px; line-height: 1.1;
        }
        .studio-kpi-foot {
          font-family: 'JetBrains Mono', monospace;
          font-size: 10px; color: var(--ink-4);
          margin-top: 6px; letter-spacing: 0.04em;
        }
        /* ── PER-BID ROWS ──
           2026-05-15: removed the under-row range bar with dots.
           Steven: "lets get rid of these lines w the dots, it makes no
           sense - it makes it seem like the bids are SO far apart when
           they are actually v close to each other".  The proportional-
           positioning made tight ranges (e.g. Sierra $3,403k vs $3,405k
           — $2,623 spread) visually exaggerate the gap because the
           markers stretched across the full track width regardless of
           absolute dollar spread.  Rows now reverted to single-line
           grid layout. */
        .studio-bid-table { display: flex; flex-direction: column; gap: 0; margin-top: 24px; }
        .studio-bid-row {
          display: grid;
          /* Layout (left → right):
             status pill · title+meta · DUE DATE (new) · Cortex BU · Cortex Comp · OWP Submitted · arrow
             Steven 2026-05-27: "can we add due date - that is critical info"
             Was: 100px minmax(260px,1fr) 170px 170px 170px 24px
             Now: 100px minmax(220px,1fr) 110px 150px 150px 150px 24px (added 110px DUE col) */
          grid-template-columns: 100px minmax(220px, 1fr) 110px 150px 150px 150px 24px;
          align-items: center; gap: 14px;
          padding: 5px 16px;  /* Option A compact rows (SY 2026-06-15) */
          border-top: 1px solid var(--border);
          cursor: pointer;
          transition: background 0.12s ease;
        }
        /* Sticky column-header — labels print ONCE here instead of on every row
           (Option A · SY 2026-06-15). Same grid as the row so cells line up. */
        .studio-bid-colhdr {
          display: grid;
          grid-template-columns: 100px minmax(220px, 1fr) 110px 150px 150px 150px 24px;
          align-items: center; gap: 14px;
          padding: 6px 16px 5px;
          position: sticky; top: 0; z-index: 6;
          background: var(--cream, #fbf8f3);
          border-bottom: 1.5px solid var(--ink-5, #d9d2c6);
          font-family: 'JetBrains Mono', monospace;
          font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase;
          color: var(--ink-4);
        }
        .studio-bid-colhdr .num { text-align: right; }
        /* PROJECT · single-line title (Option A) */
        .studio-bid-proj { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .studio-bid-rowmeta { font-family: 'JetBrains Mono', monospace; font-size: 10px; color: var(--ink-4); }
        /* DUE · one-line colored text (no box · Option A) */
        .studio-bid-due {
          font-family: 'JetBrains Mono', monospace;
          font-size: 12px; font-weight: 700; line-height: 1.15;
          white-space: nowrap; color: var(--ink-3);
        }
        .studio-bid-due-days { font-size: 10px; font-weight: 400; opacity: 0.75; letter-spacing: 0.04em; }
        .studio-bid-due.urgent { color: #c93545; }
        .studio-bid-due.soon   { color: var(--clay); }
        .studio-bid-due.normal { color: var(--sage-ink); }
        .studio-bid-due.muted  { color: var(--ink-4); font-weight: 400; }
        .studio-bid-row:last-child { border-bottom: 1px solid var(--border); }
        /* Stage section headers (SY 2026-06-02 · grouped + urgency-sorted board) */
        .studio-bid-group-hdr {
          font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.14em;
          text-transform: uppercase; font-weight: 700; color: var(--ink-3);
          padding: 16px 0 6px; margin-top: 6px; border-bottom: 1.5px solid var(--ink-5);
          display: flex; align-items: center; gap: 8px;
        }
        .studio-bid-group-hdr:first-child { margin-top: 0; padding-top: 2px; }
        .studio-bid-group-n {
          background: rgba(60,60,60,0.10); color: var(--ink-3); border-radius: 10px;
          padding: 1px 8px; font-size: 10px; font-weight: 600; letter-spacing: 0.04em;
        }
        .studio-bid-row:hover { background: var(--cream-soft); }
        .studio-bid-status {
          display: inline-flex; align-items: center; gap: 6px;
          padding: 4px 10px; border-radius: 999px;
          font-size: 10px; font-weight: 600; letter-spacing: 0.06em;
          text-transform: uppercase;
        }
        .studio-bid-status::before {
          content: ""; width: 6px; height: 6px; border-radius: 999px;
          background: currentColor;
        }
        .studio-bid-status.sage  { background: var(--sage-soft); color: var(--sage-ink); }
        .studio-bid-status.clay  { background: var(--clay-soft); color: var(--clay); }
        .studio-bid-status.ink   { background: #EFECE6; color: var(--ink-3); }
        /* Stage-specific pills — palette matches the LIFECYCLE_UI + top
           stage cards so the row pill, sidebar chip, and stage-card all
           read as the same colorway per stage. */
        .studio-bid-status.intake    { background: rgba(207,179,116,0.20); color: #8c6f2a; }
        .studio-bid-status.analyzing { background: rgba(184,92,62,0.18);   color: var(--clay); }
        .studio-bid-status.drafting  { background: rgba(207,179,116,0.32); color: #7a5d1a; }
        .studio-bid-status.submitted { background: #4a8f5f;                color: #FFFFFF; }  /* green · matches the sidebar submitted dot · softer than black */
        .studio-bid-status.won       { background: rgba(135,158,107,0.40); color: var(--sage-ink); }
        .studio-bid-status.lost      { background: rgba(60,60,60,0.18);    color: var(--ink-2); }
        .studio-bid-status.expired   { background: rgba(60,60,60,0.10);    color: var(--ink-3); }
        .studio-bid-status.declined  { background: rgba(60,60,60,0.10);    color: var(--ink-3); }
        .studio-bid-id {
          font-family: 'JetBrains Mono', monospace;
          font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase;
          color: var(--clay); font-weight: 600;
          margin-bottom: 2px;  /* was 4px — tighter row stack */
        }
        /* Multi-round badge — appended to .studio-bid-id when the project
           has bid_rounds.length > 1. Clay color for the round count, muted
           gray for the "GC SWAP" annotation so the round count reads first. */
        .studio-bid-round-badge {
          display: inline-block;
          margin-left: 4px;
          padding: 1px 5px;
          border-radius: 3px;
          font-family: 'JetBrains Mono', monospace;
          font-size: 9px; letter-spacing: 0.08em; font-weight: 600;
          background: rgba(184,92,62,0.14);
          color: var(--clay);
        }
        .studio-bid-round-badge.gc-swap {
          background: transparent;
          color: var(--ink-3);
          padding: 1px 2px;
        }
        .studio-bid-name {
          font-size: 14px; line-height: 1.15;  /* was 18px → 15 → 14 · tighter rows */
          color: var(--ink);
          /* Force single-line so a long project name (e.g. "Chinn 1200 116th
             Ave NE") doesn't wrap to 3 lines and triple the row height. */
          white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        }
        .studio-bid-name .gc {
          font-weight: 600;
          font-family: 'Inter', sans-serif;
        }
        .studio-bid-name .proj {
          font-family: 'Instrument Serif', Georgia, serif;
          font-style: italic; font-weight: 400;
          margin-left: 0.28em;
        }
        .studio-bid-meta {
          font-size: 11px; color: var(--ink-3);  /* was 11.5px */
          margin-top: 2px;                       /* was 4px */
          white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        }
        .studio-bid-tile {
          display: flex; flex-direction: column; gap: 1px;  /* was 2px */
        }
        /* right-align the money columns so prices scan straight down (Option A) */
        .studio-bid-tile.num { align-items: flex-end; text-align: right; }
        .studio-bid-tile-lab {
          font-family: 'JetBrains Mono', monospace;
          font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase;
          color: var(--ink-4);
        }
        .studio-bid-tile-val {
          font-family: 'JetBrains Mono', monospace;
          font-size: 13px; font-weight: 500;  /* was 16px → 14 → 13 · tighter rows */
          color: var(--ink); letter-spacing: -0.01em;
        }
        .studio-bid-tile-val.muted { color: var(--ink-4); font-weight: 400; }
        .studio-bid-tile-val.cortex { color: var(--clay); }
        .studio-bid-tile-sub {
          font-size: 10px; color: var(--ink-4);
          font-family: 'JetBrains Mono', monospace;
          /* never wrap — the sub-line was wrapping to 3 lines on draft bids and
             tripling the row height (SY 2026-06-14) */
          white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
        }
        /* Compact sourcing-status icon (replaced the long "DRAFT · X% sourced"
           prose). ⚑ = draft/needs-work, ✓ = sourced. Detail in the tooltip. */
        .bid-src-flag { cursor: help; margin-left: 4px; font-size: 11px;
          font-family: 'Apple Color Emoji', 'Segoe UI Symbol', 'Noto Sans Symbols2', sans-serif; }
        .bid-src-flag.draft { color: var(--clay); font-weight: 700; }
        .bid-src-flag.ok    { color: var(--sage-ink); font-weight: 400; }
        .studio-bid-arrow {
          font-family: 'JetBrains Mono', monospace;
          font-size: 18px;
          color: var(--ink-4);
          text-align: right;
        }
        .studio-bid-row:hover .studio-bid-arrow { color: var(--clay); }
