/* Review queue — the gate board (Wave 3 · Card 10 part 2, AGE-63 / doc 78 + doc 85). Page-specific styles for
   the four-column approval board, its request cards, the per-request detail (gates + goals checklist, approval
   chain, ledger, reviewer email preview), and the two terminal shelves. Uses the shared shell tokens only
   (--panel/--line/--ink/--muted/--accent/--warn-*/--danger); no new colour vocabulary. Light + dark come free
   from the token set. Mirrors the draft-plan.css conventions (the sibling Scenario Planning mode page). */

.rq-wrap{display:flex;flex-direction:column;gap:var(--space-4);}

/* identity picker + state label + top actions */
.rq-identity{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--fs-small);}
.rq-identity label{color:var(--muted);font-weight:var(--fw-semibold);text-transform:uppercase;font-size:var(--fs-micro);letter-spacing:0.5px;}
.rq-identity select{font-family:var(--font-sans);font-size:var(--fs-small);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 10px;}
.rq-acting-note{color:var(--muted);font-style:italic;}
.rq-state{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;}
.rq-state-pill{display:inline-flex;align-items:center;gap:6px;background:var(--accent-soft);color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:var(--fs-small);font-weight:var(--fw-semibold);}
.rq-actions-top{display:flex;gap:var(--space-2);}

/* buttons */
.rq-btn{font-family:var(--font-sans);font-size:var(--fs-small);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;}
.rq-btn:hover{border-color:var(--accent);color:var(--accent);}
.rq-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.rq-btn.primary:hover{filter:brightness(1.05);color:var(--on-accent);}
.rq-btn.danger{color:var(--danger);border-color:var(--warn-line);}
.rq-btn[disabled]{opacity:0.5;cursor:not-allowed;}
.rq-btn.is-inert{opacity:0.6;cursor:default;pointer-events:none;}
.rq-mini{font-family:var(--font-sans);font-size:var(--fs-micro);color:var(--accent);background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px 8px;cursor:pointer;margin-left:6px;}
.rq-mini:hover{border-color:var(--accent);}

/* the board grid — four gate columns */
.rq-board{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3);align-items:start;}
@media (max-width:900px){.rq-board{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.rq-board{grid-template-columns:1fr;}}
.rq-col{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);min-height:120px;}
.rq-col-h{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;}
.rq-col-t{font-weight:var(--fw-semibold);font-size:var(--fs-small);}
.rq-col-n{background:var(--panel);border:1px solid var(--line);border-radius:999px;font-size:var(--fs-micro);padding:1px 8px;color:var(--muted);}
.rq-goals{list-style:none;margin:0;padding:2px 6px 6px;display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px dashed var(--line);}
.rq-goals li{font-size:var(--fs-micro);color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1px 6px;}
.rq-col-body{display:flex;flex-direction:column;gap:var(--space-2);}
.rq-empty{color:var(--muted);font-size:var(--fs-small);padding:var(--space-2) 6px;font-style:italic;}

/* W5-12 — "Waiting on you": the acting identity's personal queue (the rows it can act on now), then a collapsed
   "Elsewhere in review" holding the rest of the four-gate board. */
.rq-mine{display:flex;flex-direction:column;gap:var(--space-3);}
.rq-mine-h{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;}
.rq-mine-t{font-weight:var(--fw-semibold);font-size:var(--fs-h2);}
.rq-mine-sub{color:var(--muted);font-size:var(--fs-small);}
.rq-mine-n{margin-left:auto;}
.rq-mine-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-3);align-items:start;}
@media (max-width:560px){.rq-mine-list{grid-template-columns:1fr;}}
.rq-mine-empty{color:var(--muted);font-size:var(--fs-small);background:var(--bg);border:1px dashed var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin:0;}
.rq-elsewhere{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);}
.rq-elsewhere>summary{cursor:pointer;font-weight:var(--fw-semibold);font-size:var(--fs-small);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;}
.rq-elsewhere>summary::-webkit-details-marker{color:var(--muted);}
.rq-elsewhere[open]>summary{margin-bottom:var(--space-3);border-bottom:1px solid var(--line);padding-bottom:var(--space-2);}
.rq-elsewhere-copy{color:var(--muted);font-size:var(--fs-small);margin:0 0 var(--space-3);}

