/* Spotterguide Map Modal v1.9 */
.sg-map-open {
  position: fixed; right: 16px; top: 56%;
  z-index: 9998; width: 46px; height: 46px; padding: 11px;
  border: 0; border-radius: 13px; background: #f2c900; color: #111;
  box-shadow: 0 3px 12px rgba(0,0,0,.22); cursor: pointer;
  display:flex; align-items:center; justify-content:center;
}
.sg-map-open svg { width: 24px; height: 24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.sg-map-modal { position:fixed; inset:0; z-index:99999; display:none; background:rgba(0,0,0,.78); padding:0; }
.sg-map-modal.is-open { display:flex; align-items:center; justify-content:center; }
.sg-map-modal__panel { width: min(96vw, 1500px); height: min(94vh, 1000px); background:#fff; display:flex; flex-direction:column; box-shadow:0 8px 40px rgba(0,0,0,.4); }
.sg-map-modal__header { min-height:56px; box-sizing:border-box; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; background:#f2c900; color:#111; font-weight:600; font-size:18px; }
.sg-map-modal__title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sg-map-modal__close { flex:0 0 auto; border:0; background:transparent; color:#111; font-size:32px; line-height:1; cursor:pointer; padding:0 4px; }
.sg-map-modal__body { position:relative; flex:1; min-height:0; }
.sg-map-modal__body iframe { display:block; width:100%; height:100%; border:0; }
.sg-map-modal__notice { position:absolute; inset:0; margin:0; padding:24px; background:#fff; color:#333; }
@media (max-width:767px) {
 .sg-map-open { right:16px; top:auto; bottom:22%; }
 .sg-map-modal__panel { width:100vw; height:100dvh; }
 .sg-map-modal__header { min-height:52px; font-size:16px; }
}

@media (min-width:768px) {
 .sg-map-open { width:auto; min-width:84px; gap:8px; padding:10px 13px; }
 .sg-map-open__label { display:inline; font-size:15px; font-weight:700; line-height:1; }
}
@media (max-width:767px) {
 .sg-map-open__label { display:none; }
}
.sg-map-open, .sg-map-open:hover, .sg-map-open:focus, .sg-map-open:active {
 background:#f2c900 !important; color:#111 !important;
 border-color:transparent !important; transform:none !important;
 opacity:1 !important; filter:none !important;
 text-decoration:none !important; box-shadow:0 3px 12px rgba(0,0,0,.22) !important;
}
.sg-map-open { z-index:2147483000 !important; pointer-events:auto !important; }
.sg-map-modal { z-index:2147483001 !important; }
.sg-map-open svg { flex-shrink:0; }

.sg-map-modal.is-open { display:flex !important; visibility:visible !important; opacity:1 !important; }
.sg-map-modal:not(.is-open) { display:none !important; }

/* Fixed screen-edge position on all viewports */
.sg-map-open { right: 16px !important; }
/* Version 2.1: matching stacked buttons */
.sg-floating-actions {position:fixed;right:16px;top:56%;z-index:2147483000;display:flex;flex-direction:column;gap:9px;align-items:stretch}
.sg-floating-actions .sg-action {position:static!important;top:auto!important;right:auto!important;bottom:auto!important;box-sizing:border-box;width:108px!important;min-width:108px!important;height:46px!important;padding:10px!important;gap:7px;display:flex;align-items:center;justify-content:center;border:0;border-radius:13px;background:#f2c900!important;color:#111!important;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.22)!important;transform:none!important;opacity:1!important;filter:none!important;transition:none!important}
.sg-floating-actions .sg-action:hover,.sg-floating-actions .sg-action:focus,.sg-floating-actions .sg-action:active {background:#f2c900!important;color:#111!important;transform:none!important;filter:none!important;opacity:1!important;box-shadow:0 3px 12px rgba(0,0,0,.22)!important}
.sg-floating-actions .sg-action svg {width:23px;height:23px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sg-floating-actions .sg-action .sg-map-open__label {display:inline;font-size:15px;font-weight:700;line-height:1}
.sg-notam-body {flex:1;min-height:0;overflow:auto;padding:22px;background:#fff;color:#222}
.sg-notam-status {margin-bottom:16px;font-size:14px;color:#555}
.sg-notam-item {border:1px solid #ddd;border-radius:8px;padding:16px;margin-bottom:12px}
.sg-notam-dates {font-size:13px;color:#666;margin:6px 0}
.sg-notam-item pre {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.55;margin:10px 0 0}
.sg-notam-disclaimer {font-size:12px;color:#666;margin:22px 0 0}
@media(max-width:767px){.sg-floating-actions{top:auto;bottom:22%;right:16px}.sg-floating-actions .sg-action{width:46px!important;min-width:46px!important;height:46px!important}.sg-floating-actions .sg-action .sg-map-open__label{display:none}.sg-notam-body{padding:15px}}

/* Version 2.3: client-side NOTAM text filtering */
.sg-notam-search-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.sg-notam-search{box-sizing:border-box;flex:1 1 260px;min-width:0;max-width:540px;height:42px;border:1px solid #bbb;border-radius:7px;padding:9px 12px;background:#fff;color:#222;font-size:15px;box-shadow:none}
.sg-notam-search:focus{outline:2px solid #d4aa00;outline-offset:1px}
.sg-notam-count{font-size:13px;color:#666}
.sg-notam-empty{font-size:14px;color:#666;padding:16px 0}

/* Sun Position 2.5 */
.sg-sun-body{flex:1;min-height:0;overflow:auto;padding:12px;background:#fff;color:#222;display:flex;flex-direction:column;gap:10px}
.sg-sun-controls,.sg-sun-location{display:flex;align-items:center;gap:15px;flex-wrap:wrap;font-size:14px}
.sg-sun-controls label,.sg-sun-location label{display:flex;align-items:center;gap:8px}
.sg-sun-slider{width:min(40vw,420px);accent-color:#e0b900}
.sg-sun-map{flex:1;min-height:270px;height:50vh;background:#d8e0e4;z-index:1}
.sg-sun-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sg-sun-stats>div{background:#f3f3f3;border-radius:7px;padding:10px;display:flex;flex-direction:column;gap:5px}
.sg-sun-stats small{color:#666;font-size:12px}.sg-sun-stats strong{font-size:15px}
.sg-sun-location input{width:115px;padding:6px;border:1px solid #aaa;border-radius:5px}
.sg-sun-setlocation{background:#f2c900;border:0;border-radius:6px;padding:9px 12px;cursor:pointer}
.sg-sun-status{font-size:12px;color:#555}.sg-sun-note{font-size:12px;color:#666;margin:0}
@media(max-width:767px){.sg-sun-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-sun-map{min-height:60vh}.sg-sun-controls{gap:8px}.sg-sun-slider{width:48vw}}

.sg-sun-legend{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;font-size:13px;color:#333}
.sg-sun-legend span{display:inline-flex;align-items:center;gap:6px}
.sg-sun-legend i{display:inline-block;width:23px;height:4px;border-radius:2px;background:#f4c542}
.sg-sun-legend .sg-sun-legend-current{background:#ffd000}
.sg-sun-legend .sg-sun-legend-set{background:#ed7158}

/* Sun position v2.9: prominent live direction, subdued dawn/dusk */
.sg-sun-now{background:#f2c900;color:#171717;border:0;border-radius:6px;padding:8px 13px;font-weight:700;cursor:pointer}
.sg-sun-now:focus-visible{outline:2px solid #111;outline-offset:2px}
.sg-sun-legend .sg-sun-legend-rise{height:0;border-top:2px dashed #f4c542;background:transparent;border-radius:0}
.sg-sun-legend .sg-sun-legend-set{height:0;border-top:2px dashed #ed7158;background:transparent;border-radius:0}
.sg-sun-legend .sg-sun-legend-current{height:5px;background:#ffe600;box-shadow:0 0 0 3px rgba(255,230,0,.2)}
.sg-sun-current-status{color:#777;font-size:12px;font-weight:500}

/* v3.0 numbered Google My Maps spotting locations */
.sg-sun-spots{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}
.sg-sun-spot-select{max-width:min(100%,520px);min-width:210px;flex:1;padding:8px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#222}
.sg-sun-spots-status{color:#666;font-size:12px}
.sg-sun-spot-icon{background:transparent;border:0}
.sg-sun-spot-icon span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f6cf19;border:2px solid #222;color:#151515;font:bold 11px Arial,sans-serif;box-shadow:0 1px 4px #0008}

.sg-sun-spots-heading{font-weight:600;color:#333}

/* v3.7: paired date/time controls and a larger draggable location marker */
.sg-sun-controls{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap}
.sg-sun-control-row{display:flex;align-items:center;gap:9px;min-width:0}
.sg-sun-control-row label{white-space:nowrap;flex-shrink:0}
.sg-sun-date{box-sizing:border-box;min-width:0;max-width:180px;padding:7px 5px}
.sg-sun-time-row{flex:1 1 350px}
.sg-sun-time-row .sg-sun-slider{flex:1 1 150px;min-width:60px;width:auto}
.sg-sun-clock{min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.sg-sun-today{background:#f2c900;color:#171717;border:0;border-radius:6px;padding:8px 13px;font-weight:700;cursor:pointer;white-space:nowrap}
.sg-sun-today:focus-visible{outline:2px solid #111;outline-offset:2px}
/* v3.8: larger local-time range thumb; preserve default blue Leaflet map marker */
.sg-sun-slider{height:32px;cursor:pointer}
.sg-sun-slider::-webkit-slider-thumb{width:26px;height:26px;cursor:grab}
.sg-sun-slider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;cursor:grab}
@media(max-width:767px){
 .sg-sun-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .sg-sun-control-row{width:100%;box-sizing:border-box;gap:8px}
 .sg-sun-date-row .sg-sun-date{flex:1 1 auto;width:0;max-width:none}
 .sg-sun-time-row{flex:0 0 auto}
 .sg-sun-time-row .sg-sun-slider{flex:1 1 auto;min-width:35px;width:0}
 .sg-sun-now,.sg-sun-today{flex-shrink:0;padding:8px 10px}
 .sg-sun-slider::-webkit-slider-thumb{width:30px;height:30px}
 .sg-sun-slider::-moz-range-thumb{width:30px;height:30px}
}

/* Hide the temporary map view until airport coordinates and local time are ready. */
.sg-sun-map-wrap{position:relative;flex:1;min-height:270px;height:50vh;z-index:1}
.sg-sun-map-wrap .sg-sun-map{width:100%;height:100%;min-height:0;position:relative}
.sg-sun-loading{position:absolute;inset:0;z-index:1100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#f1f4f5;color:#34414b;font-size:15px;font-weight:600;text-align:center;padding:20px}
.sg-sun-loading[hidden]{display:none}
.sg-sun-loading-spinner{width:40px;height:40px;border:4px solid #d3dce1;border-top-color:#f5c400;border-radius:50%;animation:sg-sun-spin .85s linear infinite}
@keyframes sg-sun-spin{to{transform:rotate(360deg)}}
@media(max-width:767px){.sg-sun-map-wrap{min-height:60vh}}
@media(prefers-reduced-motion:reduce){.sg-sun-loading-spinner{animation-duration:2s}}

/* Highlight runway/taxiway closure terms in loaded NOTAMs. */
.sg-notam-item pre .sg-notam-closed-highlight {background:#ffe1e1;color:#ad1111;font-weight:800;border-radius:3px;padding:0 2px;}

/* 3.9.7: Closure notices above the full NOTAM list, independent of search. */
.sg-notam-closures[hidden]{display:none!important}
.sg-notam-closures{border:1px solid #e4a1a1;border-left:5px solid #c62828;border-radius:8px;background:#fff7f7;padding:14px 16px;margin-bottom:18px;color:#292929}
.sg-notam-closures__heading{font-size:17px;font-weight:700;margin:0 0 4px;color:#a51414}
.sg-notam-closures__note{font-size:12px;color:#6b4b4b;margin:0 0 12px}
.sg-notam-closures__list{max-height:none;overflow:visible}
.sg-notam-closures__entry{border-top:1px solid #efcece;padding:10px 0}
.sg-notam-closures__entry:first-child{border-top:0;padding-top:0}
.sg-notam-closures__entry pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.55;margin:6px 0 0}
.sg-notam-closures .sg-notam-closed-highlight{background:#ffe1e1;color:#ad1111;font-weight:800;border-radius:3px;padding:0 2px}
@media(max-width:767px){.sg-notam-closures{padding:12px}.sg-notam-closures__list{max-height:none;overflow:visible}}

/* v3.9.11: identical Safari-style local-time slider in Firefox, Chrome and Safari. */
.sg-sun-slider{
  -webkit-appearance:none;
  appearance:none;
  display:block;
  height:32px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  accent-color:auto;
  cursor:pointer;
  --sg-range-progress:50%;
  --sg-range-fill:#f2c900;
  --sg-range-rest:#e3e3e3;
}
.sg-sun-slider::-webkit-slider-runnable-track{
  height:7px;
  border:0;
  border-radius:99px;
  background:linear-gradient(to right,var(--sg-range-fill) 0%,var(--sg-range-fill) var(--sg-range-progress),var(--sg-range-rest) var(--sg-range-progress),var(--sg-range-rest) 100%);
}
.sg-sun-slider::-moz-range-track{
  height:7px;
  border:0;
  border-radius:99px;
  background:linear-gradient(to right,var(--sg-range-fill) 0%,var(--sg-range-fill) var(--sg-range-progress),var(--sg-range-rest) var(--sg-range-progress),var(--sg-range-rest) 100%);
}
.sg-sun-slider::-moz-range-progress{height:7px;border:0;border-radius:99px;background:transparent}
.sg-sun-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  box-sizing:border-box;
  width:26px;
  height:26px;
  margin-top:-9.5px;
  border:1px solid #dedede;
  border-radius:50%;
  background:#f8f8f8;
  box-shadow:0 1px 3px rgba(0,0,0,.12);
  cursor:grab;
}
.sg-sun-slider::-moz-range-thumb{
  box-sizing:border-box;
  width:26px;
  height:26px;
  border:1px solid #dedede;
  border-radius:50%;
  background:#f8f8f8;
  box-shadow:0 1px 3px rgba(0,0,0,.12);
  cursor:grab;
}
.sg-sun-slider:active::-webkit-slider-thumb{cursor:grabbing}
.sg-sun-slider:active::-moz-range-thumb{cursor:grabbing}
.sg-sun-slider:focus-visible{outline:2px solid #555;outline-offset:3px;border-radius:4px}
@media(max-width:767px){
 .sg-sun-slider::-webkit-slider-thumb{width:30px;height:30px;margin-top:-11.5px}
 .sg-sun-slider::-moz-range-thumb{width:30px;height:30px}
}

/* v3.9.12: compact date picker, solar information above map and shorter mobile map. */
.sg-sun-date-picker{display:inline-flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.sg-sun-date-display{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:#333}
.sg-sun-calendar-control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;flex:0 0 35px;border:1px solid #ccc;border-radius:5px;background:#fff;color:#444;cursor:pointer;overflow:hidden}
.sg-sun-calendar-control:focus-within{outline:2px solid #d4aa00;outline-offset:2px}
.sg-sun-calendar-control .sg-sun-date{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;cursor:pointer!important;z-index:2}
.sg-sun-calendar-control .sg-sun-date::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.sg-sun-legend{gap:8px 18px;font-size:13px;line-height:1.5}
.sg-sun-legend span{flex-wrap:wrap;gap:4px 6px}
.sg-sun-legend strong{font-size:inherit;font-weight:600}
.sg-sun-current-status{font-size:inherit}
@media(max-width:767px){
 .sg-sun-map-wrap{min-height:50vh;height:50vh;flex:none}
 .sg-sun-map{min-height:0}
 .sg-sun-date-row .sg-sun-date-picker{flex:1 1 auto}
 .sg-sun-legend{gap:7px 12px}
}

/* v3.9.17: Let Leaflet control the tile dimensions at every zoom level.
   A fixed 256.5px tile size caused visible horizontal/vertical seams. */
.sg-sun-map .leaflet-tile-container img.leaflet-tile {
  border: 0 !important;
  outline: 0 !important;
  max-width: none !important;
}

/* v3.9.14: compact solar information with monochrome icons and regular values */
.sg-sun-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px 22px;font-size:13px;line-height:1.5}
.sg-sun-legend .sg-sun-info-item{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;font-weight:400}
.sg-sun-legend .sg-sun-info-item b{font-size:inherit;font-weight:700}
.sg-sun-legend .sg-sun-info-icon{flex:none;color:#777;width:19px;height:19px}
.sg-sun-legend .sg-sun-info-value{font-size:inherit;font-weight:400}
.sg-sun-legend .sg-sun-info-pipe{color:#999;margin:0 1px;font-weight:400}
.sg-sun-legend .sg-sun-current-status{font-weight:400}

/* v3.9.15: match solar info labels to Date and Local time controls. */
.sg-sun-legend .sg-sun-info-item b{font-size:14px;font-weight:700}

/* v3.9.16: restore the three colored direction keys after their gray icons. */
.sg-sun-legend .sg-sun-info-item > i.sg-sun-legend-rise,
.sg-sun-legend .sg-sun-info-item > i.sg-sun-legend-current,
.sg-sun-legend .sg-sun-info-item > i.sg-sun-legend-set {
  display:inline-block;
  flex:none;
  width:23px;
  margin:0 2px 0 0;
}
.sg-sun-legend .sg-sun-info-item > i.sg-sun-legend-rise {
  height:0;
  border-top:2px dashed #f4c542;
  background:transparent;
  box-shadow:none;
}
.sg-sun-legend .sg-sun-info-item > i.sg-sun-legend-current {
  height:5px;
  border:0;
  border-radius:2px;
  background:#ffe600;
  box-shadow:0 0 0 3px rgba(255,230,0,.2);
}
.sg-sun-legend .sg-sun-info-item > i.sg-sun-legend-set {
  height:0;
  border-top:2px dashed #ed7158;
  background:transparent;
  box-shadow:none;
}

/* v3.9.18: Safari raster tile hairline workaround.
   Independent CSS scale preserves Leaflet's own inline transform and intrinsic
   tile dimensions; a tiny overlap conceals fractional-pixel seams on iOS.
   Unlike a fixed 256.5px width/height, this adapts to actual tile sizes. */
@supports (-webkit-touch-callout: none) {
  .sg-sun-map .leaflet-tile-container img.leaflet-tile {
    scale: 1.004;
  }
}

/* v3.9.20: outline airplane as the draggable map reference marker. */
.sg-sun-plane-icon { background:transparent !important; border:0 !important; }
.sg-sun-plane-icon svg { display:block; width:36px; height:36px; overflow:visible; filter: drop-shadow(0 0 2px rgba(255,255,255,.98)) drop-shadow(0 0 1px rgba(255,255,255,.95)) drop-shadow(0 2px 2px rgba(0,0,0,.75)); }

/* v3.9.22: Solid blue aircraft, with existing contrast shadow and no circle. */
.sg-sun-plane-icon svg path { fill:#1976d2; stroke:#1976d2; }


/* v3.9.23: Dark appearance for NOTAM and Sun dialogs only.
   Automatic OS dark mode, plus common site theme dark-mode classes.
   Map imagery, map dialog and yellow header are intentionally untouched. */
@media (prefers-color-scheme: dark) {
  .sg-notam-modal, .sg-sun-modal { --sg-dialog-bg:#1b1d21; --sg-dialog-card:#272a30; --sg-dialog-text:#e9e9ec; --sg-dialog-muted:#b5b8c0; --sg-dialog-border:#454952; --sg-dialog-input:#292d33; --sg-dialog-track:#51545c; }
}
body:is(.dark,.dark-mode,.darkmode,.theme-dark,.is-dark,[data-theme="dark"],[data-color-scheme="dark"]),
html:is(.dark,.dark-mode,.darkmode,.theme-dark,.is-dark,[data-theme="dark"],[data-color-scheme="dark"]) {
  --sg-dialog-bg:#1b1d21; --sg-dialog-card:#272a30; --sg-dialog-text:#e9e9ec; --sg-dialog-muted:#b5b8c0; --sg-dialog-border:#454952; --sg-dialog-input:#292d33; --sg-dialog-track:#51545c;
}

.sg-notam-modal .sg-map-modal__panel, .sg-sun-modal .sg-map-modal__panel,
.sg-notam-modal .sg-notam-body, .sg-sun-modal .sg-sun-body {
  background:var(--sg-dialog-bg,#fff); color:var(--sg-dialog-text,#222);
}
.sg-notam-modal .sg-notam-item { background:var(--sg-dialog-card,transparent); border-color:var(--sg-dialog-border,#ddd); color:var(--sg-dialog-text,#222); }
.sg-notam-modal :is(.sg-notam-status,.sg-notam-dates,.sg-notam-disclaimer,.sg-notam-count,.sg-notam-empty),
.sg-sun-modal :is(.sg-sun-status,.sg-sun-note,.sg-sun-spots-status,.sg-sun-current-status,.sg-sun-stats small) { color:var(--sg-dialog-muted,#666); }
.sg-notam-modal .sg-notam-search,
.sg-sun-modal :is(.sg-sun-spot-select,.sg-sun-location input,.sg-sun-calendar-control) {
  background:var(--sg-dialog-input,#fff); color:var(--sg-dialog-text,#222); border-color:var(--sg-dialog-border,#bbb);
  color-scheme:normal;
}
.sg-notam-modal .sg-notam-search::placeholder { color:var(--sg-dialog-muted,#777); opacity:1; }
.sg-sun-modal :is(.sg-sun-legend,.sg-sun-date-display,.sg-sun-spots-heading) { color:var(--sg-dialog-text,#333); }
.sg-sun-modal .sg-sun-legend .sg-sun-info-icon { color:var(--sg-dialog-muted,#777); }
.sg-sun-modal .sg-sun-legend .sg-sun-info-pipe { color:var(--sg-dialog-muted,#999); }
.sg-sun-modal .sg-sun-stats > div { background:var(--sg-dialog-card,#f3f3f3); color:var(--sg-dialog-text,#222); }
.sg-sun-modal .sg-sun-slider { --sg-range-rest:var(--sg-dialog-track,#e3e3e3); }
.sg-sun-modal .sg-sun-loading { background:var(--sg-dialog-card,#f1f4f5); color:var(--sg-dialog-text,#34414b); }
.sg-notam-modal .sg-notam-closures { background:var(--sg-closure-bg,#fff7f7); color:var(--sg-dialog-text,#292929); border-color:var(--sg-closure-border,#e4a1a1); border-left-color:#e14c4c; }
.sg-notam-modal .sg-notam-closures__heading { color:var(--sg-closure-heading,#a51414); }
.sg-notam-modal .sg-notam-closures__note { color:var(--sg-dialog-muted,#6b4b4b); }
.sg-notam-modal .sg-notam-closures__entry { border-color:var(--sg-closure-border,#efcece); }
.sg-notam-modal .sg-notam-closed-highlight { background:var(--sg-highlight-bg,#ffe1e1); color:var(--sg-highlight-text,#ad1111); }
@media (prefers-color-scheme: dark) {
 .sg-notam-modal { --sg-closure-bg:#342326; --sg-closure-border:#684044; --sg-closure-heading:#ff9292; --sg-highlight-bg:#6c3035; --sg-highlight-text:#ffe1e1; }
}
body:is(.dark,.dark-mode,.darkmode,.theme-dark,.is-dark,[data-theme="dark"],[data-color-scheme="dark"]) .sg-notam-modal,
html:is(.dark,.dark-mode,.darkmode,.theme-dark,.is-dark,[data-theme="dark"],[data-color-scheme="dark"]) .sg-notam-modal {
 --sg-closure-bg:#342326; --sg-closure-border:#684044; --sg-closure-heading:#ff9292; --sg-highlight-bg:#6c3035; --sg-highlight-text:#ffe1e1;
}


/* v3.9.24: Keep NOTAM raw text readable in dark mode, including theme pre styles. */
.sg-notam-modal .sg-notam-item pre,
.sg-notam-modal .sg-notam-closures__entry pre {
  background:transparent !important;
  color:inherit !important;
  border:0 !important;
  box-shadow:none !important;
  opacity:1 !important;
  padding:0 !important;
  text-shadow:none !important;
}
.sg-notam-modal .sg-notam-closures__entry pre { white-space:pre-wrap; }
.sg-notam-modal .sg-notam-closed-highlight {
  background:var(--sg-highlight-bg,#ffe1e1) !important;
  color:var(--sg-highlight-text,#ad1111) !important;
}

/* v3.9.24: Make the Sun dialog the scroll container, never the article behind it. */
.sg-sun-modal, .sg-notam-modal { overscroll-behavior:contain; }
.sg-sun-modal .sg-map-modal__panel, .sg-notam-modal .sg-map-modal__panel {
  min-height:0;
  max-height:100dvh;
  overflow:hidden;
}
.sg-sun-modal .sg-sun-body, .sg-notam-modal .sg-notam-body {
  min-height:0;
  overflow-y:auto !important;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
/* Leaflet must retain its own gestures within the map. */
.sg-sun-modal .sg-sun-map, .sg-sun-modal .sg-sun-map * { touch-action:unset; }
