.ar-operational-map-shell { display:grid; gap:12px; }
.ar-operational-map-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ar-operational-map-head h2 { margin:0; }
.ar-operational-map-safety { margin:4px 0 0; max-width:780px; color:var(--text-muted, #9fb0c3); font-size:.86rem; }
.ar-operational-map-controls { display:flex; gap:8px; flex-wrap:wrap; align-items:end; }
.ar-operational-map-controls label { display:grid; gap:4px; font-size:.78rem; color:var(--text-muted, #9fb0c3); }
.ar-operational-map-controls select { min-height:38px; }
.ar-operational-map-people-control { display:grid; flex:1 1 100%; gap:6px; min-width:min(100%, 280px); }
.ar-operational-map-people-head { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--text-muted, #9fb0c3); font-size:.78rem; }
.ar-operational-map-people-toggle { min-height:30px; padding:4px 9px; border:1px solid rgba(77,166,255,.35); border-radius:999px; background:rgba(77,166,255,.08); color:var(--text, #d7e0ec); font:inherit; cursor:pointer; }
.ar-operational-map-people-toggle:disabled { cursor:default; opacity:.55; }
.ar-operational-map-people { display:flex; gap:7px; flex-wrap:wrap; }
.ar-operational-map-controls .ar-operational-map-person-filter { display:inline-flex; align-items:center; gap:7px; min-height:38px; padding:7px 11px; border:1px solid rgba(77,166,255,.4); border-radius:999px; background:rgba(77,166,255,.1); color:var(--text, #d7e0ec); cursor:pointer; font-size:.84rem; line-height:1.15; }
.ar-operational-map-person-filter:has(input:not(:checked)) { border-color:rgba(148,163,184,.28); background:rgba(148,163,184,.06); color:var(--text-muted, #9fb0c3); }
.ar-operational-map-person-filter input { width:18px; height:18px; margin:0; accent-color:#38bdf8; }
.ar-operational-map-person-color { width:10px; height:10px; flex:0 0 10px; border:1px solid rgba(255,255,255,.82); border-radius:50%; box-shadow:0 0 0 1px rgba(15,23,42,.28); }
.ar-operational-map-people-empty { color:var(--text-muted, #9fb0c3); font-size:.84rem; }
.ar-operational-map-layout { display:grid; grid-template-columns:minmax(0, 2.2fr) minmax(240px, .8fr); min-height:440px; border:1px solid rgba(148,163,184,.24); border-radius:12px; overflow:hidden; background:#0b1118; }
.ar-operational-map-canvas { min-height:440px; background:radial-gradient(circle at 35% 30%, #20364c, #101923 65%); }
.ar-operational-map-fallback { height:100%; min-height:440px; display:grid; place-items:center; padding:28px; text-align:center; color:#c2d0df; }
.ar-operational-map-roster { margin:0; padding:10px; list-style:none; overflow:auto; max-height:520px; border-left:1px solid rgba(148,163,184,.2); }
.ar-operational-map-person { padding:10px; border-bottom:1px solid rgba(148,163,184,.16); }
.ar-operational-map-person--interactive { padding:0; border-radius:8px; }
.ar-operational-map-person__button { display:block; width:100%; padding:10px; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.ar-operational-map-person__button:focus-visible { outline:2px solid rgba(56,189,248,.72); outline-offset:-2px; }
.ar-operational-map-person--interactive:hover,
.ar-operational-map-person--selected { background:rgba(56,189,248,.12); outline:2px solid rgba(56,189,248,.55); outline-offset:-2px; }
.ar-operational-map-person strong,.ar-operational-map-person span { display:block; }
.ar-operational-map-person small { color:var(--text-muted, #9fb0c3); }
.ar-operational-map-device { margin-top:7px; padding:7px 8px; border-radius:8px; background:rgba(77,166,255,.09); }
.ar-operational-map-device[data-freshness="stale"] { background:rgba(245,158,11,.12); }
.ar-operational-map-device[data-freshness="no_signal"] { background:rgba(148,163,184,.1); }
.ar-operational-map-status { min-height:1.2em; }
.ar-operational-map-legend { display:flex; gap:14px; flex-wrap:wrap; color:var(--text-muted, #9fb0c3); font-size:.8rem; }
.ar-operational-map-dot { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:5px; background:#38bdf8; }
.ar-operational-map-pilot { display:inline-block; width:10px; height:10px; margin:0 6px 0 1px; background:#0284c7; border:1px solid #fff; transform:rotate(45deg); }
.ar-operational-map-viewer { display:inline-block; width:10px; height:10px; margin:0 6px 0 1px; border:2px solid #38bdf8; border-radius:50%; background:transparent; }
.ar-operational-map-trail { display:inline-block; width:18px; height:3px; margin:0 6px 3px 1px; border-radius:999px; background:#38bdf8; }
.ar-operational-map-dot--stale { background:#f59e0b; }
.ar-operational-map-dot--lost { background:#94a3b8; }
.ar-operational-map-retry { margin-top:6px; }
.ar-operational-map-controls [hidden] { display:none !important; }
.ar-operational-map-track-label {
  width:max-content;
  max-width:190px;
  overflow:hidden;
  padding:3px 7px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  background:rgba(8,15,24,.88);
  box-shadow:0 2px 8px rgba(0,0,0,.45);
  color:#fff !important;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ar-operational-map-popup-list {
  box-sizing:border-box;
  min-width:min(270px, calc(100vw - 100px));
  max-width:340px;
  padding:4px 50px 4px 2px;
  color:#0f172a;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.4;
}
.ar-operational-map-popup { display:grid; gap:5px; color:#0f172a; }
.ar-operational-map-popup__name { display:block; color:#0f172a; font-size:17px; font-weight:750; line-height:1.2; }
.ar-operational-map-popup__role { display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:#334155; }
.ar-operational-map-popup__role span {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:2px 8px;
  border:1px solid #bae6fd;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-size:12px;
  font-weight:700;
}
.ar-operational-map-popup__meta { color:#334155; }
.ar-operational-map-popup__telemetry { display:flex; gap:12px; flex-wrap:wrap; color:#0f172a; font-weight:650; }
.ar-operational-map-popup__separator { margin:12px 0; border:0; border-top:1px solid #cbd5e1; }
.ar-operational-map-canvas .gm-style .gm-style-iw-c { color:#0f172a; }
.ar-operational-map-canvas .gm-style .gm-style-iw-d { overflow:auto !important; }
.ar-operational-map-canvas .gm-style button.gm-ui-hover-effect,
body.ar-github-ui .ar-operational-map-canvas .gm-style button.gm-ui-hover-effect {
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  z-index:4 !important;
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  min-width:40px !important;
  height:40px !important;
  min-height:40px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #cbd5e1 !important;
  border-radius:50% !important;
  background:#ffffff !important;
  box-shadow:0 2px 8px rgba(15,23,42,.18) !important;
  backdrop-filter:none !important;
  appearance:none !important;
  filter:none !important;
  transform:none !important;
}
.ar-operational-map-canvas .gm-style button.gm-ui-hover-effect:hover,
body.ar-github-ui .ar-operational-map-canvas .gm-style button.gm-ui-hover-effect:hover { background:#e2e8f0 !important; }
.ar-operational-map-canvas .gm-style button.gm-ui-hover-effect::before,
body.ar-github-ui .ar-operational-map-canvas .gm-style button.gm-ui-hover-effect::before {
  content:"";
  width:18px;
  height:18px;
  background:
    linear-gradient(45deg, transparent 43%, #0f172a 44% 56%, transparent 57%),
    linear-gradient(-45deg, transparent 43%, #0f172a 44% 56%, transparent 57%);
}
.ar-operational-map-canvas .gm-style button.gm-ui-hover-effect > img,
.ar-operational-map-canvas .gm-style button.gm-ui-hover-effect > span {
  display:none !important;
}

.ar-overwatch-operational-map {
  padding: 10px;
  overflow: auto;
}
.ar-overwatch-operational-map-body { min-width: 0; }
.ar-overwatch-operational-map .ar-operational-map-layout,
.ar-overwatch-operational-map .ar-operational-map-canvas,
.ar-overwatch-operational-map .ar-operational-map-fallback {
  min-height: 0;
  height: clamp(260px, 36dvh, 380px);
}
.ar-overwatch-operational-map .ar-operational-map-layout { grid-template-columns: 1fr; }
.ar-overwatch-operational-map .ar-operational-map-roster {
  max-height: 240px;
  border-left: 0;
  border-top: 1px solid rgba(148,163,184,.2);
}

.ar-mission-review-map {
  display: none;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(148,163,184,.2);
}

.ar-mission-review-map[hidden] {
  display: none !important;
}

body.ar-overwatch-review-ops .ar-mission-review-map {
  display: block;
}

.ar-mission-review-map .ar-operational-map-layout,
.ar-mission-review-map .ar-operational-map-canvas,
.ar-mission-review-map .ar-operational-map-fallback {
  min-height: 380px;
}

@media (max-width: 820px) {
  .ar-operational-map-controls { width:100%; }
  .ar-operational-map-people { flex-wrap:nowrap; max-width:100%; overflow-x:auto; padding-bottom:2px; scrollbar-width:thin; }
  .ar-operational-map-controls .ar-operational-map-person-filter { flex:0 0 auto; }
  .ar-operational-map-layout { grid-template-columns:1fr; }
  .ar-operational-map-roster { border-left:0; border-top:1px solid rgba(148,163,184,.2); max-height:300px; }
  .ar-overwatch-operational-map .ar-operational-map-layout { height: min(62dvh, 520px); }
  .ar-overwatch-operational-map .ar-operational-map-canvas,
  .ar-overwatch-operational-map .ar-operational-map-fallback { height: 300px; }
}
