/* Ground service diagram inside the command panel. Colors come from style.css tokens. */
.ground-service-view { color:var(--ink,#e7f1f5); font-size:12px; line-height:1.45; min-width:0; padding:4px 0; }
.ground-service-view .gs-heading { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:5px; }
.ground-service-view .gs-heading strong { font-size:13px; font-weight:750; color:#fff; }
.ground-service-view .gs-time { font-variant-numeric:tabular-nums; color:var(--ink-3,#71899a); white-space:nowrap; font-size:11px; letter-spacing:.03em; }
.ground-service-view .gs-status { margin:0 0 8px; color:var(--accent-strong,#7fe6f4); font-weight:650; }
.ground-service-view .gs-map { display:block; width:100%; max-height:310px; background:var(--panel-inset,rgba(4,12,18,.45)); border:1px solid var(--hairline,rgba(150,190,206,.1)); border-radius:var(--r-2,6px); }
.ground-service-view .gs-fuel { color:var(--accent,#3ccbe0); }
.ground-service-view .gs-catering { color:var(--departure,#ffc46f); }
.ground-service-view .gs-boarding { color:var(--arrival,#6fd0ff); }
.ground-service-view .gs-stand-line { stroke:rgba(150,190,206,.35); stroke-width:1; stroke-dasharray:5 5; }
.ground-service-view .gs-stand-stop { stroke:var(--departure,#ffc46f); stroke-width:2; }
.ground-service-view .gs-plane { fill:#2a4152; stroke:#9fb6c2; stroke-width:.65; }
.ground-service-view .gs-plane-center { fill:none; stroke:rgba(150,190,206,.3); stroke-width:.4; }
.ground-service-view .gs-trail { stroke:currentColor; stroke-width:1.25; stroke-dasharray:3 4; fill:none; opacity:.65; }
.ground-service-view .gs-vehicle-body { fill:#0d1d2a; stroke:currentColor; stroke-width:1.5; }
.ground-service-view .gs-wheels { fill:none; stroke:currentColor; stroke-width:2; }
.ground-service-view .gs-symbol { fill:none; stroke:currentColor; stroke-width:1; }
.ground-service-view .gs-equipment.is-clear { opacity:.4; }
.ground-service-view .gs-bridge-outline { stroke:currentColor; stroke-width:11; }
.ground-service-view .gs-bridge-inner { stroke:#1c3344; stroke-width:8; }
.ground-service-view .gs-bridge-seam { stroke:currentColor; stroke-width:1; fill:none; }
.ground-service-view .gs-bridge-cab,.ground-service-view .gs-pivot { fill:#0d1d2a; stroke:currentColor; stroke-width:1.5; }
.ground-service-view .gs-coupling { fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.ground-service-view .gs-number-disc { fill:currentColor; }
.ground-service-view .gs-number { fill:#06131a; font-size:12px; font-weight:700; text-anchor:middle; }
.ground-service-view .gs-connected-dot { fill:var(--arrival,#6fd0ff); stroke:#0d1d2a; stroke-width:1.5; }
.ground-service-view .gs-nose { fill:var(--ink-2,#a4bac6); font-size:12px; }
.ground-service-view .gs-nose path { fill:none; stroke:var(--ink-2,#a4bac6); stroke-width:1.25; }
.ground-service-view .gs-map-note { fill:var(--ink-3,#71899a); font-size:12px; }
.ground-service-view .gs-services { list-style:none; margin:8px 0 0; padding:0; }
.ground-service-view .gs-service-row { padding:7px 0; border-bottom:1px solid var(--hairline,rgba(150,190,206,.1)); }
.ground-service-view .gs-row-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.ground-service-view .gs-row-heading strong { display:flex; align-items:center; gap:6px; font-weight:650; white-space:nowrap; }
.ground-service-view .gs-row-heading > span { color:var(--ink-2,#a4bac6); text-align:right; }
.ground-service-view .gs-key-number { display:inline-flex; justify-content:center; align-items:center; min-width:16px; height:16px; border:1px solid currentColor; border-radius:50%; font-size:11px; }
.ground-service-view .gs-row-detail { display:flex; align-items:center; gap:9px; margin-top:3px; font-size:12px; color:var(--ink-3,#71899a); }
.ground-service-view .gs-row-detail > span { flex:1; overflow-wrap:anywhere; }
.ground-service-view progress { width:64px; height:4px; flex:0 0 64px; border:0; border-radius:2px; appearance:none; background:var(--line,rgba(150,190,206,.18)); color:var(--accent,#3ccbe0); overflow:hidden; }
.ground-service-view progress::-webkit-progress-bar { background:var(--line,rgba(150,190,206,.18)); border-radius:2px; }
.ground-service-view progress::-webkit-progress-value { background:var(--accent,#3ccbe0); border-radius:2px; }
.ground-service-view progress::-moz-progress-bar { background:var(--accent,#3ccbe0); }
.ground-service-view .gs-legend { display:flex; flex-wrap:wrap; gap:5px 14px; margin:8px 0 0; color:var(--ink-3,#71899a); font-size:11.5px; }
.ground-service-view .gs-legend[hidden] { display:none; }
.ground-service-view .gs-legend span::before { content:""; display:inline-block; width:14px; vertical-align:middle; border-top:1px solid currentColor; margin-right:5px; }
.ground-service-view .gs-legend .gs-legend-trail::before { border-top-style:dashed; }
.ground-service-view .gs-note { margin:8px 0 0; color:var(--ink-3,#71899a); font-size:11.5px; overflow-wrap:anywhere; }
.ground-service-view .gs-docking { margin:8px 0 0; color:var(--ink-2,#a4bac6); overflow-wrap:anywhere; }
.ground-service-view .gs-docking[hidden] { display:none; }
.ground-service-view ::selection { background:rgba(60,203,224,.35); color:#fff; }
@media (max-width:400px) {
 .ground-service-view .gs-row-detail { align-items:flex-start; }
 .ground-service-view progress { flex-basis:48px; width:48px; margin-top:5px; }
}
@media (prefers-reduced-motion:reduce) {
 .ground-service-view .gs-trail { display:none; }
 .ground-service-view .gs-legend-trail { display:none; }
}

.ground-service-view .gs-utility { color:var(--accent,#3ccbe0); }
.ground-service-view .gs-cargo { color:var(--departure,#ffc46f); }
.ground-service-view .gs-physical-note,.ground-service-view .gs-assignment-note { margin:4px 0 0; color:var(--ink-2,#a4bac6); font-size:11.5px; overflow-wrap:anywhere; }
.ground-service-view .gs-assignment-note { margin-bottom:8px; }
.ground-service-view .gs-assignment-note[hidden] { display:none; }
