.bottom-nav a[href="#vuelo"]>.icon,.sidebar a[href="#vuelo"]>.icon,.more-menu a[href="#vuelo"]>.icon{width:26px;height:26px}
body.is-flight-workspace .header-context>span:not(#header-module),body.is-flight-workspace .demo-date{display:none}
.flight-duration{font-size:var(--text-xl);color:var(--sun-glow);display:block;margin-block:var(--space-3)}
.flight-close-confirm{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-4);margin-top:var(--space-4);background:var(--surface-deep)}
.flight-route-workspace{display:grid;gap:var(--space-5);align-items:start}
.flight-route-map{min-width:0;padding:var(--space-3);overflow:hidden}
.sunset-map{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--map-ocean);isolation:isolate}
.sunset-map>svg{display:block;width:100%;height:auto}
.flight-map-ocean{fill:var(--map-ocean)}
.flight-map-ocean-terrain{filter:brightness(.27) saturate(1.8)}
.flight-map-terrain{filter:brightness(.68) saturate(1.5) contrast(1.05)}
.flight-map-night{fill:var(--map-ocean);opacity:.2}
.flight-map-grid{stroke:var(--map-border);stroke-opacity:.14;stroke-width:.7;fill:none}
.flight-map-land,.flight-map-borders-glow{fill:none;stroke:var(--map-border);stroke-opacity:.9;stroke-width:1.05;stroke-linejoin:round}
.flight-map-borders-glow{stroke-width:4;stroke-opacity:.12}
.flight-map-glow{fill:none;stroke:var(--sunset-coral);stroke-width:17;stroke-opacity:.15}
.flight-map-route-base{fill:none;stroke:url(#flight-line);stroke-width:5;stroke-linecap:round}
.flight-map-line{fill:none;stroke:var(--text);stroke-width:3.3;stroke-dasharray:15 12;stroke-linecap:round}
.flight-map-plane{fill:var(--text);stroke:var(--surface-deep);stroke-width:.6;filter:drop-shadow(0 3px 4px var(--canvas))}
.flight-map-marker-halo{fill:var(--sunset-coral);opacity:.2}.flight-map-marker.destination .flight-map-marker-halo{fill:var(--sunset-orange)}
.flight-map-pin{fill:var(--sunset-coral);stroke:var(--text);stroke-width:1.5}.flight-map-marker.destination .flight-map-pin{fill:var(--sunset-orange)}
.flight-map-pin-check{fill:none;stroke:var(--text);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.flight-map-label{fill:var(--text);font-size:36px;letter-spacing:1px;font-weight:700;paint-order:stroke;stroke:var(--surface-deep);stroke-width:6px;stroke-linejoin:round}
.flight-map-attribution{position:absolute;inset:auto 0 0;padding:var(--space-3);font-size:var(--text-xs);color:var(--text-secondary);display:flex;justify-content:space-between;gap:var(--space-3);background:var(--glass);backdrop-filter:blur(8px)}
.flight-map-attribution span{color:var(--text)}
.flight-map-caption{margin:var(--space-2) 0 0;font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}
.flight-map-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}
.flight-map-metrics>span{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-deep);min-width:0}
.flight-map-metrics small{font-size:var(--text-xs);color:var(--text-muted)}.flight-map-metrics strong{font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}
.flight-weather-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}
.flight-weather-actions p{font-size:var(--text-sm);color:var(--text-secondary)}
.flight-weather-raw{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-sm);background:var(--surface-deep);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}
@media(min-width:1000px){.flight-route-workspace{grid-template-columns:minmax(0,1fr) minmax(220px,.5fr)}}
@media(max-width:699px){.flight-map-metrics{grid-template-columns:1fr}.sunset-map>svg{min-height:0}.flight-map-metrics>span{display:flex;justify-content:space-between;gap:var(--space-3)}}

/* Satellite imagery keeps its natural colors; Sunset belongs to route and controls. */
.satellite-map{min-width:0}
.globe-stage{position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--globe-space);aspect-ratio:1/1.08;min-height:340px}
.globe-stage canvas,.globe-overlay{position:absolute;inset:0;display:block;width:100%;height:100%}
.globe-stage canvas{touch-action:none;cursor:grab;outline-offset:-4px}
.globe-stage canvas:active{cursor:grabbing}
.globe-overlay{pointer-events:none}
.globe-stage canvas,.globe-overlay{opacity:0}
.globe-ready canvas,.globe-ready .globe-overlay{opacity:1}
.globe-mode{position:absolute;left:var(--space-3);top:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--text);background:var(--glass);pointer-events:none}
.globe-controls{position:absolute;bottom:46px;right:var(--space-2);display:flex;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 16px)}
.globe-controls button{min-width:44px;min-height:44px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--glass);color:var(--text);font:600 var(--text-xs) var(--font);cursor:pointer;backdrop-filter:blur(8px)}
.globe-controls button:first-child,.globe-controls button:nth-child(2){font-size:var(--text-lg)}
.globe-controls button:disabled{opacity:.4;cursor:wait}
.globe-controls button[aria-pressed="true"]{border-color:var(--sunset-orange)}
.globe-source{position:absolute;inset:auto 0 0;padding:var(--space-3);display:flex;justify-content:space-between;gap:var(--space-2);background:var(--glass);font-size:var(--text-xs);color:var(--text-secondary);pointer-events:none}
.globe-status{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.5;margin:var(--space-2) 0}
.globe-borders{fill:none;stroke:var(--text);stroke-opacity:.55;stroke-width:.65;stroke-linejoin:round}
.globe-country-label{text-anchor:middle;font:600 11px var(--font);fill:var(--text);paint-order:stroke;stroke:var(--globe-space);stroke-width:2.5;stroke-opacity:.8}
.globe-airport-label{font:700 13px var(--font);fill:var(--text);paint-order:stroke;stroke:var(--globe-space);stroke-width:3;stroke-linejoin:round}
.globe-route-base{fill:none;stroke:var(--sunset-coral);stroke-width:3.5;stroke-linecap:round}
.globe-route-dash{fill:none;stroke:var(--text);stroke-width:1.8;stroke-dasharray:7 6;stroke-linecap:round}
.globe-pin{fill:var(--sunset-coral);stroke:var(--text);stroke-width:1}.globe-pin.destination{fill:var(--sunset-orange)}.globe-pin-core{fill:var(--text);stroke:none}
.globe-plane{fill:var(--text);stroke:var(--globe-space);stroke-width:.7;filter:drop-shadow(0 2px 2px var(--globe-space))}
.globe-failed .globe-stage{display:none}
.globe-fallback:empty{display:none}
