:root {
    --gad-map-ink: #0f2232;
    --gad-map-muted: #5f7180;
    --gad-map-panel: rgba(246, 251, 249, 0.9);
    --gad-map-dark: rgba(8, 24, 36, 0.92);
    --gad-map-dark-strong: rgba(6, 18, 30, 0.96);
    --gad-map-line: rgba(255, 255, 255, 0.52);
    --gad-map-blue: #1d87b8;
    --gad-map-teal: #1bb3a6;
    --gad-map-orange: #eb6b3b;
    --gad-map-shadow: 0 18px 50px rgba(8, 24, 36, 0.22);
    --gad-map-radius: 8px;
}

/* Clean 2026 map shell */
body.gad-modern-map {
    background: #e7eef1;
}

body.gad-modern-map #map_canvas {
    background: #eef5f3;
}

body.gad-modern-map .layer-switcher {
    display: none !important;
}

body.gad-modern-map .gad-modern-topbar {
    grid-template-columns: minmax(190px, auto) minmax(340px, 1fr) auto auto;
    min-height: 62px;
    border-color: rgba(12, 39, 56, 0.14);
    background: rgba(250, 253, 252, 0.94);
}

body.gad-modern-map .gad-modern-brand span span {
    letter-spacing: 0.06em;
}

body.gad-modern-map .gad-modern-search {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 8px;
}

body.gad-modern-map .gad-modern-search .gad-modern-field {
    gap: 4px;
}

body.gad-modern-map .gad-modern-search input {
    height: 38px;
    border-color: rgba(12, 39, 56, 0.18);
    background: #ffffff;
}

body.gad-modern-map .gad-modern-search .gad-modern-icon-button {
    width: auto;
    padding: 0 10px;
}

.gad-modern-search-status {
    position: static;
    grid-column: 1 / -1;
    min-height: 13px;
    margin-top: -3px;
    padding-left: 2px;
    max-width: 100%;
    overflow: hidden;
    color: var(--gad-map-muted);
    font-size: 10.5px;
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1.15;
    text-overflow: ellipsis;
    text-shadow: none;
    white-space: nowrap;
}

.gad-modern-search-status:empty {
    visibility: hidden;
}

.gad-modern-search-status[data-tone="ok"] {
    color: #087865;
}

.gad-modern-search-status[data-tone="warn"] {
    color: #a34d1f;
}

body.gad-modern-map .gad-modern-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

body.gad-modern-map .gad-modern-button.is-active,
body.gad-modern-map .gad-modern-icon-button.is-active {
    border-color: rgba(15, 131, 184, 0.5);
    background: rgba(15, 131, 184, 0.14);
    color: #075c82;
}

body.gad-modern-map .gad-modern-toolbar {
    top: 88px;
    width: 58px;
}

body.gad-modern-map .gad-modern-toolbar .gad-modern-icon-button {
    width: 42px;
    height: 38px;
    min-height: 38px;
    font-size: 12px;
}

.gad-modern-panels {
    position: fixed;
    z-index: 13250;
}

.gad-modern-panel {
    position: fixed;
    top: 88px;
    left: 86px;
    box-sizing: border-box;
    width: min(390px, calc(100vw - 112px));
    max-height: calc(100vh - 112px);
    overflow: auto;
    padding: 12px;
    border: 1px solid rgba(12, 39, 56, 0.14);
    border-radius: 8px;
    background: rgba(250, 253, 252, 0.96);
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(16px);
}

.gad-modern-panel-wide {
    width: min(760px, calc(100vw - 532px));
}

.gad-modern-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(12, 39, 56, 0.1);
}

.gad-modern-panel-head strong {
    display: block;
    margin-top: 4px;
    color: var(--gad-map-ink);
    font-size: 20px;
    line-height: 1.1;
}

.gad-modern-panel-head button {
    min-height: 30px;
    border: 1px solid rgba(12, 39, 56, 0.14);
    border-radius: 6px;
    background: #ffffff;
    color: var(--gad-map-ink);
    font-weight: 800;
}

.gad-modern-panel-section {
    display: grid;
    gap: 8px;
    padding-top: 12px;
}

.gad-modern-panel-label {
    color: var(--gad-map-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.gad-modern-choice-grid,
.gad-modern-toggle-list {
    display: grid;
    gap: 8px;
}

.gad-modern-choice-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gad-modern-choice-grid button,
.gad-modern-toggle-list button {
    display: grid;
    gap: 4px;
    min-width: 0;
    min-height: 58px;
    padding: 10px;
    border: 1px solid rgba(12, 39, 56, 0.12);
    border-radius: 8px;
    background: #ffffff;
    color: var(--gad-map-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.gad-modern-choice-grid button span,
.gad-modern-toggle-list button span {
    font-size: 13px;
    font-weight: 850;
}

.gad-modern-choice-grid button small,
.gad-modern-toggle-list button small {
    color: var(--gad-map-muted);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.25;
}

.gad-modern-choice-grid button.is-active,
.gad-modern-toggle-list button.is-active {
    border-color: rgba(15, 131, 184, 0.5);
    background: rgba(15, 131, 184, 0.12);
    box-shadow: inset 4px 0 #0f83b8;
}

.gad-modern-advanced-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    gap: 14px;
    padding-top: 12px;
}

body.gad-modern-map #tabs {
    display: none !important;
}

body.gad-modern-map #tab-filters,
body.gad-modern-map #tab-columns {
    display: block !important;
    padding: 0;
    color: var(--gad-map-ink);
}

body.gad-modern-map .gad-modern-panel #tab-filters,
body.gad-modern-map .gad-modern-panel #tab-filters table,
body.gad-modern-map .gad-modern-panel #tab-filters tbody,
body.gad-modern-map .gad-modern-panel #tab-filters tr,
body.gad-modern-map .gad-modern-panel #tab-filters td,
body.gad-modern-map .gad-modern-panel #tab-columns,
body.gad-modern-map .gad-modern-panel #tab-columns table,
body.gad-modern-map .gad-modern-panel #tab-columns tbody,
body.gad-modern-map .gad-modern-panel #tab-columns tr,
body.gad-modern-map .gad-modern-panel #tab-columns td {
    background: transparent !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel #tab-filters .infoBlockTitleText,
body.gad-modern-map .gad-modern-panel #tab-columns .infoBlockTitleText,
body.gad-modern-map .gad-modern-panel #tab-filters .infoHeading,
body.gad-modern-map .gad-modern-panel #tab-columns .infoHeading {
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel .buttonFilter li,
body.gad-modern-map .gad-modern-panel #sortableColumns li,
body.gad-modern-map .gad-modern-panel .settingsOptionContainer {
    min-height: 32px;
    margin: 4px;
    border: 1px solid rgba(12, 39, 56, 0.12) !important;
    border-radius: 6px;
    background: #ffffff !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel .buttonFilter li.ui-selected,
body.gad-modern-map .gad-modern-panel #sortableColumns li .settingsCheckboxChecked,
body.gad-modern-map .gad-modern-panel .settingsCheckboxChecked {
    background-color: rgba(15, 131, 184, 0.16) !important;
}

body.gad-modern-map .gad-modern-panel .settingsText {
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel .searchInput,
body.gad-modern-map .gad-modern-panel .altitudeFilterInput {
    min-height: 32px;
    background: #ffffff !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map #tab-filters table,
body.gad-modern-map #tab-columns table {
    width: 100%;
}

body.gad-modern-map #tab-search {
    display: none !important;
}

body.gad-modern-map #planesTable {
    display: none !important;
}

body.gad-modern-map #sidebar_container {
    top: 88px !important;
    width: min(430px, calc(100vw - 110px)) !important;
    background: rgba(250, 253, 252, 0.95);
}

body.gad-modern-map.gad-modern-drawer-closed #selected_infoblock {
    right: 14px;
    width: min(430px, calc(100vw - 110px));
}

.gad-modern-drawer-header {
    grid-template-columns: 1fr auto auto;
    background: rgba(250, 253, 252, 0.98);
}

.gad-modern-drawer-tabs {
    display: none;
}

.gad-modern-aircraft-list {
    display: grid;
    gap: 7px;
    padding: 12px;
}

.gad-modern-aircraft-row {
    display: grid;
    grid-template-columns: minmax(120px, 1.4fr) repeat(4, minmax(50px, 0.7fr));
    gap: 8px;
    align-items: center;
    min-width: 0;
    min-height: 56px;
    padding: 9px 10px 9px 12px;
    border: 1px solid rgba(12, 39, 56, 0.1);
    border-radius: 8px;
    background: #ffffff;
    color: var(--gad-map-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.gad-modern-aircraft-row:hover {
    border-color: rgba(15, 131, 184, 0.32);
    background: #f6fbfb;
}

.gad-modern-aircraft-row.is-selected {
    border-color: rgba(27, 179, 166, 0.5);
    background: rgba(27, 179, 166, 0.12);
}

.gad-modern-aircraft-row > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.gad-modern-aircraft-row strong,
.gad-modern-aircraft-row b {
    overflow: hidden;
    color: var(--gad-map-ink);
    font-size: 13px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gad-modern-aircraft-row small {
    overflow: hidden;
    color: var(--gad-map-muted);
    font-size: 10px;
    font-weight: 750;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gad-modern-aircraft-row.gad-src-adsb {
    box-shadow: inset 4px 0 #2b9fcf;
}

.gad-modern-aircraft-row.gad-src-uat {
    box-shadow: inset 4px 0 #38af75;
}

.gad-modern-aircraft-row.gad-src-mlat {
    box-shadow: inset 4px 0 #7863d9;
}

.gad-modern-aircraft-row.gad-src-tisb {
    box-shadow: inset 4px 0 #b95d8d;
}

.gad-modern-aircraft-row.gad-src-modes {
    box-shadow: inset 4px 0 #5760b9;
}

.gad-modern-aircraft-row.gad-src-adsc,
.gad-modern-aircraft-row.gad-src-other {
    box-shadow: inset 4px 0 #8898a6;
}

.gad-modern-empty {
    padding: 14px;
    border: 1px dashed rgba(12, 39, 56, 0.18);
    border-radius: 8px;
    color: var(--gad-map-muted);
    font-weight: 700;
}

body.gad-modern-map .gad-feeder-rings-control {
    position: fixed !important;
    top: 88px !important;
    left: 86px !important;
    right: auto !important;
    z-index: 13300;
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
}

body.gad-modern-map .gad-feeder-rings-control .gad-feeder-rings-toggle {
    display: none !important;
}

body.gad-modern-map .gad-feeder-rings-popup {
    position: fixed;
    top: 88px;
    left: 86px;
    width: min(380px, calc(100vw - 112px));
    max-height: calc(100vh - 112px);
    overflow: auto;
    pointer-events: auto;
}

body.gad-modern-map .ol-zoom {
    bottom: 16px;
}

body.gad-modern-map #loader {
    top: 82px;
}

@media (max-width: 1300px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: minmax(180px, auto) minmax(280px, 1fr) auto;
    }

    body.gad-modern-map .gad-modern-stats {
        display: none;
    }

    .gad-modern-panel-wide {
        width: min(700px, calc(100vw - 112px));
    }
}

@media (max-width: 900px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    body.gad-modern-map .gad-modern-actions {
        justify-content: flex-start;
    }

    body.gad-modern-map .gad-modern-toolbar {
        top: 142px;
    }

    .gad-modern-panel,
    .gad-modern-panel-wide,
    body.gad-modern-map .gad-feeder-rings-popup {
        top: 142px;
        width: min(420px, calc(100vw - 112px));
        max-height: calc(100vh - 166px);
    }
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-topbar {
        width: calc(var(--gad-modern-visual-vw, 100vw) - 16px);
    }

    body.gad-modern-map .gad-modern-search {
        grid-template-columns: 1fr auto;
    }

    body.gad-modern-map .gad-modern-search [data-modern-clear-search] {
        display: none;
    }

    body.gad-modern-map .gad-modern-actions {
        display: none;
    }

    body.gad-modern-map .gad-modern-toolbar {
        display: none;
    }

    .gad-modern-panel,
    .gad-modern-panel-wide,
    body.gad-modern-map .gad-feeder-rings-popup {
        top: auto;
        left: 8px;
        right: 8px;
        bottom: 66px;
        width: auto;
        max-height: 66vh;
        border-radius: 8px 8px 0 0;
    }

    .gad-modern-choice-grid,
    .gad-modern-advanced-grid {
        grid-template-columns: 1fr;
    }

    .gad-modern-mobile-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: calc(var(--gad-modern-visual-vw, 100vw) - 16px);
        max-width: none;
    }

    body.gad-modern-map #sidebar_container,
    body.gad-modern-map #selected_infoblock {
        bottom: 66px !important;
        max-height: 62vh;
    }

    .gad-modern-aircraft-row {
        grid-template-columns: minmax(120px, 1.5fr) repeat(2, minmax(54px, 0.7fr));
    }

    .gad-modern-aircraft-row > span:nth-child(4),
    .gad-modern-aircraft-row > span:nth-child(5) {
        display: none;
    }

    body.gad-modern-map .ol-zoom {
        right: 8px;
        bottom: 72px;
    }
}

