/* ══════════════════════════════════════════════════════════
   Wash waiting board — MotoGP broadcast / qualifying vibes
   Fixed viewport (TV / display) — no page scroll
   Load after wash-brand-vars, wash-branding.css, mgp-kit.css
   ══════════════════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; }

html, body.mgp-board-page {
    margin: 0;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    background: #000;
    color: var(--tmt-white, #f5f7fa);
    font-family: var(--tmt-font, 'Montserrat', system-ui, sans-serif);
    -webkit-font-smoothing: antialiased;
}

.mgp-board {
    position: relative;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    padding: clamp(0.45rem, 1vh, 0.75rem) clamp(0.75rem, 1.5vw, 1.5rem);
}

.mgp-board__bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 90% 60% at 12% 50%, rgba(26, 125, 193, 0.2) 0%, transparent 55%),
        radial-gradient(ellipse 70% 50% at 88% 25%, rgba(252, 190, 20, 0.1) 0%, transparent 50%),
        linear-gradient(155deg, #000 0%, var(--tmt-navy, #0f182c) 45%, #050810 100%);
}

.mgp-board__stripes {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0.5;
    background: repeating-linear-gradient(
        -12deg,
        transparent,
        transparent 18px,
        rgba(252, 190, 20, 0.035) 18px,
        rgba(26, 125, 193, 0.04) 20px
    );
}

.mgp-board__shell {
    position: relative;
    z-index: 1;
    height: 100%;
    max-width: 112rem;
    margin: 0 auto;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: clamp(0.35rem, 0.8vh, 0.55rem);
    min-height: 0;
}

/* ── Header ─────────────────────────────────────────────── */
.mgp-board__header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: clamp(0.65rem, 1.5vw, 1.25rem);
    padding-bottom: clamp(0.35rem, 0.7vh, 0.55rem);
    border-bottom: 2px solid color-mix(in srgb, var(--tmt-blue, #1a7dc1) 55%, var(--tmt-yellow, #fcbe14));
    flex-shrink: 0;
}

.mgp-board__logo img {
    display: block;
    height: clamp(2rem, 4.2vh, 2.75rem);
    width: auto;
    filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.5));
}

.mgp-board__event {
    text-align: center;
    min-width: 0;
}

.mgp-board__event-eyebrow {
    display: block;
    margin: 0 0 0.1rem;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.5rem, 0.9vh, 0.6rem);
    font-weight: 500;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.mgp-board__event-title {
    margin: 0;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(1.35rem, 3.2vh, 2.35rem);
    font-weight: 900;
    font-style: normal;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1;
    color: #fff;
}

