body { height: 100vh; display: flex; flex-direction: column; }
#content { flex: 1; display: flex; min-height: 0; }
#left { width: 50%; border-right: 1px solid #333; overflow-y: auto; }
#right { width: 50%; overflow-y: auto; padding: 16px; }

th, td { white-space: nowrap; }
th { z-index: 1; cursor: pointer; user-select: none; }
th:hover { color: #fff; }
th.sort-asc::after { content: ' \25B2'; color: #666; }
th.sort-desc::after { content: ' \25BC'; color: #666; }
td { cursor: pointer; }
tr.selected td { background: #1e2a40; color: #eee; }
tr.no-vehicle td { color: #e90; }

.detail-section { margin-bottom: 20px; }
.detail-section h2 { font-size: 13px; font-weight: 600; color: #888; margin-bottom: 8px; border-bottom: 1px solid #333; padding-bottom: 4px; }
.detail-row { display: flex; padding: 3px 0; font-size: 12px; align-items: center; }
.detail-key { color: #666; width: 140px; flex-shrink: 0; }
.detail-val { color: #ccc; }
.placeholder { color: #555; font-size: 13px; padding-top: 40px; text-align: center; }

.two-col { display: flex; gap: 16px; margin-bottom: 20px; }
.two-col > div { flex: 1; min-width: 0; }

#session-map { width: 100%; height: 300px; border-radius: 4px; background: #000; }

.vehicle-row { display: flex; gap: 8px; align-items: center; }
.vehicle-msg { font-size: 11px; margin-left: 8px; }
.vehicle-msg.ok { color: #4f4; }
.vehicle-msg.error { color: #f44; }

#queue-section { border-bottom: 1px solid #333; max-height: 280px; overflow-y: auto; }
#queue-table { margin-bottom: 0; }
#queue-table th { position: sticky; top: 0; background: #111; z-index: 1; }
#queue-table td { cursor: default; }
#queue-table tr.pending td { color: #4a4; }
#queue-table tr.failed td { color: #c44; }
#queue-table tr:hover td { background: inherit; }

#laps-table th, #channels-table th { background: #161616; }

.danger-btn { background: #a33; color: #fff; border: 1px solid #c44; }
.danger-btn:hover { background: #c44; }

