
        body { background:#06070a; color:#fff; overflow-x:hidden; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
        .map-shell { min-height:100vh; }
        .map-main { min-width:0; margin-left:0; transition:margin-left .18s ease; }
        body.map-embedded { background:transparent; overflow:hidden; }
        body.map-embedded .map-shell { min-height:0; }
        body.map-embedded .map-main { margin-left:0; }
        body.map-embedded .map-topbar,
        body.map-embedded .traffic-panel,
        body.map-embedded .map-resizer { display:none!important; }
        body.map-embedded #acars-map { height:620px; border-bottom:0; }
        body.map-embedded .spw-map-toolbar { top:12px; }
        body.map-embedded .spw-map-panel { top:12px; }
        .map-topbar { min-height:68px; position:relative; z-index:1200; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 16px; overflow:visible; background:#090a0d; border-bottom:1px solid #20242b; }
        .map-title-wrap { min-width:0; }
        .map-title { display:flex; align-items:center; gap:10px; margin:0; color:#fff; font-size:26px; font-weight:900; letter-spacing:0; line-height:1.1; }
        .map-title-icon { color:#fff; font-size:25px; line-height:1; }
        .map-account-slot { flex:0 0 auto; }
        .live-map-stage { position:relative; }
        .live-map-stage:fullscreen,
        .live-map-stage:-webkit-full-screen,
        .live-map-stage.is-map-fullscreen { width:100vw!important; height:100vh!important; background:#050608; }
        .live-map-stage:fullscreen #acars-map,
        .live-map-stage:-webkit-full-screen #acars-map,
        .live-map-stage.is-map-fullscreen #acars-map { width:100%!important; height:100vh!important; min-height:100vh!important; }
        #acars-map { height:640px; background:#e7eef5; border-bottom:1px solid #2a2e36; }
        .maplibregl-map,
        .maplibregl-popup,
        .maplibregl-ctrl { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
        .maplibregl-popup.spw-traffic-popup { max-width:none!important; }
        .maplibregl-popup-content { padding:0; color:#102033; background:#f8fbff; border:1px solid #c8d5e3; border-radius:10px; box-shadow:0 18px 42px rgba(15,23,42,.22); overflow:hidden; }
        .maplibregl-popup-tip { border-top-color:#f8fbff!important; border-bottom-color:#f8fbff!important; border-left-color:#f8fbff!important; border-right-color:#f8fbff!important; }
        .traffic-popup { width:282px; max-width:282px; }
        .traffic-popup-body { padding:13px 8px 0; }
        .traffic-popup-top { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; }
        .traffic-popup-airline { min-width:0; display:flex; align-items:center; justify-content:flex-start; color:#2563eb; font-size:10px; font-weight:500; text-transform:uppercase; line-height:1; }
        .traffic-popup-airline img { max-width:148px; max-height:36px; object-fit:contain; display:block; }
        .traffic-popup-network-logo { max-width:176px!important; max-height:42px!important; object-fit:contain; display:block; }
        .traffic-popup-network-logo.vatsim-logo { max-width:132px!important; max-height:32px!important; }
        .traffic-certification-badge { display:inline-grid; gap:3px; min-width:132px; max-width:150px; padding:7px 9px; border:1px solid #f97316; border-radius:7px; background:#fff7ed; color:#9a3412; line-height:1.05; text-align:left; box-shadow:0 8px 18px rgba(249,115,22,.14); }
        .traffic-certification-badge span { font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; white-space:nowrap; }
        .traffic-certification-badge strong { color:#061a35; font-size:12px; font-weight:900; text-transform:uppercase; white-space:normal; overflow-wrap:anywhere; }
        .traffic-popup-flight { color:#061a35; font-size:16px; font-weight:600; line-height:1; text-align:left; white-space:nowrap; }
        .traffic-popup-pilot { margin-top:6px; color:#52647a; font-size:11px; font-weight:400; text-align:left; line-height:1; white-space:nowrap; }
        .traffic-popup-route { display:grid; grid-template-columns:38px 1fr 38px; align-items:center; gap:7px; margin-top:16px; color:#061a35; font-size:12px; font-weight:600; line-height:1; }
        .traffic-popup-route span:first-child { text-align:left; }
        .traffic-popup-route span:last-child { text-align:right; }
        .traffic-popup-route-mid { min-width:0; position:relative; display:block; height:16px; color:#0000FF; }
        .traffic-popup-route-mid::before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:rgba(148,163,184,.34); transform:translateY(-50%); }
        .traffic-popup-route-mid img { position:absolute; left:var(--route-progress,50%); top:50%; z-index:1; width:18px; height:18px; object-fit:contain; transform:translate(-50%,-50%); filter:drop-shadow(0 1px 2px rgba(0,0,0,.3)); animation:trafficRoutePlane 5.5s ease-in-out infinite alternate; }
        @keyframes trafficRoutePlane {
            from { left:var(--route-progress,50%); }
            to { left:var(--route-progress-end,54%); }
        }
        .traffic-popup-sub { margin-top:17px; color:#52647a; font-size:12px; font-weight:400; text-align:center; line-height:1; white-space:nowrap; }
        .traffic-popup-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:17px -8px 0; border-top:1px solid #d7e1ec; background:#edf4fb; }
        .traffic-popup-metric { min-width:0; padding:7px 3px 8px; text-align:center; border-left:1px solid #d7e1ec; color:#061a35; font-size:11px; font-weight:600; line-height:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
        .traffic-popup-metric:first-child { border-left:0; }
        .traffic-popup-metric span { display:block; margin-top:5px; color:#a3a7b1; font-size:9px; font-weight:400; text-transform:uppercase; }
        .flight-detail-panel { position:absolute; right:16px; top:12px; z-index:9; width:318px; max-width:calc(100vw - 32px); display:none; color:#102033; background:rgba(248,251,255,.98); border:1px solid #c8d5e3; border-radius:0; box-shadow:0 24px 60px rgba(15,23,42,.22); overflow:hidden; backdrop-filter:blur(10px); }
        .flight-detail-panel.is-open { display:block; }
        .flight-detail-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 14px 14px; }
        .flight-detail-title { margin:0; color:#52647a; font-size:14px; font-weight:500; }
        .flight-detail-title i { margin-left:5px; color:#22c55e; font-size:10px; }
        .flight-detail-close { width:24px; height:24px; display:grid; place-items:center; border:0; border-radius:5px; color:#52647a; background:transparent; font-size:24px; font-weight:300; line-height:1; cursor:pointer; }
        .flight-detail-close:hover { color:#061a35; background:#e7eef7; }
        .flight-detail-body { padding:0 14px 14px; }
        .flight-detail-brand { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:14px; padding:0 10px 14px; }
        .flight-detail-aircraft { min-width:0; color:#2563eb; font-size:18px; font-weight:500; text-transform:uppercase; }
        .flight-detail-logo { max-width:166px; max-height:38px; object-fit:contain; display:block; transform:translateY(-3px); }
        .flight-detail-network-logo { max-width:206px; max-height:52px; object-fit:contain; display:block; transform:translateY(-4px); }
        .flight-detail-network-logo.vatsim-logo { max-width:156px; max-height:40px; }
        .flight-detail-certification-badge { display:inline-grid; gap:3px; width:158px; max-width:100%; padding:8px 9px; border:1px solid #f97316; border-radius:8px; background:#fff7ed; color:#9a3412; line-height:1.05; text-align:left; box-shadow:0 10px 22px rgba(249,115,22,.16); }
        .flight-detail-certification-badge span { font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.03em; white-space:nowrap; }
        .flight-detail-certification-badge strong { color:#061a35; font-size:13px; font-weight:900; text-transform:uppercase; white-space:normal; overflow-wrap:anywhere; }
        .flight-detail-flight { color:#061a35; font-size:22px; font-weight:800; line-height:1; text-align:left; }
        .flight-detail-pilot { margin-top:7px; color:#52647a; font-size:14px; font-weight:400; text-align:left; }
        .flight-detail-route { display:grid; grid-template-columns:minmax(0,1fr) 126px minmax(0,1fr); align-items:start; gap:8px; padding:14px 12px 13px; border:1px solid #d7e1ec; border-radius:8px; background:#fff; }
        .flight-detail-route .text-end { text-align:right; }
        .flight-detail-icao { color:#061a35; font-size:15px; font-weight:800; line-height:1; }
        .flight-detail-airport { margin-top:9px; max-width:92px; overflow:hidden; color:#52647a; font-size:11px; font-weight:400; text-overflow:ellipsis; white-space:nowrap; }
        .flight-detail-route-mid { display:flex; align-items:center; gap:9px; color:#0000FF; margin-top:-2px; }
        .flight-detail-route-mid::before,
        .flight-detail-route-mid::after { content:""; flex:1 1 0; min-width:42px; height:1px; background:rgba(148,163,184,.34); }
        .flight-detail-route-mid img { width:22px; height:22px; object-fit:contain; filter:drop-shadow(0 1px 2px rgba(0,0,0,.3)); }
        .flight-detail-section { margin:16px -14px 0; padding:16px 22px 0; border-top:1px solid #d7e1ec; }
        .flight-detail-status { display:flex; align-items:center; justify-content:space-between; gap:12px; }
        .flight-detail-label { color:#52647a; font-size:12px; font-weight:800; text-transform:uppercase; }
        .flight-detail-status-pill { display:inline-flex; align-items:center; gap:6px; min-height:22px; padding:0 11px; border-radius:3px; color:#06130a; background:#15c653; font-size:12px; font-weight:700; }
        .flight-detail-time { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:11px 12px; border-radius:6px; background:#edf4fb; color:#52647a; font-size:13px; }
        .flight-detail-time strong { color:#061a35; font-size:13px; font-weight:800; }
        .flight-detail-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
        .flight-detail-metric { min-width:0; padding:11px 6px 10px; border-radius:5px; background:#edf4fb; text-align:center; }
        .flight-detail-metric span { display:block; color:#52647a; font-size:9px; font-weight:500; text-transform:uppercase; }
        .flight-detail-metric strong { display:block; margin-top:5px; color:#061a35; font-size:14px; font-weight:800; line-height:1; }
        .flight-detail-pilot-name { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:11px 12px; border-radius:6px; background:#edf4fb; color:#52647a; font-size:14px; }
        .flight-detail-pilot-code { color:#061a35; font-size:13px; font-weight:800; white-space:nowrap; }
        .flight-detail-career { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:8px; }
        .flight-detail-career-card { min-width:0; height:61px; display:grid; align-content:center; justify-items:center; border-radius:5px; background:#edf4fb; color:#061a35; text-align:center; }
        .flight-detail-career-card span { color:#52647a; font-size:9px; font-weight:500; text-transform:uppercase; }
        .flight-detail-rank-img { max-width:58px; max-height:28px; object-fit:contain; filter:drop-shadow(0 4px 8px rgba(0,0,0,.45)); }
        .flight-detail-career-card strong { margin-top:5px; color:#061a35; font-size:13px; font-weight:800; line-height:1; }
        .flight-detail-action { width:100%; min-height:31px; margin-top:18px; border:1px solid #c8d5e3; border-radius:4px; color:#061a35; background:#fff; font-size:13px; font-weight:700; }
        .map-resizer { height:0; position:relative; z-index:500; background:#08090c; }
        .map-resizer-handle { position:absolute; left:50%; top:-7px; transform:translateX(-50%); width:17px; height:15px; border-radius:4px; background:#2b3038; border:1px solid #3a414d; cursor:ns-resize; display:grid; place-items:center; color:#cbd5e1; font-size:10px; line-height:1; box-shadow:0 2px 10px rgba(0,0,0,.35); user-select:none; }
        .map-resizer-handle:hover { background:#3a414d; color:#fff; }
        body.is-resizing-map { cursor:ns-resize; user-select:none; }
        .spw-map-toolbar { position:absolute; right:12px; top:14px; z-index:8; display:grid; gap:6px; }
        .spw-map-tool { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#fff; background:rgba(3,5,9,.92); box-shadow:0 12px 24px rgba(0,0,0,.35); cursor:pointer; }
        .spw-map-tool:hover,.spw-map-tool.active { border-color:rgba(56,189,248,.65); background:#0b1220; color:#38bdf8; }
        .spw-map-tool svg { width:21px; height:21px; stroke:currentColor; stroke-width:2.2; fill:none; stroke-linecap:round; stroke-linejoin:round; }
        .spw-map-panel { position:absolute; right:62px; top:14px; z-index:7; width:292px; display:none; padding:14px; border:1px solid rgba(255,255,255,.13); border-radius:8px; background:rgba(3,5,9,.95); box-shadow:0 20px 45px rgba(0,0,0,.48); }
        .spw-map-panel.is-open { display:block; }
        .spw-map-panel-title { margin:0 0 12px; color:#fff; font-size:14px; font-weight:900; }
        .spw-base-list { display:grid; gap:2px; }
        .spw-base-option { width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:8px 0; border:0; color:#fff; background:transparent; text-align:left; cursor:pointer; }
        .spw-base-option:hover .spw-base-name { color:#38bdf8; }
        .spw-base-name { display:block; font-size:14px; font-weight:900; line-height:1.1; }
        .spw-base-desc { display:block; margin-top:4px; color:#9ca3af; font-size:12px; font-weight:600; line-height:1.25; }
        .spw-active-pill { align-self:center; display:none; padding:3px 8px; border-radius:5px; color:#b7f7c5; background:#146c36; font-size:12px; font-weight:900; }
        .spw-base-option.active .spw-active-pill { display:inline-flex; }
        .spw-layer-list { display:grid; gap:7px; }
        .spw-layer-button { width:100%; min-height:31px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 12px; border:1px solid rgba(255,255,255,.14); border-radius:6px; color:#9ca3af; background:#07090d; font-size:12px; font-weight:900; cursor:pointer; }
        .spw-layer-button:hover,
        .spw-layer-button.active { color:#ef4444; border-color:#d80000; background:#120407; }
        .spw-layer-status { width:7px; height:7px; border-radius:50%; background:#334155; }
        .spw-layer-button.active .spw-layer-status { background:#ef4444; box-shadow:0 0 0 4px rgba(216,0,0,.17); }
        .traffic-marker { display:grid; justify-items:center; gap:2px; cursor:pointer; pointer-events:auto; }
        .traffic-marker img { display:block; filter:drop-shadow(0 2px 4px rgba(0,0,0,.45)); }
        .traffic-marker.current img { filter:drop-shadow(0 0 7px rgba(65,105,225,.95)) drop-shadow(0 2px 4px rgba(0,0,0,.45)); }
        .map-route-line { filter:none; }
        .traffic-panel { background:#050608; border-top:1px solid #242830; }
        .traffic-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid #242830; }
        .traffic-panel-title { margin:0; color:#fff; font-size:17px; font-weight:900; }
        .traffic-panel-count { color:#8b95a7; font-size:12px; font-weight:900; text-transform:uppercase; }
        .traffic-table-wrap { overflow:auto; }
        .traffic-table { width:100%; min-width:980px; border-collapse:separate; border-spacing:0; }
        .traffic-table th { position:sticky; top:0; background:#15171d; color:#fff; font-size:.75rem; text-transform:uppercase; padding:10px 9px; border-right:1px solid #2a2d34; border-bottom:1px solid #2a2d34; white-space:nowrap; }
        .traffic-table td { padding:10px 9px; border-right:1px solid #252830; border-bottom:1px solid #191c22; background:#0a0b0f; font-size:.83rem; vertical-align:middle; }
        .traffic-table tr:nth-child(odd) td { background:#121419; }
        .traffic-table tr:hover td { background:#1a1f2a; cursor:pointer; }
        .traffic-call { color:#fff; font-size:15px; font-weight:900; }
        .traffic-muted { color:#8b95a7; font-size:12px; font-weight:700; }
        .traffic-route { display:flex; align-items:center; gap:8px; color:#fff; font-weight:900; }
        .traffic-status { display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:999px; color:#bfdbfe; background:rgba(59,130,246,.14); font-size:11px; font-weight:900; text-transform:uppercase; }
        .traffic-status.current { color:#fed7aa; background:rgba(249,115,22,.18); }
        .traffic-empty { padding:28px 16px; color:#8b95a7; font-weight:800; }
        .alert { margin:14px 16px 0; }
        html.pilot-light-layout body,
        body.pilot-light-layout { background:#e8eef5; color:#102033; }
        html.pilot-light-layout .map-topbar,
        body.pilot-light-layout .map-topbar { background:#f7fbff; border-bottom-color:#d2deea; }
        html.pilot-light-layout .map-title,
        body.pilot-light-layout .map-title,
        html.pilot-light-layout .map-title-icon,
        body.pilot-light-layout .map-title-icon { color:#102033; }
        html.pilot-light-layout .traffic-panel,
        body.pilot-light-layout .traffic-panel { background:#f4f7fb; border-top-color:#d2deea; }
        html.pilot-light-layout .traffic-panel-title,
        body.pilot-light-layout .traffic-panel-title { color:#102033; }
        html.pilot-light-layout .traffic-table th,
        body.pilot-light-layout .traffic-table th { background:#dbe5ef; color:#102033; border-color:#c8d5e3; }
        html.pilot-light-layout .traffic-table td,
        body.pilot-light-layout .traffic-table td,
        html.pilot-light-layout .traffic-table tr:nth-child(odd) td,
        body.pilot-light-layout .traffic-table tr:nth-child(odd) td { background:#f8fbff; color:#102033; border-color:#d7e1ec; }
        html.pilot-light-layout .traffic-table tr:hover td,
        body.pilot-light-layout .traffic-table tr:hover td { background:#edf4fb; }
        html.pilot-light-layout .traffic-call,
        body.pilot-light-layout .traffic-call,
        html.pilot-light-layout .traffic-route,
        body.pilot-light-layout .traffic-route { color:#102033; }
        @media(max-width:760px){.map-main{margin-left:0}.map-topbar{align-items:flex-start; flex-direction:column}.map-account-slot{width:100%; justify-content:flex-start!important}#acars-map{height:560px}.spw-map-panel{right:12px; left:12px; width:auto}.flight-detail-panel{left:12px; right:12px; top:12px; width:auto}}
    
.acars-public-map-shell { overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#050608; box-shadow:var(--shadow); }
.acars-public-map-shell .traffic-panel { border-bottom-left-radius:10px; border-bottom-right-radius:10px; }
body.light .acars-public-map-shell { background:#f4f7fb; }
.live-map-fullbleed-section {
  padding-top: 34px;
  padding-bottom: 18px;
}
.live-map-followup-section {
  padding-top: 28px;
}
.acars-public-map-shell-full {
  width: 100%;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}
.acars-public-map-shell-full .traffic-panel {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.acars-public-map-shell-full #acars-map {
  height: min(76vh, 760px);
  min-height: 620px;
}
@media (max-width:760px) {
  .acars-public-map-shell-full #acars-map {
    height: 560px;
    min-height: 500px;
  }
}