/* request cards */
.rq-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3);cursor:pointer;display:flex;flex-direction:column;gap:6px;text-align:left;}
.rq-card:hover,.rq-card:focus-visible{border-color:var(--accent);box-shadow:var(--shadow);outline:none;}
.rq-card-h{display:flex;align-items:center;justify-content:space-between;gap:6px;}
.rq-id{font-family:var(--font-mono);font-size:var(--fs-micro);color:var(--muted);}
.rq-card-t{font-size:var(--fs-small);font-weight:var(--fw-semibold);margin:0;line-height:var(--lh-tight);}
.rq-route{font-size:var(--fs-micro);color:var(--muted);}
.rq-age{font-size:var(--fs-micro);color:var(--muted);}
.rq-age.is-stale{color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--radius-sm);padding:0 6px;}
.rq-card-f{display:flex;flex-direction:column;gap:4px;margin-top:2px;}
.rq-holder{font-size:var(--fs-micro);color:var(--ink);}
.rq-holder.rq-unresolved{color:var(--warn-ink);}
.rq-flag{font-size:var(--fs-micro);border-radius:var(--radius-sm);padding:2px 6px;}
.rq-flag.rq-prov{color:var(--warn-ink);background:var(--warn-bg);border:1px solid var(--warn-line);}
.rq-flag.rq-revised{color:var(--accent);background:var(--accent-soft);border:1px solid var(--line);}

/* the four frozen figures */
.rq-figs{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin:2px 0;}
.rq-figs>div{display:flex;flex-direction:column;}
.rq-figs dt{font-size:var(--fs-micro);color:var(--muted);}
.rq-figs dd{margin:0;font-size:var(--fs-small);font-weight:var(--fw-medium);}

/* terminal shelves below the board */
.rq-terminals{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3);}
@media (max-width:560px){.rq-terminals{grid-template-columns:1fr;}}
.rq-term{background:var(--bg);border:1px dashed var(--line);border-radius:var(--radius-md);padding:var(--space-2);}
.rq-term-h{font-weight:var(--fw-semibold);font-size:var(--fs-small);padding:4px 6px;color:var(--muted);}
.rq-term-body{display:flex;flex-direction:column;gap:var(--space-2);}

.rq-note{color:var(--muted);font-size:var(--fs-small);border-top:1px solid var(--line);padding-top:var(--space-3);}
.rq-lead,.rq-intro .rq-lead{color:var(--ink);font-size:var(--fs-body);}

/* per-request detail */
.rq-detail{display:flex;flex-direction:column;gap:var(--space-3);}
.rq-detail-h{display:flex;align-items:center;gap:var(--space-3);}
.rq-detail h3{margin:0;font-size:var(--fs-h2);}
.rq-cols2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start;}
@media (max-width:800px){.rq-cols2{grid-template-columns:1fr;}}
.rq-eyebrow{font-size:var(--fs-micro);letter-spacing:0.6px;text-transform:uppercase;color:var(--muted);font-weight:var(--fw-semibold);margin:var(--space-3) 0 var(--space-2);}
.rq-actbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-3) 0;}
/* finding 49 — the active gate's actions always render; a disabled control's reason is shown here, and a
   resolved (terminal/approved) row shows an honest read-only line instead of an empty bar. */
