/* Administrator decisions and reviewer proposals stay separate from public media. */
.im-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.im-intro h2 { display:flex; align-items:center; gap:10px; font-size:20px; margin:0 0 9px; }
.im-intro h2 svg { width:20px; height:20px; }
.im-intro p { color:var(--muted); font-size:12px; line-height:1.8; margin:0; }
.im-intro > .button { flex-shrink:0; }
.im-filter { display:grid; grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) minmax(110px,.65fr) minmax(160px,.8fr) auto; gap:14px; align-items:end; padding:20px; border:1px solid var(--line); background:var(--card,#fff); border-radius:12px; }
.im-filter label { display:flex; flex-direction:column; gap:8px; font-size:12px; color:var(--muted); }
.im-filter input,.im-filter select { width:100%; min-width:0; border:1px solid var(--line); background:var(--paper,#fafbf7); color:var(--ink); border-radius:7px; padding:11px 12px; font:inherit; }
.im-feedback { color:var(--green-dark); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
.im-feedback:not(:empty) { padding:14px 2px; }
.im-feedback.im-error { color:#a75041; }
.im-loading { display:flex; align-items:center; justify-content:center; gap:12px; min-height:160px; color:var(--muted); font-size:12px; }
.im-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr)); gap:18px; margin-top:22px; }
.im-card { border:1px solid var(--line); background:var(--card,#fff); border-radius:12px; overflow:hidden; min-width:0; }
.im-cover { width:100%; aspect-ratio:4/3; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; background:transparent; border:0; padding:0; }
.im-cover img { display:block; width:100%; height:100%; object-fit:contain; }
.im-cover-note { position:absolute; bottom:8px; right:8px; padding:4px 7px; font-size:9px; border-radius:4px; background:#fffdf8eb; color:#776f5f; }
.im-card-body { padding:16px; }
.im-card-heading { display:flex; flex-direction:column; gap:6px; }
.im-card-heading strong { font-size:13px; line-height:1.7; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.im-card-heading > span { color:var(--muted); font-size:11px; }
.im-status { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.im-status > span { padding:4px 7px; border-radius:5px; color:#9f5c47; background:#f8eee6; font-size:10px; }
.im-status .im-keyword { color:#826629; background:#f9f1d9; }
.im-status .im-restored { color:var(--green-dark); background:var(--green-pale); }
.im-status .im-dislike-blocked { color:#975641; background:#f8e9df; }
.im-votes { display:flex; flex-wrap:wrap; gap:8px 18px; padding:10px 0; color:var(--muted); font-size:11px; border-block:1px solid var(--line); }
.im-votes > span { display:inline-flex; align-items:center; gap:5px; }
.im-votes svg { width:14px; height:14px; }
.im-votes strong { color:var(--ink); font-size:12px; }
.im-auto-settings { border:1px solid var(--line); background:var(--card,#fff); border-radius:12px; padding:20px; margin:0 0 16px; }
.im-auto-settings h3 { margin:0 0 8px; font-size:14px; }
.im-settings-heading { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; }
.im-settings-heading p { margin:0; color:var(--muted); font-size:11px; line-height:1.8; }
.im-setting-toggle { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; font-size:12px; color:var(--ink); }
.im-setting-toggle input { width:17px; height:17px; accent-color:var(--green); }
.im-settings-controls { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin:16px 0 10px; }
.im-settings-controls label { display:grid; grid-template-columns:auto 110px; align-items:center; gap:8px 12px; font-size:12px; color:var(--muted); }
.im-settings-controls input { width:100%; border:1px solid var(--line); background:var(--paper,#fafbf7); color:var(--ink); border-radius:7px; padding:9px 10px; }
.im-settings-controls small { grid-column:1/-1; font-size:10px; line-height:1.8; }
.im-settings-message { color:var(--green-dark); font-size:12px; line-height:1.8; }
.im-settings-message.im-error { color:#a75041; }
.im-auto-settings [data-im-settings-reload] { margin-top:8px; }
.im-reason { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--ink); font-size:12px; line-height:1.8; margin:12px 0; }
.im-card .im-reason { max-height:5.4em; overflow:auto; }
.im-facts { display:flex; flex-wrap:wrap; gap:5px 10px; font-size:10px; line-height:1.8; color:var(--muted); }
.im-rule-note { color:var(--muted); font-size:11px; line-height:1.8; }
.im-rule-note a { color:var(--green-dark); text-decoration:underline; text-underline-offset:3px; }
.im-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:16px; }
.im-actions .button { flex:1; padding:9px 8px; font-size:11px; min-width:65px; justify-content:center; }
.im-actions .button:disabled { opacity:.45; cursor:not-allowed; }
.im-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:22px 0; font-size:12px; color:var(--muted); }
.im-pagination > div { display:flex; gap:8px; }
.im-pagination button:disabled { opacity:.45; cursor:not-allowed; }
.im-empty { margin-top:20px; }
.detail-moderation-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--line); }
.im-detail-review-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-width:0; }
.detail-moderation-tools .button { font-size:11px; padding:8px 12px; }
.detail-moderation-tools a { font-size:11px; display:inline-flex; gap:5px; align-items:center; }
.im-reviewer-tools { border:1px solid var(--line); border-radius:12px; padding:12px; background:var(--surface); }
.im-reviewer-tools strong { display:flex; align-items:center; gap:6px; font-size:12px; }
.im-reviewer-tools strong svg { width:15px; height:15px; }
.im-reviewer-tools small { display:block; margin-top:4px; color:var(--muted); font-size:10px; }
.im-collaboration { border:1px solid var(--line); background:var(--surface); border-radius:16px; padding:22px; margin-bottom:20px; }
.im-collaboration h3 { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:15px; }
.im-collaboration h3 svg { width:18px; height:18px; }
.im-flag-count { padding:4px 8px; border:1px solid var(--line); border-radius:999px; font-weight:500; color:var(--muted); font-size:10px; }
.im-flag-toolbar { display:flex; align-items:center; gap:8px; }
.im-flag-toolbar select { min-width:110px; max-width:100%; min-height:36px; padding:8px 11px; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--ink); font:inherit; font-size:11px; }
.im-flag-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.im-flag-card { min-width:0; padding:17px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
.im-flag-identity { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; color:var(--muted); }
.im-flag-category { display:inline-flex; padding:4px 8px; border-radius:6px; background:var(--surface); border:1px solid var(--line); color:var(--text); }
.im-flag-card h4 { font-size:13px; line-height:1.6; margin:10px 0 5px; overflow-wrap:anywhere; }
.im-flag-meta { color:var(--muted); font-size:10px; line-height:1.7; overflow-wrap:anywhere; }
.im-flag-note,.im-flag-decision,.im-flag-summary { font-size:12px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.im-flag-note { margin:10px 0; }
.im-flag-decision { color:var(--muted); padding-top:10px; margin-top:10px; border-top:1px solid var(--line); }
.im-flag-summary { padding:12px 14px; background:var(--surface); border:1px solid var(--line); border-radius:10px; margin:14px 0; }
.im-flag-actions { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:12px; }
.im-flag-actions .button { padding:7px 10px; font-size:10px; }
.im-flag-empty { padding:24px 0 8px; color:var(--muted); font-size:12px; }
.im-flag-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-top:16px; color:var(--muted); font-size:10px; }
.im-flag-pagination > div { display:flex; gap:7px; }
.im-flag-pagination .button { padding:7px 10px; font-size:10px; }
@media(max-width:720px) {
  .im-collaboration { padding:16px; border-radius:12px; }
  .im-flag-grid { grid-template-columns:minmax(0,1fr); }
  .im-collaboration .im-settings-heading { align-items:stretch; }
  .im-flag-toolbar { justify-content:space-between; }
  .im-reviewer-tools .im-detail-review-actions { display:flex; }
  .im-reviewer-tools .im-detail-review-actions .button { flex:1; }
}
.im-confirm-name { overflow-wrap:anywhere; font-weight:550; }
.im-confirm-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:7px; }
.im-preview-dialog { width:77vw; max-width:1300px; }
.im-preview { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr); }
.im-preview-art { position:relative; aspect-ratio:var(--im-ratio,1); min-width:0; width:100%; max-height:calc(100dvh - 50px); background:transparent; display:flex; align-items:center; justify-content:center; border:0; padding:0; cursor:zoom-in; }
.im-preview-art img { width:100%; height:100%; max-height:calc(100dvh - 50px); object-fit:contain; }
.im-preview-zoom { position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:5px; border-radius:6px; background:var(--surface); color:var(--muted); padding:6px 8px; font-size:10px; pointer-events:none; }
.im-preview-zoom svg { width:13px; height:13px; }
.im-fullscreen { --im-gutter:32px; box-sizing:border-box; position:fixed; inset:0; margin:0; padding:48px var(--im-gutter); width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border:0; border-radius:0; overflow:hidden; background:var(--bg,#f7f8fa); color:var(--ink); }
.im-fullscreen[open] { display:flex; align-items:center; justify-content:center; }
.im-fullscreen::backdrop { background:var(--bg,#f7f8fa); }
.im-fullscreen > img { display:block; width:min(calc(100vw - var(--im-gutter) * 2),calc((100dvh - 96px) * var(--im-ratio,1))); height:auto; aspect-ratio:var(--im-ratio,1); max-height:calc(100dvh - 96px); object-fit:contain; flex-shrink:0; }
.im-fullscreen-close { position:absolute; top:12px; right:16px; width:34px; height:34px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--muted); }
.im-fullscreen-hint { position:absolute; bottom:17px; left:12px; right:12px; text-align:center; color:var(--muted); font-size:11px; pointer-events:none; }
.im-preview-body { min-width:0; padding:38px 25px 25px; }
.im-preview-body h2 { font-size:19px; line-height:1.6; overflow-wrap:anywhere; }
.im-preview-body .im-original { display:inline-flex; gap:6px; margin-top:18px; font-size:12px; }
@media(max-width:1180px) {
  .im-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .im-filter > button { justify-self:start; }
}
@media(max-width:780px) {
  .im-intro { align-items:flex-start; gap:10px; }
  .im-filter { grid-template-columns:repeat(2,minmax(0,1fr)); padding:14px; gap:12px; }
  .im-filter label:first-child { grid-column:1/-1; }
  .im-grid { gap:14px; }
  .im-auto-settings { padding:16px; }
  .im-settings-controls { gap:12px; }
  .im-settings-controls label { grid-template-columns:auto minmax(80px,110px); }
  .im-fullscreen { --im-gutter:16px; }
  .im-preview-dialog { width:96vw; max-width:96vw; }
  .im-preview { grid-template-columns:minmax(0,1fr); }
  .im-preview-art { position:relative; max-height:60dvh; }
  .im-preview-art img { position:absolute; inset:0; width:100%; height:100%; }
  .im-preview-body { padding:25px 18px; }
  .im-confirm-actions .button { flex:1; justify-content:center; }
  .im-detail-review-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .im-detail-review-actions .button { min-width:0; justify-content:center; white-space:normal; }
  .im-detail-review-actions .button:last-child { grid-column:1/-1; }
}
