/* next-r91-c.css (r91, builder C): Release and ClearGate, Release rules, Passports and Seals, Custody and recall.
   Kit tokens only (KIT.md section 2); no kit class is restyled here. Phone rules are at the end, under 700px. */

/* ---------- Release: records first ---------- */
.r91c-fold { margin: var(--s-6) 0 0; border: 1px solid var(--k-line); border-radius: var(--r-card); background: var(--gray-0); }
.r91c-fold > summary { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); cursor: pointer; list-style: none; font-size: var(--t-body-size); line-height: var(--t-body-lh); color: var(--gray-700); }
.r91c-fold > summary::-webkit-details-marker { display: none; }
.r91c-fold > summary .i { width: 16px; height: 16px; color: var(--k-mute); flex: none; }
.r91c-fold > summary > span { font-weight: var(--w-medium); color: var(--gray-900); }
.r91c-fold > summary > em { font-style: normal; color: var(--k-mute); font-size: var(--t-small-size); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.r91c-fold[open] > summary { border-bottom: 1px solid var(--k-line); }
.r91c-fold > .r91c-fold-body { margin: 0; border: 0; box-shadow: none; border-radius: 0 0 var(--r-card) var(--r-card); }
.r91c-rel > [data-v99card] { margin-top: var(--s-6); }
.r91c-staged { margin-top: var(--s-6); }
.r91c-t td .l1 { display: block; }
.r91c-t td .l2 { display: block; color: var(--k-mute); font-size: var(--t-small-size); line-height: var(--t-small-lh); }
.r91c-t td.r, .r91c-t th.r { text-align: right; }
.r91c-t tr[data-set] { cursor: pointer; }
.r91c-t tr[data-set]:hover td { background: var(--k-hover); }
.r91c-plan .vk-rows { margin-bottom: var(--s-4); }
.r91c-charge { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px var(--s-4); padding: var(--s-3) var(--s-4); border-radius: var(--r-ctl); background: var(--k-track); margin-bottom: var(--s-3); }
.r91c-charge > span { font-size: var(--t-small-size); color: var(--k-mute); }
.r91c-charge > b { font-size: var(--t-num-size); line-height: var(--t-num-lh); font-weight: var(--w-semibold); color: var(--gray-900); grid-row: span 2; align-self: center; }
.r91c-charge > small { font-size: var(--t-small-size); color: var(--gray-700); }

/* ---------- ClearGate: the board, the decision pane, the log ---------- */
.r91c-board { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: var(--s-4); align-items: start; margin-top: var(--s-4); }
.r91c-main { margin: 0; overflow: hidden; }
.r91c-bar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-2) var(--s-3); padding: var(--s-3) var(--s-4); border-bottom: 1px solid var(--k-line); }
.r91c-bar .sp { flex: 1 1 auto; }
.r91c-bar-t { display: flex; align-items: baseline; gap: var(--s-2); min-width: 0; }
.r91c-bar-t > b { font-size: var(--t-heading-size); line-height: var(--t-heading-lh); font-weight: var(--w-semibold); color: var(--gray-900); }
.r91c-bar-t > span { font-size: var(--t-small-size); }
.r91c-pol { display: inline-flex; align-items: center; gap: 4px; height: 28px; padding: 0 var(--s-3); border: 1px solid var(--k-line); border-radius: var(--r-ctl); font-size: var(--t-small-size); color: var(--gray-700); text-decoration: none; background: var(--gray-0); }
.r91c-pol b { font-weight: var(--w-medium); color: var(--gray-900); }
.r91c-pol:hover { background: var(--k-hover); }
.r91c-seg { margin: 0; }
.r91c-kpis { padding: var(--s-3) var(--s-4) 0; }
.r91c-main .tablewrap { margin-top: var(--s-3); border-top: 1px solid var(--k-line); }
.r91c-pane { position: sticky; top: var(--s-4); display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; }
.r91c-pane-h { display: flex; align-items: center; gap: var(--s-2); padding: 0 2px; }
.r91c-pane-h > b { font-size: var(--t-heading-size); font-weight: var(--w-semibold); color: var(--gray-900); }
.r91c-pane-h > .vk-meta { margin-left: auto; }
.r91c-gate { display: flex; flex-direction: column; gap: var(--s-2); padding-top: var(--s-3); border-top: 1px solid var(--k-line); }
.r91c-gate-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--s-2); }
.r91c-gate-h > b { font-size: var(--t-small-size); font-weight: var(--w-semibold); color: var(--gray-900); }
.r91c-gate-h > span { font-size: var(--t-small-size); color: var(--k-mute); }
.r91c-log { margin-top: var(--s-6); }
.r91c-log-g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); align-items: start; }
.r91c-log-g > .tablewrap { border-right: 1px solid var(--k-line); }
.r91c-receipt { padding: var(--s-4); display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; }
.r91c-rc-h { display: flex; align-items: center; gap: var(--s-2); }
.r91c-rc-h > b { font-size: var(--t-heading-size); font-weight: var(--w-semibold); }
.r91c-rc-h > .vk-meta { margin-left: auto; }
.r91c-kv { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px var(--s-3); margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); }
.r91c-kv dt { color: var(--k-mute); }
.r91c-kv dd { margin: 0; color: var(--gray-900); min-width: 0; overflow-wrap: anywhere; }
.r91c-rc-a { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }

