.serving-column{display:flex;flex-direction:column;padding:12px 16px;overflow:hidden}
.serving-column h1{flex:0 0 auto;margin:0 0 9px;font-size:clamp(1.75rem,2.6vw,3rem);line-height:1.05}
.serving-cards{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:8px;overflow:hidden;align-items:stretch}
.serving-card{flex:1 1 0;min-height:0;display:grid;grid-template-columns:31% 69%;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;border-width:3px}
.serving-card .position{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;line-height:1;padding:3px 2px}
.serving-card .position span{font-size:clamp(.62rem,.78vw,.9rem);letter-spacing:.04em;font-weight:900}
.serving-card .position strong{font-size:clamp(2.15rem,3.2vw,3.7rem);line-height:.92}
.serving-card .number{min-width:0;overflow:hidden;white-space:nowrap;font-size:clamp(2.1rem,3.35vw,3.9rem);line-height:1;letter-spacing:0;padding:4px}
.serving-card .role{overflow:hidden;white-space:normal;line-height:1.05;font-size:clamp(.61rem,.82vw,.95rem);padding:5px 4px;min-height:0}
.empty-serving{flex:0 0 150px;min-height:0}
.serving-card.serving-card-inactive{background:#14263a;color:#7890a6;border-color:#29425a;box-shadow:none}
.serving-card.serving-card-inactive .position{border-right-color:#365068}
.serving-card.serving-card-inactive .number{color:#7890a6}
.serving-card.serving-card-inactive .role{background:#1b344b;color:#8199ae}
.video-shell video,.video-shell img{width:100%;height:100%;object-fit:contain;position:relative;z-index:2;background:#000}.video-shell img:not([src]){display:none}
@media(max-width:1366px){.serving-column{padding:9px 11px}.serving-column h1{margin-bottom:7px}.serving-cards{gap:6px}.serving-card{grid-template-columns:30% 70%;border-width:2px}.serving-card .position strong{font-size:2.45rem}.serving-card .number{font-size:2.35rem}.serving-card .role{font-size:.66rem;padding:4px 3px}}
@media(max-height:680px){.serving-column{padding:7px 9px}.serving-column h1{font-size:1.55rem;margin-bottom:5px}.serving-cards{gap:5px}.serving-card .position strong{font-size:2rem}.serving-card .number{font-size:1.95rem}.serving-card .role{font-size:.58rem;padding:3px 2px}}

/* Compact TV-safe waiting rows: queue number is primary; nickname only is secondary. */
.waiting-section header{padding:7px 10px}
.waiting-section header span{font-size:clamp(.58rem,.72vw,.78rem)}
.waiting-section header strong{font-size:clamp(1rem,1.35vw,1.45rem)}
.waiting-list{padding:4px 10px}
.waiting-number{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:7px;padding:3px 2px;text-align:left;line-height:1.05}
.waiting-number strong{min-width:0;color:#ffd84d;font-size:clamp(1rem,1.35vw,1.55rem);white-space:nowrap}
.waiting-number span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e7f1fa;font-size:clamp(.72rem,.9vw,1rem);font-weight:700;text-align:right}
.waiting-number.waiting-empty{display:block;text-align:center}
.more{min-height:23px;padding:3px;font-size:.65rem}
@media(max-width:1366px){.waiting-section header{padding:5px 7px}.waiting-list{padding:3px 7px}.waiting-number{gap:5px;padding:2px 1px}.waiting-number strong{font-size:clamp(.92rem,1.25vw,1.18rem)}.waiting-number span{font-size:clamp(.64rem,.78vw,.82rem)}.more{min-height:19px;padding:2px;font-size:.57rem}}
