/* Review comments, signed terms and the 404 page: page-specific layout on canonical tokens.
   .pill, .modal and .ov come from base.css and are not redefined here. */
.wrap{max-width:var(--container-app);margin:0 auto;padding:0 var(--sp-5) var(--sp-16)}
.sub{margin:var(--sp-2) 0 var(--sp-5);color:var(--fg-2)}
a.home{color:var(--link);text-decoration:var(--prose-link-decoration,underline);text-underline-offset:3px}
a.home:hover{color:var(--link-hover)}
.empty{padding:var(--sp-10) 0;text-align:center;color:var(--fg-muted)}
.mono{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--fg-2);overflow-wrap:anywhere}

/* Review: comment filters and cards. */
.filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-4) 0 var(--sp-5)}
.filters button{border:1px solid var(--border);background:var(--bg-surface);color:var(--fg-2);border-radius:var(--r-chip);padding:var(--sp-1) var(--sp-3);font:600 var(--fs-xs)/1.4 var(--sans);cursor:pointer}
.filters button.on{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-on-fill)}
.grp{margin-bottom:var(--sp-6)}
.grp h2{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-3);font-size:var(--fs-sm)}
.grp h2 a{color:var(--accent-ink)}
.grp h2 .n{color:var(--fg-muted);font-weight:500}
.c{margin-bottom:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface)}
.c .top{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);font-size:var(--fs-xs);color:var(--fg-muted)}
.c .who{font-weight:700;color:var(--fg)}
.c .msg{white-space:pre-wrap;overflow-wrap:anywhere}
.c.res{opacity:.62}
.c .act{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-3)}
.c .act button,.c .act a{border:1px solid var(--border);background:transparent;color:var(--fg-2);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-3);font:600 var(--fs-xs)/1.4 var(--sans);cursor:pointer}
.c .act .go{background:var(--accent-fill);border-color:var(--accent-fill);color:var(--accent-on-fill)}
.pill.open{color:var(--warn);background:var(--warn-bg)}
.pill.done{color:var(--ok);background:var(--ok-bg)}

/* Signed terms: integrity bar, the record table (scrolls inside its panel on
   phones) and the record dialog. */
.chainbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface);font-size:var(--fs-xs)}
.chainbar .b{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);font-weight:700}
.b.ok{color:var(--ok);background:var(--ok-bg)}
.b.bad{color:var(--bad);background:var(--bad-bg)}
.records-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-surface)}
.records-table{width:100%;min-width:640px;border-collapse:collapse}
.records-table th,.records-table td{padding:var(--sp-3);border-bottom:1px solid var(--border-subtle);text-align:left;font-size:var(--fs-xs);vertical-align:top}
.records-table th{font-size:var(--fs-micro);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg-muted)}
.records-table tr:last-child td{border-bottom:0}
.records-table tr[data-id]{cursor:pointer}
.records-table tr[data-id]:hover td{background:var(--bg-sunk)}
#ov{display:none}
.modal .agr{max-height:240px;overflow:auto;margin:var(--sp-3) 0;padding:var(--sp-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-sunk);white-space:pre-wrap;font:var(--fs-2xs)/1.6 var(--mono);color:var(--fg-2)}
.modal img{max-width:100%;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--n-0)}
.kv{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:var(--sp-2) var(--sp-3);margin-top:var(--sp-3);font-size:var(--fs-xs)}
.kv .k{color:var(--fg-muted)}
.kv .v{overflow-wrap:anywhere}
.x{float:right;border:0;background:none;color:var(--fg-muted);font-size:var(--fs-lg);cursor:pointer}

/* 404 (K30): the primary button and a plain link side by side. */
.not-found{padding-top:var(--sp-8)}
.page-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-5)}
