/**
 * Site-admin additions on top of the vendored game admin.css (which is never edited here, see
 * VENDORED.md). Only fixes for content the game panel does not have: longer RO status lines
 * and 3-up tiles that overflow a 375px screen. Uses the game's own tokens; adds no colors.
 */

/* Status rows: let a long detail wrap instead of being clipped. */
.row-list .row { flex-wrap: wrap; }
.row-list .row .row__text { min-width: 0; }
.row-list .row .hint { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 759px) {
  /* name + badge on the first line, the detail text under it */
  .row-list .row--tall .badge { order: 3; margin-left: auto; }
  .row-list .row--tall .hint { order: 4; flex: 1 1 100%; padding-left: 20px; }
  .tile-grid--3 { grid-template-columns: 1fr; }
}

/* Data pages: filter rows, the save box and the detail table */
.filter-form { flex-direction: column; align-items: stretch; }
.filter-row { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 8px; margin-top: 8px; }
.filter-row .select, .filter-row .input { min-width: 0; width: 100%; }
.save-form { align-items: flex-end; }
.message-body { white-space: pre-wrap; overflow-wrap: anywhere; }
.kv-table th { text-align: left; font-weight: 600; color: var(--cb-text-secondary); padding-right: 16px; white-space: nowrap; vertical-align: top; }
.kv-table td { overflow-wrap: anywhere; }
.chip .inline-form { display: inline; margin-left: 6px; }
@media (max-width: 759px) { .filter-row { grid-template-columns: 1fr; } }

/* Wide data tables: one line per row, long text cut with an ellipsis (full text on the detail page) */
.data-table th, .data-table td { white-space: nowrap; }
.data-table td[data-label="Message"], .data-table td[data-label="User agent"] { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
