/* The separate dashboards (docs/reviews-go-live.md): what Horizon Reviews adds to the shared look (app.css): its name
   beside Horizon's logo, the other dashboards a person may open, the client's card from Core, the Access page, "You
   don't have access to this dashboard", the open test build's View as switch (both dashboards), and the Reviews pages. */

/* The dashboard's name */
.brand-app { font-size: var(--text-headline); line-height: var(--lh-headline); font-weight: var(--weight-semibold); color: var(--label); }
.head-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.head-app { padding-left: 10px; border-left: 0.5px solid var(--separator); font-size: var(--text-subhead); line-height: 24px; font-weight: var(--weight-semibold); color: var(--label); white-space: nowrap; }

/* View as (test build only) */
.va { display: grid; gap: 6px; min-width: 0; }
.va-l { font-size: 12px; color: var(--label-secondary); }
.va-t { margin-left: 4px; color: var(--orange-text); }
.va-sw { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.va-sw .sc-s { height: 32px; font-size: var(--text-footnote); }
.side-foot .va-sw { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2px; }   /* four names fit the sidebar two by two */
.va-note { margin: 0; font-size: 12px; line-height: 16px; color: var(--label-secondary); }
.na-view { margin: 22px auto 0; max-width: 300px; text-align: left; }

/* Your other dashboards */
.dash-links { display: grid; gap: 2px; min-width: 0; }
.dash-l { margin-bottom: 4px; font-size: 12px; color: var(--label-secondary); }
.dash-a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 10px; margin: 0 -10px; border-radius: 10px; color: var(--label); font-size: var(--text-subhead); }
.dash-a .ic:first-child { color: var(--tint); }
.dash-a .ic:last-child { margin-left: auto; color: var(--label-tertiary); }
@media (hover: hover) { .dash-a:hover { background: var(--fill-quaternary); } }
.dash-a:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* No access */
.no-access .logo img { height: 42px; }
.na-links { display: grid; gap: 10px; margin-top: 22px; }
.na-links .ms-button { margin: 0; }
.na-link .ic { color: var(--tint); }
.na-out { margin-top: 18px; min-height: 44px; padding: 0 18px; border: 0; border-radius: var(--radius-full); background: var(--fill-tertiary); color: var(--label); font: inherit; font-weight: var(--weight-semibold); cursor: pointer; }
.na-out:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* The client's card from Core */
.cc-top { display: flex; align-items: center; gap: 12px; padding: 14px var(--row-x); }
.cc-who { display: grid; gap: 1px; min-width: 0; }
.cc-name { font-weight: var(--weight-semibold); overflow-wrap: anywhere; }
.cc-sub { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); overflow-wrap: anywhere; }
.cc-list { position: relative; }
.cc-list::before { content: ""; position: absolute; top: 0; left: var(--row-x); right: 0; border-top: 0.5px solid var(--separator); }
.cc-list .row { min-height: 48px; padding-top: 10px; padding-bottom: 10px; }
.cc-list .row > .ic:last-child { color: var(--label-tertiary); }
.cc-none, .cc-src { position: relative; margin: 0; padding: 10px var(--row-x); font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.cc-src { display: flex; align-items: center; gap: 6px; font-size: 12px; line-height: 16px; }
.cc-src::before, .cc-none::before { content: ""; position: absolute; top: 0; left: var(--row-x); right: 0; border-top: 0.5px solid var(--separator); }

/* The Access page */
.ac-msg { display: flex; align-items: flex-start; gap: 8px; margin: 22px 0 0; padding: 12px var(--row-x); border-radius: var(--radius-md); font-weight: var(--weight-semibold); }
.ac-msg .ic { margin-top: 2px; flex: none; }
.ac-ok { background: color-mix(in srgb, var(--green) 12%, transparent); color: var(--green-text); }
.ac-err { background: color-mix(in srgb, var(--red) 11%, transparent); color: var(--red-text); }
.ac-add { padding: 4px 0 16px; }
.ac-apps { position: relative; display: grid; gap: 2px; margin: 0; padding: 8px var(--row-x) 4px; border: 0; min-width: 0; }
.ac-apps::before { content: ""; position: absolute; top: 0; left: var(--row-x); right: 0; border-top: 0.5px solid var(--separator); }
.ac-apps legend { float: left; width: 100%; padding: 4px 0 6px; font-size: var(--text-footnote); line-height: var(--lh-footnote); font-weight: var(--weight-semibold); }
.ac-ck { position: relative; display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.ac-ck input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ac-box { flex: none; width: 22px; height: 22px; border-radius: 6px; display: grid; place-items: center; border: 1.5px solid var(--label-tertiary); color: transparent; }
.ac-ck input:checked + .ac-box { background: var(--tint); border-color: var(--tint); color: var(--on-tint); }
.ac-ck input:focus-visible + .ac-box { box-shadow: var(--focus-ring); }
.ac-ck > .ic { color: var(--label-secondary); }
.ac-go { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 10px var(--row-x) 0; }
.ac-go .rv-hint { margin: 0; flex: 1 1 220px; }
.ac-row { flex-wrap: wrap; row-gap: 10px; }
.ac-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
@media (max-width: 559px) { .ac-ctl { flex-basis: 100%; margin-left: 42px; } }
.ac-tg-f, .ac-rm-f { margin: 0; }
.ac-tg { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border: 0; border-radius: var(--radius-full); font: inherit; font-size: var(--text-footnote); font-weight: var(--weight-semibold); cursor: pointer;
  background: var(--fill-tertiary); color: var(--label-secondary); }
.ac-tg::after { content: ""; position: absolute; inset: -6px 0; }   /* a 44px hit area */
.ac-tg[aria-pressed="true"] { background: color-mix(in srgb, var(--tint) 14%, transparent); color: var(--tint-text); }
.ac-tg:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ac-rm { position: relative; }
.ac-rm-s { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 10px; border-radius: var(--radius-full); list-style: none; cursor: pointer;
  color: var(--red-text); font-size: var(--text-footnote); font-weight: var(--weight-semibold); }
.ac-rm-s::-webkit-details-marker { display: none; }
.ac-rm-s::after { content: ""; position: absolute; inset: -6px 0; }
.ac-rm-s:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ac-rm[open] .ac-rm-s { background: color-mix(in srgb, var(--red) 10%, transparent); }
.ac-rm-f { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 8px; font-size: var(--text-footnote); color: var(--label-secondary); }
@media (min-width: 560px) { .ac-rm-f { position: absolute; right: 0; top: 100%; z-index: 5; width: 260px; padding: 12px; border-radius: var(--radius-md); background: var(--bg-grouped-secondary); box-shadow: var(--card-edge), var(--shadow-2); } }
.ac-danger { background: var(--red); color: #fff; }
@media (hover: hover) { .ac-danger:hover { background: color-mix(in srgb, var(--red) 88%, var(--label)) !important; } }


/* ---------- Reviews: investment paperwork (src/ui/review-views.js) ----------
   The list is the app's rows. A review: where it stands (three numbers), then what to fix and what needs the reviewer's
   judgment (each with the document's own words and page, and what to do), the draft email, the decision; the account,
   files and checklist beside it on wide screens. Red means fix it, orange means look at it, green means it passed. */
.rv-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 0 18px; border: 0; border-radius: var(--radius-full);
  background: color-mix(in srgb, var(--tint) 12%, transparent); color: var(--tint-text); font: inherit; font-size: var(--text-subhead); font-weight: var(--weight-semibold);
  white-space: nowrap; cursor: pointer; text-decoration: none; transition: background-color 120ms var(--ease), opacity 120ms var(--ease); }
.rv-primary { background: var(--tint); color: var(--on-tint); }
.rv-btn[disabled] { opacity: 0.55; cursor: default; }
.rv-btn.done { background: color-mix(in srgb, var(--green) 16%, transparent); color: var(--green-text); }
@media (hover: hover) { .rv-btn:not(.rv-primary):not(.done):not([disabled]):hover { background: color-mix(in srgb, var(--tint) 18%, transparent); } .rv-primary:not(.done):not([disabled]):hover { background: color-mix(in srgb, var(--tint) 88%, var(--label)); } }
.rv-btn:active { opacity: 0.8; }
.rv-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.rv-sm { min-height: 36px; padding: 0 14px; font-size: var(--text-footnote); }
.rv-sm::after { content: ""; position: absolute; inset: -4px 0; }   /* a 44px hit area */
.head.has-tools > .head-tools:has(> .rv-btn) { justify-self: start; }
@media (min-width: 1000px) { .head.has-tools > .head-tools:has(> .rv-btn) { justify-self: end; } }

/* The list */
.rv-chips + .card, .rv-chips + .empty { margin-top: 14px; }
.rv-av { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--tint) 12%, transparent); color: var(--tint-text); align-self: flex-start; }
.rv-inv { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* A new review */
.rv-samples { margin-top: 22px; }
.rv-note-top { margin: -4px 4px 10px; }
.rv-sample { margin: 0; }
.rv-form section { margin-top: 26px; }
.rv-fields { padding: 4px 0; }
.rv-field { position: relative; display: grid; gap: 6px; padding: 10px var(--row-x); }
.rv-field + .rv-field::before { content: ""; position: absolute; top: 0; left: var(--row-x); right: 0; border-top: 0.5px solid var(--separator); }
.rv-field > label { font-size: var(--text-footnote); line-height: var(--lh-footnote); font-weight: var(--weight-semibold); color: var(--label); }
@media (min-width: 560px) {
  .rv-field { grid-template-columns: minmax(150px, 32%) minmax(0, 1fr); align-items: center; column-gap: 16px; }
  .rv-field > label { font-size: var(--text-subhead); font-weight: var(--weight-regular); }
  .rv-field .rv-hint { grid-column: 2; }
}
.rv-in { display: block; width: 100%; min-width: 0; height: 44px; margin: 0; padding: 0 12px; border: 0; border-radius: var(--radius-sm);
  background: var(--fill-tertiary); color: var(--label); font: inherit; font-size: 16px; appearance: none; -webkit-appearance: none; }   /* 16px: iOS doesn't zoom in */
select.rv-in { padding-right: 34px; cursor: pointer; background-image: none; }
.rv-field:has(select.rv-in)::after { content: ""; position: absolute; right: calc(var(--row-x) + 14px); bottom: 27px; width: 7px; height: 7px; border: solid var(--label-secondary); border-width: 0 2px 2px 0; transform: rotate(45deg); pointer-events: none; }
@media (min-width: 560px) { .rv-field:has(select.rv-in)::after { top: 50%; bottom: auto; margin-top: -6px; } }
.rv-in::placeholder { color: var(--label-secondary); opacity: 1; }
.rv-in:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.rv-in[type="date"] { line-height: 44px; }
.rv-hint { margin: 8px 0 0; max-width: 72ch; font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-field .rv-hint { margin: 0; }
.rv-err { display: flex; align-items: flex-start; gap: 8px; margin: 22px 0 0; padding: 12px var(--row-x); border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--red) 11%, transparent); color: var(--red-text); font-weight: var(--weight-semibold); }
.rv-err .ic { margin-top: 2px; }
.rv-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.rv-said { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-said:empty { display: none; }

/* The file picker: the whole box takes a tap, a click or dropped files */
.rv-drop { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px 14px; padding: 18px var(--row-x);
  border-radius: var(--radius-md); background: var(--bg-grouped-secondary); box-shadow: inset 0 0 0 1.5px var(--fill-secondary); }
.rv-drop-ic { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--tint) 12%, transparent); color: var(--tint-text); }
.rv-drop-t { display: grid; gap: 2px; min-width: 0; }
.rv-drop-t b { font-weight: var(--weight-semibold); }
.rv-drop-t span { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-drop-b { grid-column: 1 / -1; justify-self: start; }
@media (min-width: 560px) { .rv-drop { grid-template-columns: auto minmax(0, 1fr) auto; } .rv-drop-b { grid-column: auto; } }
.rv-file { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 0; }
.rv-drop:has(.rv-file:focus-visible) { box-shadow: inset 0 0 0 1.5px var(--tint), var(--focus-ring); }
.rv-drop.is-over { box-shadow: inset 0 0 0 2px var(--tint); background: color-mix(in srgb, var(--tint) 7%, var(--bg-grouped-secondary)); }
@media (hover: hover) { .rv-drop:hover .rv-drop-b { background: color-mix(in srgb, var(--tint) 18%, transparent); } }
.rv-drop-sm { padding: 12px var(--row-x); gap: 10px 12px; }
.rv-drop-sm .rv-drop-ic { width: 36px; height: 36px; border-radius: 10px; }
.rv-chosen { list-style: none; margin: 8px 4px 0; padding: 0; display: grid; gap: 2px; font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-chosen:empty { display: none; }
.rv-chosen li { display: flex; gap: 8px; min-width: 0; }
.rv-chosen .n { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--label); }
.rv-chosen .s { flex: none; }

/* One review: main column, and the account, files and checklist beside it from 1180px */
.rv-page { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 28px; }
.rv-main > :first-child, .rv-side > section:first-child { margin-top: 22px; }
@media (min-width: 1180px) { .rv-page { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; } .rv-side > section:first-child { margin-top: 22px; } }
.rv-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 14px var(--row-x); }
.rv-stats { display: flex; gap: 28px; }
.rv-stat { display: grid; }
.rv-stat-n { font-size: var(--text-title1); line-height: var(--lh-title1); font-weight: var(--weight-bold); }
.rv-stat-l { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-stat.rv-bad .rv-stat-n { color: var(--red-text); }
.rv-stat.rv-warn .rv-stat-n { color: var(--orange-text); }
.rv-stat.rv-ok .rv-stat-n { color: var(--green-text); }
.rv-sum-r { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.rv-sum-r .rv-hint { margin: 0; }

.rv-progress { padding: 16px var(--row-x); }
.rv-prog-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rv-prog-l { font-weight: var(--weight-semibold); }
.rv-progress progress { display: block; width: 100%; height: 6px; margin-top: 12px; border: 0; border-radius: 3px; overflow: hidden; appearance: none; -webkit-appearance: none; background: var(--fill-tertiary); }
.rv-progress progress::-webkit-progress-bar { background: var(--fill-tertiary); }
.rv-progress progress::-webkit-progress-value { background: var(--tint); border-radius: 3px; transition: width 300ms var(--ease-out); }
.rv-progress progress::-moz-progress-bar { background: var(--tint); border-radius: 3px; }

/* Findings */
.rv-fs { list-style: none; margin: 0; padding: 0; }
.rv-f { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding: 14px var(--row-x); scroll-margin-top: 60px; }
.rv-f + .rv-f::before { content: ""; position: absolute; top: 0; left: calc(var(--row-x) + 34px); right: 0; border-top: 0.5px solid var(--separator); }
.rv-f-ic { padding-top: 1px; }
.rv-bad .rv-f-ic { color: var(--red-text); }
.rv-warn .rv-f-ic { color: var(--orange-text); }
.rv-ok .rv-f-ic { color: var(--green-text); }
.rv-na .rv-f-ic { color: var(--label-tertiary); }
.rv-f-main { min-width: 0; }
.rv-f-l { margin: 0; font-weight: var(--weight-semibold); overflow-wrap: anywhere; }
.rv-f-d { margin: 4px 0 0; color: var(--label); overflow-wrap: anywhere; }
.rv-f-d .pill { display: inline-flex; height: 20px; margin-right: 6px; vertical-align: 1px; }   /* the words wrap under it on a phone */
.rv-q { margin: 10px 0 0; }
.rv-q blockquote { margin: 0; padding: 8px 12px; border-radius: 10px; background: var(--bg-grouped); color: var(--label); font-size: var(--text-footnote); line-height: var(--lh-footnote); overflow-wrap: anywhere; }
.rv-q figcaption { margin: 4px 2px 0; font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); overflow-wrap: anywhere; }
.rv-file-l { display: inline-flex; align-items: center; min-height: 44px; margin: -13px 0; font-weight: var(--weight-medium); }
.rv-f-fix { margin: 10px 0 0; font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-f-fix b { color: var(--label); font-weight: var(--weight-semibold); margin-right: 4px; }
.rv-fs-sm .rv-f { padding-top: 10px; padding-bottom: 10px; }
.rv-fs-sm .rv-f-d { color: var(--label-secondary); font-size: var(--text-footnote); line-height: var(--lh-footnote); }
.rv-fs-sm .rv-f-d .pill { display: none; }
.rv-bad-t { color: var(--red-text); }

/* Passed and not needed: folded away */
.rv-more { margin-top: 8px; }
.rv-more > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 0 var(--row-x); border-radius: var(--radius-md);
  background: var(--bg-grouped-secondary); box-shadow: var(--card-edge); color: var(--tint-text); font-weight: var(--weight-semibold); cursor: pointer; list-style: none; }
.rv-more > summary::-webkit-details-marker { display: none; }
.rv-more > summary .ic { transition: transform 200ms var(--ease-out); }
.rv-more[open] > summary .ic { transform: rotate(180deg); }
.rv-more[open] > summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.rv-more > .card { border-top-left-radius: 0; border-top-right-radius: 0; border-top: 0.5px solid var(--separator); }
.rv-more > summary:focus-visible { box-shadow: var(--focus-ring); }
@media (prefers-reduced-motion: reduce) { .rv-more > summary .ic, .rv-progress progress::-webkit-progress-value { transition: none; } }

/* The email and the decision */
.rv-email, .rv-decide, .rv-cl { padding: 14px var(--row-x) 16px; }
.rv-subj { display: grid; gap: 2px; margin-bottom: 10px; }
.rv-k { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-subj-t { font-weight: var(--weight-semibold); }
.rv-email-t { max-width: none; min-height: 260px; }
.rv-decide { margin: 0; }
.rv-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 2px; border: 0; border-radius: var(--radius-sm); background: var(--fill-tertiary); max-width: 420px; }
.rv-seg label { position: relative; isolation: isolate; display: grid; place-items: center; min-height: 40px; border-radius: 8px; cursor: pointer; }
.rv-seg label::after { content: ""; position: absolute; inset: -2px 0; }
.rv-seg label > span { display: inline-flex; align-items: center; gap: 6px; font-weight: var(--weight-medium); }
.rv-seg input { position: absolute; opacity: 0; pointer-events: none; }
.rv-seg label:has(input:checked)::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 8px; background: var(--thumb); box-shadow: 0 3px 8px rgb(0 0 0 / .12), 0 3px 1px rgb(0 0 0 / .04); }
.rv-seg label:has(input:checked) > span { font-weight: var(--weight-semibold); }
.rv-seg label:has(input[value="approved"]:checked) .ic { color: var(--green-text); }
.rv-seg label:has(input[value="changes"]:checked) .ic { color: var(--orange-text); }
.rv-seg label:has(input:focus-visible) { box-shadow: var(--focus-ring); }
.rv-seg:disabled { opacity: 0.55; }
.rv-decide .draft-label { margin-top: 6px; }