body.gad-modern-map {
    background: #06121e;
    color: var(--gad-map-ink);
    font-family: "Avenir Next", "Segoe UI", system-ui, sans-serif;
}

body.gad-modern-map [hidden] {
    display: none !important;
}

body.gad-modern-map #map_canvas {
    background: #dce7e4;
}

body.gad-modern-map #header_top,
body.gad-modern-map #header_side,
body.gad-modern-map #container_splitter,
body.gad-modern-map #splitter {
    display: none !important;
}

.gad-modern-topbar {
    position: fixed;
    top: 12px;
    left: 12px;
    right: 12px;
    z-index: 13000;
    display: grid;
    grid-template-columns: minmax(210px, auto) minmax(320px, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 8px 12px;
    border: 1px solid var(--gad-map-line);
    border-radius: var(--gad-map-radius);
    background: linear-gradient(135deg, rgba(248, 252, 251, 0.92), rgba(229, 243, 244, 0.84));
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(16px);
}

.gad-modern-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.gad-modern-brand img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: contain;
    background: #09243a;
}

.gad-modern-brand strong {
    display: block;
    color: var(--gad-map-ink);
    font-size: 16px;
    line-height: 1;
}

.gad-modern-brand span {
    display: block;
    margin-top: 3px;
    color: var(--gad-map-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gad-modern-search {
    display: grid;
    grid-template-columns: minmax(150px, 0.9fr) auto minmax(150px, 1fr) auto;
    gap: 7px;
    min-width: 0;
}

.gad-modern-field {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.gad-modern-field span {
    color: var(--gad-map-muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.12em;
    line-height: 1;
    text-transform: uppercase;
}

.gad-modern-search input {
    width: 100%;
    min-width: 0;
    height: 34px;
    padding: 0 10px;
    border: 1px solid rgba(15, 34, 50, 0.16);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--gad-map-ink);
    outline: none;
}

.gad-modern-search input:focus {
    border-color: var(--gad-map-blue);
    box-shadow: 0 0 0 3px rgba(29, 135, 184, 0.16);
}

.gad-modern-button,
.gad-modern-icon-button,
.gad-modern-mobile-nav button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    border: 1px solid rgba(15, 34, 50, 0.14);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--gad-map-ink);
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
    text-decoration: none;
    transition: background 140ms ease, border-color 140ms ease, transform 140ms ease;
}

.gad-modern-button {
    padding: 0 12px;
}

.gad-modern-icon-button {
    width: 38px;
    padding: 0;
}

.gad-modern-button:hover,
.gad-modern-icon-button:hover,
.gad-modern-mobile-nav button:hover,
.gad-modern-button:focus-visible,
.gad-modern-icon-button:focus-visible {
    border-color: rgba(29, 135, 184, 0.45);
    background: #ffffff;
    transform: translateY(-1px);
}

.gad-modern-button.primary {
    border-color: rgba(27, 179, 166, 0.35);
    background: var(--gad-map-dark);
    color: #f8fbf6;
}

.gad-modern-button.subtle {
    background: rgba(15, 34, 50, 0.08);
    color: var(--gad-map-ink);
}

.gad-modern-icon-button.wide {
    width: auto;
    min-width: 52px;
    padding: 0 11px;
}

.gad-modern-stats {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 8px;
}

.gad-modern-stat {
    display: grid;
    gap: 2px;
    min-width: 74px;
    padding: 6px 8px;
    border-radius: 6px;
    background: rgba(15, 34, 50, 0.07);
}

.gad-modern-stat span {
    color: var(--gad-map-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.gad-modern-stat strong {
    color: var(--gad-map-ink);
    font-size: 16px;
    line-height: 1.05;
}

.gad-modern-actions {
    display: inline-flex;
    gap: 7px;
}

.gad-modern-toolbar {
    position: fixed;
    left: 14px;
    top: 86px;
    z-index: 12900;
    display: grid;
    gap: 8px;
    padding: 8px;
    border: 1px solid var(--gad-map-line);
    border-radius: var(--gad-map-radius);
    background: rgba(246, 251, 249, 0.84);
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(14px);
}

.gad-modern-toolbar .gad-modern-icon-button {
    width: 40px;
    height: 40px;
    min-height: 40px;
    color: var(--gad-map-ink);
    font-size: 17px;
}

.gad-modern-toolbar .gad-modern-icon-button.is-active {
    border-color: rgba(27, 179, 166, 0.6);
    background: rgba(27, 179, 166, 0.18);
    color: #0d5c57;
}

.gad-modern-toolbar-rule {
    height: 1px;
    background: rgba(15, 34, 50, 0.12);
}

body.gad-modern-map .ol-zoom {
    left: 14px;
    right: auto;
    bottom: 16px;
    top: auto;
    display: grid;
    gap: 7px;
    padding: 7px;
    border: 1px solid var(--gad-map-line);
    border-radius: var(--gad-map-radius);
    background: rgba(246, 251, 249, 0.84);
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(14px);
}

body.gad-modern-map .ol-control button,
body.gad-modern-map .layer-switcher button {
    border-radius: 6px;
    background-color: var(--gad-map-dark);
    color: #fff;
}

body.gad-modern-map .layer-switcher {
    top: 86px;
    right: 454px;
}

body.gad-modern-map .layer-switcher .panel {
    border-radius: var(--gad-map-radius);
    background: rgba(246, 251, 249, 0.95);
    box-shadow: var(--gad-map-shadow);
}

body.gad-modern-map .gad-feeder-rings-control {
    top: 318px;
    left: 14px;
    right: auto;
    z-index: 12920;
    padding: 8px;
    border: 1px solid var(--gad-map-line);
    border-radius: var(--gad-map-radius);
    background: rgba(246, 251, 249, 0.84);
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(14px);
}

body.gad-modern-map .gad-feeder-rings-control .gad-feeder-rings-toggle {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    box-shadow: none;
}

body.gad-modern-map .gad-feeder-rings-popup {
    top: 0;
    left: 58px;
    right: auto;
    width: 350px;
    border: 1px solid rgba(15, 34, 50, 0.12);
    border-radius: var(--gad-map-radius);
    background: linear-gradient(135deg, rgba(248, 252, 251, 0.98), rgba(230, 243, 244, 0.96));
    box-shadow: var(--gad-map-shadow);
}

body.gad-modern-map .gad-feeder-rings-header {
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(15, 34, 50, 0.1);
}

body.gad-modern-map .gad-feeder-rings-title {
    color: var(--gad-map-ink);
    font-size: 19px;
    font-weight: 850;
}

body.gad-modern-map .gad-feeder-rings-selector {
    width: 100%;
    min-height: 36px;
    margin-top: 10px;
}

body.gad-modern-map .gad-feeder-rings-buttons {
    gap: 7px;
}

body.gad-modern-map .gad-feeder-rings-buttons button {
    min-height: 34px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.72);
    color: var(--gad-map-ink);
}

body.gad-modern-map .gad-feeder-rings-buttons button.is-active {
    background: rgba(27, 179, 166, 0.18);
    color: #0d5c57;
}

body.gad-modern-map .gad-feeder-rings-message {
    border-radius: 6px;
    background: rgba(15, 34, 50, 0.07);
    color: var(--gad-map-muted);
}

body.gad-modern-map #sidebar_container {
    position: fixed !important;
    top: 84px !important;
    right: 14px !important;
    bottom: 14px !important;
    left: auto !important;
    z-index: 12500;
    width: min(430px, calc(100vw - 108px)) !important;
    height: auto !important;
    min-width: 330px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: var(--gad-map-radius);
    background: rgba(246, 251, 249, 0.9);
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(16px);
}

body.gad-modern-map.gad-modern-drawer-closed #sidebar_container {
    display: none !important;
}

body.gad-modern-map #sidebar_canvas {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
    color: var(--gad-map-ink);
    overflow: hidden;
}

body.gad-modern-map #sidebar-table {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 0 12px 12px;
    overflow: auto;
}

body.gad-modern-map .gad-sidebar-topline {
    min-height: 38px;
    text-align: left;
}

body.gad-modern-map #dump1090_message_rate_td {
    display: none !important;
}

.gad-modern-drawer-header {
    position: sticky;
    top: 0;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: start;
    padding: 12px;
    border-bottom: 1px solid rgba(15, 34, 50, 0.1);
    background: linear-gradient(135deg, rgba(248, 252, 251, 0.98), rgba(230, 243, 244, 0.96));
}

.gad-modern-eyebrow {
    display: block;
    color: #0a7ea7;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.16em;
    line-height: 1;
    text-transform: uppercase;
}

.gad-modern-drawer-header strong {
    display: block;
    margin-top: 4px;
    color: var(--gad-map-ink);
    font-size: 20px;
    line-height: 1.05;
}

.gad-modern-drawer-count {
    justify-self: end;
    padding: 7px 9px;
    border-radius: 999px;
    background: rgba(15, 34, 50, 0.08);
    color: var(--gad-map-muted);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.gad-modern-drawer-count span {
    color: var(--gad-map-ink);
}

.gad-modern-drawer-tabs {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
}

.gad-modern-drawer-tabs button,
.gad-modern-drawer-close,
.gad-modern-selected-actions button {
    min-height: 32px;
    border: 1px solid rgba(15, 34, 50, 0.12);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.78);
    color: var(--gad-map-ink);
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.gad-modern-drawer-tabs button:hover,
.gad-modern-drawer-tabs button.is-active,
.gad-modern-drawer-close:hover,
.gad-modern-selected-actions button:hover {
    border-color: rgba(27, 179, 166, 0.42);
    background: rgba(27, 179, 166, 0.14);
    color: #0d5c57;
}

.gad-modern-drawer-close {
    justify-self: end;
    min-width: 58px;
}

.gad-modern-filter-summary {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border: 1px solid rgba(15, 34, 50, 0.1);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.82);
}

.gad-modern-filter-summary[hidden] {
    display: none !important;
}

.gad-modern-filter-summary strong {
    display: block;
    margin: 0 0 3px;
    color: var(--gad-map-ink);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.1;
}

.gad-modern-filter-summary span {
    display: block;
    color: var(--gad-map-muted);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
}

.gad-modern-filter-summary button {
    flex: 0 0 auto;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(27, 179, 166, 0.28);
    border-radius: 6px;
    background: rgba(27, 179, 166, 0.12);
    color: #0d5c57;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

body.gad-modern-map #tabs {
    margin-top: 8px;
    border: 0;
    border-radius: var(--gad-map-radius);
    background: rgba(15, 34, 50, 0.05);
}

body.gad-modern-map .ui-tabs .ui-tabs-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    padding: 6px;
    border: 0;
    border-radius: var(--gad-map-radius);
    background: transparent;
}

body.gad-modern-map .ui-tabs .ui-tabs-nav li {
    float: none;
    margin: 0;
    border: 0;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.64);
}

body.gad-modern-map .ui-tabs .ui-tabs-nav li.ui-tabs-active {
    background: var(--gad-map-dark);
}

body.gad-modern-map .ui-tabs .ui-tabs-nav li a {
    width: 100%;
    padding: 8px 10px;
    color: var(--gad-map-ink);
    text-align: center;
}

body.gad-modern-map .ui-tabs .ui-tabs-nav li.ui-tabs-active a {
    color: #f8fbf6;
}

body.gad-modern-map .ui-tabs .ui-tabs-panel {
    padding: 9px;
}

body.gad-modern-map .infoBlockTitleText,
body.gad-modern-map .infoHeading {
    color: var(--gad-map-ink);
}

body.gad-modern-map .sectionTitle {
    border-radius: 6px;
    background: var(--gad-map-dark);
    color: #f8fbf6;
}

body.gad-modern-map .searchInput,
body.gad-modern-map .altitudeFilterInput,
body.gad-modern-map select {
    min-height: 30px;
    border: 1px solid rgba(15, 34, 50, 0.16);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--gad-map-ink);
}

body.gad-modern-map .formButton,
body.gad-modern-map .buttonFilter li {
    min-height: 30px;
    border: 1px solid rgba(15, 34, 50, 0.12);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.76);
    color: var(--gad-map-ink);
}

body.gad-modern-map #planesTable {
    width: 100%;
    margin-top: 12px;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border-radius: var(--gad-map-radius);
    font-size: 13px;
}

