/* Desktop-only prototype. Sidebars stay in their original grid containers. */
.sidebarPanelHeader{position:relative;flex:none;min-height:28px;padding-right:30px}
.sidebarPanelHeader .sidebarToggle{position:absolute;right:0;top:-1px;display:grid;place-items:center;box-sizing:border-box;width:26px;height:26px;min-height:26px;margin:0;padding:4px;border:0;border-radius:4px;background:transparent;color:#dbefff}
.sidebarToggle[hidden]{display:none!important}.sidebarToggle svg{display:block;width:18px;height:18px;pointer-events:none}.sidebarToggle .sidebarExpandGlyph{display:none}.sidebarToggle[aria-expanded="false"] .sidebarCollapseGlyph{display:none}.sidebarToggle[aria-expanded="false"] .sidebarExpandGlyph{display:block}.sidebarToggle:focus-visible{outline:2px solid #8dc9ef;outline-offset:2px}.sidebarToggle:hover{background:transparent;color:#fff}
.sidebarPanelContent[hidden]{display:none!important}
#flightDataSidebar>.sidebarPanelHeader>h2{font-size:16px;line-height:1.3;margin:0}
#flightDataContents{display:flex;flex-direction:column;gap:4px;flex:1;min-height:0}
#mapDialog #worthWatchingBtn svg.worthWatchingThumb{display:none}
@media(min-width:1100px) and (pointer:fine){
 #mapDialog #worthWatchingBtn svg.worthWatchingThumb{display:block;color:#8ce2c9}
 #mapDialog #worthWatchingBtn svg.worthWatchingBinoculars{display:none}
}
@media(min-width:1100px) and (pointer:fine){
 .app.desktopMapLayout.sidebarPrototype,body.viewportFit .app.desktopMapLayout.sidebarPrototype{grid-template-columns:var(--sidebar-left-current,380px) minmax(0,1fr)}
 .app.desktopMapLayout.sidebarPrototype>#mapDialog.inlineMap:not(.mapMaximized)>.mapHead{margin-left:0}
 #mapDialog.inlineMap.sidebarPrototype>.mapBody, #mapDialog.inlineMap.sidebarRightCollapsed>.mapBody{grid-template-columns:minmax(0,1fr) var(--sidebar-right-current,52px)}
 .app.desktopMapLayout.sidebarPrototype #modeSidebar.sidebarCollapsed{padding:4px;overflow:visible;min-width:0;background:none;border:0;box-shadow:none}
 #mapDialog #flightDataSidebar>.sidebarPanelHeader{position:sticky;top:0;z-index:2;background:var(--panel,#101e33)}
 #mapDialog.inlineMap #flightDataSidebar.sidebarCollapsed{display:flex;flex-direction:column;padding:3px;overflow:hidden;min-width:0}
 #mapDialog #flightDataSidebar.sidebarCollapsed>.sidebarPanelHeader{width:100%;min-width:0;flex:none;align-self:stretch;box-sizing:border-box}
 .sidebarCollapsed>.sidebarPanelHeader{min-height:44px;height:44px;padding:0}
 .sidebarCollapsed>.sidebarPanelHeader>h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .sidebarCollapsed>.sidebarPanelHeader>.sidebarToggle{top:8px;right:8px;width:28px;height:28px;min-height:28px;padding:5px;background:transparent;border:0}
}
@media(max-width:1099px),(pointer:coarse){.sidebarPanelHeader{min-height:0;padding:0}#flightDataContents{display:contents}}

#mapFiltersDisclosure .mapFiltersContent{display:flex;align-items:flex-start;gap:8px;min-width:0}#mapDialog #mapFiltersDisclosure .manualMapFilters{flex:1 1 auto;width:auto;min-width:0}#mapDialog #mapClearFilters{flex:none;min-width:56px;min-height:32px;margin:4px 0 0;padding:6px 9px;font-size:12px}#mapClearFilters:focus-visible{outline:2px solid #8dc9ef;outline-offset:2px}#mapDialog #worthWatchingBtn[aria-expanded="true"]{background:#304f70;border-color:#8dc9ef;box-shadow:inset 0 2px 5px #0008}
@media(max-width:900px){#mapFiltersDisclosure .mapFiltersContent{display:block}#mapDialog #mapFiltersDisclosure .manualMapFilters{width:100%}#mapDialog #mapClearFilters{display:block;min-height:36px;min-width:64px;margin:6px 0 0 auto}}

/* Keep fixed-header SVG painting stable while the content grid is resized. */
body:has(.app.sidebarPrototype) #trackerHeader{transform:translate3d(0,0,0);backface-visibility:hidden}

.controlPanel>.sidebarPanelContent>.mapModeBar{padding:0 0 12px;border-bottom:0;justify-content:flex-start}.controlPanel>.sidebarPanelContent>.mapModeBar .trackingModes{width:100%;min-width:0}

/* Explanations live in top-layer tooltips, outside the sidebar's scroll layout. */
.trackerHelpHeading{display:flex;align-items:center;gap:6px;justify-content:space-between}.trackerHelpHeading>label{min-width:0}
#modeSidebar .trackerHelpButton{flex:none;display:grid;place-items:center;width:24px;height:24px;min-height:24px;padding:0;border:0;background:transparent;color:var(--accent);font-size:17px;border-radius:4px}
.trackerHelpButton:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.trackerHelpTooltip{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:300px;max-width:calc(100vw - 16px);padding:10px 12px;border:1px solid #6083aa;border-radius:8px;background:#111f35;color:#e9f3ff;font:12px/1.5 system-ui,sans-serif;box-shadow:0 4px 18px #0006}
@media(pointer:coarse){#modeSidebar .trackerHelpButton{width:44px;height:44px;min-height:44px}}

/* Replace the desktop Tracker column with Flight Data; the map uses the freed width. */
@media(min-width:1100px) and (pointer:fine){
 body .app.desktopMapLayout.sidebarPrototype.flightDataLeft,body.viewportFit .app.desktopMapLayout.sidebarPrototype.flightDataLeft{grid-template-columns:minmax(0,1fr)}
 .app.flightDataLeft>#modeSidebar{display:none!important}
 .app.desktopMapLayout.flightDataLeft>#mapDialog.inlineMap{grid-column:1;grid-row:1}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft[open]{grid-template-columns:var(--sidebar-right-current,320px) minmax(0,1fr)}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft>.mapHead{grid-column:2;grid-row:1;grid-template-columns:minmax(0,1fr) auto}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft>.mapHead>#mapTitle{display:none}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft>.mapHead .mapActions{grid-column:1}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft #mapFiltersDisclosure>summary{grid-column:2}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft>.mapBody>.mapCanvas{grid-column:2;grid-row:2}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.flightDataLeft>.mapBody>#flightDataSidebar{grid-column:1;grid-row:1/3;border-right:1px solid var(--line);border-left:0}
}

/* Desktop Maximize removes the toolbar, retaining the site heading and sidebar. */
@media(min-width:1100px) and (pointer:fine){
 body:has(#mapDialog.inlineMap.mapMaximized) #trackerHeader{visibility:visible}
 body.viewportFit #mapDialog.inlineMap.mapMaximized[open]{
  inset:var(--desktop-map-top,72px) 8px 8px;
  top:var(--desktop-map-top,72px);
  width:calc(100vw - 16px);
  height:calc(100dvh - var(--desktop-map-top,72px) - 8px);
  max-height:calc(100dvh - var(--desktop-map-top,72px) - 8px);
  grid-template-rows:minmax(0,1fr);
 }
 #mapDialog.inlineMap.mapMaximized>.mapHead{display:none!important}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.mapMaximized>.mapBody>.mapCanvas{grid-row:1}
 body:not(.mobileMapLayout) #mapDialog.inlineMap.mapMaximized>.mapBody>#flightDataSidebar{grid-row:1}
}

/* One fixed-width section row; current permissions still govern each media button. */
#desktopFlightTabs[hidden],.desktopFlightSection[hidden]{display:none!important}
.desktopSectionTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;flex:none;margin:5px 0 10px}
.desktopSectionTabs button{min-width:0;min-height:34px;padding:6px 4px;border:1px solid #42627e;border-radius:7px;background:#142b40;color:#b8cddd;font-size:13px;font-weight:650}
.desktopSectionTabs button[aria-selected=true]{background:#315577;border-color:#8dc9ef;color:#fff}
.desktopSectionTabs button:focus-visible{outline:2px solid #8dc9ef;outline-offset:2px}
.desktopFlightSections>.desktopFlightSection{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}
.desktopFlightSections #details .flightIdentity{grid-template-columns:minmax(0,1fr) minmax(70px,.65fr)}
.desktopFlightSections #mediaSidebarSlot[hidden]{display:none!important}
.desktopFlightSections #photoHeading>button[hidden]{display:none!important}
.desktopAirframeNews[hidden]{display:none!important}
.desktopAirframeMedia.desktopLatestSelected #photoFigure{display:none!important}
.desktopAirframeMedia .desktopAirframeNews{display:grid;place-items:center;min-height:160px;padding:12px;text-align:center;flex:1}
#mapDialog #desktopAirframeSection .desktopAirframeMedia:not(.desktopLatestSelected) .photoFrame{height:auto!important;min-height:0!important;max-height:none!important;flex:none!important;aspect-ratio:var(--stock-photo-ratio,3/2);width:100%}
#mapDialog #desktopAirframeSection .desktopAirframeMedia #aircraftPhoto{width:100%;height:100%;max-height:none;object-fit:contain}
#desktopAirframeSection>[data-registration-field]{padding:8px 0}
#desktopAirframeSection .value{font-size:18px;font-weight:650}
.desktopAirframeNews [aria-disabled=true]{color:#94a9bc;font-size:12px;cursor:default}
.desktopMediaNotice{margin:4px 0;color:#b7c9db;font-size:13px;line-height:1.4}
.desktopFlightSections #aircraftDetails,.desktopFlightSections #distanceBasis,.desktopFlightSections #routeConfidence{display:none!important}
.desktopAircraftFields[hidden]{display:none!important}
.desktopFlightSections .desktopAircraftFields{display:flex;flex-direction:column;gap:10px}
.desktopFlightSections .flightMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.desktopFlightSections .flightMetrics .flightMetricWide{grid-column:auto}
.desktopFlightSections #desktopSpottingSection>.row{padding:8px 0;border-bottom:1px solid #263f56}
#mapDialog #flightDataSidebar.spottingFittedMedia{overflow-y:hidden!important}
#mapDialog #flightDataSidebar.spottingFittedMedia #photoFigure{flex:none!important}
#mapDialog #flightDataSidebar.spottingFittedMedia #desktopSpottingSection .photoFrame{height:var(--spotting-media-height,140px)!important;min-height:0!important;max-height:none!important;flex:none!important}
#mapDialog #flightDataSidebar.spottingFittedMedia #sightingsPanel,#mapDialog #flightDataSidebar.spottingFittedMedia .sightingsTable{max-height:none;overflow:visible}

/* Compact desktop toolbar padding without shrinking controls or drag handles. */
@media(min-width:1100px) and (pointer:fine){
 body:not(.mobileMapLayout) #mapDialog.inlineMap.toolbarGrouped>.mapHead{padding-top:3px;padding-bottom:3px;row-gap:0;grid-template-rows:auto}
 #mapDialog #desktopToolbarGroups .toolbarViewBar{transition:none}
}

/* Categories remain intact when the available desktop toolbar width changes. */
#mapDialog.toolbarGrouped .mapDimensions{flex:1 1 100%;width:100%;min-width:0}
#mapDialog #desktopToolbarGroups{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;flex:1 1 100%;width:100%;min-width:0}
#mapDialog #desktopToolbarGroups[hidden]{display:none!important}
#desktopToolbarGroups .toolbarCategory{display:flex;align-items:stretch;gap:4px;flex:0 0 auto;padding:0;border:1px solid #344d64;border-radius:7px;background:#0c192a;position:relative}
#desktopToolbarGroups .toolbarCategoryControls{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 0}
#mapDialog #desktopToolbarGroups .toolbarCategoryControls>button{position:static;inset:auto;flex:0 0 34px;box-sizing:border-box;width:34px;min-width:34px;height:34px;min-height:34px;margin:0;padding:3px;transform:none}
#mapDialog #desktopToolbarGroups #concordeFlightBtn,#mapDialog #desktopToolbarGroups #flightFeedStatus{display:flex;align-items:center;justify-content:center}
#mapDialog #desktopToolbarGroups .toolbarCategoryControls>.mapIconToggle{display:flex;align-items:center;justify-content:center}
#mapDialog #desktopToolbarGroups .toolbarCategoryHandle{display:flex;align-items:center;justify-content:center;align-self:stretch;box-sizing:border-box;flex:0 0 14px;width:14px;min-width:14px;height:auto;min-height:0;padding:0;margin:0;border:0;border-radius:6px 0 0 6px;box-shadow:none;background:#000!important;color:#b4cde0;font-size:12px;line-height:16px;cursor:grab}
#mapDialog #desktopToolbarGroups .toolbarCategoryHandle:focus-visible{outline:2px solid #8dc9ef;outline-offset:1px}
#mapDialog #desktopToolbarGroups button[hidden]{display:none!important}
#desktopToolbarGroups .toolbarDragging{opacity:.55}
#desktopToolbarGroups .toolbarDropBefore{box-shadow:-3px 0 #8dc9ef}
#desktopToolbarGroups .toolbarDropAfter{box-shadow:3px 0 #8dc9ef}

/* Desktop toolbar palette; retain the data link's warning and paused states. */
#mapDialog #desktopToolbarGroups{--toolbar-blue:#8dc9ef;--toolbar-green:#8ce2c9;--toolbar-orange:#ff9a3d}
#mapDialog #desktopToolbarGroups .toolbarCategoryControls>button{border-color:var(--toolbar-blue)}
#mapDialog #desktopToolbarGroups #worthWatchingBtn .worthWatchingThumb,#mapDialog #desktopToolbarGroups #desktopFiltersButton{color:var(--toolbar-blue)}
#mapDialog #desktopToolbarGroups #flightFeedStatus[data-state="healthy"]{color:var(--toolbar-green)}
#mapDialog #desktopToolbarGroups #desktopEtaBtn .etaNumber{color:var(--toolbar-orange)}

/* Desktop tool feedback and view indicators; original mobile labels remain inline. */
.toolbarViewBar{display:none}
#mapDialog #desktopToolbarGroups #desktopFiltersButton:not([hidden]){display:flex!important;align-items:center;justify-content:center;text-indent:0}
#mapDialog #desktopToolbarGroups #desktopFiltersButton svg{flex:none;width:22px;height:22px}
#mapDialog #desktopToolbarGroups button:not(:disabled):active{background-color:rgb(62 112 139 / 85%)!important}
#mapDialog #desktopToolbarGroups .toolbarCategoryHandle:active{cursor:grabbing}
html.toolbarCategoryGrabbing,html.toolbarCategoryGrabbing *{cursor:grabbing!important;user-select:none!important}
#mapDialog #desktopToolbarGroups .toolbarViewButton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:14px}
#mapDialog #desktopToolbarGroups .toolbarViewLabel{display:block;line-height:14px}
#mapDialog #desktopToolbarGroups .toolbarViewBar{display:block;flex:0 0 4px;width:20px;height:4px;border-radius:1px;background:#000;transition:none}
#mapDialog #desktopToolbarGroups .toolbarViewButton[aria-pressed="true"] .toolbarViewBar{background:var(--toolbar-orange)}
@media(prefers-reduced-motion:reduce){#mapDialog #desktopToolbarGroups .toolbarViewBar{transition:none}}

/* Desktop Flight identity hierarchy; preserve the original mobile rows. */
#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightIdentity{grid-template-columns:repeat(3,minmax(0,1fr))}
#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightIdentity .label,#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightTypeFields .label{font-size:10px}
#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightIdentity .value,#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightTypeFields .value,#mapDialog #flightDataSidebar .desktopFlightSections #squawk{font-size:16.2px!important;line-height:1.3}
.desktopFlightStatusField[hidden]{display:none!important}

/* Share the Type/Status start without allowing long values to move columns. */
#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightIdentity{grid-template-columns:minmax(0,1fr) 48px minmax(0,calc((100% - 8px)/2));gap:8px}
#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightIdentity>div{min-width:0;overflow-wrap:anywhere}
#mapDialog #flightDataSidebar .desktopFlightSections #details>.flightTypeFields .value{white-space:normal;overflow-wrap:anywhere}

/* Non-default desktop filter selections: one second on, one second off. */
@keyframes appliedFiltersBorder{
  0%,49.999%{border-color:var(--toolbar-blue,#8dc9ef);box-shadow:inset 0 0 0 1px var(--toolbar-blue,#8dc9ef)}
  50%,100%{border-color:transparent;box-shadow:none}
}
@media(min-width:1100px) and (pointer:fine){
 body:not(.mobileMapLayout) #mapDialog #desktopFiltersButton.filtersApplied{animation:appliedFiltersBorder 2s steps(1,end) infinite}
}
@media(min-width:1100px) and (pointer:fine) and (prefers-reduced-motion:reduce){
 body:not(.mobileMapLayout) #mapDialog #desktopFiltersButton.filtersApplied{animation:none;border-color:var(--toolbar-blue,#8dc9ef);box-shadow:inset 0 0 0 1px var(--toolbar-blue,#8dc9ef)}
}

#desktopFiltersClose[hidden]{display:none!important}
@media(min-width:1100px) and (pointer:fine){
 body:not(.mobileMapLayout) #mapDialog.desktopFiltersOpen #mapFiltersPanel{padding-top:46px}
 #mapDialog #mapFiltersPanel #desktopFiltersClose{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:28px;min-height:28px;margin:0;padding:0;line-height:1;font-size:22px;border:1px solid #8dc9ef;border-radius:6px;color:#eaf5ff;background:#172c45}
}

/* Separate destination weather from the live readings on desktop. */
@media(min-width:1100px){.desktopFlightSections .flightMetrics{border-top:1px solid #30455e;padding-top:12px}}