.rq-actbar-reason{flex-basis:100%;margin:0;color:var(--warn-ink);font-size:var(--fs-small);}
.rq-actbar-hint{color:var(--muted);}
.rq-actbar-note{flex-basis:100%;margin:0;color:var(--muted);font-size:var(--fs-micro);}
.rq-actbar-resolved{color:var(--muted);}
.rq-actbar-resolved .rq-actbar-reason{color:var(--muted);}
.rq-gate{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);}
.rq-gate.is-active{border-color:var(--accent);}
.rq-gate h4{margin:0 0 var(--space-2);font-size:var(--fs-small);}
.rq-gate-goals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.rq-gate-goals li{font-size:var(--fs-small);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.rq-sub{color:var(--muted);font-size:var(--fs-micro);}
/* M-G-02 — the "when + by whom" stamp on each met check. M-G-05(d) — the unbound-holder guidance line + its
   Settings link. M-G-04 — the one-line sign-off-model note above the gate checks. */
.rq-stamp{color:var(--muted);font-size:var(--fs-micro);font-style:italic;}
.rq-unresolved-line{color:var(--warn-ink);}
.rq-unresolved-line a{color:var(--accent);}
.rq-model-note{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--fs-micro);line-height:1.4;}
.rq-pill{display:inline-block;font-size:var(--fs-micro);border-radius:999px;padding:1px 8px;border:1px solid var(--line);color:var(--muted);background:var(--panel);}
.rq-pill.ok{color:var(--accent2);border-color:var(--accent2);}
.rq-pill.warn{color:var(--warn-ink);background:var(--warn-bg);border-color:var(--warn-line);}
.rq-chain{display:flex;flex-direction:column;gap:4px;}
.rq-chain-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-small);border-bottom:1px solid var(--line);padding-bottom:4px;}
.rq-ledger{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-small);}
.rq-ledger li{color:var(--ink);}

/* reviewer email preview */
.rq-email{border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;background:var(--panel);}
.rq-email-h{background:var(--bg);padding:6px var(--space-3);border-bottom:1px solid var(--line);font-size:var(--fs-micro);color:var(--muted);}
.rq-email-subj{padding:6px var(--space-3);font-weight:var(--fw-semibold);font-size:var(--fs-small);border-bottom:1px solid var(--line);}
.rq-email-body{padding:var(--space-3);font-size:var(--fs-small);}
.rq-email-basis{color:var(--muted);font-size:var(--fs-micro);}
.rq-email-cta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);}
.rq-email-link{color:var(--accent);font-size:var(--fs-small);text-decoration:underline;}
.rq-email-note{padding:6px var(--space-3);background:var(--warn-bg);color:var(--warn-ink);font-size:var(--fs-micro);border-top:1px solid var(--warn-line);}

/* exit payload */
.rq-exit{border:1px solid var(--accent2);border-radius:var(--radius-md);padding:var(--space-3);background:var(--bg);}

/* Wave 7b — inline "Acting as" switch on the request detail (act without a board round-trip). */
.rq-detail-acting{margin-left:auto;font-size:var(--fs-small);color:var(--muted);display:inline-flex;align-items:center;gap:6px;}
.rq-detail-acting select{font-family:var(--font-sans);font-size:var(--fs-small);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-sm);padding:4px 8px;}
.rq-detail-h{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;}

/* W3-47 — board card leads with the name; the id + full-request link sit on a meta line inside the card. */
.rq-card-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);}
.rq-card-open{font-size:var(--fs-micro);color:var(--accent);text-decoration:none;white-space:nowrap;}
.rq-card-open:hover{text-decoration:underline;}

/* W3-35 — the actor-first action band at the top of the detail (actions immediately under the actor selector). */
.rq-actor-first{border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--accent-soft);}
.rq-actor-first .rq-eyebrow{margin-top:0;}
.rq-actor-first .rq-actbar{border-top:0;border-bottom:0;padding:var(--space-2) 0 0;}

/* W3-15 — the per-gate "who acts here" line. W3-38 — the ⓘ check-definition marker + its inline sentence. */
.rq-gate-who{margin:0 0 var(--space-2);}
.rq-info{color:var(--accent);font-weight:var(--fw-semibold);margin-left:2px;}
.rq-goal-def{font-style:italic;}

/* W3-39/W3-51 — the "Open the full request" link out of the detail's left column. */
.rq-open-full{margin:var(--space-3) 0 0;font-size:var(--fs-small);}
.rq-open-full a{color:var(--accent);}
/* W4-31 — a request that arrived from a Working-draft plan revision is flagged in its review context. */
.rq-flag.rq-revision{color:var(--accent);background:var(--accent-soft);border:1px solid var(--line);}

/* ============================================================================================================
   R52 — THE PLAN PACKAGE CARD. Renders above the board columns: the Board's view of the annual / 8-year package
   it approves as one (narrative · roster · one row per major item · total capital · alignment to direction).
   Shell tokens only; light + dark come free from the token set. ========================================== */