body.gad-modern-map #planesTable th,
body.gad-modern-map #planesTable thead td,
body.gad-modern-map #planesTable .aircraft_table_header td {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 9px 8px;
    background: var(--gad-map-dark);
    color: #f8fbf6;
    font-weight: 800;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
}

body.gad-modern-map #planesTable td {
    padding: 8px 8px;
    border-bottom: 1px solid rgba(15, 34, 50, 0.08);
    color: var(--gad-map-ink);
    white-space: nowrap;
}

body.gad-modern-map #planesTable tbody tr {
    background: rgba(255, 255, 255, 0.74) !important;
    transition: background 120ms ease, transform 120ms ease;
}

body.gad-modern-map #planesTable tbody tr:hover {
    background: rgba(255, 255, 255, 0.96) !important;
}

body.gad-modern-map #planesTable tbody tr.is-selected {
    background: rgba(27, 179, 166, 0.16) !important;
    outline: 1px solid rgba(27, 179, 166, 0.38);
}

body.gad-modern-map #planesTable tbody tr.gad-src-adsb {
    box-shadow: inset 4px 0 #38a3d4;
}

body.gad-modern-map #planesTable tbody tr.gad-src-uat {
    box-shadow: inset 4px 0 #3fbf79;
}

body.gad-modern-map #planesTable tbody tr.gad-src-mlat {
    box-shadow: inset 4px 0 #8b6be8;
}

body.gad-modern-map #planesTable tbody tr.gad-src-tisb {
    box-shadow: inset 4px 0 #b95d8d;
}

body.gad-modern-map #planesTable tbody tr.gad-src-modes {
    box-shadow: inset 4px 0 #5760b9;
}

body.gad-modern-map #planesTable tbody tr.gad-src-adsc,
body.gad-modern-map #planesTable tbody tr.gad-src-other {
    box-shadow: inset 4px 0 #8898a6;
}

body.gad-modern-map #legend {
    padding: 10px 0 0;
}

body.gad-modern-map #selected_infoblock {
    position: fixed;
    top: 84px;
    right: 458px;
    bottom: 14px;
    left: auto;
    z-index: 12600;
    width: min(380px, calc(100vw - 560px));
    height: auto;
    min-width: 330px;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: var(--gad-map-radius);
    background: rgba(246, 251, 249, 0.94);
    color: var(--gad-map-ink);
    box-shadow: var(--gad-map-shadow);
    backdrop-filter: blur(16px);
    overflow: hidden;
}

body.gad-modern-map #infoblock-container {
    height: calc(100% - 168px);
    padding: 12px;
    overflow: auto;
}

body.gad-modern-map #infoblock_close {
    display: none;
}

.gad-modern-selected-header {
    display: grid;
    gap: 10px;
    padding: 13px;
    border-bottom: 1px solid rgba(15, 34, 50, 0.1);
    background: linear-gradient(135deg, rgba(248, 252, 251, 0.98), rgba(230, 243, 244, 0.96));
}

.gad-modern-selected-main strong {
    display: block;
    margin-top: 4px;
    color: var(--gad-map-ink);
    font-size: 24px;
    line-height: 1.05;
}

.gad-modern-selected-main span:last-child {
    display: block;
    min-height: 16px;
    margin-top: 4px;
    color: var(--gad-map-muted);
    font-size: 12px;
    font-weight: 700;
}

.gad-modern-selected-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.gad-modern-selected-metrics span {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 7px;
    border-radius: 6px;
    background: rgba(15, 34, 50, 0.07);
}

.gad-modern-selected-metrics b {
    overflow: hidden;
    color: var(--gad-map-ink);
    font-size: 12px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gad-modern-selected-metrics small {
    color: var(--gad-map-muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.gad-modern-selected-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

body.gad-modern-map #selected_infoblock .highlightedTitle {
    display: none;
}

body.gad-modern-map #selected_infoblock .infoBlockSection {
    margin: 0 0 10px;
    padding: 10px;
    border: 1px solid rgba(15, 34, 50, 0.08);
    border-radius: var(--gad-map-radius);
    background: rgba(255, 255, 255, 0.62);
}

body.gad-modern-map #selected_infoblock .sectionTitle {
    margin-top: 12px;
    padding: 8px 10px;
    border-radius: 6px;
    background: rgba(15, 34, 50, 0.9);
    color: #f8fbf6;
    font-size: 11px;
    letter-spacing: 0.12em;
}

body.gad-modern-map #selected_infoblock .infoHeading {
    color: var(--gad-map-muted);
    font-size: 12px;
    font-weight: 750;
}

body.gad-modern-map #selected_infoblock .infoData {
    color: var(--gad-map-ink);
    font-weight: 750;
}

body.gad-modern-map .highlightedTitle {
    border-radius: 6px;
    background: rgba(15, 34, 50, 0.06);
}

body.gad-modern-map #selected_photo img,
body.gad-modern-map #airplanePhoto,
body.gad-modern-map #silhouette {
    max-width: 100%;
    border-radius: 6px;
}

body.gad-modern-map #loader {
    position: fixed;
    top: 76px;
    left: 50%;
    z-index: 14000;
    width: min(420px, calc(100vw - 32px));
    height: 5px;
    transform: translateX(-50%);
}

body.gad-modern-map #loader progress {
    width: 100%;
    height: 5px;
    border-radius: 999px;
}

body.gad-modern-map .error_box {
    top: 88px;
    right: 16px;
    left: auto;
    max-width: 420px;
    border-radius: var(--gad-map-radius);
    background: rgba(127, 29, 29, 0.94);
    color: #fff;
    box-shadow: var(--gad-map-shadow);
}

body.gad-modern-map .gad-map-login-prompt {
    bottom: 18px;
    border-color: rgba(255, 255, 255, 0.2);
    background: var(--gad-map-dark-strong);
    border-radius: var(--gad-map-radius);
}

body.gad-modern-map .gad-modern-toolbar .gad-modern-icon-button {
    width: 46px;
    font-size: 14px;
}

.gad-modern-mobile-nav {
    display: none;
}

.gad-modern-sheet {
    display: none;
}

.gad-modern-hidden {
    display: none !important;
}

@media (min-width: 761px) and (max-width: 1180px) {
    .gad-modern-topbar {
        grid-template-columns: minmax(170px, auto) minmax(160px, 1fr) auto;
    }

    .gad-modern-search {
        grid-template-columns: minmax(120px, 1fr) auto;
    }

    .gad-modern-search [data-modern-jump],
    .gad-modern-search [data-modern-jump-button],
    .gad-modern-search .jump {
        display: none;
    }

    .gad-modern-stats {
        grid-template-columns: repeat(2, auto);
    }

    .gad-modern-stat.messages {
        display: none;
    }

    body.gad-modern-map #selected_infoblock {
        right: 14px;
        width: min(430px, calc(100vw - 108px));
    }

}

@media (max-width: 760px) {
    .gad-modern-topbar {
        left: 8px;
        right: auto;
        top: 8px;
        grid-template-columns: 1fr;
        box-sizing: border-box;
        width: calc(100vw - 16px);
        width: calc(100svw - 16px);
        width: calc(var(--gad-modern-visual-vw, 100vw) - 16px);
        min-height: 52px;
        padding: 7px;
    }

    .gad-modern-brand img {
        width: 34px;
        height: 34px;
    }

    .gad-modern-brand > span {
        display: block;
    }

    .gad-modern-brand strong {
        font-size: 15px;
    }

    .gad-modern-brand > span span,
    .gad-modern-search,
    .gad-modern-stats {
        display: none;
    }

    .gad-modern-actions {
        display: none;
    }

    .gad-modern-toolbar {
        top: 72px;
        left: 8px;
        gap: 6px;
        padding: 6px;
    }

    .gad-modern-toolbar .gad-modern-icon-button {
        width: 44px;
        height: 38px;
        min-height: 38px;
        font-size: 13px;
    }

    body.gad-modern-map .gad-feeder-rings-control {
        top: 292px;
        left: 8px;
        padding: 6px;
    }

    body.gad-modern-map .gad-feeder-rings-popup {
        position: fixed;
        top: auto;
        left: 8px;
        right: 8px;
        bottom: 76px;
        width: auto;
        max-height: 70vh;
        overflow: auto;
    }

    body.gad-modern-map #sidebar_container,
    body.gad-modern-map #selected_infoblock {
        top: auto !important;
        left: 8px !important;
        right: 8px !important;
        bottom: 72px !important;
        width: auto !important;
        min-width: 0;
        max-height: 58vh;
        height: auto !important;
        border-radius: 8px 8px 0 0;
    }

    body.gad-modern-map #sidebar_container {
        width: auto !important;
    }

    .gad-modern-drawer-header {
        grid-template-columns: 1fr auto;
        padding: 10px;
    }

    .gad-modern-drawer-header strong {
        font-size: 18px;
    }

    .gad-modern-drawer-tabs {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;
    }

    .gad-modern-drawer-tabs button {
        min-height: 34px;
        padding: 0 3px;
        font-size: 11px;
    }

    body.gad-modern-map #sidebar-table {
        padding: 0 8px 10px;
    }

    body.gad-modern-map #planesTable {
        font-size: 12px;
    }

    body.gad-modern-map #planesTable thead td,
    body.gad-modern-map #planesTable .aircraft_table_header td,
    body.gad-modern-map #planesTable td {
        padding: 7px 6px;
    }

    body.gad-modern-map #infoblock-container {
        height: calc(58vh - 164px);
        padding: 10px;
    }

    .gad-modern-selected-header {
        padding: 10px;
    }

    .gad-modern-selected-main strong {
        font-size: 20px;
    }

    .gad-modern-selected-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gad-modern-selected-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.gad-modern-map #selected_infoblock {
        z-index: 12700;
    }

    body.gad-modern-map.gad-modern-drawer-closed #sidebar_container {
        display: none !important;
    }

    body.gad-modern-map .layer-switcher {
        top: 72px;
        right: 8px;
    }

    body.gad-modern-map .ol-zoom {
        left: auto;
        right: 8px;
        bottom: 78px;
    }

    body.gad-modern-map #loader {
        top: 66px;
    }

    body.gad-modern-map .gad-map-login-prompt {
        left: 8px;
        bottom: 76px;
        z-index: 13090;
        box-sizing: border-box;
        width: 340px;
        max-width: 340px;
        transform: none;
    }

    .gad-modern-mobile-nav {
        position: fixed;
        left: 8px;
        right: auto;
        bottom: 8px;
        z-index: 13100;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 6px;
        box-sizing: border-box;
        width: calc(100vw - 16px);
        width: calc(100svw - 16px);
        width: calc(var(--gad-modern-visual-vw, 100vw) - 16px);
        width: 340px;
        max-width: 340px;
        padding: 7px;
        border: 1px solid var(--gad-map-line);
        border-radius: var(--gad-map-radius);
        background: rgba(246, 251, 249, 0.9);
        box-shadow: var(--gad-map-shadow);
        backdrop-filter: blur(16px);
    }

    .gad-modern-mobile-nav button {
        min-width: 0;
        min-height: 38px;
        padding: 0 4px;
        font-size: 11px;
    }

    .gad-modern-sheet {
        position: fixed;
        left: 8px;
        right: auto;
        bottom: 72px;
        z-index: 13050;
        display: none;
        box-sizing: border-box;
        width: calc(100vw - 16px);
        width: calc(100svw - 16px);
        width: calc(var(--gad-modern-visual-vw, 100vw) - 16px);
        width: 340px;
        max-width: 340px;
        padding: 10px;
        border: 1px solid var(--gad-map-line);
        border-radius: 8px 8px 0 0;
        background: rgba(246, 251, 249, 0.95);
        box-shadow: var(--gad-map-shadow);
    }

    .gad-modern-sheet.is-open {
        display: grid;
        gap: 8px;
    }

    .gad-modern-sheet-title {
        color: var(--gad-map-ink);
        font-size: 16px;
        font-weight: 850;
    }

    .gad-modern-sheet-note {
        color: var(--gad-map-muted);
        font-size: 12px;
        line-height: 1.35;
    }

    .gad-modern-sheet form {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 7px;
    }

    .gad-modern-sheet input {
        min-width: 0;
        min-height: 36px;
        padding: 0 10px;
        border: 1px solid rgba(15, 34, 50, 0.16);
        border-radius: 6px;
    }
}

/* Final clean-map overrides must stay after the inherited beta styles. */
body.gad-modern-map .layer-switcher {
    display: none !important;
}

body.gad-modern-map .gad-modern-topbar {
    grid-template-columns: minmax(190px, auto) minmax(340px, 1fr) auto auto !important;
    min-height: 62px;
    border-color: rgba(12, 39, 56, 0.14);
    background: rgba(250, 253, 252, 0.94);
}

body.gad-modern-map .gad-modern-search {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) auto auto !important;
    gap: 8px;
}

