/* Moderation uses the portal palette; every selector stays within this module. */
.moderation-page .mod-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:25px; }
.moderation-page .mod-heading h1 { font-size:30px; letter-spacing:-.65px; font-weight:650; }
.moderation-page .mod-heading p { color:var(--muted); font-size:14px; margin-top:8px; }
.moderation-page .mod-heading-actions { display:flex; gap:10px; flex-shrink:0; }
.moderation-page .mod-note { display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; padding:13px 16px; margin-bottom:18px; border:1px solid var(--line); border-radius:9px; background:var(--panel); color:var(--muted); font-size:13px; }
.moderation-page .mod-note .text-link { min-height:36px; color:var(--accent); }
.moderation-page .mod-history { border:1px solid var(--line); border-radius:12px; background:var(--panel); overflow:hidden; }
.moderation-page .mod-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:17px; border-bottom:1px solid var(--line); }
.moderation-page .mod-toolbar .search-wrap { flex:1 1 260px; min-width:180px; }
.moderation-page .mod-toolbar input, .moderation-page .mod-toolbar select { min-height:44px; }
.moderation-page .mod-toolbar select { max-width:210px; }
.moderation-page .mod-summary { color:var(--muted); font-size:13px; padding:14px 18px; border-bottom:1px solid var(--line-soft); }
.moderation-page .mod-table-scroll { overflow-x:auto; }
.moderation-page .mod-table { width:100%; min-width:830px; border-collapse:collapse; text-align:left; table-layout:fixed; }
.moderation-page .mod-table th { color:var(--muted); font-size:11px; font-weight:500; letter-spacing:.35px; text-transform:uppercase; padding:13px 18px; border-bottom:1px solid var(--line); }
.moderation-page .mod-table td { padding:15px 18px; border-bottom:1px solid var(--line-soft); vertical-align:top; font-size:13px; overflow-wrap:anywhere; }
.moderation-page .mod-table th:nth-child(1) { width:13%; }
.moderation-page .mod-table th:nth-child(2) { width:21%; }
.moderation-page .mod-table th:nth-child(3) { width:18%; }
.moderation-page .mod-table th:nth-child(4) { width:21%; }
.moderation-page .mod-table th:nth-child(5) { width:27%; }
.moderation-page .mod-table tbody tr:hover { background:var(--surface); }
.moderation-page .mod-table tbody tr:last-child td { border-bottom:0; }
.moderation-page .mod-case-button { display:inline-flex; align-items:center; min-height:44px; padding:4px 6px; margin:-5px -6px 0; color:var(--accent); font-weight:600; text-align:left; border-radius:5px; }
.moderation-page .mod-case-button:hover { background:var(--accent-soft); }
.moderation-page .mod-cell-title { display:block; font-weight:600; }
.moderation-page .mod-cell-sub { display:block; color:var(--muted); font-size:11px; margin-top:5px; }
.moderation-page .mod-reason { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.6; }
.moderation-page .mod-badge { display:inline-flex; align-items:center; min-height:25px; color:var(--accent); background:var(--accent-soft); border:1px solid var(--accent-line); border-radius:5px; padding:2px 7px; font-size:11px; }
.moderation-page .mod-badge[data-revoked="true"] { color:var(--muted); background:var(--surface); border-color:var(--line); }
.moderation-page .mod-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.moderation-page .mod-pagination>div { display:flex; align-items:center; gap:12px; }
.moderation-page .mod-empty, .moderation-page .mod-loading { padding:46px 20px; text-align:center; color:var(--muted); }
.moderation-page .mod-empty strong { display:block; color:var(--text); font-size:16px; margin-bottom:8px; }
.moderation-page .mod-empty p { max-width:440px; margin:0 auto 16px; font-size:13px; }
.moderation-page .mod-loading { font-size:14px; }
.mod-dialog { width:620px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); margin:auto; padding:0; overflow:auto; color:var(--text); background:var(--panel); border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 80px #0006; }
.mod-dialog::backdrop { background:#000a; backdrop-filter:blur(2px); }
.mod-dialog .mod-dialog-header { position:sticky; top:0; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:20px 24px; background:var(--panel); border-bottom:1px solid var(--line); }
.mod-dialog .mod-dialog-header h2 { font-size:19px; font-weight:600; }
.mod-dialog .mod-dialog-body { padding:24px; }
.mod-dialog .mod-lead { color:var(--muted); font-size:13px; line-height:1.7; margin-bottom:20px; }
.mod-dialog .mod-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.mod-dialog .mod-field { display:flex; flex-direction:column; min-width:0; gap:7px; margin-bottom:17px; }
.mod-dialog .mod-field>span { font-size:13px; font-weight:600; }
.mod-dialog .mod-field input, .mod-dialog .mod-field textarea, .mod-dialog .mod-field select { width:100%; min-height:44px; border:1px solid var(--line); border-radius:7px; background:var(--bg); padding:10px 12px; font-size:14px; }
.mod-dialog .mod-field textarea { min-height:110px; resize:vertical; }
.mod-dialog .mod-field small { color:var(--muted); font-size:12px; line-height:1.6; }
.mod-dialog .mod-action-help { padding:12px 14px; margin-bottom:20px; border-left:2px solid var(--accent-line); background:var(--surface); color:var(--muted); font-size:13px; line-height:1.7; }
.mod-dialog .mod-form-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; margin-top:23px; }
.mod-dialog .btn { min-height:44px; }
.mod-dialog .mod-error, .mod-dialog .mod-result { border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:7px; padding:14px 16px; margin:17px 0; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.mod-dialog .mod-error { border-left-color:var(--text); }
.mod-dialog .mod-result strong { display:block; font-size:16px; margin-bottom:6px; }
.mod-dialog .mod-result[data-kind="partial"], .mod-dialog .mod-result[data-kind="unknown"], .mod-dialog .mod-result[data-kind="processing"] { border-left-color:var(--muted); }
.mod-dialog .mod-details { display:grid; grid-template-columns:116px minmax(0,1fr); gap:13px 18px; margin:0; font-size:13px; line-height:1.7; }
.mod-dialog .mod-details dt { color:var(--muted); }
.mod-dialog .mod-details dd { margin:0; min-width:0; overflow-wrap:anywhere; white-space:pre-wrap; }
.mod-dialog .mod-section { margin-top:25px; }
.mod-dialog .mod-section h3 { font-size:13px; font-weight:600; margin-bottom:10px; }
.mod-dialog .mod-section p { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.8; }
.mod-dialog .mod-check { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.7; margin-top:20px; }
.mod-dialog .mod-check input { width:18px; height:18px; flex-shrink:0; margin-top:2px; accent-color:var(--accent); }
.mod-dialog .mod-effects { margin:15px 0; padding-left:20px; font-size:13px; color:var(--muted); line-height:1.8; }
.mod-dialog .mod-effects li+li { margin-top:5px; }
.mod-dialog .mod-preview-label { color:var(--accent); font-size:12px; margin-bottom:15px; }
@media(max-width:650px) {
  .moderation-page .mod-heading { flex-direction:column; gap:18px; }
  .moderation-page .mod-heading-actions { width:100%; }
  .moderation-page .mod-heading-actions>.btn { flex:1; padding:10px; font-size:13px; }
  .moderation-page .mod-toolbar { padding:13px; }
  .moderation-page .mod-toolbar .search-wrap { flex-basis:100%; }
  .moderation-page .mod-toolbar select { flex:1; min-width:120px; max-width:none; }
  .moderation-page .mod-table { min-width:0; display:block; }
  .moderation-page .mod-table thead { display:none; }
  .moderation-page .mod-table tbody { display:block; }
  .moderation-page .mod-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:16px; gap:13px 18px; border-bottom:1px solid var(--line); }
  .moderation-page .mod-table td { display:block; padding:0; border:0; }
  .moderation-page .mod-table td::before { content:attr(data-label); display:block; color:var(--muted); font-size:11px; margin-bottom:5px; }
  .moderation-page .mod-table td:last-child { grid-column:1/-1; }
  .moderation-page .mod-case-button { margin-top:-5px; }
  .moderation-page .mod-pagination>div { justify-content:space-between; width:100%; }
  .mod-dialog { max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); }
  .mod-dialog .mod-dialog-header { padding:17px 18px; }
  .mod-dialog .mod-dialog-body { padding:20px 18px; }
  .mod-dialog .mod-fields { grid-template-columns:1fr; gap:0; }
  .mod-dialog .mod-field input, .mod-dialog .mod-field textarea, .mod-dialog .mod-field select { font-size:16px; }
  .mod-dialog .mod-details { grid-template-columns:88px minmax(0,1fr); gap:12px; }
  .mod-dialog .mod-form-actions>.btn { flex:1; font-size:13px; }
}