.pkg-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);}
.pkg-card.pkg-empty{gap:var(--space-2);box-shadow:none;background:var(--bg);}
.pkg-h{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;}
.pkg-eyebrow{display:block;}
.pkg-title{margin:2px 0 0;font-size:var(--fs-h2);font-weight:var(--fw-bold);color:var(--ink);}
.pkg-empty-lead{margin:0;font-weight:var(--fw-semibold);color:var(--ink);}
.pkg-empty-sub{margin:0;color:var(--muted);font-size:var(--fs-small);max-width:60ch;}
.pkg-brief{margin:0;color:var(--ink);font-size:var(--fs-small);line-height:var(--lh-body);background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);}
.pkg-brief-label{display:inline-block;text-transform:uppercase;letter-spacing:0.5px;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--accent);margin-right:6px;}

/* the roster table — Project | Business unit | Capex | Timeline | Status */
.pkg-roster{width:100%;border-collapse:collapse;font-size:var(--fs-small);}
.pkg-roster th,.pkg-roster td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);vertical-align:top;}
.pkg-roster thead th{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:0.5px;color:var(--muted);font-weight:var(--fw-semibold);border-bottom:1px solid var(--line);}
.pkg-roster tbody tr:last-child td{border-bottom:none;}
.pkg-roster .pkg-proj{font-weight:var(--fw-semibold);color:var(--ink);}
.pkg-roster .pkg-num{text-align:right;font-variant-numeric:tabular-nums;}
.pkg-status{display:inline-block;font-size:var(--fs-micro);font-weight:var(--fw-semibold);border-radius:999px;padding:1px 10px;border:1px solid var(--line);background:var(--panel);color:var(--muted);}
.pkg-status.ok{background:var(--accent-soft);color:var(--accent2);border-color:var(--line);}
.pkg-status.warn{background:var(--warn-bg);color:var(--warn-ink);border-color:var(--warn-line);}

/* the footer — total capital + progress + Approve package */
.pkg-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;border-top:1px solid var(--line);padding-top:var(--space-3);}
.pkg-total{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;}
.pkg-total-label{text-transform:uppercase;letter-spacing:0.5px;font-size:var(--fs-micro);font-weight:var(--fw-semibold);color:var(--muted);}
.pkg-total-figure{font-size:var(--fs-h2);font-weight:var(--fw-bold);color:var(--ink);font-variant-numeric:tabular-nums;}
.pkg-total-note{font-style:italic;}
.pkg-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;}
.pkg-approve-reason{margin:0;}

/* R53 — fan-out slice (a BU sponsor defends their own cases) + roll-up (REWS/CFO), + honest waiting */
.pkg-status.danger{background:var(--danger-bg,#fdecec);color:var(--danger-ink,#a4262c);border-color:var(--danger-line,#f3c9c9);}
.pkg-def-defend,.pkg-def-accel{background:var(--accent-soft);color:var(--accent2);}
.pkg-slice-lead,.pkg-waiting-lead{margin:0;color:var(--muted);font-size:var(--fs-small);max-width:70ch;}
.pkg-waiting-lead{color:var(--ink);}
.pkg-defend-actions{display:flex;gap:6px;flex-wrap:wrap;}
.pkg-trail{display:block;margin-top:2px;}
.pkg-cuts{display:flex;flex-direction:column;gap:var(--space-2);border-top:1px solid var(--line);padding-top:var(--space-3);}
.pkg-strip{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-small);}
.pkg-strip li{padding-left:var(--space-3);border-left:3px solid var(--line);}
.pkg-strip-cut{border-left-color:var(--danger-line,#f3c9c9);}
.pkg-strip-defer{border-left-color:var(--warn-line);}
.pkg-strip-accel{border-left-color:var(--accent);}
.pkg-strip-none{margin:0;}
.pkg-total-was{text-decoration:line-through;color:var(--muted);font-size:var(--fs-body);font-weight:var(--fw-semibold);}
.pkg-rollup .pkg-out td{opacity:0.6;}
.pkg-sent{font-weight:var(--fw-semibold);color:var(--accent2);}
@media (max-width:700px){.pkg-card{overflow-x:auto;}.pkg-foot{align-items:flex-start;}}
