/*! Copyright (c) 2025-2026 Markus Schüssler. All rights reserved.
 * SPDX-License-Identifier: LicenseRef-Markus-Schuessler-Proprietary; see repository LICENSE.
 */
/* The analyzer shares BeyondXC's alpine, compact visual language. Keep map and chart data colors intact. */
body.layout-default {
  background: var(--ui-color-bg);
  color: var(--ui-color-text);
  color-scheme: light;
}
body.dark-mode.layout-default { color-scheme: dark; }

body.layout-default .bxc_nav {
  --tra-nav-bg: var(--ui-color-nav);
  --tra-nav-text-color: var(--ui-color-text);
  --tra-nav-button-bg: transparent;
  --tra-nav-button-text: var(--ui-color-text);
  --tra-nav-button-hover-bg: var(--ui-color-surface-hover);
  --tra-nav-button-hover-text: var(--ui-color-text);
  --tra-nav-button-border: var(--ui-color-border);
  --tra-nav-button-shadow: none;
  --tra-nav-shadow: none;
  flex-direction: row;
  flex-wrap: wrap;
  padding: .5rem var(--ui-page-gutter);
  gap: .75rem;
  border-bottom: 1px solid var(--ui-color-border);
  background: var(--ui-color-nav);
  color: var(--ui-color-text);
  box-shadow: none;
  backdrop-filter: none;
  font-family: var(--ui-font-family);
}
body.layout-default .bxc_nav__brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 44px;
}
body.layout-default .bxc_nav__logo { display: block; width: 104px; height: 65px; }
body.layout-default .bxc_nav__section { gap: .4rem; }
body.layout-default .bxc_nav__section--actions { flex: 1 1 auto; min-width: 0; }
body.layout-default .bxc_nav__section--actions:empty { display: none; }
body.layout-default .bxc_nav .igc-shared-flight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
  min-width: 0;
}
body.layout-default .bxc_nav #clear-tracks-btn { width: auto !important; margin: 0 !important; }
body.layout-default .bxc_nav .igc-shared-flight-actions :is(.igc-replay-launch, .igc-flightbook-launch, .igc-planner-launch) {
  width: auto;
  padding: .45rem .7rem;
  background: var(--ui-color-surface);
}
body.layout-default .bxc_nav__button,
body.layout-default button.bxc_nav__button {
  min-height: 44px;
  padding: .45rem .7rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  font-size: .875rem;
  font-weight: 600;
  box-shadow: none;
}
body.layout-default .bxc_nav__button:hover,
body.layout-default .bxc_nav__button:focus-visible {
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  box-shadow: none;
  transform: none;
}
body.layout-default .bxc_nav__section--primary .bxc_nav__button {
  border-color: transparent;
  background: transparent;
  color: var(--ui-color-text-muted);
  font-weight: 500;
}
body.layout-default .bxc_nav__button--user,
body.dark-mode.layout-default .bxc_nav__button--user,
body.layout-default .bxc_nav__button--external,
body.dark-mode.layout-default .bxc_nav__button--external {
  color: var(--ui-color-text);
  background: var(--ui-color-surface);
}
body.layout-default .bxc_nav__spacer { min-width: 0; max-width: 100%; }
body.layout-default .bxc_nav__utility-user .bxc_nav__button--user { min-width: 0; max-width: 12rem; }
body.layout-default .bxc_nav__button--icon { min-width: 44px; }
body.layout-default .bxc_nav__environment {
  min-height: 32px;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text-muted);
  box-shadow: none;
}
body.layout-default .beyondxc-nav__language-switch,
body.dark-mode.layout-default .beyondxc-nav__language-switch {
  gap: 0;
  margin-left: 0;
  padding: 0;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface);
  box-shadow: none;
}
body.layout-default .beyondxc-nav__language-link,
body.dark-mode.layout-default .beyondxc-nav__language-link {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 .6rem;
  border: 0;
  border-radius: var(--ui-radius-sm);
  background: transparent;
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1;
  box-shadow: none;
}
body.layout-default .beyondxc-nav__language-link:hover,
body.dark-mode.layout-default .beyondxc-nav__language-link:hover {
  border: 0;
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  box-shadow: none;
}
body.layout-default .beyondxc-nav__language-link--active,
body.dark-mode.layout-default .beyondxc-nav__language-link--active,
body.layout-default .beyondxc-nav__language-link--active:hover,
body.dark-mode.layout-default .beyondxc-nav__language-link--active:hover {
  border: 0;
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  box-shadow: none;
}
body.layout-default .bxc_nav__mobile-toggle {
  width: auto;
  margin-left: auto;
  min-height: 44px;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  text-transform: none;
  letter-spacing: normal;
}
body.layout-default .bxc_nav__mobile-toggle-bar { background: var(--ui-color-primary-strong); }
body.layout-default:not(.has-analyzer-fullscreen) .bxc_aktivierung-reiter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}
body.layout-default .bxc_aktivierung-reiter > #recall-url-container { flex: 0 1 420px; margin-left: auto; }
body.layout-default .bxc_aktivierung-reiter,
body.dark-mode.layout-default .bxc_aktivierung-reiter {
  padding: .55rem var(--ui-page-gutter);
  border-bottom: 1px solid var(--ui-color-border);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  font-size: 1.1rem;
  font-weight: 650;
  line-height: 1.25;
  box-shadow: none;
}