body.gad-modern-map .gad-modern-search input {
    height: 38px;
    background: #ffffff;
}

body.gad-modern-map .gad-modern-search .gad-modern-icon-button {
    width: auto;
    padding: 0 10px;
}

body.gad-modern-map .gad-modern-toolbar {
    top: 88px;
    width: 58px;
}

body.gad-modern-map .gad-modern-toolbar .gad-modern-icon-button {
    width: 42px;
    height: 38px;
    min-height: 38px;
    font-size: 12px;
}

body.gad-modern-map #tabs,
body.gad-modern-map #planesTable,
body.gad-modern-map #tab-search {
    display: none !important;
}

body.gad-modern-map #tab-filters,
body.gad-modern-map #tab-columns {
    display: block !important;
    padding: 0;
}

body.gad-modern-map #sidebar_container {
    top: 88px !important;
    width: min(430px, calc(100vw - 110px)) !important;
    background: rgba(250, 253, 252, 0.95);
}

body.gad-modern-map .gad-feeder-rings-control {
    position: fixed !important;
    top: 88px !important;
    left: 86px !important;
    right: auto !important;
    z-index: 13300;
    width: 0;
    height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
}

body.gad-modern-map .gad-feeder-rings-control .gad-feeder-rings-toggle {
    display: none !important;
}

body.gad-modern-map .gad-feeder-rings-popup {
    position: fixed;
    top: 88px;
    left: 86px;
    width: min(380px, calc(100vw - 112px));
    max-height: calc(100vh - 112px);
    overflow: auto;
    pointer-events: auto;
}

body.gad-modern-map.gad-modern-drawer-closed #selected_infoblock {
    right: 14px;
    width: min(430px, calc(100vw - 110px));
}

@media (max-width: 1300px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: minmax(180px, auto) minmax(280px, 1fr) auto !important;
    }

    body.gad-modern-map .gad-modern-stats {
        display: none;
    }
}

@media (max-width: 900px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: 1fr !important;
        gap: 7px;
    }

    body.gad-modern-map .gad-modern-toolbar {
        top: 142px;
    }

    .gad-modern-panel,
    .gad-modern-panel-wide,
    body.gad-modern-map .gad-feeder-rings-popup {
        top: 142px;
        width: min(420px, calc(100vw - 112px));
        max-height: calc(100vh - 166px);
    }
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-search {
        grid-template-columns: 1fr auto !important;
    }

    body.gad-modern-map .gad-modern-search [data-modern-clear-search] {
        display: none;
    }

    body.gad-modern-map .gad-modern-actions,
    body.gad-modern-map .gad-modern-toolbar {
        display: none;
    }

    .gad-modern-panel,
    .gad-modern-panel-wide,
    body.gad-modern-map .gad-feeder-rings-popup {
        top: auto;
        left: 8px;
        right: 8px;
        bottom: 66px;
        width: auto;
        max-height: 66vh;
        border-radius: 8px 8px 0 0;
    }

    .gad-modern-choice-grid,
    .gad-modern-advanced-grid {
        grid-template-columns: 1fr;
    }

    .gad-modern-mobile-nav {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: calc(var(--gad-modern-visual-vw, 100vw) - 16px);
        max-width: none;
    }

    body.gad-modern-map #sidebar_container,
    body.gad-modern-map #selected_infoblock {
        bottom: 66px !important;
        max-height: 62vh;
    }

    .gad-modern-aircraft-row {
        grid-template-columns: minmax(120px, 1.5fr) repeat(2, minmax(54px, 0.7fr));
    }

    .gad-modern-aircraft-row > span:nth-child(4),
    .gad-modern-aircraft-row > span:nth-child(5) {
        display: none;
    }
}

/* Consolidate controls into the floating header and use darker floating menus. */
body.gad-modern-map .gad-modern-toolbar,
body.gad-modern-map .gad-modern-mobile-nav {
    display: none !important;
}

body.gad-modern-map .gad-modern-topbar {
    grid-template-columns: minmax(190px, auto) minmax(360px, 1fr) auto auto !important;
    align-items: center;
}

body.gad-modern-map .gad-modern-stats {
    grid-template-columns: repeat(2, auto) !important;
}

body.gad-modern-map .gad-modern-stat.messages {
    display: none !important;
}

.gad-modern-panel,
body.gad-modern-map .gad-feeder-rings-popup {
    top: 86px !important;
    right: 16px !important;
    left: auto !important;
    width: min(410px, calc(100vw - 32px));
    max-height: calc(100vh - 108px);
    border: 1px solid rgba(114, 201, 213, 0.22);
    background: linear-gradient(145deg, rgba(16, 38, 56, 0.97), rgba(22, 53, 67, 0.95));
    color: #eef8f8;
    box-shadow: 0 22px 54px rgba(3, 16, 27, 0.34);
    backdrop-filter: blur(18px);
}

.gad-modern-panel-wide {
    width: min(760px, calc(100vw - 32px));
}

.gad-modern-panel-head,
body.gad-modern-map .gad-feeder-rings-header {
    border-bottom-color: rgba(164, 219, 224, 0.18);
}

.gad-modern-panel-head strong,
body.gad-modern-map .gad-feeder-rings-title,
body.gad-modern-map .gad-modern-panel .infoBlockTitleText,
body.gad-modern-map .gad-modern-panel .infoHeading {
    color: #f7fcfc !important;
}

.gad-modern-eyebrow,
.gad-modern-panel-label,
body.gad-modern-map .gad-feeder-rings-section-title {
    color: #5fd4e5 !important;
}

.gad-modern-panel-head button,
.gad-modern-drawer-close,
.gad-modern-selected-actions button,
body.gad-modern-map .gad-feeder-rings-close {
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border-color: rgba(164, 219, 224, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: #f7fcfc;
}

.gad-modern-panel-head button:hover,
.gad-modern-drawer-close:hover,
.gad-modern-selected-actions button:hover,
body.gad-modern-map .gad-feeder-rings-close:hover {
    border-color: rgba(95, 212, 229, 0.48);
    background: rgba(95, 212, 229, 0.14);
    color: #ffffff;
}

.gad-modern-choice-grid button,
.gad-modern-toggle-list button,
body.gad-modern-map .gad-modern-panel .buttonFilter li,
body.gad-modern-map .gad-modern-panel #sortableColumns li,
body.gad-modern-map .gad-modern-panel .settingsOptionContainer,
body.gad-modern-map .gad-feeder-rings-buttons button {
    border-color: rgba(164, 219, 224, 0.16) !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: #eef8f8 !important;
}

.gad-modern-choice-grid button small,
.gad-modern-toggle-list button small,
body.gad-modern-map .gad-feeder-rings-message,
body.gad-modern-map .gad-modern-panel .settingsText {
    color: rgba(226, 246, 246, 0.72) !important;
}

.gad-modern-choice-grid button.is-active,
.gad-modern-toggle-list button.is-active,
body.gad-modern-map .gad-feeder-rings-buttons button.is-active {
    border-color: rgba(95, 212, 229, 0.5) !important;
    background: rgba(95, 212, 229, 0.15) !important;
    box-shadow: inset 4px 0 #5fd4e5;
}

body.gad-modern-map .gad-modern-panel .searchInput,
body.gad-modern-map .gad-modern-panel .altitudeFilterInput,
body.gad-modern-map .gad-modern-panel select,
body.gad-modern-map .gad-feeder-rings-selector {
    border-color: rgba(164, 219, 224, 0.24) !important;
    background: rgba(4, 20, 34, 0.5) !important;
    color: #f7fcfc !important;
}

body.gad-modern-map .gad-modern-panel #tab-filters,
body.gad-modern-map .gad-modern-panel #tab-filters table,
body.gad-modern-map .gad-modern-panel #tab-filters tbody,
body.gad-modern-map .gad-modern-panel #tab-filters tr,
body.gad-modern-map .gad-modern-panel #tab-filters td,
body.gad-modern-map .gad-modern-panel #tab-columns,
body.gad-modern-map .gad-modern-panel #tab-columns table,
body.gad-modern-map .gad-modern-panel #tab-columns tbody,
body.gad-modern-map .gad-modern-panel #tab-columns tr,
body.gad-modern-map .gad-modern-panel #tab-columns td {
    color: #eef8f8 !important;
}

body.gad-modern-map .gad-feeder-rings-message {
    background: rgba(255, 255, 255, 0.08);
}

.gad-modern-aircraft-list {
    gap: 0;
    padding: 8px;
}

.gad-modern-aircraft-list-head,
.gad-modern-aircraft-row {
    display: grid;
    grid-template-columns: 22px minmax(88px, 1.25fr) minmax(46px, 0.58fr) minmax(64px, 0.78fr) minmax(54px, 0.62fr) minmax(58px, 0.68fr) minmax(36px, 0.44fr);
    align-items: center;
    gap: 6px;
}

.gad-modern-aircraft-list-head {
    position: sticky;
    top: 0;
    z-index: 5;
    min-height: 30px;
    padding: 0 10px 0 13px;
    border-bottom: 1px solid rgba(15, 34, 50, 0.12);
    background: rgba(244, 250, 250, 0.98);
    color: var(--gad-map-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.gad-modern-aircraft-row {
    min-height: 32px;
    padding: 0 10px 0 13px;
    border-width: 0 0 1px;
    border-color: rgba(15, 34, 50, 0.08);
    border-radius: 0;
    box-shadow: none;
    font-size: 12px;
}

.gad-modern-aircraft-row > span {
    display: block;
    overflow: hidden;
    min-width: 0;
    color: var(--gad-map-ink);
    font-weight: 750;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gad-modern-aircraft-row .gad-modern-aircraft-ident {
    font-weight: 900;
}

.gad-modern-aircraft-flag {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.gad-modern-aircraft-flag img {
    display: block;
    width: 18px;
    height: 12px;
    border-radius: 1px;
    box-shadow: 0 0 0 1px rgba(15, 34, 50, 0.12);
}

.gad-modern-aircraft-flag-empty {
    display: block;
    width: 18px;
    height: 12px;
}

.gad-modern-aircraft-row.gad-src-adsb {
    box-shadow: inset 3px 0 #2b9fcf;
}

.gad-modern-aircraft-row.gad-src-uat {
    box-shadow: inset 3px 0 #38af75;
}

.gad-modern-aircraft-row.gad-src-mlat {
    box-shadow: inset 3px 0 #7863d9;
}

.gad-modern-aircraft-row.gad-src-tisb {
    box-shadow: inset 3px 0 #b95d8d;
}

.gad-modern-aircraft-row.gad-src-modes {
    box-shadow: inset 3px 0 #5760b9;
}

.gad-modern-aircraft-row.gad-src-adsc,
.gad-modern-aircraft-row.gad-src-other {
    box-shadow: inset 3px 0 #8898a6;
}

@media (max-width: 1300px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: minmax(170px, auto) minmax(280px, 1fr) auto !important;
    }

    body.gad-modern-map .gad-modern-stats {
        display: grid;
    }
}

@media (max-width: 900px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: 1fr !important;
    }

    .gad-modern-panel,
    .gad-modern-panel-wide,
    body.gad-modern-map .gad-feeder-rings-popup {
        top: 154px !important;
        right: 8px !important;
        left: 8px !important;
        width: auto;
        max-height: calc(100vh - 176px);
    }
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-search {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
    }

    body.gad-modern-map .gad-modern-actions {
        display: flex !important;
        gap: 6px;
        overflow-x: auto;
        padding-bottom: 1px;
    }

    body.gad-modern-map .gad-modern-actions .gad-modern-button {
        flex: 0 0 auto;
        min-height: 34px;
        padding: 0 10px;
        font-size: 12px;
    }

    body.gad-modern-map .gad-modern-stats {
        display: none;
    }

    .gad-modern-panel,
    .gad-modern-panel-wide,
    body.gad-modern-map .gad-feeder-rings-popup {
        top: auto !important;
        right: 8px !important;
        left: 8px !important;
        bottom: 12px;
        max-height: 58vh;
        border-radius: 8px;
    }

    body.gad-modern-map #sidebar_container,
    body.gad-modern-map #selected_infoblock {
        bottom: 12px !important;
        max-height: 58vh;
        border-radius: 8px;
    }

    .gad-modern-aircraft-list-head,
    .gad-modern-aircraft-row {
        grid-template-columns: 22px minmax(74px, 1.25fr) minmax(42px, 0.58fr) minmax(58px, 0.78fr) minmax(48px, 0.62fr);
    }

    .gad-modern-aircraft-list-head > span:nth-child(6),
    .gad-modern-aircraft-list-head > span:nth-child(7),
    .gad-modern-aircraft-row > span:nth-child(6),
    .gad-modern-aircraft-row > span:nth-child(7) {
        display: none;
    }

    .gad-modern-aircraft-row > span:nth-child(4),
    .gad-modern-aircraft-row > span:nth-child(5) {
        display: block;
    }

    .gad-modern-aircraft-row > span:nth-child(1) {
        display: flex !important;
    }
}

/* Keep close controls readable on the light aircraft/detail drawers. */
.gad-modern-drawer-close {
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border-color: rgba(15, 34, 50, 0.14);
    background: rgba(15, 34, 50, 0.08);
    color: var(--gad-map-ink);
}

.gad-modern-drawer-close:hover {
    border-color: rgba(29, 135, 184, 0.42);
    background: rgba(29, 135, 184, 0.14);
    color: #075c82;
}

.gad-modern-selected-actions button {
    width: auto;
    min-width: 0;
    padding: 0 10px;
    border-color: rgba(15, 34, 50, 0.12);
    background: rgba(255, 255, 255, 0.78);
    color: var(--gad-map-ink);
}

.gad-modern-selected-actions button[data-selected-action="close"] {
    width: 32px;
    min-width: 32px;
    padding: 0;
}

/* Header order, control spacing, feeder placement, and detail alignment. */
body.gad-modern-map .ol-zoom {
    left: 14px !important;
    right: auto !important;
    top: auto !important;
    bottom: 74px !important;
}

body.gad-modern-map .ol-scale-line {
    left: 14px !important;
    right: auto !important;
    bottom: 14px !important;
}

body.gad-modern-map #gad-feeder-rings-popup.gad-feeder-rings-popup {
    top: 86px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    box-sizing: border-box;
    width: min(410px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 108px);
    transform: none !important;
}

