/* Abuse reporting: the public report form and status page, and Administration -> Abuse reports.
   Design tokens only (takelan.css). No inline styles anywhere (strict CSP). */

/* honeypot: present for bots, invisible and unreachable for people */
.hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.report-card { max-width: 560px; }
.auth-card textarea.input { min-height: 120px; resize: vertical; font-family: inherit; }
.auth-card .req { color: var(--tk-err-fg); }
.report-note { margin: 0 0 16px; color: var(--tk-muted); font-size: 13px; }
.report-done { text-align: center; }
.report-ref { display: inline-block; margin: 6px 0 12px; padding: 4px 12px; font-family: var(--tk-mono); font-size: 18px; font-weight: 700; letter-spacing: .04em; background: var(--tk-surface-2); border: 1px solid var(--tk-border); border-radius: var(--tk-radius); overflow-wrap: anywhere; }
.status-pill { display: inline-block; margin: 8px 0; font-size: 15px; }
.input[aria-invalid="true"], .select[aria-invalid="true"] { border-color: var(--tk-err-dot); }
.field-error { display: block; }

/* admin queue */
.abuse-filters .search { flex: 1 1 200px; }
.abuse-filters .select { width: auto; }
.abuse-filters .input.narrow { width: 110px; }
.score { display: inline-block; min-width: 2.2em; text-align: center; padding: 1px 8px; border-radius: 10px; font-weight: 700; font-size: 12.5px; background: var(--tk-off-bg); color: var(--tk-off-fg); }
.score-mid { background: var(--tk-warn-bg); color: var(--tk-warn-fg); }
.score-high { background: var(--tk-err-bg); color: var(--tk-err-fg); }
.case-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.signal-list, .case-list { margin: 0; padding-left: 18px; line-height: 1.6; overflow-wrap: anywhere; }
.reporter-mail { font-family: var(--tk-mono); overflow-wrap: anywhere; }
.check-row { display: flex; gap: 8px; align-items: flex-start; margin: 10px 0 0; }
.check-row input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--tk-primary); flex: none; }
.settings-grid { display: grid; gap: 0 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
.settings-grid textarea { min-height: 120px; font-family: var(--tk-mono); }
.stack-gap { margin-top: 16px; }
.suspended-banner a { font-weight: 600; }
@media (max-width: 480px) {
  .case-acts .btn { flex: 1 1 100%; }
  .abuse-filters .input.narrow { width: 100%; }
}
