/* Velyx Management — modération en direct : reports en maître-détail (vmr-*), journal du serveur (vml-*), bannissements
   (vmb-*). Variables et classes du socle uniquement : aucune couleur en dur, angles droits, sans bordure colorée. */

/* ---- Reports : file à gauche, conversation à droite ---- */
.vmr-split { display: grid; grid-template-columns: minmax(280px, 380px) minmax(0, 1fr); gap: 16px; align-items: start; }
.vmr-list, .vmr-detail { display: flex; flex-direction: column; min-height: 560px; max-height: calc(100vh - 210px); }
.vmr-tools { display: grid; gap: 10px; padding: 12px 14px; box-shadow: inset 0 -1px 0 var(--line); }
.vmr-tools .row { flex-wrap: nowrap; }
.vmr-tools .input-icon { max-width: none; min-width: 0; }
.vmr-tools select { flex: 0 1 150px; min-width: 0; }
.vmr-counts { display: flex; gap: 6px; flex-wrap: wrap; }
.vmr-counts .tab-count { font-style: normal; margin-left: 4px; opacity: .8; }
.vmr-items { flex: 1; overflow-y: auto; display: grid; align-content: start; }
.vmr-item { display: grid; gap: 6px; padding: 12px 14px; border: 0; background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer;
  box-shadow: inset 0 -1px 0 var(--line); animation: block-in .25s ease both; }
.vmr-item:hover { background: var(--surface-2); }
.vmr-item.on { background: var(--accent-soft); }
.vmr-item-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
.vmr-item-top b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vmr-item-top time { font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.vmr-snip { font-size: 12.5px; color: var(--ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vmr-empty { flex: 1; display: grid; place-items: center; }
.vmr-head { display: grid; gap: 10px; padding: 14px 18px; box-shadow: inset 0 -1px 0 var(--line); }
.vmr-who { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.vmr-head .kv { margin: 0; }
.vmr-detail > .card-head { flex-wrap: wrap; row-gap: 8px; }
.vmr-actions { flex-wrap: wrap; justify-content: flex-end; }
.vmr-thread { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; min-height: 200px; background: var(--inv-well); }
.vmr-msg { display: grid; gap: 4px; max-width: min(78%, 560px); animation: block-in .25s ease both; }
.vmr-msg.player { align-self: flex-start; }
.vmr-msg.staff { align-self: flex-end; justify-items: end; }
.vmr-msg.sys { align-self: center; max-width: 92%; display: flex; gap: 8px; align-items: baseline; font-size: 12px; color: var(--muted); text-align: center; }
.vmr-meta { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ink-2); }
.vmr-meta time, .vmr-msg.sys time { font-size: 11px; color: var(--muted); }
.vmr-bubble { padding: 9px 12px; background: var(--surface-2); color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13.5px; line-height: 1.45; }
.vmr-msg.staff .vmr-bubble { background: var(--accent-soft); }
.vmr-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; padding: 12px 14px; box-shadow: inset 0 1px 0 var(--line); }
.vmr-composer.muted { display: block; font-size: 12.5px; }
.vmr-composer textarea { resize: none; min-height: 44px; font: inherit; font-size: 13.5px; }
.vmr-send { display: grid; gap: 4px; justify-items: end; }

/* ---- Journal du serveur ---- */
.vml-chipbar { padding: 12px 18px 0; overflow-x: auto; }
.vml-chips { flex-wrap: nowrap; padding-bottom: 2px; }
.vml-line { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.vml-line .row { gap: 4px; }
.vml-line svg.ic { width: 13px; height: 13px; color: var(--muted); }

/* ---- Bannissements ---- */
.vmb-kpi { cursor: pointer; }
.vmb-kpi:hover { background: var(--surface-2); }
.vmb-chips { gap: 4px; margin-top: 4px; }
.vmb-chips:empty { display: none; }

@media (max-width: 900px) {
  .vmr-split { grid-template-columns: 1fr; }
  .vmr-list, .vmr-detail { min-height: 0; max-height: none; }
  .vmr-items { max-height: 50vh; }
  .vmr-thread { max-height: 60vh; }
  .vmr-msg { max-width: 92%; }
  .vmr-detail > .card-head .spacer { display: none; }
  .vmr-actions { justify-content: flex-start; width: 100%; }
}
@media (max-width: 640px) {
  .vmr-tools .row { flex-wrap: wrap; }
  .vmr-composer { grid-template-columns: 1fr; }
  .vmr-send { grid-template-columns: auto auto; justify-content: space-between; align-items: center; }
}
