/* Shared form rules live in components.css (.form-stack). */

/* thread/new, thread/reply, post/edit */
.thread-create h1,
.thread-reply h1,
.post-edit h1 { font-size: 1.25rem; margin: 0 0 0.75rem; font-weight: 600; }
.post-edit .hint { font-size: 0.9rem; color: var(--text-muted); margin: 0.25rem 0 0; }

/* Attachment list of the composer (_attachment_composer.html.twig) */
.attachment-composer-picker { margin: 0.25rem 0; }
.attachment-composer-list { list-style: none; margin: 0.5rem 0 0; padding: 0; }
.attachment-composer-list:empty { display: none; }
.attachment-composer-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 0.5rem; margin-bottom: 0.4rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.attachment-composer-item.is-failed { border-color: var(--error); }
.attachment-composer-thumb { flex: none; display: flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; background: var(--thead); border-radius: var(--radius); overflow: hidden; }
.attachment-composer-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.attachment-composer-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.1rem; }
.attachment-composer-name { overflow-wrap: anywhere; }
.attachment-composer-tag { font-size: 0.8rem; color: var(--text-muted); overflow-wrap: anywhere; }
.attachment-composer-status { font-size: 0.85rem; color: var(--text-muted); }
.attachment-composer-status:empty { display: none; }
.attachment-composer-status.is-error { color: var(--error); }
.attachment-composer-actions { flex: none; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.35rem; }
@media (max-width: 40rem) {
    .attachment-composer-item { flex-wrap: wrap; }
    .attachment-composer-actions { width: 100%; justify-content: flex-start; }
}

/* report/new */
.report-new h1 { font-size: 1.25rem; margin: 0 0 0.75rem; font-weight: 600; }
.report-new blockquote { margin: 0 0 1rem; padding: 0.5rem 0.75rem; border-left: 3px solid var(--border); background: var(--surface); color: var(--text-muted); white-space: pre-wrap; word-break: break-word; }
.report-new form textarea { resize: vertical; }
.report-new form ul li { color: var(--error); font-size: 0.9rem; }

/* pm/new */
.pm-new h1 { font-size: 1.35rem; margin: 0 0 0.75rem; font-weight: 600; }
.pm-new .hint { color: var(--text-muted); margin: 0 0 1rem; }

/* thread/move, thread/merge, thread/split */
.thread-moderation h1 { font-size: 1.25rem; margin: 0 0 0.75rem; font-weight: 600; }
.thread-moderation form select { width: 100%; max-width: 100%; margin-top: 0.25rem; padding: 0.35rem 0.5rem; font: inherit; background: var(--input-bg); color: var(--text); border: 1px solid var(--input-border); border-radius: var(--radius); }
.thread-moderation .hint { font-size: 0.88rem; color: var(--text-muted); margin-top: 0.25rem; }
.thread-moderation form ul li,
.thread-moderation .error { color: var(--error); font-size: 0.9rem; }
.thread-moderation .post-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.thread-moderation .post-list li { border: 1px solid var(--border); background: var(--surface); padding: 0.5rem 0.75rem; margin-bottom: 0.5rem; border-radius: var(--radius); }
.thread-moderation .post-list .meta { font-size: 0.85rem; color: var(--text-muted); }
.thread-moderation .post-list .excerpt { white-space: pre-wrap; word-break: break-word; font-size: 0.92rem; }

/* thread/moderate_posts */
.thread-moderate-posts .select-all { display: flex; gap: 0.5rem; align-items: center; margin: 0.75rem 0 0.5rem; }
.thread-moderate-posts .post-list label { display: flex; gap: 0.5rem; align-items: baseline; margin: 0; font-weight: normal; cursor: pointer; }
.thread-moderate-posts .post-list li:has(input:checked) { border-color: var(--link); }
.thread-moderate-posts .view-link { font-size: 0.85rem; }
.thread-moderate-posts .excerpt { margin-top: 0.35rem; }
.thread-moderate-posts .actions { position: sticky; bottom: 0; padding: 0.75rem 0; background: var(--bg); border-top: 1px solid var(--border); flex-wrap: wrap; }
.thread-moderate-posts .selected-count { color: var(--text-muted); }
