/* Activity log (§6.12) — the audit trail.
 *
 * This file did not exist. activity.js shipped using fifteen `act__*` classes
 * that no stylesheet defined, so the screen rendered as unstyled list markup:
 * every row a bullet, the timestamp, action and entity all one size, and the
 * withheld-entry gaps indistinguishable from the entries around them. `lint.py`
 * had been reporting all fifteen.
 *
 * The screen is READ-ONLY EVIDENCE — no controls, no hover affordance, nothing
 * that looks clickable — so rows deliberately carry none of the row-button
 * treatment the ledger screens use. A hover state here would suggest a
 * drill-down that does not exist and must not: there is no route that opens an
 * entity at the version an entry describes.
 *
 * Type scale and tokens follow the sibling screens (journals.css,
 * trial-balance.css): 20px/600 display title, 12.5px body, 12px figures,
 * 11.5px metadata, and the `--p-*` role aliases throughout — no literal colour
 * and no literal font family.
 */

/* ---- Heading ----------------------------------------------------------- */

.act__head { margin-bottom: 14px; }
.act__title {
  font-family: var(--font-display);
  font-size: 20px; font-weight: 600; letter-spacing: -0.02em; margin: 0;
}
.act__sub { font-size: 12.5px; color: var(--p-ink-2); margin: 3px 0 0; }

/* ---- The list ---------------------------------------------------------- */

.act__list { list-style: none; margin: 0; padding: 0; }

/* No hover, no cursor change: nothing here opens. */
.act__row { border-bottom: 1px solid var(--p-line); }
.act__row:last-child { border-bottom: none; }

/* One entry: date, time, action, module chip, entity, changed-marker. Wraps
   rather than truncating — an audit line that is cut off is evidence someone
   cannot read, and this column is narrower than the ledger tables. */
.act__line {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 9px;
  padding: 11px 16px;
}

/* Date and time are tabular so the column scans down the page. `.num` already
   supplies the mono family and tabular figures; these carry only size. */
.act__when { font-size: 12px; color: var(--p-ink-2); flex: none; }
.act__time { font-size: 11.5px; color: var(--p-ink-3); flex: none; }

/* The action is the sentence of the row, so it takes the weight. Printed in
   full even when this version has no wording for it — see activity.js. */
.act__action { font-size: 12.5px; font-weight: 500; color: var(--p-ink); }

/* Identity, not a link. Styled as reference text so it does not read as one. */
.act__entity { font-size: 11.5px; color: var(--p-ink-3); }

/* "There is a before/after", never the diff itself. Quiet: it is a fact about
   the record, not a change the reader can act on here. */
.act__changed { font-size: 11.5px; color: var(--p-ink-3); font-style: italic; }

/* A free-text reason someone typed. Its own line, full width, because it is the
   only part of an entry written by a person. */
.act__reason {
  margin: 0; padding: 0 16px 11px;
  font-size: 12.5px; line-height: 1.5; color: var(--p-ink-2);
}

/* ---- The gaps ---------------------------------------------------------- */

/* Entries the reader is not authorised to see, shown WHERE THEY HAPPENED. This
   is the one thing on the screen that must not be missable: a list that closed
   over its gaps would read as a complete history. Hence the rule down the
   inline edge and the tinted ground — the same risk vocabulary the other
   screens use for "this is not the whole picture", not a decorative aside. */
.act__withheld {
  margin: 0; padding: 8px 16px;
  border-inline-start: 2px solid var(--p-warn);
  background: var(--p-surface-2);
  font-size: 11.5px; line-height: 1.5; color: var(--p-ink-2);
}

/* ---- Notes under the list ---------------------------------------------- */

/* Only rendered when true — rows the adapter refused, and "there is more".
   Neither is decoration, so neither is styled as a hint. */
.act__note {
  margin: 10px 0 0; padding-inline-start: 12px;
  border-inline-start: 2px solid var(--p-line-2);
  font-size: 12px; line-height: 1.5; color: var(--p-ink-3);
}
.act__note--warn { border-inline-start-color: var(--p-warn); color: var(--p-ink-2); }