/* ---------- Release rules: presets side by side, the two switches ---------- */
.r91c-presets-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
.r91c-preset { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-4); border: 1px solid var(--k-line); border-radius: var(--r-card); background: var(--gray-0); }
.r91c-preset.is-on { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.r91c-preset-h { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s-1) var(--s-2); }
form.grid > .r91c-presets { grid-column: 1 / -1; }
.r91c-preset-h > b { font-size: var(--t-heading-size); font-weight: var(--w-semibold); color: var(--gray-900); }
.r91c-preset-g { display: flex; flex-direction: column; gap: 4px; }
.r91c-preset-g > small { font-size: var(--t-label-size); line-height: var(--t-label-lh); color: var(--k-mute); }
.r91c-pr { position: relative; padding-left: 14px; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.r91c-pr::before { content: ""; position: absolute; left: 0; top: 6px; width: 6px; height: 6px; border-radius: 50%; background: var(--neutral-dot); }
.r91c-pr[data-tone="critical"]::before { background: var(--critical-dot); }
.r91c-pr[data-tone="attention"]::before { background: var(--attention-dot); }
.r91c-pr[data-tone="positive"]::before { background: var(--positive-dot); }
.r91c-pr[data-tone="info"]::before { background: var(--info-dot); }
.r91c-preset > .btn { align-self: flex-start; margin-top: auto; }
.r91c-presets { margin-bottom: var(--s-4); }
.r91c-switches { margin-top: var(--s-4); }
.r91c-sw { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: var(--s-3); padding: var(--s-3) 0; }
.r91c-sw + .r91c-sw { border-top: 1px solid var(--k-line); }
.r91c-sw b { display: block; font-size: var(--t-body-size); font-weight: var(--w-medium); color: var(--gray-900); }
.r91c-sw small { display: block; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--k-mute); }

/* ---------- phone ---------- */
@media (max-width: 699px) {
  .r91c-board { grid-template-columns: minmax(0, 1fr); }
  .r91c-pane { position: static; }
  .r91c-log-g { grid-template-columns: minmax(0, 1fr); }
  .r91c-log-g > .tablewrap { border-right: 0; border-bottom: 1px solid var(--k-line); }
  .r91c-presets-g { grid-template-columns: minmax(0, 1fr); }
  .r91c-sw { grid-template-columns: auto minmax(0, 1fr) auto; }
  .r91c-sw > .btn { grid-column: 2 / -1; justify-self: start; }
  .r91c-fold > summary > em { display: none; }
  .r91c-bar .sp { display: none; }
  .r91c-t .r91c-hide-p { display: none; }
}