body.layout-default .xc-flightcheck-layout { --left-panel-width: 320px; --left-toggle-width: 12px; }
body.layout-default .left-panel {
  border-right: 1px solid var(--ui-color-border);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
}
body.layout-default .left-wrapper { gap: .5rem; padding: .75rem 0; }
body.layout-default #clear-tracks-btn {
  min-height: 44px !important;
  padding: .55rem .7rem !important;
  border: 1px solid var(--ui-color-primary-strong) !important;
  border-radius: var(--ui-radius-md) !important;
  background: var(--ui-color-primary-strong) !important;
  color: var(--ui-color-on-primary) !important;
  font-size: .875rem;
  font-weight: 650 !important;
}
body.layout-default #clear-tracks-btn:hover,
body.layout-default #clear-tracks-btn:active {
  background: var(--ui-color-primary) !important;
  color: var(--ui-color-on-primary) !important;
}
body.layout-default .igc-shared-flight-actions {
  grid-template-columns: minmax(0, 1fr);
  gap: .5rem;
  margin: 0 .75rem .75rem;
}
body.layout-default .igc-shared-flight-actions :is(.igc-replay-launch, .igc-flightbook-launch, .igc-planner-launch) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: .55rem .65rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-primary-strong);
  font-size: .875rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  box-shadow: none;
  transform: none;
}
body.layout-default .igc-shared-flight-actions :is(.igc-replay-launch, .igc-flightbook-launch, .igc-planner-launch):hover {
  border-color: var(--ui-color-primary-strong);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  box-shadow: none;
  transform: none;
}
body.layout-default #upload-controls-overlay { margin-top: 0; background: transparent; }
body.layout-default #upload-controls-overlay:not(:has(.upload-status-panel.is-visible)) { display: none; }
body.layout-default .upload-status-panel {
  gap: .75rem;
  padding: .75rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
  box-shadow: none;
}
body.layout-default :is(.status-title, .status-step-name, .status-progress-label) { color: var(--ui-color-text); }
body.layout-default :is(.status-subtitle, .status-step-message) { color: var(--ui-color-text-muted); }
body.layout-default .status-progress-ring__value { stroke: var(--ui-color-primary-strong); }
body.layout-default #enhanced-track-info { padding: 0 .75rem; color: var(--ui-color-text); }