.gad-modern-drawer-header {
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    align-items: start;
    padding-right: 12px;
}

.gad-modern-drawer-close {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: start;
}

.gad-modern-selected-header {
    position: relative;
    padding-right: 56px;
}

.gad-modern-selected-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 1px solid rgba(15, 34, 50, 0.14);
    border-radius: 6px;
    background: rgba(15, 34, 50, 0.08);
    color: var(--gad-map-ink);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.gad-modern-selected-close:hover {
    border-color: rgba(29, 135, 184, 0.42);
    background: rgba(29, 135, 184, 0.14);
    color: #075c82;
}

.gad-modern-selected-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.gad-modern-map #selected_infoblock .infoBlockSection {
    display: grid;
    gap: 6px;
}

body.gad-modern-map #selected_infoblock .infoSectionTable {
    width: 100%;
    border-collapse: collapse;
}

body.gad-modern-map #selected_infoblock .infoSectionTable td {
    padding: 4px 0;
    vertical-align: top;
}

body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData) {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 9px;
    align-items: baseline;
}

body.gad-modern-map #selected_infoblock .infoHeading {
    min-width: 0;
    text-align: right;
}

body.gad-modern-map #selected_infoblock .infoData {
    min-width: 0;
    text-align: left;
    overflow-wrap: anywhere;
}

body.gad-modern-map #selected_infoblock .infoData:empty {
    display: none;
}

@media (max-width: 760px) {
    body.gad-modern-map .ol-zoom {
        bottom: 76px !important;
    }

    body.gad-modern-map #gad-feeder-rings-popup.gad-feeder-rings-popup {
        top: auto !important;
        right: 8px !important;
        left: 8px !important;
        bottom: 12px !important;
        width: auto !important;
        max-height: 58vh;
    }

    body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData) {
        grid-template-columns: 84px minmax(0, 1fr);
    }
}

/* clean-map17: original-size circular controls with matched locate/zoom spacing. */
body.gad-modern-map .gad-modern-locate-control {
    left: 14px !important;
    right: auto !important;
    top: auto !important;
    bottom: calc(90px + (50px * var(--SCALE))) !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.gad-modern-map .ol-zoom {
    display: grid !important;
    gap: 8px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.gad-modern-map .gad-modern-locate-button,
body.gad-modern-map .ol-zoom button {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: calc(25px * var(--SCALE)) !important;
    height: calc(25px * var(--SCALE)) !important;
    min-width: calc(25px * var(--SCALE));
    min-height: calc(25px * var(--SCALE));
    margin: 0 !important;
    padding: 0;
    border: 2px solid rgba(15, 34, 50, 0.72);
    border-radius: 999px !important;
    background: rgba(250, 253, 252, 0.95) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #1c2b35 !important;
    font-family: "Avenir Next", "Segoe UI", system-ui, sans-serif !important;
    font-size: calc(22px * var(--SCALE)) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    cursor: pointer;
    backdrop-filter: blur(14px);
}

body.gad-modern-map .gad-modern-locate-button:hover,
body.gad-modern-map .gad-modern-locate-button:focus-visible,
body.gad-modern-map .ol-zoom button:hover,
body.gad-modern-map .ol-zoom button:focus-visible {
    border-color: rgba(15, 34, 50, 0.9);
    background: #ffffff !important;
    color: #0f2232 !important;
}

body.gad-modern-map .ol-zoom .ol-zoom-out {
    padding-bottom: calc(3px * var(--SCALE)) !important;
}

body.gad-modern-map .gad-modern-locate-button::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(9px * var(--SCALE));
    height: calc(9px * var(--SCALE));
    border: calc(2px * var(--SCALE)) solid #3f4b4c;
    border-radius: 999px;
    transform: translate(-50%, -50%);
    z-index: 2;
}

body.gad-modern-map .gad-modern-locate-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(4px * var(--SCALE));
    height: calc(4px * var(--SCALE));
    border-radius: 999px;
    background: #3f4b4c;
    transform: translate(-50%, -50%);
    z-index: 3;
}

body.gad-modern-map .gad-modern-locate-button span {
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
}

body.gad-modern-map .gad-modern-locate-button span::before,
body.gad-modern-map .gad-modern-locate-button span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(19px * var(--SCALE));
    height: calc(2px * var(--SCALE));
    border-radius: 999px;
    background: linear-gradient(to right, #3f4b4c 0 calc(5px * var(--SCALE)), transparent calc(5px * var(--SCALE)) calc(14px * var(--SCALE)), #3f4b4c calc(14px * var(--SCALE)) 100%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

body.gad-modern-map .gad-modern-locate-button span::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* bottom-menu17: consolidated bottom map command menu with centered altitude legend. */
body.gad-modern-map .gad-modern-bottom-menu {
    position: fixed;
    left: calc((100vw - 430px) / 2);
    bottom: 18px;
    z-index: 13140;
    transform: translateX(-50%);
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: min(680px, calc(100vw - 520px));
    min-height: 66px;
    padding: 6px 10px 7px;
    border: 1px solid rgba(164, 219, 224, 0.18);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(32, 48, 50, 0.86), rgba(25, 39, 43, 0.84));
    box-shadow: 0 10px 28px rgba(3, 16, 27, 0.22);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

body.gad-modern-map.gad-modern-drawer-closed .gad-modern-bottom-menu {
    left: 50%;
    width: min(720px, calc(100vw - 48px));
    transform: translateX(-50%);
}

body.gad-modern-map .gad-modern-bottom-item {
    display: grid;
    flex: 1 1 0;
    align-content: center;
    justify-items: center;
    gap: 3px;
    min-width: 84px;
    min-height: 48px;
    padding: 4px 7px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: rgba(248, 252, 252, 0.9);
    font: inherit;
    font-family: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
    text-rendering: geometricPrecision;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    cursor: pointer;
}

body.gad-modern-map .gad-modern-bottom-item[hidden] {
    display: none !important;
}

body.gad-modern-map .gad-modern-bottom-item svg {
    width: 30px;
    height: 30px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    filter: none;
    shape-rendering: geometricPrecision;
    vector-effect: non-scaling-stroke;
}

body.gad-modern-map .gad-modern-bottom-item:hover,
body.gad-modern-map .gad-modern-bottom-item:focus-visible,
body.gad-modern-map .gad-modern-bottom-item.is-active {
    border-color: rgba(95, 212, 229, 0.42);
    background: rgba(95, 212, 229, 0.12);
    color: #ffffff;
    outline: none;
}

body.gad-modern-map .gad-modern-toggle-list button[disabled] {
    cursor: not-allowed;
    opacity: 0.54;
}

body.gad-modern-map .gad-modern-toggle-list button span em {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(226, 246, 246, 0.72);
    font-size: 9px;
    font-style: normal;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.gad-modern-map .gad-modern-radio-toolbar {
    display: grid;
    gap: 8px;
    padding-top: 12px;
}

body.gad-modern-map .gad-modern-radio-toolbar [data-modern-radio-status] {
    min-height: 16px;
    color: rgba(226, 246, 246, 0.74);
    font-size: 12px;
    font-weight: 700;
}

body.gad-modern-map .gad-modern-radio-list {
    display: grid;
    gap: 10px;
    padding-top: 10px;
}

body.gad-modern-map .gad-modern-radio-card,
body.gad-modern-map .gad-modern-panel-empty {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(164, 219, 224, 0.16);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
}

body.gad-modern-map .gad-modern-panel-empty.compact {
    padding: 8px;
    color: rgba(226, 246, 246, 0.78);
    font-size: 12px;
}

body.gad-modern-map .gad-modern-panel-empty strong,
body.gad-modern-map .gad-modern-radio-card strong {
    color: #f7fcfc;
    font-size: 14px;
}

body.gad-modern-map .gad-modern-panel-empty span,
body.gad-modern-map .gad-modern-radio-card span,
body.gad-modern-map .gad-modern-radio-card small {
    color: rgba(226, 246, 246, 0.76);
    font-size: 12px;
}

body.gad-modern-map .gad-modern-radio-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

body.gad-modern-map .gad-modern-radio-card-head div {
    display: grid;
    gap: 3px;
}

body.gad-modern-map .gad-modern-radio-card-head em {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(27, 179, 166, 0.18);
    color: #83f0d7;
    font-size: 10px;
    font-style: normal;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.gad-modern-map .gad-modern-radio-card audio {
    width: 100%;
    min-height: 34px;
    accent-color: #5fd4e5;
}

body.gad-modern-map #gad-map-login-prompt {
    bottom: 142px !important;
}

body.gad-modern-map #altitude_chart {
    position: fixed !important;
    left: calc((100vw - 430px) / 2) !important;
    right: auto !important;
    bottom: 96px !important;
    z-index: 12880;
    width: min(680px, calc(100vw - 520px)) !important;
    max-width: none !important;
    transform: translateX(-50%);
}

body.gad-modern-map.gad-modern-drawer-closed #altitude_chart {
    left: 50% !important;
    width: min(720px, calc(100vw - 48px)) !important;
    transform: translateX(-50%);
}

body.gad-modern-map #highlighted_infoblock {
    position: absolute !important;
    display: none;
    min-width: 92px !important;
    width: auto !important;
    max-width: 190px;
    padding: 8px 10px 7px !important;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    background: rgba(37, 44, 48, 0.88) !important;
    box-shadow: 0 12px 24px rgba(3, 16, 27, 0.24);
    color: #ffffff;
    cursor: default !important;
    pointer-events: none !important;
    font-family: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    font-kerning: normal;
    font-synthesis: none;
    text-rendering: geometricPrecision;
    text-shadow: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    z-index: 13280 !important;
}

body.gad-modern-map #highlighted_infoblock::before {
    content: "";
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    transform: translateY(-50%);
}

body.gad-modern-map #highlighted_infoblock.gad-modern-hover-pointer-right::before {
    right: -11px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 11px solid rgba(37, 44, 48, 0.88);
}

body.gad-modern-map #highlighted_infoblock.gad-modern-hover-pointer-left::before {
    left: -11px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 11px solid rgba(37, 44, 48, 0.88);
}

body.gad-modern-map #highlighted_infoblock .gad-modern-hover-ident {
    overflow: hidden;
    color: #ffffff;
    font-size: 15.5px;
    font-weight: 760;
    letter-spacing: 0;
    line-height: 1.05;
    text-overflow: ellipsis;
    text-rendering: geometricPrecision;
    text-shadow: none;
    white-space: nowrap;
}

body.gad-modern-map #highlighted_infoblock .gad-modern-hover-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 4px;
    color: rgba(245, 250, 250, 0.82);
    font-size: 10.25px;
    font-weight: 680;
    letter-spacing: 0;
    line-height: 1.1;
    text-rendering: geometricPrecision;
    text-shadow: none;
    white-space: nowrap;
}

