.gd-operations-map-shell {
  --gd-map-bg: #20252b;
  --gd-map-panel: #282e35;
  --gd-map-surface: #313840;
  --gd-map-border: rgba(255, 255, 255, .13);
  --gd-map-text: #f5f7fa;
  --gd-map-muted: #aeb7c2;
  position: relative;
  z-index: 0;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--gd-map-border);
  background: var(--gd-map-bg);
}

.gd-operations-legend {
  min-height: 58px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--gd-map-border);
  background: var(--gd-map-panel);
  color: #d5dbe2;
  font: 500 12px/1.35 Barlow, sans-serif;
}

.gd-operations-legend > strong { color: #fdba17; font: 600 12px/1.35 Archivo, sans-serif; text-transform: uppercase; }
.gd-operations-legend > span { display: inline-flex; align-items: center; gap: 8px; }
.gd-map-key-swatch { width: 18px; height: 13px; flex: none; border: 1px solid #1b2026; border-radius: 1px; background: #4277bd; }
.gd-map-key-swatch.is-incorporated { border-color: #e8edf3; background: #8fa2b8; }
.gd-map-key-swatch.is-interest { border: 2px dashed #fdba17; background: #39414a; }

.gd-operations-toolbar { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px; border-bottom: 1px solid var(--gd-map-border); background: var(--gd-map-bg); }
.gd-operations-regions { min-width: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; }
.gd-operations-regions button { min-height: 34px; flex: none; padding: 8px 12px; border: 1px solid transparent; border-radius: 3px; background: transparent; color: var(--gd-map-muted); font: 600 11px/1 Barlow, sans-serif; text-transform: uppercase; cursor: pointer; }
.gd-operations-regions button:hover,
.gd-operations-regions button:focus-visible { border-color: rgba(255, 255, 255, .24); color: var(--gd-map-text); outline: none; }
.gd-operations-regions button.is-active { border-color: #fdba17; background: rgba(253, 186, 23, .1); color: #fdba17; }
.gd-operations-manage { flex: none; color: #fdba17; font: 600 11px/1 Barlow, sans-serif; text-transform: uppercase; }

.gd-operations-vector-stage { position: relative; height: min(68vh, 640px); min-height: 520px; overflow: hidden; background: var(--gd-map-bg); }
.gd-operations-map { width: 100%; height: 100%; display: block; background: var(--gd-map-bg); }
.gd-map-country { fill: #363d45; stroke: #20252b; stroke-width: .8; vector-effect: non-scaling-stroke; transition: fill .16s ease, stroke .16s ease, opacity .16s ease; }
.gd-map-country.is-active { cursor: pointer; fill: #4277bd; }
.gd-map-country.is-incorporated { fill: #8fa2b8; }
.gd-map-country.is-interest { fill: #39414a; stroke: #fdba17; stroke-width: 1.6; stroke-dasharray: 4 3; }
.gd-map-country.is-focus { stroke-width: 2.4; }
.gd-map-country.is-active:hover,
.gd-map-country.is-active:focus { fill: #3f6cc4; outline: none; }
.gd-map-country.is-selected,
.gd-map-country.is-selected:hover,
.gd-map-country.is-selected:focus { fill: #fdba17; stroke: #171b20; stroke-width: 1.5; }

.gd-map-site { cursor: pointer; outline: none; }
.gd-map-site__outer { fill: rgba(253, 186, 23, .22); stroke: #fdba17; stroke-width: 1.5; transition: r .15s ease, fill .15s ease; }
.gd-map-site__inner { fill: #fdba17; }
.gd-map-site.is-incorporated .gd-map-site__outer { fill: rgba(255, 255, 255, .22); stroke: #fff; }
.gd-map-site.is-incorporated .gd-map-site__inner { fill: #fff; }
.gd-map-site.is-interest .gd-map-site__outer { fill: rgba(192, 208, 236, .18); stroke: #c0d0ec; stroke-dasharray: 3 2; }
.gd-map-site.is-interest .gd-map-site__inner { fill: #c0d0ec; }
.gd-map-site.is-focus .gd-map-site__outer { stroke-width: 2.5; }
.gd-map-site:hover .gd-map-site__outer,
.gd-map-site:focus .gd-map-site__outer,
.gd-map-site.is-selected .gd-map-site__outer { r: 13px; fill: rgba(253, 186, 23, .32); }
.gd-map-country-label,
.gd-map-base-label { pointer-events: none; fill: rgba(255, 255, 255, .82); font: 500 12px/1 "IBM Plex Mono", ui-monospace, Menlo, monospace; }
.gd-map-base-label { fill: rgba(255, 255, 255, .5); font-size: 10.5px; }
.gd-map-site.is-selected .gd-map-country-label { fill: #fdba17; }

.gd-operations-map-hint,
.gd-operations-map-summary { position: absolute; z-index: 2; margin: 0; pointer-events: none; font: 500 10.5px/1.45 "IBM Plex Mono", ui-monospace, Menlo, monospace; text-transform: uppercase; }
.gd-operations-map-hint { top: 18px; right: 20px; color: rgba(255, 255, 255, .56); }
.gd-operations-map-summary { bottom: 18px; left: 20px; color: rgba(255, 255, 255, .64); }

.gd-operations-country-detail { min-height: 116px; padding: 22px 24px; border-top: 1px solid var(--gd-map-border); background: var(--gd-map-surface); color: #fff; }
.gd-operations-country-detail > p { max-width: 780px; display: flex; flex-direction: column; gap: 6px; margin: 0; }
.gd-operations-country-detail > p strong { color: #fdba17; font: 600 14px/1.3 Archivo, sans-serif; text-transform: uppercase; }
.gd-operations-country-detail > p span { color: rgba(255, 255, 255, .68); font-size: 14px; line-height: 1.5; }
.gd-operations-map-error { color: #fff; }
.gd-operations-country-detail__header { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid rgba(255, 255, 255, .16); }
.gd-operations-country-detail__header h3 { margin-top: 7px; color: #fff; font: 700 25px/1.15 Archivo, sans-serif; }
.gd-operations-country-detail__header > p { margin: 0; color: rgba(255, 255, 255, .52); font: 500 11px/1.4 "IBM Plex Mono", monospace; text-transform: uppercase; }
.gd-operations-country-status { color: #fdba17; font-size: 11px; font-weight: 700; line-height: 1.3; text-transform: uppercase; }
.gd-operations-country-status.is-incorporated { color: #fff; }
.gd-operations-country-status.is-interest { color: #c0d0ec; }
.gd-operations-focus-label { display: inline-flex; margin: 8px 0 0 10px; padding: 5px 7px; border: 1px solid rgba(253, 186, 23, .5); border-radius: 2px; color: #fdba17; font: 600 9.5px/1 Barlow, sans-serif; text-transform: uppercase; vertical-align: top; }
.gd-operations-country-locations { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0; }
.gd-operations-country-locations > div { min-width: 0; padding: 18px 20px 4px 0; }
.gd-operations-country-locations strong { display: block; color: #fff; font: 600 15px/1.3 Archivo, sans-serif; }
.gd-operations-country-locations span { display: block; margin-top: 5px; color: rgba(255, 255, 255, .58); font: 500 11px/1.45 "IBM Plex Mono", monospace; }
.gd-operations-country-locations p { margin: 9px 0 0; color: rgba(255, 255, 255, .68); font-size: 13px; line-height: 1.5; }
.gd-operations-country-locations a { display: inline-block; margin: 10px 14px 0 0; color: #fdba17; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.gd-operations-country-locations .gd-operations-edit-link { color: #d6dde5; }

.gd-rig-count { display: flex; flex-direction: column; }
.gd-rig-count strong { color: #fff; font: 800 42px/1 Archivo, sans-serif; }
.gd-rig-count span { margin-top: 8px; color: rgba(255, 255, 255, .62); font: 600 11.5px/1.4 Barlow, sans-serif; text-transform: uppercase; }

@media (max-width: 700px) {
  .gd-operations-legend { align-items: flex-start; flex-direction: column; gap: 9px; }
  .gd-operations-toolbar { align-items: stretch; flex-direction: column; gap: 8px; }
  .gd-operations-manage { align-self: flex-start; padding: 5px 0; }
  .gd-operations-vector-stage { height: 470px; min-height: 470px; }
  .gd-operations-map-hint { display: none; }
  .gd-map-country-label { font-size: 10px; }
  .gd-map-base-label { display: none; }
  .gd-operations-country-detail { padding: 20px; }
  .gd-operations-country-detail__header { align-items: flex-start; flex-direction: column; gap: 8px; }
  .gd-operations-country-locations { grid-template-columns: 1fr; }
}