/* The analyzer's generated track details still use the former dark sidebar palette. */
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .enhanced-track-info,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-container {
  min-width: 0;
  background: transparent;
  color: var(--ui-color-text);
  border: 0;
  box-shadow: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-card {
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-header,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-header,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-card.violation-card .accordion-header {
  min-height: 44px;
  padding: .6rem .75rem;
  border: 0;
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-header:hover,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-header:hover,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-card.violation-card .accordion-header:hover,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-header.active,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-header.active,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-card.violation-card .accordion-header.active {
  background: var(--ui-color-surface-hover);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-title,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-title {
  min-width: 0;
  color: var(--ui-color-text);
  font-size: .875rem;
  font-weight: 600;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-title i,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-title i,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-chevron,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-chevron {
  color: var(--ui-color-primary-strong);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-content .card-body,
body.dark-mode.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-content .card-body,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .accordion-card.violation-card .accordion-content .card-body {
  padding: .75rem;
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  font-size: .875rem;
  line-height: 1.4;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-row, .distance-overview-row) {
  min-width: 0;
  color: var(--ui-color-text);
  overflow-wrap: anywhere;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row strong,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-pilot-name,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .stats-title {
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row i,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .companion-track-stats__identity > i {
  color: var(--ui-color-primary-strong);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row__icon--success,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .status-icon--success { color: var(--ui-color-success) !important; }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row__icon--danger,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .status-icon--danger { color: var(--ui-color-danger) !important; }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row__icon--warning,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .status-icon--warning { color: var(--ui-color-warning) !important; }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-row__icon--muted, .info-row__icon--neutral, .status-icon--muted) { color: var(--ui-color-text-muted) !important; }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-row__icon--primary, .info-row__icon--notice, .info-row__icon--left) { color: var(--ui-color-primary-strong) !important; }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row__icon--accent { color: var(--ui-color-warning) !important; }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-row.info-note, .info-row__muted, .trackinfo-pilot-meta, .companion-track-stats__meta, .country-segment-meta, .distance-leg-meta) {
  color: var(--ui-color-text-muted);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-row--divider, .info-row--divider-soft, .igc-file-info, .stats-title, .distance-leg) {
  border-color: var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.trackinfo-pilot-link, .trackinfo-pilot-username-link, .igc-inline-auth-link) {
  color: var(--ui-color-primary-strong);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.trackinfo-pilot-link, .trackinfo-pilot-username-link, .igc-inline-auth-link):hover {
  color: var(--ui-color-primary);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-action-button {
  min-height: 44px;
  padding: .4rem .6rem;
  border: 1px solid var(--ui-color-border-strong);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-primary-strong);
  font-size: .8125rem;
  font-weight: 600;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-action-button:hover {
  border-color: var(--ui-color-primary-strong);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-section-heading, .distance-summary-section-title) {
  padding-bottom: .3rem;
  border-bottom: 1px solid var(--ui-color-border);
  color: var(--ui-color-text-muted);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-section-heading--success { color: var(--ui-color-success); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-section-heading--accent { color: var(--ui-color-warning); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.stat-item, .distance-summary-metric, .distance-summary-section-body, .distance-summary-closure, .companion-track-stats__metric, .companion-track-stats__note, .airspace-fl-calc-card, .airspace-fl-calc-grid > div, .airspace-fl-reference__row, .airspace-fl-reference__station) {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
  box-shadow: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .stat-item:hover {
  background: var(--ui-color-surface-hover);
  transform: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.companion-track-stats__metric dt, .airspace-fl-calc-card__subtitle, .airspace-fl-calc-grid span, .airspace-fl-reference__row > span, .airspace-fl-reference__station-meta, .airspace-fl-reference__station-more) {
  color: var(--ui-color-text-muted);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.companion-track-stats__metric dd, .airspace-fl-calc-card__title, .airspace-fl-calc-grid strong, .airspace-fl-reference__row strong, .airspace-fl-reference__station-main) {
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.airspace-fl-calc-card__clearance, .airspace-fl-calc-card__meta span) {
  border: 1px solid var(--ui-color-border);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .airspace-fl-calc-card__clearance strong,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .airspace-fl-reference__station-pressure { color: var(--ui-color-warning); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .airspace-fl-calc-card--penetration :is(.airspace-fl-calc-card__clearance strong, .airspace-fl-calc-card__clearance-secondary--penetration) { color: var(--ui-color-danger); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .violation-chip {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  border: 1px solid var(--ui-color-border);
  background: var(--ui-color-surface);
  color: var(--ui-color-text-muted);
  letter-spacing: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .violation-chip.is-ok { color: var(--ui-color-success); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .violation-chip.is-violation { color: var(--ui-color-danger); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .violation-chip.is-missing { color: var(--ui-color-text-muted); }

/* Compact detail tables keep each label, reading and map action in one row. */
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row {
  display: block;
  margin: 0;
  padding: .3rem 0;
  font-size: .875rem;
  line-height: 1.4;
  word-break: normal;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row > i {
  position: static;
  margin-right: .35rem;
  vertical-align: baseline;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row.trackinfo-detail-row {
  display: grid;
  grid-template-columns: minmax(min-content, 1fr) fit-content(55%);
  align-items: start;
  gap: .25rem .5rem;
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row:has(> .clickable-point) {
  grid-template-columns: minmax(min-content, 1fr) fit-content(45%) 2rem;
  align-items: center;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row:last-child,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row:has(+ .info-row--indented) {
  border-bottom: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-label {
  display: flex;
  align-items: baseline;
  gap: .4rem;
  min-width: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-label > i {
  position: static;
  flex: 0 0 1rem;
  width: 1rem;
  min-width: 1rem;
  margin: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-label > .info-row__swatch {
  flex: 0 0 .65rem;
  margin: .6em 0 0;
  align-self: start;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-label:has(> .info-row__swatch) > i {
  display: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-label > strong {
  min-width: 0;
  font-weight: 500;
  white-space: normal;
  overflow-wrap: normal;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-value {
  min-width: 0;
  max-width: 100%;
  text-align: right;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row > .clickable-point {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  width: 2rem;
  height: 2rem;
  margin: 0;
  padding: 0;
  border-radius: var(--ui-radius-sm);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .clickable-point:focus-visible {
  outline: 2px solid var(--ui-color-primary);
  outline-offset: 2px;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.info-meta, .info-note, .info-row--indented) {
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
  line-height: 1.4;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-note {
  margin: .35rem 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row--indented {
  padding: 0 0 .5rem 1.4rem;
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row--indented br {
  display: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row--indented i:not(:first-child) {
  margin-left: .5rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .info-row--indented.trackinfo-detail-row {
  padding: .35rem 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row.trackinfo-detail-row--numbered {
  grid-template-columns: auto minmax(0, 1fr);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row--numbered:has(> .clickable-point) {
  grid-template-columns: auto minmax(0, 1fr) 2rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-profile-row.trackinfo-detail-row {
  grid-template-columns: minmax(0, 1fr);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-value:has(.trackinfo-detail-chunk) {
  display: flex;
  flex-wrap: wrap;
  gap: .15rem .5rem;
  text-align: left;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-chunk {
  white-space: nowrap;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.distance-note, .info-section-heading) {
  margin: .75rem 0 .35rem;
  padding-bottom: .25rem;
  border-bottom: 1px solid var(--ui-color-border);
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
  font-weight: 600;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .card-body > :first-child {
  margin-top: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .distance-note-group {
  margin: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-summary {
  gap: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-value {
  display: grid;
  gap: .1rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.trackinfo-measure, .weather-value .info-meta) {
  white-space: nowrap;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-label {
  max-width: 100%;
  vertical-align: middle;
  white-space: normal;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-label__text {
  display: inline;
  min-width: 0;
  overflow-wrap: normal;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-visited-list {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-segment {
  display: grid;
  gap: .25rem;
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-segment-main {
  display: grid;
  gap: .25rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-segment-time {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem .5rem;
  font-variant-numeric: tabular-nums;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-segment-time > span {
  white-space: nowrap;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-segment-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  font-size: .8125rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-segment-meta > span {
  flex: 1;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-distribution-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
  align-items: center;
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .country-distribution-values {
  display: grid;
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .distance-overview-row {
  display: flex;
  gap: .4rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .distance-overview-row > .distance-type-icon {
  position: static;
  width: 1rem;
  height: 1rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-pilot-identity {
  align-items: flex-end;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .igc-file-info > .trackinfo-detail-row:first-child,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row:has(.trackinfo-detail-value > code) {
  grid-template-columns: minmax(0, 1fr);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .igc-file-info > .trackinfo-detail-row:first-child .trackinfo-detail-value,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-value:has(> code) {
  padding-left: 1.4rem;
  text-align: left;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) #violation-analysis-card > .accordion-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .5rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) #violation-analysis-card .accordion-chevron {
  grid-column: 2;
  grid-row: 1;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) #violation-card-body .trackinfo-detail-row {
  grid-template-columns: auto minmax(0, 1fr);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .violation-quickview {
  grid-column: 1 / -1;
  grid-row: 2;
  flex-wrap: wrap;
  margin: 0 0 0 1.875rem;
}
@media (pointer: coarse) {
  body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row:has(> .clickable-point) {
    grid-template-columns: minmax(min-content, 1fr) fit-content(45%) 2.75rem;
  }
  body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row > .clickable-point {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
  }
  body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-detail-row--numbered:has(> .clickable-point) {
    grid-template-columns: auto minmax(0, 1fr) 2.75rem;
  }
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.status-text--success, .igc-validation-status.valid, .violation-card__status--success) { color: var(--ui-color-success); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.status-text--danger, .igc-validation-status.invalid, .violation-card__status--danger) { color: var(--ui-color-danger); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.status-text--warning, .igc-validation-status.warning) { color: var(--ui-color-warning); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.status-text--info, .violation-card__status--pending) { color: var(--ui-color-primary-strong); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.status-text--muted, .igc-validation-status.unknown, .violation-card__status--neutral) { color: var(--ui-color-text-muted); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .download-btn {
  min-height: 44px;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-primary-strong);
  box-shadow: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .download-btn:hover:not(:disabled) {
  border-color: var(--ui-color-primary-strong);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  box-shadow: none;
  transform: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .download-btn:disabled { color: var(--ui-color-text-muted); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .download-btn--error {
  border-color: var(--ui-color-danger);
  color: var(--ui-color-danger);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-cards-section {
  border-top: 1px solid var(--ui-color-border);
  background: transparent;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-section-title,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-card__title {
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-section-title i,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-card__chevron { color: var(--ui-color-primary-strong); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.weather-station-section-meta, .weather-station-card__turnpoint-count, .weather-station-card__badge, .turnpoint-chip) {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  letter-spacing: 0;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.weather-station-card, .weather-station-card__metric, .altitude-gain-item, .altitude-loss-item) {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
  box-shadow: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.weather-station-card:hover, .weather-station-card.is-active, .weather-station-card.is-expanded, .altitude-gain-item:hover, .altitude-loss-item:hover) {
  border-color: var(--ui-color-border-strong);
  background: var(--ui-color-surface-hover);
  box-shadow: none;
  transform: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.weather-station-card__subtitle, .weather-station-card__metric .metric-label, .weather-station-card__turnpoints, .weather-station-card__labels, .turnpoints-label, .turnpoints-empty, .click-hint) {
  color: var(--ui-color-text-muted);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.weather-station-card__metric .metric-value, .weather-station-card__labels strong) {
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-card__action {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface);
  color: var(--ui-color-primary-strong);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-card__action:hover {
  border-color: var(--ui-color-primary-strong);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
  transform: none;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .weather-station-card__table :is(th, td) {
  border-color: var(--ui-color-border);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .altitude-gain-header,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .altitude-gain-value { color: var(--ui-color-success); }
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .altitude-loss-header,
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .altitude-loss-value { color: var(--ui-color-danger); }
body.layout-default .analyzer-empty-state {
  display: grid;
  gap: .25rem;
  margin: .45rem 0;
  padding: .75rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
  line-height: 1.4;
}
body.layout-default .analyzer-empty-state strong { color: var(--ui-color-text); font-size: .875rem; }
body.layout-default #left-panel-toggle,
body.layout-default .right-panel-toggle {
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text-muted);
  border-left: 1px solid var(--ui-color-border);
}
body.layout-default #left-panel-toggle:hover,
body.layout-default .right-panel-toggle:hover { background: var(--ui-color-surface-hover); color: var(--ui-color-primary-strong); }

body.layout-default .map-wrapper { border-bottom: 1px solid var(--ui-color-border); background: var(--ui-color-surface-alt); }
body.layout-default .analyzer-map-control,
body.layout-default .analyzer-color-option {
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface);
  color: var(--ui-color-text-muted);
  box-shadow: none;
  backdrop-filter: none;
}
body.layout-default .analyzer-map-control:not(.is-active):not([aria-pressed="true"]):not(:disabled),
body.layout-default .analyzer-color-option:not(.is-active):not([aria-pressed="true"]):not(:disabled) { opacity: 1; }
body.layout-default .analyzer-map-control:hover:not(:disabled),
body.layout-default .analyzer-color-option:hover:not(:disabled) {
  border-color: var(--ui-color-border-strong);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-text);
}
body.layout-default .analyzer-map-control.is-active,
body.layout-default .analyzer-map-control[aria-pressed="true"],
body.layout-default .analyzer-color-option.is-active,
body.layout-default .analyzer-color-option[aria-pressed="true"] {
  border-color: var(--ui-color-map-active-border);
  background: var(--ui-color-map-active-surface);
  color: var(--ui-color-map-active);
}
body.layout-default :is(.analyzer-map-control,.analyzer-color-option):focus-visible {
  outline: 2px solid var(--ui-color-primary);
  outline-offset: 2px;
}
body.layout-default .analyzer-map-menu,
body.layout-default .analyzer-color-menu {
  border: 1px solid var(--ui-color-border-strong);
  border-radius: var(--ui-radius-overlay);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  box-shadow: var(--ui-shadow-overlay);
  backdrop-filter: none;
}
body.layout-default .analyzer-menu-title,
body.layout-default .analyzer-altitude-values { color: var(--ui-color-text-muted); }
body.layout-default .analyzer-menu-option { min-height: 40px; border-radius: var(--ui-radius-sm); color: var(--ui-color-text); font-weight: 550; }
body.layout-default .analyzer-menu-option:hover,
body.layout-default .analyzer-menu-option:focus-visible {
  border-color: var(--ui-color-border);
  background: var(--ui-color-surface-hover);
  color: var(--ui-color-primary-strong);
}
body.layout-default .analyzer-menu-option i { background: var(--ui-color-surface-alt); color: var(--ui-color-text-muted); }
body.layout-default .analyzer-menu-option:is(.is-active, [aria-pressed="true"]) {
  border-color: var(--ui-color-map-active-border);
  background: var(--ui-color-map-active-surface);
  color: var(--ui-color-map-active);
}
body.layout-default .analyzer-menu-option:is(.is-active, [aria-pressed="true"]) i { background: transparent; color: inherit; }
body.layout-default .analyzer-map-control-menu .analyzer-altitude-slider { background: var(--ui-color-surface-alt); color: var(--ui-color-text); }

body.layout-default .chart-panel,
body.layout-default .chart-table-container,
body.layout-default .interactive-details-container,
body.layout-default .meteo-debug-panel,
body.layout-default .airspace-fl-debug-panel {
  border-color: var(--ui-color-border);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  box-shadow: none;
}
body.layout-default .chart-table-container { border-left: 0; border-right: 0; }
body.layout-default .analyzer-collapsible__header {
  min-height: 44px;
  padding: .55rem .75rem;
  border-color: var(--ui-color-border);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
  font-weight: 650;
}
body.layout-default .analyzer-collapsible__title i { color: var(--ui-color-primary-strong); }
body.layout-default .analyzer-collapsible__icon { border-radius: var(--ui-radius-sm); background: var(--ui-color-surface-hover); }
body.layout-default .altitude-chart-toggles {
  gap: .35rem;
  margin: 0;
  padding: .4rem .6rem;
  border-bottom: 1px solid var(--ui-color-border);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
}
body.layout-default .altitude-chart-toggles .toggle-pill,
body.layout-default .altitude-chart-toggles .trackline-toggle {
  min-height: 44px;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
}
body.layout-default .altitude-chart-toggles .toggle-pill:hover,
body.layout-default .altitude-chart-toggles .trackline-toggle:hover { background: var(--ui-color-surface-hover); }
body.layout-default .altitude-chart-wrapper,
body.layout-default #altitude-chart-container { background: var(--ui-color-surface); color: var(--ui-color-text); }
body.layout-default .altitude-scale-controls { border-color: var(--ui-color-border); background: var(--ui-color-surface-alt); color: var(--ui-color-text); }
body.layout-default .altitude-scale-controls__caption { color: var(--ui-color-text-muted); }
body.layout-default .map-track-info-placeholder { border: 1px solid var(--ui-color-border); border-radius: var(--ui-radius-sm); background: var(--ui-color-surface-alt); color: var(--ui-color-text-muted); }
body.layout-default .map-track-info-placeholder i { color: var(--ui-color-primary-strong); }

/* One persistent map, with focused analysis pages below it. */
body.layout-default #analyzer-workspace { gap: 0; min-width: 0; }
.analyzer-workspace__tab-navigation { position: sticky; top: 0; z-index: 10; display: flex; min-width: 0; border-bottom: 1px solid var(--ui-color-border); background: var(--ui-color-surface); }
.analyzer-workspace__tabs { display: flex; flex: 1; min-width: 0; gap: 4px; padding: 8px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.analyzer-workspace__scroll { display: flex; flex: 0 0 44px; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: var(--ui-color-surface); color: var(--ui-color-primary-strong); cursor: pointer; }
.analyzer-workspace__scroll:hover:not(:disabled) { background: var(--ui-color-surface-hover); }
.analyzer-workspace__scroll:disabled { opacity: .4; cursor: default; }
.analyzer-workspace__scroll[hidden] { display: none; }
.analyzer-workspace__tabs [role="tab"] { flex: 0 0 auto; min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid transparent; border-radius: var(--ui-radius-md, 6px); background: transparent; color: var(--ui-color-text-muted); font: inherit; font-size: .875rem; font-weight: 600; white-space: nowrap; }
.analyzer-workspace__tabs [role="tab"]:hover { background: var(--ui-color-surface-hover); color: var(--ui-color-text); }
.analyzer-workspace__tabs [aria-selected="true"] { border-color: var(--ui-color-border); background: var(--ui-color-surface-hover); color: var(--ui-color-primary-strong); }
.analyzer-workspace__panel { min-width: 0; padding: 12px; }
.analyzer-workspace__panel[hidden], .analyzer-workspace__empty[hidden] { display: none !important; }
.analyzer-workspace__panel[data-analyzer-panel="profile"] { padding: 0; }
.analyzer-workspace__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); align-items: start; gap: 12px; }
body.layout-default #analyzer-workspace [data-analyzer-cards] > .accordion-card { margin: 0; border: 1px solid var(--ui-color-border); border-radius: var(--ui-radius-md, 6px); background: var(--ui-color-surface); overflow: hidden; box-shadow: none; }
body.layout-default #analyzer-workspace .chart-table-container { margin: 0; border: 0; border-radius: 0; }
body.layout-default #analyzer-workspace .altitude-chart-replay-host { margin: 0; }
body.layout-default #analyzer-workspace .altitude-chart-replay-controls { border: 0; border-bottom: 1px solid var(--ui-color-border); border-radius: 0; padding: 8px 12px; }
body.layout-default #analyzer-workspace .altitude-chart-toggles { margin: 0; padding: 8px 12px; }
.analyzer-workspace__references { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; margin-top: 12px; }
#analyzer-weather-sections .weather-station-section-header { display: none; }
#analyzer-weather-sections .weather-station-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.analyzer-workspace__empty { margin: 0; padding: 24px 12px; color: var(--ui-color-text-muted); text-align: center; font-size: .875rem; }
#episode-table-container:not(:empty) + .analyzer-workspace__empty { display: none; }
.analyzer-workspace__tabs [role="tab"]:focus-visible, .analyzer-workspace__panel:focus-visible { outline: 2px solid var(--ui-color-primary); outline-offset: -2px; }

body.layout-default .popup { background: rgba(16, 27, 33, .66); backdrop-filter: none; }
body.layout-default .popup-content,
body.dark-mode.layout-default .popup-content {
  width: min(740px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  padding: 1.25rem;
  border: 1px solid var(--ui-color-border-strong);
  border-radius: var(--ui-radius-overlay);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  box-shadow: var(--ui-shadow-overlay);
  animation: none;
}
body.layout-default .popup-upload-row { gap: .75rem; margin-bottom: .75rem; }
body.layout-default .aircraft-type-section,
body.layout-default .email-row {
  padding: .75rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
}
body.layout-default .aircraft-type-label,
body.layout-default .primary-text { color: var(--ui-color-text); }
body.layout-default .secondary-text,
body.layout-default .aircraft-type-hint { color: var(--ui-color-text-muted); }
body.layout-default .aircraft-type-hint { color: var(--ui-color-danger); }
body.layout-default .aircraft-type-options { gap: .35rem; }
body.layout-default .aircraft-type-option {
  min-height: 44px;
  padding: .5rem .6rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm);
  background: var(--ui-color-surface);
  color: var(--ui-color-text);
  box-shadow: none;
}
body.layout-default .aircraft-type-option.is-selected { border-color: var(--ui-color-primary-strong); background: var(--ui-color-primary-soft); box-shadow: none; }
body.layout-default .modern-checkbox:focus-within { outline: 2px solid var(--ui-color-focus); outline-offset: 2px; }
body.layout-default .checkmark { border-color: var(--ui-color-border-strong); border-radius: var(--ui-radius-sm); background: var(--ui-color-surface); }
body.layout-default .modern-checkbox input[type="checkbox"]:checked + .checkmark { border-color: var(--ui-color-primary-strong); background: var(--ui-color-primary-strong); }
body.layout-default .modern-dropzone,
body.layout-default .modern-dropzone:hover,
body.layout-default .modern-dropzone.drag-over,
body.layout-default .modern-dropzone.is-error {
  min-height: 120px;
  border: 1px dashed var(--ui-color-border-strong);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text);
  box-shadow: none;
  transform: none;
}
body.layout-default .modern-dropzone:hover,
body.layout-default .modern-dropzone.drag-over { border-color: var(--ui-color-primary-strong); background: var(--ui-color-surface-hover); }
body.layout-default .modern-dropzone.is-error { border-color: var(--ui-color-danger); }
body.layout-default .upload-icon,
body.layout-default .modern-dropzone:hover .upload-icon { color: var(--ui-color-primary-strong); transform: none; }
body.layout-default .file-type-badge { border-radius: var(--ui-radius-sm); background: var(--ui-color-primary-soft); color: var(--ui-color-primary-strong); }
body.layout-default .popup-actions { justify-content: flex-end; gap: .5rem; }
body.layout-default .modern-btn { min-height: 44px; border-radius: var(--ui-radius-md); box-shadow: none; }
body.layout-default .modern-btn:not(:disabled):hover { transform: none; box-shadow: none; }
body.layout-default .btn-primary.modern-btn { border: 1px solid var(--ui-color-primary-strong); background: var(--ui-color-primary-strong); color: var(--ui-color-on-primary); }
body.layout-default .btn-secondary.modern-btn,
body.layout-default .btn-secondary.modern-btn:not(:disabled):hover { border: 1px solid var(--ui-color-border); background: var(--ui-color-surface); color: var(--ui-color-text); }
body.layout-default .popup-footnote {
  margin: .75rem 0 0;
  padding: .75rem;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-md);
  background: var(--ui-color-surface-alt);
  color: var(--ui-color-text-muted);
  box-shadow: none;
}
body.layout-default .popup-footnote a { color: var(--ui-color-primary-strong); }
body.layout-default .igc-public-notice { border-color: var(--ui-color-border); border-radius: var(--ui-radius-md); background: var(--ui-color-surface); color: var(--ui-color-text); }
body.layout-default .igc-public-notice--floating { border: 0; border-radius: 0; background: rgba(16, 27, 33, .66); }
body.layout-default .igc-public-notice__panel { border: 1px solid var(--ui-color-border); border-radius: var(--ui-radius-overlay); background: var(--ui-color-surface); color: var(--ui-color-text); box-shadow: var(--ui-shadow-overlay); backdrop-filter: none; }
body.layout-default .igc-public-notice__button { min-height: 44px; border-radius: var(--ui-radius-md); }
body.layout-default .igc-public-notice__button--login { background: var(--ui-color-primary-strong); color: var(--ui-color-on-primary); }
body.layout-default .igc-public-notice__button--register,
body.layout-default .igc-public-notice__button--guide { border-color: var(--ui-color-border); background: var(--ui-color-surface-alt); color: var(--ui-color-primary-strong); }
body.layout-default .igc-public-notice__button--guide:hover { border-color: var(--ui-color-border-strong); background: var(--ui-color-surface-hover); color: var(--ui-color-primary-strong); }

body.layout-default :is(button, a, input, select, textarea, summary, [role="button"]):focus-visible { outline: 2px solid var(--ui-color-focus); outline-offset: 2px; }
@media (max-width: 992px) {
  body.layout-default .xc-flightcheck-layout { min-height: 0; }
  body.layout-default .left-panel { min-height: 0; border-right: 0; border-bottom: 1px solid var(--ui-color-border); }
  body.layout-default .left-wrapper { min-height: 0; padding: .75rem 0; }
  body.layout-default #enhanced-track-info:empty { display: none; }
}
@media (max-width: 900px) {
  body.layout-default .bxc_nav__section--actions { flex-basis: 100%; }
  body.layout-default .bxc_nav .igc-shared-flight-actions { flex-direction: column; width: 100%; }
  body.layout-default .bxc_nav #clear-tracks-btn,
  body.layout-default .bxc_nav .igc-shared-flight-actions :is(.igc-replay-launch, .igc-flightbook-launch, .igc-planner-launch) { width: 100% !important; }
}
@media (max-width: 768px) {
  body.layout-default #enhanced-track-info { width: 100%; padding: 0; border-left: 0; border-right: 0; border-radius: 0; }
  body.layout-default .analyzer-workspace__panel { padding: 0; }
  body.layout-default .analyzer-workspace__cards { grid-template-columns: minmax(0, 1fr); }
  body.layout-default #analyzer-workspace [data-analyzer-cards] > .accordion-card,
  body.layout-default :is(#enhanced-track-info, .analyzer-workspace) :is(.accordion-container, .accordion-card, .accordion-header, .accordion-content) { border-left: 0; border-right: 0; border-radius: 0; }
  body.layout-default .xc-flightcheck-layout :is(.ol-map, .ol-map-3d) { border-left: 0; border-right: 0; border-radius: 0; }
  body.layout-default .bxc_nav { padding: .5rem var(--ui-page-gutter); }
  body.layout-default .popup-content { padding: .85rem; }
  body.layout-default .popup-upload-row { grid-template-columns: minmax(0, 1fr); }
  body.layout-default .popup-actions { flex-wrap: wrap; }
  body.layout-default .popup-actions .modern-btn { flex: 0 0 auto; width: 100%; justify-content: center; }
  body.layout-default .analyzer-map-control,
  body.layout-default .analyzer-color-option { min-width: 44px; min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  body.layout-default .popup, body.layout-default .popup-content { animation: none; }
}

.flight-thermal-info h3 { margin: 0 40px 12px 0; font-size: 1rem; color: inherit; }
.ol-info-box:has(.flight-thermal-info) .info-box-close,
.maplibregl-popup-content:has(.flight-thermal-info) .maplibregl-popup-close-button { min-width: 44px; min-height: 44px; }
.flight-thermal-info__metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; }
.flight-thermal-info__metrics dt { font-size: .75rem; opacity: .8; overflow-wrap: anywhere; }
.flight-thermal-info__metrics dd { margin: 3px 0 0; font-size: .875rem; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }

/* Keep frequent actions above the summary, with diagnostics in their own accordions. */
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-flight-actions {
  margin-bottom: .75rem;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-flight-actions .download-buttons {
  width: 100%;
  margin: 0;
  justify-content: flex-start;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-flight-actions .download-btn {
  min-width: 0;
  min-height: 44px;
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) .trackinfo-flight-actions .share-button-group {
  margin-left: auto;
}
/* Flight identity and locations need the full sidebar width, not a value column. */
body.layout-default #flight-info-card .flight-summary .info-row {
  margin: 0;
  padding: 0;
}
body.layout-default #flight-info-card .flight-summary .info-row.trackinfo-detail-row {
  grid-template-columns: minmax(0, 1fr);
  gap: .125rem;
  border: 0;
}
body.layout-default #flight-info-card .flight-summary .trackinfo-detail-label > i {
  display: none;
}
body.layout-default #flight-info-card .flight-summary .trackinfo-detail-label > strong {
  color: var(--ui-color-text-muted);
  font-size: .75rem;
  font-weight: 400;
}
body.layout-default #flight-info-card .flight-summary .trackinfo-detail-value {
  text-align: left;
}
body.layout-default #flight-info-card .flight-summary-identity,
body.layout-default #flight-info-card .flight-summary-context {
  display: grid;
  gap: .75rem;
}
body.layout-default #flight-info-card .flight-summary .trackinfo-pilot-identity {
  align-items: flex-start;
  gap: .25rem;
}
body.layout-default #flight-info-card .flight-summary :is(.trackinfo-pilot-link, .trackinfo-pilot-name) {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
}
body.layout-default #flight-info-card .flight-summary .trackinfo-pilot-meta {
  justify-content: flex-start;
  font-size: .8125rem;
}
body.layout-default #flight-info-card .flight-summary .trackinfo-pilot-username-link {
  font-weight: 400;
}
body.layout-default #flight-info-card .flight-summary :is(.flight-summary-date, .flight-summary-track-length).trackinfo-detail-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .5rem;
}
body.layout-default #flight-info-card .flight-summary-date .trackinfo-detail-value {
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
}
body.layout-default #flight-info-card .flight-summary .distance-overview-row {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  padding-block: .75rem;
  margin-top: .75rem;
  border-block: 1px solid var(--ui-color-border);
}
body.layout-default #flight-info-card .distance-overview-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: .25rem .5rem;
  width: 100%;
  min-width: 0;
}
body.layout-default #flight-info-card .distance-overview-value {
  color: var(--ui-color-text);
  font-size: 1.375rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
body.layout-default #flight-info-card .distance-overview-type {
  grid-column: 1 / -1;
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
  margin: 0;
}
body.layout-default #flight-info-card .flight-summary-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
  padding-block: .75rem;
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default #flight-info-card .flight-summary-metrics .trackinfo-detail-value {
  font-size: 1rem;
  font-weight: 600;
}
body.layout-default #flight-info-card .flight-summary-altitude {
  grid-column: 1 / -1;
}
body.layout-default #flight-info-card .flight-summary-altitudes {
  display: flex;
  flex-wrap: wrap;
  gap: .25rem 1rem;
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
  font-weight: 400;
}
body.layout-default #flight-info-card .flight-summary-altitudes > span {
  white-space: nowrap;
}
body.layout-default #flight-info-card .flight-summary-altitudes b {
  color: var(--ui-color-text);
  font-size: .875rem;
  font-weight: 600;
}
body.layout-default #flight-info-card .flight-summary-context {
  margin-top: .75rem;
}
body.layout-default #flight-info-card .flight-summary-airspace {
  padding-block: .75rem;
  border-bottom: 1px solid var(--ui-color-border);
}
body.layout-default #flight-info-card .flight-summary-airspace-label {
  margin-bottom: .375rem;
  color: var(--ui-color-text-muted);
  font-size: .75rem;
}
body.layout-default #flight-info-card .flight-summary-airspace .violation-quickview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .375rem;
  margin: 0;
}
body.layout-default #flight-info-card .flight-summary-airspace .violation-chip {
  justify-content: center;
  min-width: 0;
  padding: .25rem;
  border-radius: 4px;
  font-size: .75rem;
}
body.layout-default #flight-info-card .flight-summary .flight-summary-place {
  display: grid;
  gap: .25rem;
}
body.layout-default #flight-info-card .flight-summary-place-meta {
  color: var(--ui-color-text-muted);
  font-size: .75rem;
}
body.layout-default #flight-info-card .flight-summary-footer {
  display: grid;
  gap: .5rem;
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid var(--ui-color-border);
}
body.layout-default :is(#enhanced-track-info, .analyzer-workspace) #igc-status-card .igc-file-info {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
body.layout-default #igc-status-card .igc-validation-warning {
  align-items: flex-start;
  color: var(--ui-color-text-muted);
}
body.layout-default #baro-data-card .info-note {
  color: var(--ui-color-text-muted);
  font-size: .8125rem;
}

/* Optional historical sun/terrain instrument; retain the map as the working surface. */
.analyzer-solar-panel {
  position: absolute;
  z-index: 46;
  top: 60px;
  left: 64px;
  width: min(324px, calc(100% - 76px));
  max-height: min(620px, calc(100% - 76px), calc(100dvh - 100px));
  overflow: auto;
  overscroll-behavior: contain;
  pointer-events: auto;
  border-radius: var(--ui-radius-overlay, 6px);
  color: var(--ui-color-text);
  font: 400 14px/1.35 var(--ui-font-family);
}
.analyzer-solar-panel:has(.solar-analysis-control[hidden]) { display: none; }
.solar-analysis-control {
  box-sizing: border-box;
  padding: 12px;
  border: 1px solid var(--ui-color-border);
  border-radius: inherit;
  background: var(--ui-color-surface);
}
.solar-analysis-control[hidden], .solar-analysis-marker__direction[hidden] { display: none !important; }
.solar-analysis-control__header,
.solar-analysis-control__actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.solar-analysis-control__header h3 { margin: 0; font-size: 18px; font-weight: 600; }
.solar-analysis-control__actions { margin-top: 8px; flex-wrap: wrap; justify-content: start; }
.solar-analysis-control__button,
.solar-analysis-control input {
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: 1px solid var(--ui-color-border);
  border-radius: var(--ui-radius-sm, 6px);
  background: var(--ui-color-surface);
  color: inherit;
  font: inherit;
}
.solar-analysis-control__button { cursor: pointer; }
.solar-analysis-control__button:is(:hover, [aria-pressed="true"]) { background: var(--ui-color-surface-hover); color: var(--ui-color-primary-strong); }
.solar-analysis-control__button:disabled { opacity: .55; cursor: default; }
.solar-analysis-control :is(button, input):focus-visible { outline: 2px solid var(--ui-color-primary); outline-offset: 2px; }
.solar-analysis-control__coordinates { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 12px; }
.solar-analysis-control__coordinates label { min-width: 0; font-size: 12px; }
.solar-analysis-control input { display: block; width: 100%; font-size: 16px; font-variant-numeric: tabular-nums; }
.solar-analysis-control__coordinates button { grid-column: 1 / -1; }
.solar-analysis-control__values { margin: 12px 0 0; }
.solar-analysis-control__values > div { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 8px; padding: 4px 0; border-bottom: 1px solid var(--ui-color-border); }
.solar-analysis-control__values dt { color: var(--ui-color-text-muted); }
.solar-analysis-control__values dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.solar-analysis-control :is(p) { margin: 8px 0 0; }
.solar-analysis-control__help { font-size: 12px; color: var(--ui-color-text-muted); }
.solar-analysis-control__error { color: var(--ui-color-danger); }
.solar-analysis-control input[aria-invalid="true"] { border-color: var(--ui-color-danger); }
.solar-analysis-toggle[aria-expanded="true"] { color: var(--ui-color-map-active); background: var(--ui-color-map-active-surface); border-color: var(--ui-color-map-active-border); }
.is-solar-picking :is(.ol-viewport, .maplibregl-canvas-container) { cursor: crosshair !important; }
.solar-analysis-marker { width: 14px; height: 14px; box-sizing: border-box; border: 3px solid var(--ui-color-surface); border-radius: 50%; background: var(--ui-color-primary-strong); outline: 2px solid var(--ui-color-primary-strong); pointer-events: none; }
.solar-analysis-marker__direction { position: absolute; left: 4px; bottom: 7px; width: 3px; height: 32px; transform-origin: 50% 100%; background: var(--ui-color-primary-strong); border: 1px solid var(--ui-color-surface); box-sizing: border-box; }
.solar-analysis-marker__direction::after { content: ''; position: absolute; top: -4px; left: -5px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 9px solid var(--ui-color-primary-strong); }
@media (max-width: 600px) {
  .analyzer-solar-panel { top: 56px; left: 56px; width: calc(100% - 64px); max-height: min(calc(100% - 72px), calc(100dvh - 88px)); }
}
@media (max-height: 500px) {
  .analyzer-solar-panel { top: 8px; max-height: min(calc(100% - 24px), calc(100dvh - 24px)); }
}
@media (max-width: 600px) {
  .is-3d-mode .analyzer-solar-panel { top: 112px; max-height: min(calc(100% - 128px), calc(100dvh - 128px)); }
}