body.gad-modern-map #highlighted_infoblock .gad-modern-hover-meta span:first-child::after {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin-left: 9px;
    border-radius: 999px;
    background: rgba(245, 250, 250, 0.5);
    vertical-align: middle;
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-locate-control {
        left: 8px !important;
        bottom: calc(92px + (50px * var(--SCALE))) !important;
    }

    body.gad-modern-map .gad-modern-bottom-menu,
    body.gad-modern-map.gad-modern-drawer-closed .gad-modern-bottom-menu {
        left: 12px;
        right: 12px;
        width: auto;
        min-height: 66px;
        overflow-x: auto;
        justify-content: flex-start;
        padding: 6px 8px 7px;
        transform: none;
    }

    body.gad-modern-map .gad-modern-bottom-item {
        flex: 0 0 84px;
        min-width: 84px;
        font-size: 9.5px;
    }

    body.gad-modern-map .gad-modern-bottom-item svg {
        width: 30px;
        height: 30px;
    }

    body.gad-modern-map #gad-map-login-prompt {
        bottom: 136px !important;
    }

    body.gad-modern-map #altitude_chart,
    body.gad-modern-map.gad-modern-drawer-closed #altitude_chart {
        left: 50% !important;
        bottom: 92px !important;
        width: min(620px, calc(100vw - 32px)) !important;
        transform: translateX(-50%);
    }
}

@media (min-width: 761px) and (max-width: 1180px) {
    body.gad-modern-map .gad-modern-bottom-menu {
        left: 50%;
        width: min(700px, calc(100vw - 48px));
        transform: translateX(-50%);
    }

    body.gad-modern-map #altitude_chart {
        left: 50% !important;
        width: min(700px, calc(100vw - 48px)) !important;
        transform: translateX(-50%);
    }
}

/* drawer20: bottom menu tools now use the same right-side frame footprint as Flight List. */
body.gad-modern-map .gad-modern-panel,
body.gad-modern-map .gad-modern-panel-wide {
    position: fixed !important;
    top: 84px !important;
    right: 14px !important;
    bottom: 14px !important;
    left: auto !important;
    z-index: 13260;
    box-sizing: border-box;
    width: min(430px, calc(100vw - 108px)) !important;
    min-width: 330px;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: auto;
    border-radius: var(--gad-map-radius);
}

body.gad-modern-map .gad-modern-panel-head {
    position: sticky;
    top: 0;
    z-index: 3;
    padding: 12px;
    background: linear-gradient(145deg, rgba(16, 38, 56, 0.98), rgba(22, 53, 67, 0.97));
}

body.gad-modern-map .gad-modern-panel-section,
body.gad-modern-map .gad-modern-radio-toolbar,
body.gad-modern-map .gad-modern-radio-list,
body.gad-modern-map .gad-modern-advanced-grid {
    padding: 12px;
}

body.gad-modern-map .gad-modern-panel-section + .gad-modern-panel-section {
    border-top: 1px solid rgba(164, 219, 224, 0.12);
}

body.gad-modern-map .gad-modern-choice-grid,
body.gad-modern-map .gad-modern-advanced-grid {
    grid-template-columns: 1fr;
}

body.gad-modern-map .gad-modern-advanced-grid {
    gap: 16px;
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-panel,
    body.gad-modern-map .gad-modern-panel-wide {
        top: 76px !important;
        right: 8px !important;
        bottom: 88px !important;
        left: 8px !important;
        width: auto !important;
        min-width: 0;
        max-height: none !important;
    }
}

/* light-drawer21: keep every right-side frame on the same light surface. */
body.gad-modern-map #sidebar_container,
body.gad-modern-map #selected_infoblock,
body.gad-modern-map .gad-modern-panel,
body.gad-modern-map .gad-modern-panel-wide {
    border-color: rgba(15, 34, 50, 0.14) !important;
    background: rgba(250, 253, 252, 0.97) !important;
    color: var(--gad-map-ink) !important;
    box-shadow: 0 18px 50px rgba(8, 24, 36, 0.2) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

body.gad-modern-map .gad-modern-drawer-header,
body.gad-modern-map .gad-modern-panel-head {
    border-bottom-color: rgba(15, 34, 50, 0.1) !important;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(234, 246, 247, 0.96)) !important;
}

body.gad-modern-map .gad-modern-panel-section + .gad-modern-panel-section {
    border-top-color: rgba(15, 34, 50, 0.09) !important;
}

body.gad-modern-map .gad-modern-drawer-header strong,
body.gad-modern-map .gad-modern-panel-head strong,
body.gad-modern-map #selected_infoblock strong,
body.gad-modern-map #selected_infoblock .infoHeading,
body.gad-modern-map .gad-modern-panel .infoBlockTitleText,
body.gad-modern-map .gad-modern-panel .infoHeading,
body.gad-modern-map .gad-modern-radio-card strong,
body.gad-modern-map .gad-modern-panel-empty strong,
body.gad-modern-map .gad-modern-radio-card span {
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-eyebrow,
body.gad-modern-map .gad-modern-panel-label {
    color: #0a7ea7 !important;
}

body.gad-modern-map .gad-modern-panel-head button,
body.gad-modern-map .gad-modern-drawer-close,
body.gad-modern-map .gad-modern-selected-actions button,
body.gad-modern-map .gad-modern-radio-toolbar .gad-modern-button {
    border-color: rgba(15, 34, 50, 0.12) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel-head button:hover,
body.gad-modern-map .gad-modern-drawer-close:hover,
body.gad-modern-map .gad-modern-selected-actions button:hover,
body.gad-modern-map .gad-modern-radio-toolbar .gad-modern-button:hover {
    border-color: rgba(29, 135, 184, 0.42) !important;
    background: rgba(29, 135, 184, 0.12) !important;
    color: #075c82 !important;
}

body.gad-modern-map .gad-modern-choice-grid button,
body.gad-modern-map .gad-modern-toggle-list button,
body.gad-modern-map .gad-modern-panel .buttonFilter li,
body.gad-modern-map .gad-modern-panel #sortableColumns li,
body.gad-modern-map .gad-modern-panel .settingsOptionContainer,
body.gad-modern-map .gad-modern-radio-card,
body.gad-modern-map .gad-modern-panel-empty {
    border-color: rgba(15, 34, 50, 0.12) !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-choice-grid button small,
body.gad-modern-map .gad-modern-toggle-list button small,
body.gad-modern-map .gad-modern-radio-toolbar [data-modern-radio-status],
body.gad-modern-map .gad-modern-radio-card small,
body.gad-modern-map .gad-modern-panel-empty span,
body.gad-modern-map .gad-modern-radio-card span,
body.gad-modern-map .gad-modern-panel .settingsText {
    color: var(--gad-map-muted) !important;
}

body.gad-modern-map .gad-modern-choice-grid button.is-active,
body.gad-modern-map .gad-modern-toggle-list button.is-active,
body.gad-modern-map .gad-modern-panel .buttonFilter li.ui-selected,
body.gad-modern-map .gad-modern-panel #sortableColumns li .settingsCheckboxChecked,
body.gad-modern-map .gad-modern-panel .settingsCheckboxChecked {
    border-color: rgba(29, 135, 184, 0.48) !important;
    background: rgba(29, 135, 184, 0.12) !important;
    box-shadow: inset 4px 0 #1d87b8 !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel .searchInput,
body.gad-modern-map .gad-modern-panel .altitudeFilterInput,
body.gad-modern-map .gad-modern-panel select,
body.gad-modern-map .gad-modern-panel input,
body.gad-modern-map .gad-modern-panel textarea {
    border-color: rgba(15, 34, 50, 0.16) !important;
    background: #ffffff !important;
    color: var(--gad-map-ink) !important;
}

body.gad-modern-map .gad-modern-panel #tab-filters,
body.gad-modern-map .gad-modern-panel #tab-filters table,
body.gad-modern-map .gad-modern-panel #tab-filters tbody,
body.gad-modern-map .gad-modern-panel #tab-filters tr,
body.gad-modern-map .gad-modern-panel #tab-filters td,
body.gad-modern-map .gad-modern-panel #tab-columns,
body.gad-modern-map .gad-modern-panel #tab-columns table,
body.gad-modern-map .gad-modern-panel #tab-columns tbody,
body.gad-modern-map .gad-modern-panel #tab-columns tr,
body.gad-modern-map .gad-modern-panel #tab-columns td {
    color: var(--gad-map-ink) !important;
}

/* search24: cleaner top search with icon submit and typeahead suggestions. */
body.gad-modern-map .gad-modern-topbar {
    grid-template-columns: minmax(220px, auto) minmax(360px, 1fr) auto auto !important;
    min-height: 58px;
    padding: 8px 12px;
    border-color: rgba(15, 34, 50, 0.12);
    background: rgba(250, 253, 252, 0.96);
}

body.gad-modern-map .gad-modern-brand {
    text-decoration: none;
}

body.gad-modern-map .gad-modern-brand strong,
body.gad-modern-map .gad-modern-brand span {
    text-decoration: none;
}

body.gad-modern-map .gad-modern-search {
    grid-template-columns: minmax(220px, 1fr) 42px !important;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

body.gad-modern-map .gad-modern-search .gad-modern-field {
    position: relative;
    min-width: 0;
}

body.gad-modern-map .gad-modern-search .gad-modern-field > span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

body.gad-modern-map .gad-modern-search input {
    height: 42px;
    padding: 0 14px;
    border-radius: 8px;
    border-color: rgba(15, 34, 50, 0.16);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 1px 0 rgba(15, 34, 50, 0.04);
    font-size: 14px;
}

body.gad-modern-map .gad-modern-search input:focus {
    border-color: rgba(29, 135, 184, 0.55);
    box-shadow: 0 0 0 3px rgba(29, 135, 184, 0.14);
}

body.gad-modern-map .gad-modern-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 0;
    border: 1px solid rgba(15, 34, 50, 0.14);
    border-radius: 8px;
    background: rgba(15, 34, 50, 0.92);
    color: #ffffff;
    cursor: pointer;
}

body.gad-modern-map .gad-modern-search-button:hover,
body.gad-modern-map .gad-modern-search-button:focus-visible {
    border-color: rgba(29, 135, 184, 0.42);
    background: #0f2a3d;
    outline: none;
}

body.gad-modern-map .gad-modern-search-button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.gad-modern-map .gad-modern-search-suggestions {
    position: absolute;
    top: calc(100% + 7px);
    left: 0;
    right: 0;
    z-index: 14000;
    overflow: hidden;
    border: 1px solid rgba(15, 34, 50, 0.14);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 42px rgba(8, 24, 36, 0.22);
}

body.gad-modern-map .gad-modern-search-suggestion,
body.gad-modern-map .gad-modern-search-suggestion-empty {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    width: 100%;
    min-height: 48px;
    padding: 8px 10px;
    border: 0;
    border-bottom: 1px solid rgba(15, 34, 50, 0.08);
    background: transparent;
    color: var(--gad-map-ink);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

body.gad-modern-map .gad-modern-search-suggestion:last-child {
    border-bottom: 0;
}

body.gad-modern-map .gad-modern-search-suggestion:hover,
body.gad-modern-map .gad-modern-search-suggestion.is-active {
    background: rgba(29, 135, 184, 0.1);
}

body.gad-modern-map .gad-modern-search-suggestion-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(15, 34, 50, 0.08);
    color: #0a7ea7;
    font-size: 10px;
    font-weight: 800;
}

body.gad-modern-map .gad-modern-search-suggestion-main {
    display: grid;
    gap: 2px;
    min-width: 0;
}

body.gad-modern-map .gad-modern-search-suggestion-main strong,
body.gad-modern-map .gad-modern-search-suggestion-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.gad-modern-map .gad-modern-search-suggestion-main strong {
    color: var(--gad-map-ink);
    font-size: 13px;
    font-weight: 800;
}

body.gad-modern-map .gad-modern-search-suggestion-main small,
body.gad-modern-map .gad-modern-search-suggestion-empty {
    color: var(--gad-map-muted);
    font-size: 11px;
    font-weight: 650;
}

body.gad-modern-map .gad-modern-search-suggestion-empty {
    grid-template-columns: 1fr;
    cursor: default;
}

body.gad-modern-map .gad-modern-search-status {
    position: absolute;
    top: calc(100% + 6px);
    left: 8px;
    z-index: 13990;
    min-height: 0;
    max-width: calc(100% - 16px);
    margin: 0;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(250, 253, 252, 0.92);
    box-shadow: 0 8px 18px rgba(8, 24, 36, 0.12);
    font-size: 10px;
    font-weight: 700;
}

body.gad-modern-map .gad-modern-search-suggestions:not([hidden]) ~ .gad-modern-search-status {
    display: none;
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-search {
        grid-template-columns: minmax(0, 1fr) 42px !important;
    }
}

/* slide22: right-side frames animate in/out and the bottom dock stays centered. */
body.gad-modern-map.gad-modern-drawer-closed #sidebar_container {
    display: flex !important;
}

body.gad-modern-map #sidebar_container,
body.gad-modern-map .gad-modern-panel,
body.gad-modern-map .gad-modern-panel-wide {
    transform: translateX(calc(100% + 32px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    will-change: transform, opacity;
    transition:
        transform 260ms cubic-bezier(0.22, 0.8, 0.28, 1),
        opacity 180ms ease,
        visibility 0s linear 260ms;
}

body.gad-modern-map #sidebar_container.is-open,
body.gad-modern-map .gad-modern-panel.is-open,
body.gad-modern-map .gad-modern-panel-wide.is-open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        transform 260ms cubic-bezier(0.22, 0.8, 0.28, 1),
        opacity 180ms ease,
        visibility 0s linear 0s;
}

body.gad-modern-map .gad-modern-bottom-menu,
body.gad-modern-map.gad-modern-drawer-closed .gad-modern-bottom-menu {
    left: 50% !important;
    right: auto !important;
    width: min(720px, calc(100vw - 48px)) !important;
    transform: translateX(-50%) !important;
}

body.gad-modern-map #altitude_chart,
body.gad-modern-map.gad-modern-drawer-closed #altitude_chart {
    left: 50% !important;
    width: min(720px, calc(100vw - 48px)) !important;
    transform: translateX(-50%) !important;
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-bottom-menu,
    body.gad-modern-map.gad-modern-drawer-closed .gad-modern-bottom-menu {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        transform: none !important;
    }

    body.gad-modern-map #altitude_chart,
    body.gad-modern-map.gad-modern-drawer-closed #altitude_chart {
        left: 50% !important;
        width: min(620px, calc(100vw - 32px)) !important;
        transform: translateX(-50%) !important;
    }
}

/* search25-final: keep search controls visible and frames below the top bar. */
body.gad-modern-map .gad-modern-topbar {
    z-index: 13500;
    grid-template-columns: minmax(210px, 240px) minmax(280px, 1fr) auto auto !important;
    overflow: visible;
}

body.gad-modern-map .gad-modern-search {
    grid-template-columns: minmax(0, 1fr) 46px !important;
    overflow: visible;
}

body.gad-modern-map .gad-modern-search .gad-modern-field {
    overflow: hidden;
}

body.gad-modern-map .gad-modern-search-button {
    position: relative;
    z-index: 2;
    width: 46px !important;
    min-width: 46px;
    height: 42px;
    justify-self: stretch;
    background: #0f2232 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(8, 24, 36, 0.18);
}

body.gad-modern-map .gad-modern-search-button svg {
    display: block;
    width: 21px;
    height: 21px;
}

body.gad-modern-map #sidebar_container,
body.gad-modern-map #selected_infoblock,
body.gad-modern-map .gad-modern-panel,
body.gad-modern-map .gad-modern-panel-wide {
    top: 112px !important;
}

@media (max-width: 900px) {
    body.gad-modern-map #sidebar_container,
    body.gad-modern-map #selected_infoblock,
    body.gad-modern-map .gad-modern-panel,
    body.gad-modern-map .gad-modern-panel-wide {
        top: 124px !important;
    }
}

@media (max-width: 760px) {
    body.gad-modern-map .gad-modern-topbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.gad-modern-map .gad-modern-search {
        grid-template-columns: minmax(0, 1fr) 46px !important;
    }

    body.gad-modern-map #sidebar_container,
    body.gad-modern-map #selected_infoblock,
    body.gad-modern-map .gad-modern-panel,
    body.gad-modern-map .gad-modern-panel-wide {
        top: 128px !important;
    }
}

/* details28: normalize the selected-aircraft sheet legacy content inside the modern drawer. */
body.gad-modern-map #selected_infoblock {
    flex-direction: column;
    font-family: "Inter", "Segoe UI", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.gad-modern-map.gad-modern-has-selection #selected_infoblock {
    display: flex !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header {
    flex: 0 0 auto;
}

body.gad-modern-map #selected_infoblock #infoblock-container {
    flex: 1 1 auto;
    min-height: 0;
    height: auto !important;
    padding: 14px 16px 18px;
}

