.role-badge { display: inline-flex; align-items: center; gap: .25rem; padding: .12rem .45rem; border: 1px solid #827347; border-radius: 5px; background: #fff5d5; color: #594b1e; font: 700 .72rem/1.5 system-ui,sans-serif; white-space: nowrap; }
.role-badge::before { content: '◆'; font-size: .6rem; }
.party-topbar .role-badge { margin-left: -.7rem; }
.report-form, .support-form { max-width: 850px; }
.report-form form, .moderation-form, .support-form form { display: grid; gap: 1rem; }
.moderation-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 1rem; margin: 1rem 0; }
.moderation-grid > *, .moderation-card { padding: 1rem; border: 1px solid #d6dfd4; border-radius: 8px; background: #fff; }
.moderation-card p:last-child { margin-bottom: 0; }
.moderation-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.moderation-table th, .moderation-table td { text-align: left; padding: .7rem; border-bottom: 1px solid #d6dfd4; overflow-wrap: anywhere; }
.support-cases { padding-left: 1.2rem; }
.support-cases li { margin: .8rem 0; }
.support-message, .support-reply, .report-evidence { overflow-wrap: anywhere; white-space: normal; padding: 1rem; margin: 1rem 0; border: 1px solid #d8e1d4; border-radius: 8px; background: #f5f8f1; }
.support-internal, .moderation-warning { border-left: 4px solid #ba9050; background: #fff7e4; padding: 1rem; }
.moderation-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.moderation-reason { white-space: pre-wrap; overflow-wrap: anywhere; }
.report-evidence-message { padding: .8rem; margin: .8rem 0; border: 1px solid #d6dfd4; border-radius: 6px; overflow-wrap: anywhere; }
.report-evidence-target { border-left: 4px solid #a26c34; background: #fff7e6; }
.party-table { overflow-wrap: anywhere; }
.party-form textarea, .moderation-form textarea, .report-form textarea { max-width: 100%; width: 100%; min-height: 6rem; }
.party-form input, .party-form select { max-width: 100%; }
.party-form + .party-form { margin-top: 1rem; }
@media (max-width: 600px) {
    .moderation-table { display: block; max-width: 100%; overflow-x: auto; }
    .party-page .page-intro { flex-direction: column; align-items: stretch; }
    .party-page .page-intro > * { min-width: 0; max-width: 100%; }
    .party-page h1 { overflow-wrap: anywhere; }
    .party-page .button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
    .moderation-filter-grid { display: grid; gap: .75rem; }
}