.mgp-board__event-title span {
    color: var(--tmt-yellow, #fcbe14);
}

.mgp-board__meta {
    text-align: right;
    flex-shrink: 0;
    line-height: 1.2;
}

.mgp-board__meta-label {
    display: block;
    font-size: clamp(0.5625rem, 0.9vh, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.mgp-board__meta-clock {
    display: block;
    margin: 0.08rem 0;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(1.35rem, 2.8vh, 2rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.06em;
    color: var(--tmt-yellow, #fcbe14);
    line-height: 1;
}

.mgp-board__meta-summary,
.mgp-board__meta-queue {
    display: block;
    font-size: clamp(0.5625rem, 0.95vh, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

/* ── Body: pits 50% / queue the rest ────────────────────── */
.mgp-board__body {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: clamp(0.25rem, 0.5vh, 0.4rem);
    min-height: 0;
    overflow: hidden;
}

.mgp-board__top-row {
    min-height: 0;
    height: 100%;
    overflow: hidden;
}

.mgp-board__divider {
    flex-shrink: 0;
    height: 2px;
    margin: clamp(0.25rem, 0.5vh, 0.4rem) 0;
    background: linear-gradient(90deg, transparent 0%, var(--tmt-blue, #1a7dc1) 15%, var(--tmt-yellow, #fcbe14) 50%, var(--tmt-blue, #1a7dc1) 85%, transparent 100%);
    opacity: 0.6;
}

.mgp-board__queues-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(0.4rem, 0.8vw, 0.65rem);
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.mgp-board__queue--wash .mgp-board__queue-title i {
    color: var(--tmt-blue, #1a7dc1);
}

.mgp-board__queue--dry .mgp-board__queue-title i {
    color: #7dd3fc;
}

@media (max-width: 900px) {
    .mgp-board__queues-row {
        grid-template-columns: 1fr;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    }
}

/* ── MotoGP qualifying-style leaderboard ─────────────────── */
.mgp-lb {
    --mgp-lb-red: #e10600;
    --mgp-lb-dark: #141418;
    --mgp-lb-accent: #9b5de5;
    display: flex;
    flex-direction: column;
    min-height: min(100%, max-content);
    height: auto;
    gap: clamp(0.2rem, 0.4vh, 0.35rem);
    padding: clamp(0.15rem, 0.3vh, 0.25rem);
    overflow: visible;
    background: #0a0a0c;
}

/* Pole row */
.mgp-lb-pole {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: stretch;
    min-height: clamp(6.25rem, 15vh, 8.25rem);
    flex-shrink: 0;
    overflow: hidden;
    background: #0a0a0c;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

.mgp-lb-pole__red {
    position: relative;
    flex: 0 0 clamp(4.25rem, 12%, 5.5rem);
    min-width: 3.75rem;
    max-width: 5.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mgp-lb-red);
    clip-path: polygon(0 0, 100% 0, 72% 100%, 0 100%);
    z-index: 2;
}

.mgp-lb-pole__pos {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-right: 0.65rem;
    line-height: 1;
    color: #fff;
    letter-spacing: -0.04em;
    z-index: 4;
}

.mgp-lb-pole__pos-num {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(2rem, 4.6vh, 3rem);
    font-weight: 900;
    font-style: normal;
}

.mgp-lb-pole__photo {
    flex: 0 0 auto;
    width: clamp(3.25rem, 7.5vh, 4.25rem);
    height: clamp(3.25rem, 7.5vh, 4.25rem);
    margin-right: 0.75rem;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.mgp-lb-pole__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.mgp-lb-pole__photo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: clamp(1.25rem, 3vh, 1.75rem);
    color: rgba(255, 255, 255, 0.55);
}

.mgp-lb-pole__dark {
    flex: 1;
    display: flex;
    align-items: center;
    min-width: 0;
    margin-left: -1.1rem;
    padding: 0.55rem clamp(0.65rem, 1.2vw, 0.9rem) 0.55rem 1.45rem;
    background: var(--mgp-lb-dark);
    clip-path: polygon(0.85rem 0, 100% 0, 100% 100%, 0 100%);
    z-index: 1;
}

.mgp-lb-accent {
    flex-shrink: 0;
    width: 4px;
    align-self: stretch;
    margin-right: 0.45rem;
    background: var(--mgp-lb-accent);
    border-radius: 1px;
}

.mgp-lb-pole__copy,
.mgp-lb-row__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.02rem;
    line-height: 1.05;
}

.mgp-lb-q {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(1.35rem, 2.8vh, 1.9rem);
    font-weight: 900;
    letter-spacing: 0.04em;
    line-height: 1;
    color: #fff;
}

.mgp-lb-pole .mgp-lb-q {
    font-size: clamp(1.7rem, 3.6vh, 2.4rem);
}

.mgp-lb-first {
    font-size: clamp(1.05rem, 2.2vh, 1.45rem);
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #fff;
    text-transform: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-lb-pole .mgp-lb-first {
    font-size: clamp(1.2rem, 2.6vh, 1.7rem);
}

.mgp-lb-last {
    font-size: clamp(1.25rem, 2.6vh, 1.75rem);
    font-weight: 900;
    font-style: italic;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--tmt-yellow, #fcbe14);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-lb-last--pole {
    font-size: clamp(1.75rem, 3.8vh, 2.5rem);
    line-height: 0.95;
}

.mgp-lb-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.2rem;
    min-width: 0;
}

.mgp-lb-meta--row {
    flex-shrink: 0;
    margin-top: 0;
    margin-left: auto;
    padding-left: 0.35rem;
}

.mgp-lb-flag {
    font-size: clamp(0.65rem, 1.1vh, 0.8rem);
    line-height: 1;
}

.mgp-lb-team {
    font-size: clamp(0.5rem, 0.85vh, 0.625rem);
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.88);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-lb-pole__copy .mgp-lb-team {
    font-size: clamp(0.5625rem, 0.95vh, 0.6875rem);
}

.mgp-lb-wait {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 0.05rem;
    margin-left: auto;
    padding-left: 0.45rem;
    text-align: right;
}

.mgp-lb-wait--pole {
    padding-right: 0.15rem;
}

.mgp-lb-wait__label {
    font-size: clamp(0.45rem, 0.75vh, 0.55rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    white-space: nowrap;
}

.mgp-lb-wait__clock {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.75rem, 1.35vh, 0.95rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.05em;
    color: var(--tmt-yellow, #fcbe14);
    line-height: 1;
    white-space: nowrap;
}

.mgp-lb-row .mgp-lb-wait {
    flex-direction: row;
    align-items: center;
    gap: 0.25rem;
    padding-left: 0.35rem;
}

.mgp-lb-row .mgp-lb-wait__clock {
    font-size: clamp(0.65rem, 1.1vh, 0.78rem);
}

/* List rows — fixed height, no flex-grow stretch */
.mgp-lb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 0 0 auto;
    min-height: 0;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-content: flex-start;
    justify-content: flex-start;
    gap: clamp(0.18rem, 0.35vh, 0.28rem);
}

.mgp-lb-row {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    height: clamp(3.4rem, 7.2vh, 4.4rem);
    min-height: clamp(3.4rem, 7.2vh, 4.4rem);
    max-height: clamp(3.4rem, 7.2vh, 4.4rem);
    padding: 0 clamp(0.5rem, 0.9vw, 0.7rem) 0 0;
    background: var(--mgp-lb-dark);
    overflow: hidden;
}

.mgp-lb-row__nub {
    flex-shrink: 0;
    width: 0;
    height: 0;
    margin-right: 0.35rem;
    border-top: 0.45rem solid transparent;
    border-bottom: 0.45rem solid transparent;
    border-left: 0.55rem solid var(--mgp-lb-red);
}

.mgp-lb-row__pos {
    flex-shrink: 0;
    width: clamp(1.65rem, 2.6vw, 2.15rem);
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(1.15rem, 2.35vh, 1.55rem);
    font-weight: 900;
    font-style: normal;
    line-height: 1;
    color: #fff;
    text-align: center;
}

.mgp-lb-row .mgp-lb-accent {
    margin-right: 0.3rem;
}

.mgp-lb-row__copy {
    flex: 1;
    min-width: 0;
}

/* >5 in queue: pack the list into two columns */
.mgp-lb--two-col .mgp-lb-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-auto-rows: min-content;
    align-content: start;
    gap: clamp(0.16rem, 0.3vh, 0.24rem) clamp(0.3rem, 0.7vw, 0.5rem);
    overflow: visible;
}

.mgp-lb--two-col .mgp-lb-row {
    height: clamp(2.9rem, 5.8vh, 3.6rem);
    min-height: clamp(2.9rem, 5.8vh, 3.6rem);
    max-height: clamp(2.9rem, 5.8vh, 3.6rem);
    padding-right: 0.35rem;
}

.mgp-lb--two-col .mgp-lb-row__pos {
    width: clamp(1.45rem, 2.2vw, 1.85rem);
    font-size: clamp(1rem, 2vh, 1.3rem);
}

.mgp-lb--two-col .mgp-lb-meta--row {
    display: none;
}

.mgp-lb--two-col .mgp-lb-row .mgp-lb-wait {
    padding-left: 0.2rem;
}

.mgp-lb--two-col .mgp-lb-row .mgp-lb-wait__clock {
    font-size: clamp(0.55rem, 0.95vh, 0.68rem);
}

.mgp-lb--two-col .mgp-lb-last {
    font-size: clamp(1rem, 2vh, 1.3rem);
}

.mgp-lb--two-col .mgp-lb-first {
    font-size: clamp(0.85rem, 1.6vh, 1.1rem);
}

.mgp-board__queue-wrap {
    flex: 1 1 0;
    min-height: 0;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--tmt-yellow, #fcbe14) 55%, transparent) rgba(255, 255, 255, 0.06);
}

.mgp-board__queue-wrap::-webkit-scrollbar {
    width: 0.45rem;
}

.mgp-board__queue-wrap::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 999px;
}

.mgp-board__queue-wrap::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--tmt-yellow, #fcbe14) 55%, transparent);
    border-radius: 999px;
}

/* ── Queue section header ─────────────────────────────────── */
.mgp-board__queue {
    display: flex;
    flex-direction: column;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.mgp-board__queue-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.3rem;
    padding: 0 0.1rem;
    flex-shrink: 0;
}

.mgp-board__queue-title {
    margin: 0;
    font-size: clamp(0.625rem, 1vh, 0.75rem);
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.mgp-board__queue-title i {
    color: var(--tmt-blue, #1a7dc1);
    margin-right: 0.3rem;
}

.mgp-board__queue-more {
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.38);
    white-space: nowrap;
}

.mgp-board__queue-table {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 0;
    border: none;
    clip-path: polygon(0 0, 98.5% 0, 100% 1.5rem, 100% 100%, 1.5% 100%, 0 calc(100% - 1rem));
    background: linear-gradient(180deg, rgba(12, 16, 28, 0.92) 0%, rgba(4, 6, 12, 0.97) 100%);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

/* Queue columns: # | No. | Rider | Bay | Wait | Package */
.mgp-board__queue-table-head,
.mgp-board__row {
    --mgp-queue-cols: 2.25rem 2.75rem minmax(0, 1.45fr) minmax(6.75rem, 1fr) minmax(4.75rem, 0.72fr) minmax(0, 1.35fr);
    display: grid;
    grid-template-columns: var(--mgp-queue-cols);
    gap: 0.35rem 0.55rem;
    align-items: center;
}

.mgp-board__queue-table-head {
    padding: 0.4rem 0.6rem;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.45rem, 0.75vh, 0.5rem);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    border-bottom: 2px solid var(--tmt-blue, #1a7dc1);
    background: linear-gradient(90deg, rgba(26, 125, 193, 0.12) 0%, rgba(0, 0, 0, 0.35) 100%);
    flex-shrink: 0;
}

.mgp-board__queue-table-head > span,
.mgp-board__row > span {
    min-width: 0;
}

.mgp-board__queue-table-head > span:nth-child(5),
.mgp-board__queue-table-head > span:nth-child(6) {
    text-align: right;
}

.mgp-board__queue-list {
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: repeat(var(--queue-rows, 10), minmax(0, 1fr));
    --queue-rows: 10;
}

/* Slightly denser rows when the board is full (up to 10 on screen) */
.mgp-board__queue-list:has(.mgp-board__row:nth-child(8)) .mgp-board__row {
    padding-block: clamp(0.12rem, 0.32vh, 0.28rem);
}

.mgp-board__queue-list:has(.mgp-board__row:nth-child(8)) .mgp-board__rider-name,
.mgp-board__queue-list:has(.mgp-board__row:nth-child(8)) .mgp-board__team {
    font-size: clamp(0.5625rem, 0.95vh, 0.6875rem);
}

.mgp-board__row {
    padding: clamp(0.2rem, 0.45vh, 0.35rem) 0.6rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    min-height: 0;
    align-content: center;
}

.mgp-board__row:last-child {
    border-bottom: none;
}

.mgp-board__row--pos-1 {
    background: linear-gradient(90deg, rgba(252, 190, 20, 0.1) 0%, rgba(26, 125, 193, 0.08) 40%, transparent 100%);
    border-left: 4px solid var(--tmt-yellow, #fcbe14);
    clip-path: polygon(0 0, 99% 0, 100% 50%, 99% 100%, 0 100%);
}

.mgp-board__pos {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.8125rem, 1.4vh, 0.9375rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.75);
    text-align: center;
}

.mgp-board__row--pos-1 .mgp-board__pos {
    color: #fff;
}

.mgp-board__rider-num {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 1.65rem;
    padding: 0.1rem 0.25rem;
    border-radius: 3px;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.6875rem, 1.2vh, 0.8125rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    color: #fff;
    background: linear-gradient(135deg, var(--tmt-blue, #1a7dc1), var(--tmt-blue-light, #2a8fd4));
    clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
}

.mgp-board__row--pos-1 .mgp-board__rider-num {
    background: linear-gradient(135deg, var(--tmt-yellow, #fcbe14), #e5a800);
    color: #000;
}

.mgp-board__rider-name {
    font-size: clamp(0.6875rem, 1.15vh, 0.8125rem);
    font-weight: 800;
    font-style: italic;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

.mgp-board__rider-name--guest {
    color: var(--tmt-yellow);
    font-style: normal;
    font-family: ui-monospace, monospace;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.04em;
}

.mgp-board__bay {
    font-size: clamp(0.5625rem, 0.9vh, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--tmt-blue-light, #2a8fd4);
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.mgp-board__time {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.6rem, 0.95vh, 0.7rem);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
    color: rgba(255, 255, 255, 0.65);
    white-space: nowrap;
    justify-self: end;
}

.mgp-board__row--pos-1 .mgp-board__time {
    color: var(--tmt-yellow, #fcbe14);
}

.mgp-board__team {
    padding: 0.2rem 0.45rem;
    border-radius: 2px;
    font-size: clamp(0.5rem, 0.85vh, 0.625rem);
    font-weight: 800;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-align: right;
    justify-self: stretch;
    color: rgba(255, 255, 255, 0.85);
    background: rgba(0, 0, 0, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.06);
    line-height: 1.25;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: auto;
}

.mgp-board__queue-empty {
    margin: 0;
    padding: 1.5rem 1rem;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.4);
}

/* ── Bay tiles (top row) ─────────────────────────────────── */
.mgp-board__bays-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(0.4rem, 0.75vw, 0.6rem);
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.mgp-board__bays-group {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.mgp-board__bays-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    flex-shrink: 0;
}

.mgp-board__bays-title {
    margin: 0;
    font-size: clamp(0.5625rem, 0.95vh, 0.6875rem);
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.mgp-board__bays-group--wash .mgp-board__bays-title i {
    color: var(--tmt-blue, #1a7dc1);
    margin-right: 0.25rem;
}

.mgp-board__bays-group--dry .mgp-board__bays-title i {
    color: #7dd3fc;
    margin-right: 0.25rem;
}

.mgp-board__bays-count {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.5625rem, 0.9vh, 0.6875rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.5);
}

/* MotoGP qualifying graphic — angled flag + rider panel */
.mgp-board__bays-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(clamp(16rem, 28vw, 24rem), 1fr));
    gap: clamp(0.55rem, 1vh, 0.85rem);
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    align-content: stretch;
}

.mgp-bay-card {
    --bay-flag: #16a34a;
    --bay-accent: #86efac;
    position: relative;
    display: flex;
    align-items: stretch;
    height: 100%;
    min-height: 8.5rem;
    overflow: hidden;
    filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.45));
}

.mgp-bay-card__flag {
    position: relative;
    flex: 0 0 28%;
    min-width: 6.5rem;
    max-width: 9.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.45rem, 1.2vh, 0.85rem) clamp(0.55rem, 1.4vw, 1rem);
    background: var(--bay-flag);
    clip-path: polygon(0 0, 100% 0, 78% 100%, 0 100%);
    z-index: 2;
}

.mgp-bay-card__num {
    display: block;
    width: 100%;
    text-align: center;
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(3.4rem, 11vh, 7.5rem);
    font-weight: 900;
    line-height: 0.85;
    letter-spacing: -0.06em;
    color: #fff;
    text-shadow: 0 3px 14px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
}

.mgp-bay-card__panel {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
    gap: clamp(0.55rem, 1.2vw, 0.9rem);
    min-width: 0;
    margin-left: -10%;
    padding: clamp(1.35rem, 2.4vh, 1.85rem) clamp(0.7rem, 1.4vw, 1rem) clamp(0.45rem, 1vh, 0.7rem) calc(10% + clamp(0.55rem, 1.2vw, 0.9rem));
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 28%),
        #141418;
    clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
    z-index: 1;
}

.mgp-bay-card__pit-name {
    position: absolute;
    top: clamp(0.35rem, 0.9vh, 0.55rem);
    right: clamp(0.55rem, 1.2vw, 0.85rem);
    z-index: 2;
    max-width: min(70%, 14rem);
    padding: 0.15rem 0.45rem;
    border-radius: 0.35rem;
    font-size: clamp(0.68rem, 1.5vh, 0.85rem);
    font-weight: 800;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
    color: #f8fafc;
    background: rgba(8, 12, 22, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.12);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-bay-card__avatar {
    flex-shrink: 0;
    width: clamp(4.2rem, 9vh, 6.25rem);
    height: clamp(4.2rem, 9vh, 6.25rem);
    border-radius: 0.85rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border: 2px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

.mgp-bay-card__avatar.has-photo {
    border-color: rgba(252, 190, 20, 0.55);
}

.mgp-bay-card__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.mgp-bay-card__avatar i {
    font-size: clamp(1.6rem, 3.6vh, 2.4rem);
    color: rgba(255, 255, 255, 0.45);
}

.mgp-bay-card__copy {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.12rem;
}

.mgp-bay-card__plate {
    font-size: clamp(1.85rem, 4.6vh, 3.1rem);
    font-weight: 900;
    font-style: italic;
    letter-spacing: 0.02em;
    line-height: 0.95;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-bay-card__name {
    font-size: clamp(1.15rem, 2.7vh, 1.85rem);
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.1;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-bay-card__team {
    margin-top: 0.15rem;
    font-size: clamp(0.55rem, 1vh, 0.72rem);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mgp-bay-card--available {
    --bay-flag: #16a34a;
    --bay-accent: #86efac;
}

.mgp-bay-card--available .mgp-bay-card__plate {
    color: #fff;
}

.mgp-bay-card--available .mgp-bay-card__name {
    color: rgba(255, 255, 255, 0.78);
    font-weight: 700;
}

.mgp-bay-card--in_use {
    --bay-flag: #e10600;
    --bay-accent: #9b5de5;
}

.mgp-bay-card--in_use .mgp-bay-card__plate {
    color: var(--tmt-yellow, #fcbe14);
}

.mgp-bay-card--cleaning {
    --bay-flag: #d97706;
    --bay-accent: #fde68a;
}

.mgp-bay-card__timer {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 0.18rem;
    margin-left: 0.55rem;
    min-width: 4.2rem;
    text-align: right;
}

.mgp-bay-card__timer-label {
    font-size: clamp(0.45rem, 0.75vh, 0.55rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.42);
}

.mgp-bay-card__timer-clock {
    font-family: 'Orbitron', sans-serif;
    font-size: clamp(0.95rem, 1.8vh, 1.25rem);
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.04em;
    line-height: 1;
    color: var(--tmt-yellow, #fcbe14);
}

.mgp-bay-card__timer-bar {
    width: 3.4rem;
    height: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.mgp-bay-card__timer-fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--tmt-blue, #1a7dc1), var(--tmt-yellow, #fcbe14));
    transition: width 0.35s linear;
}

.mgp-bay-card__timer--warning .mgp-bay-card__timer-clock {
    color: #fbbf24;
}

.mgp-bay-card__timer--warning .mgp-bay-card__timer-fill {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}

.mgp-bay-card__timer--expired .mgp-bay-card__timer-clock {
    color: #fca5a5;
}

.mgp-bay-card__timer--expired .mgp-bay-card__timer-fill {
    background: #ef4444;
}

.mgp-board__pits-empty {
    margin: 0;
    width: 100%;
    padding: 0.45rem 0.5rem;
    text-align: center;
    font-size: 0.625rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.35);
    border: 1px dashed rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

/* ── Footer ──────────────────────────────────────────────── */
.mgp-board__foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.75rem;
    padding-top: 0.15rem;
    font-size: 0.5625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.28);
    flex-shrink: 0;
}

.mgp-board__foot a {
    color: rgba(252, 190, 20, 0.75);
    text-decoration: none;
}

.mgp-board__foot-sep {
    opacity: 0.45;
}

@media (max-width: 900px) {
    .mgp-board__bays-row {
        grid-template-columns: 1fr;
    }

    .mgp-board__queue-table-head {
        display: none;
    }

    .mgp-board__queue-list {
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }

    .mgp-board__row {
        --mgp-queue-cols: 1.75rem 2.25rem minmax(0, 1fr) minmax(5.5rem, auto);
        grid-template-columns: var(--mgp-queue-cols);
        grid-template-rows: auto auto;
        flex: 0 0 auto;
    }

    .mgp-board__bay {
        grid-column: 4;
        grid-row: 1;
    }

    .mgp-board__time {
        grid-column: 4;
        grid-row: 1;
        text-align: right;
    }

    .mgp-board__team {
        grid-column: 2 / -1;
        grid-row: 2;
        text-align: left;
        justify-self: stretch;
    }
}

/* Fullscreen toggle (fixed, bottom-right to avoid covering header meta) */
.mgp-board-page .mgp-kiosk-fullscreen-btn--float {
    top: auto;
    bottom: calc(clamp(0.45rem, 1vh, 0.75rem) + env(safe-area-inset-bottom, 0px));
    right: calc(clamp(0.75rem, 1.5vw, 1.5rem) + env(safe-area-inset-right, 0px));
    z-index: 200;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 6px;
    border-color: color-mix(in srgb, var(--tmt-blue, #1a7dc1) 35%, transparent);
    background: color-mix(in srgb, var(--tmt-navy, #0f182c) 88%, black);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.mgp-board-page .mgp-kiosk-fullscreen-btn--float:hover,
.mgp-board-page .mgp-kiosk-fullscreen-btn--float[aria-pressed="true"] {
    color: var(--tmt-yellow, #fcbe14);
    border-color: color-mix(in srgb, var(--tmt-yellow, #fcbe14) 45%, transparent);
    background: color-mix(in srgb, var(--tmt-blue, #1a7dc1) 22%, var(--tmt-navy, #0f182c));
}

/* ═══ View toggle bar ═══ */
.mgp-board__toggle {
    display: flex;
    gap: 0.25rem;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 6px;
    padding: 0.2rem;
    border: 1px solid color-mix(in srgb, var(--tmt-blue) 20%, transparent);
}

.mgp-board__toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    border: none;
    border-radius: 4px;
    background: transparent;
    color: var(--tmt-white-72, rgba(255,255,255,0.72));
    font-family: var(--tmt-font, 'Montserrat', sans-serif);
    font-size: clamp(0.6rem, 1.1vh, 0.75rem);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.mgp-board__toggle-btn:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--tmt-white, #f5f7fa);
}

.mgp-board__toggle-btn--active {
    background: var(--tmt-blue, #1a7dc1);
    color: #fff;
    box-shadow: 0 2px 8px rgba(26, 125, 193, 0.4);
}

.mgp-board__toggle-btn--active:hover {
    background: var(--tmt-blue, #1a7dc1);
    color: #fff;
}

/* Update header grid to accommodate toggle */
.mgp-board__header {
    grid-template-columns: auto 1fr auto auto;
}

/* ═══ Single-view toggle: hide inactive sections ═══ */
.mgp-board[data-active-view="wash"] .mgp-board__bays-group--dry,
.mgp-board[data-active-view="wash"] .mgp-board__queue--dry {
    display: none;
}

.mgp-board[data-active-view="dry"] .mgp-board__bays-group--wash,
.mgp-board[data-active-view="dry"] .mgp-board__queue--wash {
    display: none;
}

/* ═══ Enlarged bay cards in single-view ═══ */
.mgp-board[data-active-view="wash"] .mgp-board__bays-grid,
.mgp-board[data-active-view="dry"] .mgp-board__bays-grid {
    height: 100%;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
    grid-auto-rows: minmax(8.5rem, 1fr);
    align-content: stretch;
    gap: clamp(0.55rem, 1vh, 0.8rem);
}

.mgp-board[data-active-view="wash"] .mgp-bay-card,
.mgp-board[data-active-view="dry"] .mgp-bay-card {
    height: 100%;
    min-height: 8.5rem;
}

/* Single-view: bays section takes full width */
.mgp-board[data-active-view="wash"] .mgp-board__bays-row,
.mgp-board[data-active-view="dry"] .mgp-board__bays-row {
    grid-template-columns: 1fr;
}

/* Single-view: queue section takes full width */
.mgp-board[data-active-view="wash"] .mgp-board__queues-row,
.mgp-board[data-active-view="dry"] .mgp-board__queues-row {
    grid-template-columns: 1fr;
}

/* ═══ View-specific title ═══ */
.mgp-board__event-title--dry { display: none; }
.mgp-board[data-active-view="dry"] .mgp-board__event-title--wash { display: none; }
.mgp-board[data-active-view="dry"] .mgp-board__event-title--dry { display: block; }
