.table-panel { min-width: 0; max-width: 100%; }
.table-panel { display: flex; flex-direction: column; height: 320px; }
.table-panel.full { height: 60vh; }
.chat-log {
  flex: 1; overflow-y: auto; background: #0e1016; border: 1px solid var(--border-dim);
  border-radius: var(--radius); padding: 8px; font-size: 13px; margin-bottom: 8px;
  min-width: 0;
}
.chat-line { margin: 4px 0; line-height: 1.35; word-break: break-word; }
.chat-line .ts { color: #666; font-size: 11px; margin-right: 6px; }
.chat-line .who { font-weight: 600; margin-right: 6px; }
.chat-line.whisper { color: var(--whisper); }
.chat-line.whisper .who::after { content: " (whisper)"; font-weight: 400; font-size: 11px; }
.chat-input-row { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.chat-input-row input { flex: 1 1 80px; min-width: 0; }
.chat-input-row .btn { flex: 0 0 auto; }
.whisper-select { flex: 0 1 90px; width: auto; max-width: 100%; font-size: 12px; min-width: 0; }
.compact-table { height: 180px; }
