/* =====================================================================================
   KYC review (admin) — /kyc-reviews and /kyc-reviews/{id}.
   Builds on the shared "Trust Ink" tokens (_content/Kyc.Dashboards.Shared/app.css).
   Prefixed .rv- so nothing leaks into other admin pages.
   ===================================================================================== */

/* ---------------------------------------------------------------- queue hero (list) */
.rv-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.6fr); gap: var(--s6); align-items: stretch; padding: var(--s6) var(--s7); margin-bottom: var(--s4); }
.rv-hero .eyebrow { color: var(--accent-on-ink); display: inline-flex; align-items: center; gap: var(--s2); }
.rv-hero .eyebrow .rzi { font-size: 1rem; }
.rv-hero-count { font-family: var(--font-title); font-size: 2.25rem; font-weight: 600; letter-spacing: -.03em; line-height: 1.05; margin-top: var(--s3); }
.rv-hero-count small { display: block; font-size: 1rem; font-weight: 500; letter-spacing: -.01em; color: rgba(244,246,251,.78); margin-top: 6px; }
.rv-hero-meta { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s4); font-size: var(--fs-xs); color: rgba(244,246,251,.66); }
.rv-hero-meta span { display: inline-flex; align-items: center; gap: 6px; }
.rv-hero-meta .rzi { font-size: .95rem; }
.rv-hero-meta b { color: #fff; font-weight: 600; }
.rv-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3); }
.rv-lane { position: relative; display: flex; flex-direction: column; gap: 6px; text-align: left; padding: var(--s4); border-radius: var(--radius); border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.04); color: #F4F6FB; font-family: var(--font-body); cursor: pointer; min-width: 0; }
.rv-lane:hover { background: rgba(255,255,255,.08); }
.rv-lane.on { border-color: var(--accent-on-ink); background: rgba(141,165,245,.12); }
.rv-lane .top { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); }
.rv-lane .ico { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: rgba(255,255,255,.08); }
.rv-lane .ico .rzi { font-size: 1.05rem; }
.rv-lane .n { font-family: var(--font-title); font-size: 1.75rem; font-weight: 600; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.rv-lane .n.zero { color: rgba(244,246,251,.4); }
.rv-lane .l { font-size: var(--fs-sm); font-weight: 600; }
.rv-lane .d { font-size: var(--fs-xs); color: rgba(244,246,251,.6); line-height: 1.4; }
.rv-lane.human .ico { color: #F7C66B; } .rv-lane.ai .ico { color: #FF9C94; } .rv-lane.provider .ico { color: var(--accent-on-ink); }

/* ---------------------------------------------------------------- list grid */
.rv-tabs-head { padding-top: 0; padding-bottom: 0; }
.rv-subfilter { display: flex; align-items: center; gap: var(--s2); }
.rv-case { display: flex; align-items: center; gap: var(--s3); min-width: 0; }
.rv-case .t { font-family: var(--font-mono); font-size: .75rem; font-weight: 600; color: var(--ink); }
.rv-case .s { font-size: var(--fs-xs); color: var(--ink-3); margin-top: 1px; }
.rv-ico { width: 32px; height: 32px; border-radius: 8px; display: grid; place-items: center; flex: none; background: var(--surface-2); color: var(--ink-2); }
.rv-ico .rzi { font-size: 1.05rem; }
.rv-ico.human { background: var(--caution-soft); color: var(--warning-ink); }
.rv-ico.ai { background: var(--breach-soft); color: var(--breach-ink); }
.rv-ico.provider { background: var(--signal-soft); color: var(--info); }
.rv-ico.input { background: var(--breach-soft); color: var(--breach-ink); }
.rv-reason { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; border-radius: 6px; font-size: var(--fs-xs); font-weight: 600; white-space: nowrap; }
.rv-reason .rzi { font-size: .9rem; }
.rv-reason.human { background: var(--caution-soft); color: var(--warning-ink); }
.rv-reason.ai { background: var(--breach-soft); color: var(--breach-ink); }
.rv-reason.provider { background: var(--signal-soft); color: var(--info); }
.rv-reason.input { background: var(--breach-soft); color: var(--breach-ink); }
.rv-pips { display: inline-flex; gap: 3px; vertical-align: middle; }
.rv-pips i { width: 14px; height: 6px; border-radius: 2px; background: var(--ink-100); display: block; }
.rv-pips i.on { background: var(--danger); }
.rv-age { font-family: var(--font-title); font-weight: 600; font-size: .9375rem; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.rv-age.warn { color: var(--warning-ink); } .rv-age.bad { color: var(--danger); }
.rv-age-sub { font-size: var(--fs-xs); color: var(--ink-3); }
.rv-who { display: flex; align-items: center; gap: var(--s2); }
.rv-note { font-size: var(--fs-xs); color: var(--ink-3); padding: var(--s3) var(--s5); border-top: 1px solid var(--line); display: flex; align-items: center; gap: 6px; }
.rv-note .rzi { font-size: .95rem; }

/* ---------------------------------------------------------------- detail: banner + pipeline */
.rv-banner { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s4); align-items: center; padding: var(--s4) var(--s5); border-radius: var(--radius); background: var(--surface); box-shadow: inset 3px 0 0 var(--line-strong); margin-bottom: var(--s4); }
.rv-banner.human { box-shadow: inset 3px 0 0 var(--caution); }
.rv-banner.ai { box-shadow: inset 3px 0 0 var(--danger); }
.rv-banner.provider { box-shadow: inset 3px 0 0 var(--signal); }
.rv-banner.input { box-shadow: inset 3px 0 0 var(--danger); }
.rv-banner .rv-ico { width: 40px; height: 40px; border-radius: 10px; }
.rv-banner .rv-ico .rzi { font-size: 1.3rem; }
.rv-banner h3 { font-size: .9375rem; }
.rv-banner p { font-size: var(--fs-sm); color: var(--ink-2); margin-top: 2px; line-height: 1.45; }
.rv-pipe { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; }
.rv-pipe .st { display: flex; flex-direction: column; align-items: center; gap: 4px; width: 58px; }
.rv-pipe .st i { width: 26px; height: 26px; border-radius: 999px; display: grid; place-items: center; background: var(--ink-050); color: var(--ink-4); font-style: normal; }
.rv-pipe .st i .rzi { font-size: .95rem; }
.rv-pipe .st span { font-size: .625rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; }
.rv-pipe .st.passed i { background: var(--verified-soft); color: var(--success); }
.rv-pipe .st.failed i { background: var(--breach-soft); color: var(--danger); }
.rv-pipe .st.pending i, .rv-pipe .st.validating i { background: var(--caution-soft); color: var(--warning-ink); box-shadow: 0 0 0 2px var(--surface), 0 0 0 3px var(--caution); }
.rv-pipe .bar { width: 10px; height: 2px; background: var(--ink-100); margin-bottom: 18px; }

/* ---------------------------------------------------------------- detail: evidence */
.rv-sticky { position: sticky; top: calc(var(--topbar-h) + var(--s4)); }
.rv-strip { display: flex; gap: var(--s2); overflow-x: auto; padding-bottom: 2px; margin-bottom: var(--s4); scrollbar-width: thin; }
.rv-tile { flex: none; display: flex; align-items: center; gap: var(--s2); padding: 6px 10px 6px 6px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface); cursor: pointer; font-family: var(--font-body); color: var(--ink); text-align: left; }
.rv-tile:hover { border-color: var(--line-strong); }
.rv-tile.on { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.rv-tile .th { width: 38px; height: 38px; border-radius: 7px; object-fit: cover; background: var(--ink-900); display: grid; place-items: center; color: rgba(255,255,255,.5); flex: none; overflow: hidden; }
.rv-tile .th img { width: 100%; height: 100%; object-fit: cover; }
.rv-tile .th .rzi { font-size: 1rem; }
.rv-tile .a { font-size: var(--fs-xs); font-weight: 600; }
.rv-tile .o { font-size: .6875rem; margin-top: 2px; }
.rv-tile .o.success { color: var(--success); } .rv-tile .o.danger { color: var(--danger); } .rv-tile .o.warning { color: var(--warning-ink); } .rv-tile .o.info { color: var(--info); }

.rv-media-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.rv-frame { position: relative; border-radius: 10px; overflow: hidden; background: var(--ink-900); min-height: 180px; display: grid; place-items: center; }
.rv-media-grid .rv-frame { height: 300px; }
.rv-frame > .lbl { position: absolute; left: 10px; top: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px; border-radius: 6px; background: rgba(11,18,32,.72); color: #fff; font-size: .6875rem; font-weight: 600; letter-spacing: .02em; backdrop-filter: blur(4px); }
.rv-frame > .lbl .rzi { font-size: .85rem; }
.rv-frame > .zoom { position: absolute; right: 8px; top: 8px; z-index: 2; width: 30px; height: 30px; border-radius: 8px; border: none; display: grid; place-items: center; background: rgba(11,18,32,.72); color: #fff; cursor: pointer; }
.rv-frame > .zoom .rzi { font-size: 1rem; }
.rv-frame > .zoom:hover { background: rgba(11,18,32,.9); }
.rv-stage { position: relative; display: inline-block; max-width: 100%; line-height: 0; }
.rv-stage img { display: block; max-width: 100%; max-height: 300px; width: auto; height: auto; }
.rv-frame.lg .rv-stage img { max-height: 72vh; }
.rv-bbox { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.rv-bbox rect { fill: rgba(141,165,245,.12); stroke: #8DA5F5; stroke-width: 3; vector-effect: non-scaling-stroke; stroke-dasharray: 8 5; }
.rv-bbox text { fill: #fff; font: 600 12px var(--font-body); }
.rv-empty-media { display: grid; place-items: center; gap: 6px; color: rgba(244,246,251,.55); font-size: var(--fs-xs); padding: var(--s6); text-align: center; }
.rv-empty-media .rzi { font-size: 1.6rem; }
.rv-media-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); margin-top: 6px; font-size: var(--fs-xs); color: var(--ink-3); flex-wrap: wrap; }
.rv-bbox-toggle { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; }

.rv-video-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, 1fr); gap: var(--s3); margin-top: var(--s3); }
.rv-video { width: 100%; max-height: 300px; display: block; background: var(--ink-900); border-radius: 10px; }
.rv-code { border-radius: 10px; background: var(--surface-2); padding: var(--s4); display: flex; flex-direction: column; gap: var(--s2); justify-content: center; }
.rv-code .k { font-size: .6875rem; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-3); font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.rv-code .k .rzi { font-size: .95rem; }
.rv-digits { display: flex; gap: 6px; }
.rv-digits span { width: 44px; height: 54px; border-radius: 9px; display: grid; place-items: center; background: var(--ink-900); color: #fff; font-family: var(--font-mono); font-size: 1.6rem; font-weight: 600; }
.rv-code .h { font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.45; }

/* ---------------------------------------------------------------- detail: attempts */
.rv-attempts { display: flex; flex-direction: column; }
.rv-attempt { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: var(--s3); padding: var(--s4) 0; border-bottom: 1px solid var(--line); }
.rv-attempt:first-child { padding-top: 0; }
.rv-attempt:last-child { border-bottom: none; padding-bottom: 0; }
.rv-attempt .num { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; font-family: var(--font-title); font-weight: 600; font-size: .875rem; background: var(--surface-2); color: var(--ink-2); }
.rv-attempt .num.success { background: var(--verified-soft); color: var(--success); }
.rv-attempt .num.danger { background: var(--breach-soft); color: var(--danger); }
.rv-attempt .num.warning { background: var(--caution-soft); color: var(--warning-ink); }
.rv-attempt.sel .num { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--accent); }
.rv-attempt .head { display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.rv-attempt .head .when { margin-left: auto; font-size: var(--fs-xs); color: var(--ink-3); white-space: nowrap; }
.rv-metrics { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); margin-top: var(--s3); }
.rv-metric .k { font-size: .6875rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); font-weight: 600; }
.rv-metric .v { font-family: var(--font-mono); font-size: var(--fs-sm); margin-top: 2px; font-variant-numeric: tabular-nums; }
.rv-sim { display: flex; align-items: center; gap: var(--s2); }
.rv-sim .meter { width: 90px; }
.rv-errors { list-style: none; margin: var(--s3) 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rv-errors li { display: flex; gap: var(--s2); align-items: flex-start; font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.4; }
.rv-errors .code { font-family: var(--font-mono); font-size: .6875rem; font-weight: 600; padding: 2px 6px; border-radius: 4px; background: var(--breach-soft); color: var(--breach-ink); flex: none; margin-top: 1px; }
.rv-transport { margin-top: var(--s2); font-size: var(--fs-xs); color: var(--danger); font-family: var(--font-mono); overflow-wrap: anywhere; }

/* ---------------------------------------------------------------- detail: decision */
.rv-decision .choices { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s2); }
.rv-choice { display: flex; flex-direction: column; gap: 4px; text-align: left; padding: var(--s3); border-radius: 10px; border: 1.5px solid var(--line); background: var(--surface); cursor: pointer; font-family: var(--font-body); color: var(--ink); }
.rv-choice:hover:not(:disabled) { border-color: var(--line-strong); }
.rv-choice .t { display: flex; align-items: center; gap: 6px; font-weight: 600; font-size: var(--fs-sm); }
.rv-choice .t .rzi { font-size: 1.1rem; }
.rv-choice .d { font-size: var(--fs-xs); color: var(--ink-3); line-height: 1.4; }
.rv-choice.accept .t .rzi { color: var(--success); }
.rv-choice.reject .t .rzi { color: var(--danger); }
.rv-choice.accept.on { border-color: var(--success); background: var(--verified-soft); }
.rv-choice.reject.on { border-color: var(--danger); background: var(--breach-soft); }
.rv-choice:disabled { cursor: default; opacity: .55; }
.rv-effects { list-style: none; margin: var(--s3) 0; padding: var(--s3); border-radius: 8px; background: var(--surface-2); display: flex; flex-direction: column; gap: 6px; }
.rv-effects li { display: flex; gap: var(--s2); font-size: var(--fs-xs); color: var(--ink-2); line-height: 1.4; }
.rv-effects .rzi { font-size: .95rem; color: var(--ink-3); flex: none; margin-top: 1px; }
.rv-outcome { display: flex; gap: var(--s3); align-items: flex-start; padding: var(--s4); border-radius: 10px; }
.rv-outcome.accepted { background: var(--verified-soft); }
.rv-outcome.rejected { background: var(--breach-soft); }
.rv-outcome .big { width: 40px; height: 40px; border-radius: 10px; display: grid; place-items: center; background: rgba(255,255,255,.7); flex: none; }
.rv-outcome.accepted .big { color: var(--success); } .rv-outcome.rejected .big { color: var(--danger); }
.rv-outcome .big .rzi { font-size: 1.4rem; }
.rv-outcome .t { font-family: var(--font-title); font-weight: 600; font-size: 1rem; }
.rv-outcome.accepted .t { color: var(--success); } .rv-outcome.rejected .t { color: var(--breach-ink); }
.rv-outcome .s { font-size: var(--fs-xs); color: var(--ink-2); margin-top: 2px; }
.rv-quote { margin-top: var(--s3); padding: var(--s3); border-radius: 8px; background: var(--surface-2); font-size: var(--fs-sm); color: var(--ink-2); line-height: 1.5; white-space: pre-wrap; }
.rv-quote .k { display: block; font-size: .6875rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); font-weight: 600; margin-bottom: 4px; }

.rv-person { display: flex; align-items: center; gap: var(--s3); }
.rv-person .n { font-weight: 600; font-size: var(--fs-md); }
.rv-person .e { font-size: var(--fs-xs); color: var(--ink-3); overflow-wrap: anywhere; }
.rv-doc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s3); }
.rv-doc-grid .masked-field .mono { font-size: .8125rem; }
.rv-fact { font-size: var(--fs-xs); color: var(--ink-3); }

.rv-uploads { display: flex; flex-direction: column; }
.rv-upload { display: flex; align-items: center; gap: var(--s3); padding: var(--s2) 0; border-bottom: 1px solid var(--line); font-size: var(--fs-sm); }
.rv-upload:last-child { border-bottom: none; }
.rv-upload .rzi { color: var(--ink-3); font-size: 1.05rem; }

@media (max-width: 1200px) {
  .rv-hero { grid-template-columns: 1fr; }
  .rv-sticky { position: static; }
  .rv-banner { grid-template-columns: auto minmax(0, 1fr); }
  .rv-banner .rv-pipe { grid-column: 1 / -1; overflow-x: auto; }
}
@media (max-width: 760px) {
  .rv-lanes, .rv-media-grid, .rv-video-row, .rv-decision .choices, .rv-doc-grid { grid-template-columns: 1fr; }
  .rv-hero { padding: var(--s5); }
}
.rv-effects .rv-id { word-break: break-all; }
