/* Stage 4 // prototype-aligned replacement, scoped and last in enqueue order */
.sn-geo-stage{position:relative!important;overflow:hidden!important;min-height:410px!important;height:410px!important}
.sn-geo-stage #sn-v3-map-label,.sn-geo-stage .sn-geo-home,.sn-geo-stage .sn-v3-node-leaders{display:none!important}
.sn-geo-stage #sn-geo-globe{transform:translateX(-200px)!important}
.sn-geo-stage .sn-geo-node-stack{position:absolute!important;top:30px!important;right:30px!important;left:auto!important;z-index:5!important;pointer-events:none}
.sn-geo-stage .sn-geo-current{width:185px!important;max-width:185px!important;min-width:0!important;padding:12px!important;font-size:10px!important;transform:none!important}
.sn-geo-stage .sn-geo-current strong{font-size:15px!important;line-height:1.4!important}
.sn-geo-stage .sn-geo-current small{font-size:9px!important}
.sn-v3-controls{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;pointer-events:none!important;opacity:0!important}
.sn-v3-controls *{pointer-events:none!important}
.sn-geo-stage .sn4-nav-spin,.sn-geo-stage .sn4-nav-scopes,.sn-geo-stage .sn4-regional,.sn-geo-stage .sn4-zoom,.sn-geo-stage #sn4-satellite{position:absolute!important;z-index:100!important;display:flex!important;pointer-events:auto!important;gap:0!important;visibility:visible!important;opacity:1!important}
.sn-geo-stage .sn4-nav-spin{top:16px!important;left:16px!important}
.sn-geo-stage .sn4-nav-scopes{bottom:16px!important;left:16px!important;flex-wrap:wrap!important;gap:4px!important}
.sn-geo-stage .sn4-regional{bottom:16px!important;right:16px!important;gap:5px!important;align-items:stretch!important}
.sn-geo-stage .sn4-zoom{top:16px!important;right:16px!important;flex-direction:column!important}
.sn-geo-stage #sn4-satellite{bottom:16px!important;right:16px!important}
.sn-geo-stage.sn-v3-map-active #sn4-satellite{display:none!important}
.sn-geo-stage:not(.sn-v3-map-active) .sn4-regional,.sn-geo-stage:not(.sn-v3-map-active) .sn4-zoom{display:none!important}
.sn-geo-stage.sn-v3-map-active .sn4-nav-spin{display:none!important}
.sn-geo-stage .sn4-nav-spin button,.sn-geo-stage .sn4-nav-scopes button,.sn-geo-stage .sn4-regional button,.sn-geo-stage .sn4-zoom button,.sn-geo-stage #sn4-satellite{font:600 10px/1.3 monospace!important;letter-spacing:.06em!important;color:#81dceb!important;background:#061b25!important;border:1px solid #286477!important;border-radius:3px!important;padding:9px 11px!important;cursor:pointer!important;white-space:nowrap!important;min-width:0!important}
.sn-geo-stage .sn4-nav-spin button{font-size:16px!important;min-width:38px!important}
.sn-geo-stage .sn4-nav-scopes button.is-active,.sn-geo-stage [aria-pressed="true"]{background:#104353!important;color:#c6faff!important;border-color:#63d5ef!important}
.sn4-weather-pair{display:flex!important;gap:0!important}
.sn4-weather-pair [data-sn4-layer="weather"]{border-radius:3px 0 0 3px!important}
.sn4-weather-pair #sn4-alert-open{border-radius:0 3px 3px 0!important;color:#ffbb66!important;background:#3a2415!important;border-color:#b87829!important;font-size:12px!important}
.sn4-weather-pair #sn4-alert-open.is-active{box-shadow:0 0 10px #b8782966!important}
.sn-geo-stage .leaflet-control-zoom{display:none!important}
#sn-pi-controls{display:none!important}
.sn-situational-awareness{display:none!important}
.sn-overview-intelligence article:first-child{border-left:3px solid #e4aa55!important}
.sn-overview-intelligence article strong{font-size:1.12em!important;color:#c8f3fc!important}
.sn-overview-intelligence article small{color:#90aebc!important}
.sn4-modal[hidden]{display:none!important}.sn4-modal{position:fixed;inset:0;background:#000c;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.sn4-modal-panel{background:#07141c;border:1px solid #b87829;color:#d4e9ee;width:min(650px,96vw);max-height:82vh;overflow:auto;padding:22px;font:13px/1.55 monospace}
.sn4-modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#ffc06d}.sn4-modal button{background:#102a35;border:1px solid #467588;color:#c6faff;padding:8px;cursor:pointer}.sn4-source{font-size:11px;color:#8da8b5}.sn4-alert-item{border-top:1px solid #30505a;padding:12px 0}.sn4-alert-item summary{cursor:pointer;display:flex;flex-direction:column;gap:3px}.sn4-alert-item summary strong{color:#ffc06d}.sn4-alert-item summary small{color:#a3b7c0}.sn4-alert-body p{white-space:pre-line}.sn4-alert-body a{color:#82d8f3}.sn4-alert-body{display:grid;gap:8px;padding:12px 0}.sn4-dialog-open{overflow:hidden}
@media(max-width:900px){.sn-geo-stage #sn-geo-globe{transform:translateX(-75px)!important}.sn-geo-stage .sn-geo-current{right:0!important;max-width:145px!important}.sn-geo-stage .sn4-nav-scopes{max-width:60%!important}.sn-geo-stage .sn4-regional{flex-wrap:wrap!important;justify-content:flex-end!important;max-width:48%!important}}
@media(max-width:560px){.sn-geo-stage{height:380px!important}.sn-geo-stage .sn4-nav-scopes{max-width:100%!important;bottom:12px!important}.sn-geo-stage .sn4-regional{bottom:62px!important;max-width:100%!important}.sn-geo-stage .sn-geo-node-stack{top:65px!important;right:8px!important}.sn-geo-stage #sn-geo-globe{transform:translateX(-55px)!important}}

/* Stage 4 refinement: CSS enqueued for all routed Overview pages. */
.sn-geo-stage .sn4-nav-spin{top:16px!important;left:16px!important;gap:4px!important}
.sn-geo-stage .sn4-nav-spin button{font-size:11px!important;min-width:35px!important;padding:8px 10px!important}
.sn-geo-stage .sn4-nav-spin [data-sn4-action="spin"]{font-size:16px!important;line-height:1!important;min-width:38px!important}
.sn-geo-stage .sn4-nav-scopes{left:16px!important;bottom:16px!important;right:auto!important;flex-wrap:nowrap!important;gap:4px!important}
.sn-geo-stage .sn4-nav-scopes button{padding:8px 10px!important}
.sn-geo-stage .sn4-regional{bottom:16px!important;right:16px!important}
.sn-geo-stage #sn-v3-map-label{display:none!important}
/* Hide the old toolbar and optional overlays, retaining its data controls for map engine. */
.sn-v3-controls{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
#sn-pi-controls,.sn-situational-awareness{display:none!important}
/* Intelligence Feed: readable visual hierarchy and distinct categories. */
.sn-overview-intelligence .sn-command-panel-head strong{font-size:1.25rem!important;letter-spacing:.09em!important;color:#d9f6ff!important}
.sn-overview-intelligence .sn-intel-v2-column{border-top:2px solid #2c738c!important;padding-top:14px!important}
.sn-overview-intelligence .sn-intel-v2-column:nth-child(2){border-top-color:#8c7ed3!important}
.sn-overview-intelligence .sn-intel-v2-column:nth-child(3){border-top-color:#ca9853!important}
.sn-overview-intelligence .sn-intel-v2-column>strong{font-size:13px!important;letter-spacing:.11em!important;color:#87dff5!important}
.sn-overview-intelligence .sn-intel-v2-column:nth-child(2)>strong{color:#b4a7ff!important}
.sn-overview-intelligence .sn-intel-v2-column:nth-child(3)>strong{color:#f1bd7b!important}
.sn-overview-intelligence .sn-intel-v2-story{padding:12px 0!important;border-bottom:1px solid #24424e!important;line-height:1.55!important}
.sn-overview-intelligence .sn-intel-v2-story span{font-size:14px!important;font-weight:600!important;color:#d7eaf0!important}
.sn-overview-intelligence .sn-intel-v2-story time{font-size:10px!important;color:#8baebd!important}
@media(max-width:760px){.sn-geo-stage .sn4-nav-scopes{flex-wrap:wrap!important;max-width:95%!important}.sn-geo-stage .sn4-nav-scopes button{padding:7px!important;font-size:9px!important}}

/* Stage 4 hotfix: restore Current Node inside visible stage.
   Original overview.css applies translateY(-50%) and a two-row grid for
   the former Current/Home pair. Both must be reset for a single card. */
.sn-geo-stage > .sn-geo-node-stack {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: 205px !important;
  max-width: calc(100% - 48px) !important;
  height: auto !important;
  display: block !important;
  grid-template-rows: none !important;
  z-index: 20 !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.sn-geo-stage > .sn-geo-node-stack > .sn-geo-current {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
  transform: none !important;
}
.sn-geo-stage > .sn-geo-node-stack > .sn-geo-current::before {
  margin-bottom: 9px !important;
  width: 28px !important;
}
.sn-geo-stage > .sn-geo-node-stack > .sn-geo-current > span,
.sn-geo-stage > .sn-geo-node-stack > .sn-geo-current > strong { margin-bottom: 5px !important; }
.sn-geo-stage > .sn-geo-node-stack > .sn-geo-current > small:last-child {
  margin-top: 7px !important;
  padding-top: 7px !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 560px) {
  .sn-geo-stage > .sn-geo-node-stack {
    top: 58px !important;
    right: 8px !important;
    width: 165px !important;
  }
}

/* SHADOWNET // REGIONAL MAP LAYER SELECTED STATES
   Match the existing active geographic scope buttons. */
.sn-geo-stage .sn4-regional button[data-sn4-layer].is-active,
.sn-geo-stage .sn4-regional button[data-sn4-layer][aria-pressed="true"],
.sn-geo-stage .sn4-regional button[data-sn4-layer][data-active="true"] {
  background: #104353 !important;
  color: #c6faff !important;
  border-color: #63d5ef !important;
  box-shadow: inset 0 0 0 1px rgba(99,213,239,.14), 0 0 10px rgba(99,213,239,.16) !important;
}

/* EARTH TELEMETRY // World view only. Current installed theme baseline. */
.sn-geo-stage:not(.sn-v3-map-active){height:410px!important;min-height:410px!important}
.sn-geo-stage > .sn-geo-node-stack{left:40%!important;top:65%!important;transform:translateY(-50%)!important}
.sn-earth-telemetry{position:absolute;z-index:21;right:2%;top:18px;width:35%;max-width:560px;box-sizing:border-box;background:linear-gradient(145deg,rgba(6,24,33,.96),rgba(2,13,19,.97));border:1px solid #23566b;padding:10px 15px;color:#b6e2ed;font:11px/1.45 Consolas,'Courier New',monospace;letter-spacing:.045em;box-shadow:0 16px 35px #0008}
.sn-earth-kicker{font-size:10px;color:#7babbc;letter-spacing:.1em}.sn-earth-telemetry h2{font-size:20px;font-weight:400;letter-spacing:.13em;color:#c6e9f3;margin:4px 0 7px}
.sn-earth-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;border-top:1px solid #1b5265}
.sn-earth-metric{font:inherit;letter-spacing:inherit;text-align:left;background:transparent;border:0;border-bottom:1px solid #1b5265;padding:6px 0;min-height:65px;cursor:pointer;color:#a6c2ca;display:flex;flex-direction:column;gap:2px;min-width:0}
.sn-earth-metric:hover,.sn-earth-metric:focus-visible{background:#12313c55;outline-offset:2px}.sn-earth-metric span{color:#8caebc;font-size:10px}.sn-earth-metric strong{color:#78dff3;font-size:14px;font-weight:500;overflow-wrap:anywhere}.sn-earth-metric small{font-size:10px;color:#b1c7cf}.sn-earth-metric em{font-size:9px;font-style:normal;color:#7798a8}
.sn-earth-footer{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#86acb9;margin-top:6px}#sn-earth-feed-status{color:#74d9b3}.sn-earth-info{border:1px solid #244d5c;background:#05131b;margin-top:6px;padding:6px 9px;color:#b5d2db;font-size:9px;min-height:27px;overflow-wrap:anywhere}
.sn-geo-stage.sn-v3-map-active .sn-earth-telemetry{display:none!important}
@media(max-width:1100px){.sn-earth-telemetry{width:42%;right:1%;padding:12px}.sn-geo-stage > .sn-geo-node-stack{left:35%!important}}
@media(max-width:760px){.sn-geo-stage:not(.sn-v3-map-active){height:810px!important;min-height:810px!important}.sn-earth-telemetry{left:2%;right:2%;top:390px;width:96%;max-width:none}.sn-geo-stage > .sn-geo-node-stack{left:48%!important;top:225px!important}.sn-geo-stage .sn4-nav-scopes{z-index:110!important}}
@media(max-width:560px){.sn-geo-stage:not(.sn-v3-map-active){height:820px!important;min-height:820px!important}.sn-earth-telemetry{top:365px}.sn-geo-stage > .sn-geo-node-stack{left:44%!important;right:auto!important;top:230px!important;transform:none!important}.sn-earth-metric strong{font-size:13px}.sn-earth-metric{min-height:65px}}

/* Compact WORLD telemetry: keep panel within original 410px stage. */
@media(min-width:761px){.sn-earth-telemetry{top:12px;max-height:calc(100% - 68px);overflow-y:auto}.sn-earth-metric{min-height:62px}.sn-earth-info{min-height:20px}}

/* EARTH TELEMETRY // source attribution alongside each metric heading. */
.sn-earth-telemetry .sn-earth-metric{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-content:center;align-items:baseline;column-gap:8px;row-gap:2px}
.sn-earth-telemetry .sn-earth-metric>span{grid-column:1;grid-row:1;min-width:0}
.sn-earth-telemetry .sn-earth-metric>em{grid-column:2;grid-row:1;margin:0;white-space:nowrap;text-align:right;font-size:9px}
.sn-earth-telemetry .sn-earth-metric>strong{grid-column:1/-1;grid-row:2}
.sn-earth-telemetry .sn-earth-metric>small{grid-column:1/-1;grid-row:3}
@media(max-width:560px){.sn-earth-telemetry .sn-earth-metric{column-gap:5px}.sn-earth-telemetry .sn-earth-metric>em{font-size:8px}}
/* Show Current Node in WORLD view only */
.sn-geo-stage.sn-v3-map-active > .sn-geo-node-stack {
    display: none !important;
}
.sn-geo-stage > .sn-v3-node-leaders {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    z-index: 10 !important;
    pointer-events: none !important;
}
/* SHADOWNET // SATELLITE INTELLIGENCE MOLECULE */
.sn-geo-stage .sn4-satellite-molecule{position:absolute!important;bottom:16px!important;right:16px!important;z-index:110!important;display:flex!important;align-items:stretch!important;gap:5px!important;pointer-events:auto!important}
.sn4-satellite-label{display:flex;align-items:center;padding:8px 12px;background:#061b25;border:1px solid #286477;border-radius:3px;color:#81dceb;font:600 10px/1.3 monospace;letter-spacing:.08em;cursor:default;user-select:none}
.sn-geo-stage .sn4-satellite-molecule button{display:grid!important;place-items:center!important;min-width:38px!important;padding:7px 10px!important;border:1px solid #286477!important;border-radius:3px!important;background:#061b25!important;color:#81dceb!important;font:600 19px/1 monospace!important;cursor:pointer!important;pointer-events:auto!important}
.sn-geo-stage .sn4-satellite-molecule button:hover,.sn-geo-stage .sn4-satellite-molecule button:focus-visible,.sn-geo-stage .sn4-satellite-molecule button[aria-expanded="true"]{border-color:#63d5ef!important;background:#104353!important;color:#c6faff!important}
.sn-geo-stage .sn4-satellite-molecule button.is-off{color:#78929a!important;border-color:#36525d!important;background:#07151d!important}
.sn-geo-stage.sn-v3-map-active .sn4-satellite-molecule,.sn-geo-stage.sn-v3-map-active .sn4-satellite-panel{display:none!important}
.sn-geo-stage .sn4-satellite-panel{position:absolute;right:16px;bottom:65px;z-index:109;width:min(430px,calc(100% - 32px));max-height:calc(100% - 82px);overflow-y:auto;box-sizing:border-box;background:linear-gradient(145deg,rgba(4,22,31,.98),rgba(2,12,19,.99));border:1px solid #2b8298;box-shadow:0 12px 35px #000c;color:#b7dbe4;padding:15px 17px;font:11px/1.5 Consolas,'Courier New',monospace}
.sn-geo-stage .sn4-satellite-panel[hidden]{display:none!important}
.sn4-satellite-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sn4-satellite-head>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.sn4-satellite-head small,.sn4-satellite-disclaimer{color:#7babbc;font-size:9px;letter-spacing:.08em}
.sn4-satellite-head strong{color:#8be5f7;font-size:18px;font-weight:500;letter-spacing:.06em}
.sn4-satellite-head span{color:#a5cbd5}
.sn-geo-stage .sn4-satellite-panel button{background:#092734;border:1px solid #286477;color:#a9e9f5;cursor:pointer;font:600 11px monospace;padding:7px 10px}
.sn4-satellite-head button{font-size:19px!important;padding:0 7px!important}
.sn4-satellite-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0;margin-top:12px;border-top:1px solid #245266;border-bottom:1px solid #245266}
.sn4-sat-stat{display:flex;flex-direction:column;gap:3px;min-width:0}
.sn4-sat-stat small{color:#83a9b6;font-size:9px;letter-spacing:.07em}
.sn4-sat-stat strong{color:#87ddf0;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.sn4-satellite-panel p{margin:12px 0;line-height:1.55}
.sn4-satellite-panel a{display:inline-block;margin-top:8px;color:#85dcf2;font-size:10px}
.sn4-satellite-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #245266;margin-top:12px;padding-top:12px}
.sn4-satellite-footer span{font-size:10px;white-space:nowrap}
@media(max-width:760px){.sn-geo-stage .sn4-satellite-molecule{bottom:16px!important;right:12px!important}.sn-geo-stage .sn4-satellite-panel{bottom:64px;right:12px;max-height:300px;width:min(410px,calc(100% - 24px))}}

/* SATELLITE PANEL // COMPACT INFORMATION HIERARCHY V2 */
.sn-geo-stage .sn4-satellite-panel{padding:12px 16px;max-height:calc(100% - 78px)}
.sn4-satellite-head>div{gap:2px}
.sn4-satellite-head strong{font-size:19px;line-height:1.25}
.sn4-satellite-meta{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid #245266;border-bottom:1px solid #245266;margin-top:9px;padding:9px 0}
.sn4-satellite-meta .sn4-sat-stat{flex:1 1 130px;gap:3px}
.sn4-satellite-panel p{margin:10px 0;font-size:12px;line-height:1.5}
.sn4-satellite-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.sn4-satellite-links a{margin:0;font-size:11px}
.sn4-satellite-disclaimer{font-size:9px;letter-spacing:.03em}
.sn4-satellite-footer{margin-top:10px;padding-top:10px}
.sn-geo-stage .sn4-satellite-footer button{padding:8px 13px;border:1px solid #377e92;background:#092734;color:#a9e9f5;transition:background .16s,border-color .16s,color .16s,box-shadow .16s}
.sn-geo-stage .sn4-satellite-footer button:hover{background:#155268;border-color:#7ce9ff;color:#fff;box-shadow:0 0 12px #37c6e544}
.sn-geo-stage .sn4-satellite-footer button:focus-visible{outline:2px solid #b6f6ff;outline-offset:3px;background:#155268}
.sn-geo-stage .sn4-satellite-footer button:active{background:#237087}
.sn-geo-stage .sn4-satellite-footer button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}

/* Objective 5: local ODOT camera viewer */
.sn4-camera-dialog .sn4-modal-panel{width:min(760px,96vw)}
.sn4-camera-name{color:#b9e7f0;font-weight:700}
.sn4-camera-image{display:block;max-width:100%;width:100%;height:auto;max-height:55vh;object-fit:contain;background:#030a0e;border:1px solid #30505a}
.sn4-camera-status{color:#8da8b5;font-size:11px}
.sn4-camera-dialog .sn4-camera-refresh{margin-top:8px}
.sn4-regional #sn4-traffic-toggle[aria-pressed="true"]{background:#104353!important;border-color:#63d5ef!important;color:#c6faff!important}


/* SHADOWNET // Orbital Intelligence entrance only.
   Frame: 400ms top/left, 400ms right/bottom; then 250ms content wipe. */
/* Keep the satellite panel absolutely anchored throughout its reveal. */
#sn4-satellite-panel .sn4-orbit-trace {
  position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;
}
#sn4-satellite-panel .sn4-orbit-trace svg {
  position:absolute;inset:0;width:100%;height:100%;fill:none;
  stroke:#42e8ff;stroke-width:.42;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 3px rgba(45,226,255,.9));
}
#sn4-satellite-panel .sn4-orbit-trace path {
  stroke-dasharray:200;stroke-dashoffset:200;
  animation:sn4-orbit-trace-draw 800ms linear forwards;
}
@keyframes sn4-orbit-trace-draw {
  0% {stroke-dashoffset:200;opacity:1}
  99% {opacity:1}
  100% {stroke-dashoffset:0;opacity:.18}
}
#sn4-satellite-panel.sn4-orbit-revealing > :not(.sn4-orbit-trace) {
  animation:sn4-orbit-content-wipe 250ms linear 800ms both;
}
@keyframes sn4-orbit-content-wipe {
  from {clip-path:inset(0 100% 0 0)}
  to {clip-path:inset(0 0 0 0)}
}
@media (prefers-reduced-motion:reduce) {
  #sn4-satellite-panel .sn4-orbit-trace {display:none!important}
  #sn4-satellite-panel.sn4-orbit-revealing > :not(.sn4-orbit-trace) {animation:none!important}
}
