.route-place{display:block;min-width:0;max-width:100%;text-align:left;white-space:normal}
.route-place .route-place-city{display:block;font-size:14px;font-weight:600;line-height:1.4;color:var(--text);overflow-wrap:anywhere}
.route-place .route-place-airport{display:block;margin-top:3px;font-size:10px;font-weight:400;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.route-place .route-place-iata{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.route-place .route-direction{margin-right:4px;font-size:10px;font-weight:400;color:var(--muted)}
.operations-bar{--operation-card-width:204px;--operation-card-height:120px}
/* Fixed outer height, with compact status and route rows instead of a large
   middle spacer. Full destination details remain in the selected flight. */
.operation-events{height:calc(var(--operation-card-height) + 10px);min-height:calc(var(--operation-card-height) + 10px)}
.operation-events .operation-row{height:var(--operation-card-height);min-height:var(--operation-card-height);max-height:var(--operation-card-height);grid-template-rows:28px 30px minmax(0,1fr)}
.operation-events .operation-row .operation-card-body{align-self:start}
.operation-events .operation-row .operation-card-foot{align-items:flex-end}
.operation-events .operation-row .operation-route{flex:1;white-space:normal;overflow:visible;text-overflow:clip}
.operation-events .runway-chip{flex:none;max-width:65px;white-space:normal;line-height:1.4;text-align:right}
.operation-events .route-place .route-place-city{font-size:13px}
.operation-events .route-place .route-place-airport{font-size:10px}
.operation-events .route-place :is(.route-place-city,.route-place-airport){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.operation-events .route-place .route-place-airport{display:flex;align-items:baseline;gap:3px}
.operation-events .route-place-airport>span:not(.route-place-iata){min-width:0;overflow:hidden;text-overflow:ellipsis}
.operation-events .route-place-airport>.route-place-iata{flex:none}
.flight-row .route-place{margin:4px 0 5px}
.flight-row .route-place-city{font-size:14px}
.flight-row .route-place-airport{font-size:11px}
.home-flight{min-height:86px}
.home-flight .route-place-airport{font-size:10px;margin-top:3px}
.announcement-route{display:grid;grid-template-columns:minmax(64px,.8fr) minmax(0,1.4fr);column-gap:12px;row-gap:4px;align-items:baseline;line-height:1.4}
.announcement-route>.announcement-airline{grid-column:1;grid-row:1;overflow-wrap:anywhere;line-height:1.4}
.announcement-route>div{grid-column:1;grid-row:2;margin-top:0;line-height:1.4;gap:0}
.announcement-route>div strong{line-height:1.4}
.announcement-route .route-place{grid-column:2;grid-row:1;margin:0}
.announcement-route>.boarding-scheduled{grid-column:2;grid-row:2;margin-top:0;font-size:10px;line-height:1.4;color:var(--muted)}
.announcement-route .route-place-city{font-size:16px}
.announcement-route .route-place-airport{font-size:11px}
@media(max-width:400px){
 .announcement-flight{gap:8px}
 .announcement-flight>.airline-tail-badge{flex-basis:40px;width:40px;height:40px}
 .announcement-flight>.airline-tail-badge img{width:36px;height:36px}
 .announcement-route{grid-template-columns:minmax(56px,.7fr) minmax(0,1.5fr);column-gap:8px}
 .announcement-gate{min-width:44px;padding-left:8px}
}
#selected-route .route-place-city{font-size:12px}
#selected-route .route-place-airport{font-size:10px}
.detail-route .route-place-city{font-size:17px}
.detail-route .route-place-airport{font-size:12px}