/* Beside it: account, files, checklist */
.rv-side .facts .fact { grid-template-columns: 76px minmax(0, 1fr); }
.rv-files { list-style: none; margin: 0; padding: 8px; display: grid; gap: 8px; }
.rv-fl { align-items: flex-start; }
.rv-fl .file-ic { margin-top: 1px; }
.rv-fl-what { white-space: normal; }
.rv-fl .file-meta .pill { height: 20px; margin-left: 2px; vertical-align: 1px; }   /* a file that isn't clean (malware scan): its status */
.rv-add { margin-top: 12px; }
.rv-side .rv-drop { grid-template-columns: auto minmax(0, 1fr); }
.rv-side .rv-drop-b { grid-column: 1 / -1; }
.rv-add .rv-actions { margin-top: 10px; }
.rv-cl-t { margin: 0; font-weight: var(--weight-semibold); }
.rv-hint-i { font-weight: var(--weight-regular); font-size: var(--text-footnote); color: var(--label-secondary); }
.rv-cl form { margin-top: 12px; }


/* The sample tick box (a Sender's redacted paperwork) and the Access page's levels */
.rv-tick-c { margin-top: 12px; }
.rv-tick { position: relative; display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 12px var(--row-x); cursor: pointer; }
.rv-tick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rv-tick .ac-box { margin-top: 1px; }
.rv-tick input:checked + .ac-box { background: var(--tint); border-color: var(--tint); color: var(--on-tint); }
.rv-tick input:focus-visible + .ac-box { box-shadow: var(--focus-ring); }
.rv-tick-t, .ac-lv-t { display: grid; gap: 1px; min-width: 0; }
.rv-tick-t b, .ac-lv-t b { font-weight: var(--weight-semibold); }
.rv-tick-t span, .ac-lv-t span { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rv-hint-out { margin: 8px 4px 0; }
.rv-chosen .over, .rv-chosen .over .s { color: var(--red-text); }
.rv-chosen .msg { display: block; margin-top: 4px; padding: 0; font-weight: var(--weight-semibold); }   /* padding: not app.css's .msg (an email) */
.ac-lv { align-items: flex-start; padding: 8px 0; }
.ac-lv .ac-box { margin-top: 1px; border-radius: 50%; }
.ac-tg[disabled] { cursor: default; }
.na-bare { margin-top: 26px; }

/* Reports (owner and super admin): four numbers, then tables of plain numbers */
.rv-chips + .rp-tiles { margin-top: 14px; }
.rp-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rp-stat { position: relative; display: grid; align-content: start; gap: 1px; min-width: 0; padding: 14px var(--row-x) 13px; }
.rp-stat:nth-child(2n)::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; border-left: 0.5px solid var(--separator); }
.rp-stat:nth-child(n+3)::after { content: ""; position: absolute; top: 0; left: var(--row-x); right: var(--row-x); border-top: 0.5px solid var(--separator); }
@media (min-width: 768px) {
  .rp-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rp-stat:nth-child(n+2)::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; border-left: 0.5px solid var(--separator); }
  .rp-stat:nth-child(n+3)::after { display: none; }
}
.rp-n { font-size: var(--text-title2); line-height: var(--lh-title2); font-weight: var(--weight-bold); font-variant-numeric: tabular-nums; }
.rp-l { font-size: var(--text-subhead); line-height: var(--lh-subhead); font-weight: var(--weight-semibold); }
.rp-s { font-size: var(--text-footnote); line-height: var(--lh-footnote); color: var(--label-secondary); }
.rp-table { width: 100%; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.rp-table th, .rp-table td { padding: 11px 14px; text-align: right; white-space: nowrap; vertical-align: middle; border-top: 0.5px solid var(--separator); }
.rp-table thead th { padding: 12px 14px 8px; border-top: 0; font-size: 12px; line-height: 16px; font-weight: var(--weight-semibold); color: var(--label-secondary); }
.rp-table .rp-first { position: sticky; left: 0; z-index: 1; text-align: left; padding-left: var(--row-x); background: var(--bg-grouped-secondary); font-weight: var(--weight-semibold); }
.rp-table thead .rp-first { font-weight: var(--weight-semibold); }
.rp-table tbody .rp-first { white-space: normal; min-width: 96px; }
.rp-chk { display: block; min-width: 180px; max-width: 360px; }
.rp-grp { display: block; font-size: var(--text-footnote); line-height: var(--lh-footnote); font-weight: var(--weight-regular); color: var(--label-secondary); }
.rp-table td.rp-bad { color: var(--red-text); font-weight: var(--weight-semibold); }
.rp-table td.rp-warn { color: var(--orange-text); font-weight: var(--weight-semibold); }

/* ---------- Received files (file drop links, src/ui/received-views.js): owner and super admin only ----------
   One section per link (who it was for), then each send as a card: its time and note, then its files as rows that
   download. */
.rd-link { margin-top: 26px; }
.rd-meta { margin: -4px 4px 10px; }
.rd-send + .rd-send { margin-top: 12px; }
.rd-send-h { min-height: 0; padding-top: 12px; padding-bottom: 10px; }
.rd-note { display: block; margin-top: 4px; font-size: var(--text-subhead); line-height: var(--lh-subhead); color: var(--label); white-space: pre-line; overflow-wrap: anywhere; }
.rd-note b { margin-right: 4px; font-weight: var(--weight-semibold); color: var(--label-secondary); }
.rd-ic { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--fill-tertiary); color: var(--label-secondary); }
.rd-dl { flex: none; color: var(--tint-text); }
@media (hover: hover) { a.rd-file:hover .row-title { color: var(--tint-text); } }
.rd-why { margin-top: 2px; }   /* a file that isn't clean: why it doesn't open (no link, no download icon) */
.rd-file:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--tint); }
.rd-name { overflow-wrap: anywhere; }