body.gad-modern-map #selected_infoblock .highlightedTitle.infoBlockSection,
body.gad-modern-map #selected_infoblock #show_trace {
    display: none !important;
}

body.gad-modern-map #selected_infoblock .infoBlockSection:not(.hidden):not(.highlightedTitle):not(#history_collapse) {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(15, 34, 50, 0.1) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: var(--gad-map-ink) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
}

body.gad-modern-map #selected_infoblock #anon_mlat_info:not(.hidden),
body.gad-modern-map #selected_infoblock #tisb_info:not(.hidden) {
    min-height: 0 !important;
    padding: 12px 14px !important;
    border-color: rgba(235, 107, 59, 0.22) !important;
    background: rgba(255, 249, 245, 0.88) !important;
}

body.gad-modern-map #selected_infoblock #anon_mlat_info .rSpacer,
body.gad-modern-map #selected_infoblock #tisb_info .rSpacer {
    display: none !important;
}

body.gad-modern-map #selected_infoblock .sectionTitle {
    margin: 16px 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0a7ea7 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

body.gad-modern-map #selected_infoblock .infoSectionTable,
body.gad-modern-map #selected_infoblock .infoSectionTable tbody,
body.gad-modern-map #selected_infoblock .infoSectionTable tr,
body.gad-modern-map #selected_infoblock .infoSectionTable td {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

body.gad-modern-map #selected_infoblock .infoSectionTable tr {
    padding: 5px 0 !important;
    border-top: 1px solid rgba(15, 34, 50, 0.07);
}

body.gad-modern-map #selected_infoblock .infoSectionTable tr:first-child,
body.gad-modern-map #selected_infoblock #photo_container,
body.gad-modern-map #selected_infoblock #pf_info_container {
    border-top: 0 !important;
}

body.gad-modern-map #selected_infoblock .infoSectionTable td {
    min-height: 0 !important;
    padding: 0 !important;
}

body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData),
body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> span.infoHeading):has(> span.infoData) {
    display: grid !important;
    grid-template-columns: 106px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: baseline !important;
}

body.gad-modern-map #selected_infoblock .identLarge,
body.gad-modern-map #selected_infoblock .identMedium,
body.gad-modern-map #selected_infoblock .identSmall {
    color: var(--gad-map-ink) !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
}

body.gad-modern-map #selected_infoblock .identLarge {
    font-size: 18px !important;
}

body.gad-modern-map #selected_infoblock .identMedium {
    font-size: 14px !important;
}

body.gad-modern-map #selected_infoblock .identSmall {
    font-size: 12px !important;
}

body.gad-modern-map #selected_infoblock .infoHeading,
body.gad-modern-map #selected_infoblock .infoData {
    display: block !important;
    float: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    letter-spacing: 0 !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
    text-shadow: none !important;
}

body.gad-modern-map #selected_infoblock .infoHeading {
    color: #536575 !important;
    font-weight: 750 !important;
}

body.gad-modern-map #selected_infoblock .infoData {
    color: var(--gad-map-ink) !important;
    font-weight: 650 !important;
}

body.gad-modern-map #selected_infoblock .infoData:empty,
body.gad-modern-map #selected_infoblock .infoData span:empty {
    display: none !important;
}

body.gad-modern-map #selected_infoblock #anon_mlat_info .infoHeading,
body.gad-modern-map #selected_infoblock #tisb_info .infoHeading {
    margin: 0 0 7px !important;
    color: var(--gad-map-ink) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

body.gad-modern-map #selected_infoblock #anon_mlat_info .infoHeading:first-child,
body.gad-modern-map #selected_infoblock #tisb_info .infoHeading:first-child {
    color: #0a7ea7 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
}

body.gad-modern-map #selected_infoblock a.link,
body.gad-modern-map #selected_infoblock .link {
    color: #0a6f93 !important;
    font-size: inherit !important;
    font-weight: 750 !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

body.gad-modern-map #selected_infoblock #selected_photo,
body.gad-modern-map #selected_infoblock #copyrightInfo {
    text-align: left !important;
}

body.gad-modern-map #selected_infoblock #selected_photo img,
body.gad-modern-map #selected_infoblock #airplanePhoto,
body.gad-modern-map #selected_infoblock #silhouette {
    display: block;
    width: 100%;
    max-height: 190px;
    object-fit: contain;
    background: #eef4f5;
}

@media (max-width: 760px) {
    body.gad-modern-map #selected_infoblock #infoblock-container {
        padding: 12px;
    }

    body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData),
    body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> span.infoHeading):has(> span.infoData) {
        grid-template-columns: 92px minmax(0, 1fr) !important;
        column-gap: 9px !important;
    }
}

/* details30: move aircraft photo into the modern header and remove legacy hex explainer blocks. */
body.gad-modern-map #selected_infoblock .gad-modern-selected-header {
    gap: 9px !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo {
    display: block;
    min-height: 0;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo:empty {
    display: none;
}

body.gad-modern-map #selected_infoblock #photo_container {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.gad-modern-map #selected_infoblock #photo_container.hidden {
    display: none !important;
}

body.gad-modern-map #selected_infoblock #photo_container td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo {
    display: block;
    width: 100% !important;
    max-height: 176px;
    overflow: hidden;
    border: 1px solid rgba(15, 34, 50, 0.1);
    border-radius: 8px;
    background: #eef4f5;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo:empty {
    display: none;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo p {
    margin: 10px 12px;
    color: #536575;
    font-size: 12px;
    font-weight: 650;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo img,
body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #airplanePhoto,
body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #silhouette {
    display: block;
    width: 100% !important;
    max-height: 176px;
    object-fit: contain;
    background: #eef4f5;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #copyrightInfo {
    margin-top: 3px;
    color: #6b7a88;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    text-align: right !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics {
    grid-template-columns: minmax(92px, 1.35fr) minmax(72px, 1fr) minmax(76px, 1fr) minmax(48px, 0.65fr) !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics span {
    align-content: center;
    min-height: 44px;
    padding: 6px 8px !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics b {
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

body.gad-modern-map #selected_infoblock #anon_mlat_info,
body.gad-modern-map #selected_infoblock #tisb_info,
body.gad-modern-map #selected_infoblock .highlightedTitle.infoBlockSection {
    display: none !important;
}

body.gad-modern-map #selected_infoblock #reg_info {
    margin-top: 0 !important;
}

@media (max-width: 760px) {
    body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo,
    body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo img,
    body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #airplanePhoto,
    body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #silhouette {
        max-height: 142px;
    }

    body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics {
        grid-template-columns: minmax(88px, 1.35fr) minmax(66px, 1fr) minmax(68px, 1fr) minmax(44px, 0.65fr) !important;
    }

    body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics b {
        font-size: 12px !important;
    }
}

/* details31: align legacy label/value rows and remove photo-provider links from the details sheet. */
body.gad-modern-map #selected_infoblock #photoLinkRow,
body.gad-modern-map #selected_infoblock #selected_photo_link {
    display: none !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo a {
    color: inherit !important;
    cursor: default !important;
    pointer-events: none !important;
    text-decoration: none !important;
}

body.gad-modern-map #selected_infoblock .infoBlockSection .rSpacer {
    display: none !important;
}

body.gad-modern-map #selected_infoblock .infoBlockSection > div:has(> .infoHeading):has(> .infoData),
body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData) {
    display: grid !important;
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: baseline !important;
    min-height: 26px;
    padding: 4px 0 !important;
    border-top: 1px solid rgba(15, 34, 50, 0.07);
}

body.gad-modern-map #selected_infoblock .infoBlockSection > div:has(> .infoHeading):has(> .infoData):first-child,
body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData):first-child {
    border-top: 0 !important;
}

body.gad-modern-map #selected_infoblock .infoBlockSection > div:has(> .infoHeading):has(> .infoData) > .infoHeading,
body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData) > .infoHeading {
    color: #536575 !important;
    font-size: 12.5px !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
}

body.gad-modern-map #selected_infoblock .infoBlockSection > div:has(> .infoHeading):has(> .infoData) > .infoData,
body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData) > .infoData {
    color: var(--gad-map-ink) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: right !important;
}

body.gad-modern-map #selected_infoblock .infoBlockSection > div:has(> .infoHeading):has(> .infoData) > .infoData span,
body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData) > .infoData span {
    font: inherit !important;
}

body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData),
body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> span.infoHeading):has(> span.infoData) {
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr) !important;
}

body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData) > .infoData,
body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> span.infoHeading):has(> span.infoData) > .infoData {
    text-align: right !important;
}

@media (max-width: 760px) {
    body.gad-modern-map #selected_infoblock .infoBlockSection > div:has(> .infoHeading):has(> .infoData),
    body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData),
    body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> .infoHeading):has(> .infoData),
    body.gad-modern-map #selected_infoblock .infoSectionTable td:has(> span.infoHeading):has(> span.infoData) {
        grid-template-columns: minmax(110px, 45%) minmax(0, 1fr) !important;
        column-gap: 10px !important;
    }
}