/* ClearGate is its own tab: Release's other cards are not drawn on it */
.page.r91c-cg > :is(.v94-connect, .v95-bylot, [data-v99card], [data-r91c-staged], [data-r91c-fold]) { display: none; }
.r91c-t td.r91c-when { white-space: nowrap; }

/* ---------- Passports ---------- */
.r91c-code { margin-left: 4px; font-family: var(--font-id); font-size: var(--t-label-size); color: var(--k-mute); }
.r91c-open { display: block; margin-top: 2px; font-size: var(--t-small-size); color: var(--accent); text-decoration: none; }
.r91c-open:hover { text-decoration: underline; }
.r91c-openp { padding: 0 var(--s-4) var(--s-3); }
.r91c-scans { margin-top: var(--s-6); }
.r91c-pgrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: var(--s-4); align-items: start; }
.r91c-pmain { display: flex; flex-direction: column; gap: var(--s-4); min-width: 0; }
.r91c-pmain > * { margin: 0; }
.r91c-pid { margin-left: auto; font-family: var(--font-id); font-size: var(--t-label-size); color: var(--k-mute); white-space: nowrap; }
.r91c-reach { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s-3); padding: var(--s-3) var(--s-4); border-radius: var(--r-card); background: var(--hue-4-bg, var(--k-track)); border: 1px solid var(--k-line); }
.r91c-reach b { display: block; font-size: var(--t-body-size); font-weight: var(--w-semibold); color: var(--gray-900); }
.r91c-reach span { display: block; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--gray-700); }
.r91c-chaincard .card-b { padding-top: var(--s-4); }
.r91c-cardfoot { padding: var(--s-3) var(--s-4); border-top: 1px solid var(--k-line); font-size: var(--t-small-size); }
.r91c-ppane { position: sticky; top: var(--s-4); display: flex; flex-direction: column; gap: var(--s-3); min-width: 0; }
.r91c-passnote { margin: var(--s-3) 2px 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: #6E6E73; }
.r91c-ppnote { margin: 0; font-size: var(--t-small-size); line-height: var(--t-small-lh); color: var(--k-mute); }
@media (max-width: 699px) {
  .r91c-pgrid { grid-template-columns: minmax(0, 1fr); }
  .r91c-ppane { position: static; }
  .r91c-reach { grid-template-columns: auto minmax(0, 1fr); }
  .r91c-reach > .vk-meta { display: none; }
}

/* ---------- Custody and recall ---------- */
.r91c-custrec { margin-top: var(--s-4); margin-bottom: var(--s-6); }
.r91c-custrec tr[data-r91c-go] { cursor: pointer; }
.r91c-custrec tr[data-r91c-go]:hover td { background: var(--k-hover); }
.r91c-stnum { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-small-size); color: var(--k-mute); }
.r91c-dlead { margin: 0 0 var(--s-2); font-size: var(--t-small-size); color: var(--k-mute); }
.r91c-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.r91c-trace { margin: var(--s-4) 0 var(--s-6); }
.r91c-trace-f { display: flex; gap: var(--s-2); align-items: center; }
.r91c-trace-f > .field { flex: 1 1 auto; margin: 0; }
.r91c-trace-f input { width: 100%; }
.r91c-trace-r { display: flex; flex-direction: column; gap: var(--s-3); margin-top: var(--s-3); }
.r91c-trace-a { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.r91c-recallhead { margin: 0 0 var(--s-6); }
.r91c-rh-g { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--s-4); align-items: start; }
.r91c-rh-side { padding: var(--s-4); border: 1px solid var(--k-line); border-radius: var(--r-card); background: var(--gray-0); }
@media (max-width: 699px) {
  .r91c-2, .r91c-rh-g { grid-template-columns: minmax(0, 1fr); }
  .r91c-custrec .r91c-t th:nth-child(n+4):not(:last-child), .r91c-custrec .r91c-t td:nth-child(n+4):not(:last-child) { display: none; }
}