/* details33: remove legacy aircraft totals from drawers and prevent detail-sheet horizontal scroll. */
body.gad-modern-map #sidebar_canvas td:has(#dump1090_total_ac),
body.gad-modern-map #sidebar_canvas td:has(#dump1090_total_ac_positions) {
    display: none !important;
}

body.gad-modern-map #selected_infoblock {
    box-sizing: border-box !important;
    width: min(500px, calc(100vw - 48px)) !important;
    min-width: min(360px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    overflow-x: hidden !important;
}

body.gad-modern-map #selected_infoblock #infoblock-container {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body.gad-modern-map #selected_infoblock *,
body.gad-modern-map #selected_infoblock *::before,
body.gad-modern-map #selected_infoblock *::after {
    box-sizing: border-box;
    max-width: 100%;
}

@media (max-width: 760px) {
    body.gad-modern-map #selected_infoblock {
        right: 8px !important;
        left: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* details34: tighten selected metrics and normalize the spatial rows. */
body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics {
    gap: 6px !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics span {
    align-content: center !important;
    gap: 1px !important;
    min-height: 36px !important;
    padding: 4px 7px !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics b {
    font-size: 12px !important;
    line-height: 1.05 !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-metrics small {
    font-size: 8.5px !important;
    line-height: 1 !important;
}

body.gad-modern-map #selected_infoblock #spatial_block tr.infoBlockSection:not(.hidden) {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td {
    display: grid !important;
    grid-template-columns: minmax(145px, 42%) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: center !important;
    min-height: 30px !important;
    padding: 5px 0 !important;
    border-top: 1px solid rgba(15, 34, 50, 0.07);
}

body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable tr:first-child td {
    border-top: 0 !important;
}

body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td > .infoHeading,
body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td > div.infoHeading {
    display: block !important;
    min-width: 0 !important;
    color: #536575 !important;
    font-size: 12.5px !important;
    font-weight: 760 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}

body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td > .infoData,
body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td > div.infoData {
    display: block !important;
    min-width: 0 !important;
    color: var(--gad-map-ink) !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: right !important;
    white-space: nowrap;
}

/* details35: restore the original detail width, remove the photo frame, and contain Flight List overflow. */
body.gad-modern-map #selected_infoblock {
    width: min(430px, calc(100vw - 108px)) !important;
    min-width: min(330px, calc(100vw - 108px)) !important;
    max-width: calc(100vw - 108px) !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo {
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo img,
body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #airplanePhoto,
body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #silhouette {
    background: transparent !important;
    border-radius: 0 !important;
}

body.gad-modern-map #sidebar_container,
body.gad-modern-map #sidebar_canvas,
body.gad-modern-map #sidebar-table,
body.gad-modern-map .gad-modern-aircraft-list {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

body.gad-modern-map .gad-modern-aircraft-list,
body.gad-modern-map .gad-modern-aircraft-list-head,
body.gad-modern-map .gad-modern-aircraft-row {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
}

body.gad-modern-map .gad-modern-aircraft-row > span,
body.gad-modern-map .gad-modern-aircraft-list-head > span {
    min-width: 0 !important;
}

@media (max-width: 760px) {
    body.gad-modern-map #selected_infoblock {
        right: 8px !important;
        left: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* details36: contain fallback silhouettes and hide missing selected-aircraft rows. */
body.gad-modern-map #selected_infoblock .gad-modern-empty-row {
    display: none !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-empty-section,
body.gad-modern-map #selected_infoblock .gad-modern-empty-section-title {
    display: none !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo {
    overflow: hidden !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo {
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 170px;
    max-height: 170px !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo img,
body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #airplanePhoto,
body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #silhouette {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #silhouette {
    width: auto !important;
    max-width: 92% !important;
}

body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td {
    border-top: 0 !important;
    border-bottom: 1px solid rgba(15, 34, 50, 0.07);
}

body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable tr:last-child td {
    border-bottom: 0 !important;
}

@media (max-width: 760px) {
    body.gad-modern-map #selected_infoblock .gad-modern-selected-photo #selected_photo {
        height: 150px;
        max-height: 150px !important;
    }
}

/* details38: keep selected action state visible and place trace history under the action row. */
body.gad-modern-map #selected_infoblock #reg_info tr:has(#selected_country) td,
body.gad-modern-map #selected_infoblock #reg_info tr:has(#selected_typelong) td {
    display: block !important;
    text-align: right !important;
}

body.gad-modern-map #selected_infoblock #selected_country,
body.gad-modern-map #selected_infoblock #selected_typelong {
    display: block !important;
    width: 100% !important;
    text-align: right !important;
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-actions button.is-active {
    border-color: rgba(9, 126, 167, 0.62) !important;
    background: #0f2232 !important;
    color: #ffffff !important;
    box-shadow: inset 0 -3px 0 rgba(95, 212, 229, 0.38);
}

body.gad-modern-map #selected_infoblock .gad-modern-selected-actions button.is-active:hover {
    background: #102b3d !important;
    color: #ffffff !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse {
    grid-column: 1 / -1;
    margin: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(15, 34, 50, 0.1) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    box-shadow: none !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse .sectionTitle,
body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse .rSpacer {
    display: none !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData) {
    display: grid !important;
    grid-template-columns: minmax(120px, 42%) minmax(0, 1fr) !important;
    column-gap: 12px !important;
    align-items: baseline !important;
    min-height: 24px !important;
    padding: 4px 0 !important;
    border-top: 1px solid rgba(15, 34, 50, 0.07);
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse #selected_showTrace_hide > div:has(> .infoHeading):has(> .infoData):first-child {
    border-top: 0 !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse .infoHeading {
    color: #536575 !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse .infoData {
    color: var(--gad-map-ink) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: right !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse > div:not(.rSpacer) {
    margin: 0 0 7px !important;
    color: #536575 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse > div:not(.rSpacer):last-child {
    margin-bottom: 0 !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse .identSmall {
    color: #536575 !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
}

body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse input,
body.gad-modern-map #selected_infoblock #gad-modern-selected-header #history_collapse button {
    min-height: 28px !important;
    border: 1px solid rgba(15, 34, 50, 0.12) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: var(--gad-map-ink) !important;
    font: inherit !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

/* details39: make hidden empty detail rows/sections override legacy layout-specific display rules. */
body.gad-modern-map #selected_infoblock .sectionTitle.gad-modern-empty-section-title,
body.gad-modern-map #selected_infoblock .infoBlockSection.gad-modern-empty-section,
body.gad-modern-map #selected_infoblock .infoBlockSection > div.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock .infoBlockSection #selected_showTrace_hide > div.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock .infoSectionTable tr.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock .infoSectionTable td.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock tr.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock td.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock div.gad-modern-empty-row {
    display: none !important;
}

/* details40: hide rows inline from JS and keep a high-specificity CSS fallback for inherited detail blocks. */
body.gad-modern-map #selected_infoblock #infoblock-container > .sectionTitle.gad-modern-empty-section-title,
body.gad-modern-map #selected_infoblock #infoblock-container > .infoBlockSection.gad-modern-empty-section,
body.gad-modern-map #selected_infoblock #infoblock-container > .infoBlockSection > div.gad-modern-empty-row:has(> .infoHeading):has(> .infoData),
body.gad-modern-map #selected_infoblock #infoblock-container > .infoBlockSection > div.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock #infoblock-container .infoSectionTable tr.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock #infoblock-container .infoSectionTable td.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable tr.gad-modern-empty-row,
body.gad-modern-map #selected_infoblock #spatial_block .infoSectionTable td.gad-modern-empty-row {
    display: none !important;
}

/* details41: keep the last aircraft-detail row clear of the sheet edge while scrolling. */
body.gad-modern-map #selected_infoblock #infoblock-container {
    padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: calc(44px + env(safe-area-inset-bottom, 0px));
}

body.gad-modern-map #selected_infoblock #infoblock-container > .infoBlockSection:last-child,
body.gad-modern-map #selected_infoblock #infoblock-container > .infoBlockSection:last-of-type {
    margin-bottom: 18px !important;
}

/* clean43: final modern shell cleanup for legacy-only tar1090 surfaces. */
body.gad-modern-map #settings_infoblock,
body.gad-modern-map #replayBar,
body.gad-modern-map #iconTestCanvas {
    display: none !important;
}

body.gad-modern-map #selected_infoblock #infoblock-container {
    overscroll-behavior: contain;
}

/* loginprompt47: keep the signed-out prompt close to the altitude legend. */
body.gad-modern-map #gad-map-login-prompt {
    bottom: 142px !important;
}

@media (max-width: 760px) {
    body.gad-modern-map #gad-map-login-prompt {
        bottom: 136px !important;
    }
}

/* airport-metar44: clickable airport weather popups backed by NOAA AviationWeather. */
body.gad-modern-map .gad-airport-popup {
    width: min(360px, calc(100vw - 28px));
    color: #132231;
    font-family: "Avenir Next", "Segoe UI", system-ui, sans-serif;
    filter: drop-shadow(0 16px 28px rgba(8, 26, 40, 0.22));
}

body.gad-modern-map .gad-airport-popup::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -8px;
    width: 16px;
    height: 16px;
    background: rgba(250, 253, 252, 0.98);
    border-right: 1px solid rgba(94, 121, 136, 0.22);
    border-bottom: 1px solid rgba(94, 121, 136, 0.22);
    transform: translateX(-50%) rotate(45deg);
}

body.gad-modern-map .gad-airport-popup-body {
    position: relative;
    z-index: 1;
    padding: 16px;
    border: 1px solid rgba(94, 121, 136, 0.22);
    border-radius: 8px;
    background: rgba(250, 253, 252, 0.98);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

body.gad-modern-map .gad-airport-popup-close {
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(94, 121, 136, 0.28);
    border-radius: 8px;
    background: #edf4f4;
    color: #132231;
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

body.gad-modern-map .gad-airport-popup-close:hover {
    background: #dfeaea;
}

body.gad-modern-map .gad-airport-popup-head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
    padding-right: 38px;
}

body.gad-modern-map .gad-airport-popup-head strong {
    display: block;
    margin-top: 2px;
    color: #122235;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

body.gad-modern-map .gad-airport-popup-head small {
    display: block;
    margin-top: 5px;
    color: #61727f;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

body.gad-modern-map .gad-airport-flight-rule {
    display: inline-flex;
    min-width: 58px;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    padding: 7px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.gad-modern-map .gad-airport-flight-rule.vfr {
    background: #188857;
}

body.gad-modern-map .gad-airport-flight-rule.mvfr {
    background: #2679c7;
}

body.gad-modern-map .gad-airport-flight-rule.ifr {
    background: #be2e3e;
}

body.gad-modern-map .gad-airport-flight-rule.lifr {
    background: #8d2db4;
}

body.gad-modern-map .gad-airport-flight-rule.unknown {
    background: #657681;
}

body.gad-modern-map .gad-airport-observed,
body.gad-modern-map .gad-airport-source {
    margin-top: 12px;
    color: #61727f;
    font-size: 12px;
    font-weight: 800;
}

body.gad-modern-map .gad-airport-decoded {
    display: grid;
    gap: 0;
    margin-top: 12px;
    border-top: 1px solid rgba(94, 121, 136, 0.15);
}

body.gad-modern-map .gad-airport-decoded div {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid rgba(94, 121, 136, 0.15);
}

body.gad-modern-map .gad-airport-decoded span {
    color: #5b6b78;
    font-size: 13px;
    font-weight: 800;
}

body.gad-modern-map .gad-airport-decoded strong {
    color: #132231;
    font-size: 14px;
    font-weight: 900;
    text-align: right;
}

body.gad-modern-map .gad-airport-raw,
body.gad-modern-map .gad-airport-empty {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 8px;
    background: #eef5f5;
    color: #263848;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

body.gad-modern-map .gad-airport-raw {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    overflow-wrap: anywhere;
}

/* feeder-popup48: clamp the Feeders popup inside the visible viewport. */
body.gad-modern-map #gad-feeder-rings-popup.gad-feeder-rings-popup {
    position: fixed !important;
    top: var(--gad-feeder-popup-top, 94px) !important;
    right: var(--gad-feeder-popup-right, 16px) !important;
    bottom: var(--gad-feeder-popup-bottom, auto) !important;
    left: var(--gad-feeder-popup-left, auto) !important;
    z-index: 13420 !important;
    box-sizing: border-box;
    width: var(--gad-feeder-popup-width, min(410px, calc(100vw - 32px))) !important;
    max-width: calc(100vw - 16px) !important;
    max-height: var(--gad-feeder-popup-max-height, calc(100vh - 112px)) !important;
    overflow: auto !important;
    transform: none !important;
}
