:root {
  --bg-body: #02030a;
  --bg-sidebar: rgba(3, 9, 25, 0.96);
  --bg-sidebar-alt: rgba(8, 18, 48, 0.96);
  --bg-overlay: rgba(7, 15, 40, 0.92);
  --border-subtle: rgba(120, 144, 156, 0.3);
  --accent: #40c4ff;
  --accent-soft: rgba(64, 196, 255, 0.15);
  --text-main: #e3f2fd;
  --text-muted: #90a4ae;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-soft: 0 14px 40px rgba(0, 0, 0, 0.6);
  --z-angkaxa-sidebar: 1120;
  --angkaxa-select-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%2390a4ae' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' d='M1.2 1.2 5 4.8 8.8 1.2'/%3E%3C/svg%3E");
  --angkaxa-select-chevron-pos: right 10px center;
  --angkaxa-select-chevron-size: 10px 6px;
  --angkaxa-select-pad-right: 30px;
  --angkaxa-select-pad-right-compact: 15px;
  --angkaxa-pulse-opacity: 0.5;
}

/* Pulse UI dinamis — irama multi-puncak + dual tempo, opacity max 0.5 */
@keyframes angkaxa-dynamic-card-pulse {
  0%,
  100% {
    background: rgba(255, 23, 68, 0.08);
    border-color: rgba(255, 23, 68, 0.22);
    box-shadow: 0 0 0 1px rgba(255, 23, 68, 0.12);
  }
  11% {
    background: rgba(255, 23, 68, 0.14);
    border-color: rgba(255, 23, 68, 0.38);
    box-shadow: 0 0 6px rgba(255, 23, 68, 0.2);
  }
  24% {
    background: rgba(255, 23, 68, 0.1);
    border-color: rgba(255, 23, 68, 0.28);
    box-shadow: 0 0 0 1px rgba(255, 23, 68, 0.14);
  }
  41% {
    background: rgba(255, 23, 68, 0.18);
    border-color: rgba(255, 23, 68, 0.5);
    box-shadow: 0 0 12px rgba(255, 23, 68, 0.5);
  }
  58% {
    background: rgba(255, 23, 68, 0.11);
    border-color: rgba(255, 23, 68, 0.34);
    box-shadow: 0 0 4px rgba(255, 23, 68, 0.18);
  }
  76% {
    background: rgba(255, 23, 68, 0.16);
    border-color: rgba(255, 23, 68, 0.46);
    box-shadow: 0 0 8px rgba(255, 23, 68, 0.42);
  }
}

@keyframes angkaxa-dynamic-dot-pulse {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(1);
    box-shadow: 0 0 8px rgba(94, 184, 255, 0.35);
  }
  13% {
    opacity: 0.46;
    transform: scale(1.14);
    box-shadow: 0 0 14px rgba(94, 184, 255, 0.5);
  }
  29% {
    opacity: 0.28;
    transform: scale(0.86);
    box-shadow: 0 0 4px rgba(94, 184, 255, 0.22);
  }
  47% {
    opacity: 0.5;
    transform: scale(1.08);
    box-shadow: 0 0 12px rgba(94, 184, 255, 0.5);
  }
  68% {
    opacity: 0.32;
    transform: scale(0.94);
    box-shadow: 0 0 6px rgba(94, 184, 255, 0.28);
  }
  84% {
    opacity: 0.5;
    transform: scale(1.18);
    box-shadow: 0 0 16px rgba(94, 184, 255, 0.5);
  }
}

@keyframes angkaxa-dynamic-ring-pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 23, 68, 0.5);
    opacity: 0.35;
  }
  18% {
    transform: scale(1.08);
    box-shadow: 0 0 0 4px rgba(255, 23, 68, 0.28);
    opacity: 0.44;
  }
  36% {
    transform: scale(0.96);
    box-shadow: 0 0 0 1px rgba(255, 23, 68, 0.38);
    opacity: 0.38;
  }
  55% {
    transform: scale(1.18);
    box-shadow: 0 0 0 9px rgba(255, 23, 68, 0);
    opacity: 0.5;
  }
  74% {
    transform: scale(1.02);
    box-shadow: 0 0 0 2px rgba(255, 23, 68, 0.2);
    opacity: 0.42;
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(255, 23, 68, 0);
    opacity: 0.35;
  }
}
* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
  background: var(--bg-body);
  color: var(--text-main);
  font-family: 'Share Tech Mono', monospace, sans-serif;
}
#app {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
  min-height: 0;
  overscroll-behavior: none;
}
.sidebar {
  position: absolute;
  width: 300px;
  max-width: 300px;
  height: 100%;
  max-height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 30px; /* Remove padding from sidebar itself */
  z-index: var(--z-angkaxa-sidebar, 1120);
  pointer-events: auto;
  isolation: isolate;
  overflow: hidden;
  min-height: 0;
}
.sidebar-header {
  padding: 14px 14px 12px 14px; /* Move padding here */
  margin-bottom: 0; /* Remove margin bottom */
}
.brand { display: flex; align-items: center; gap: 10px; }
.brand-logo {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #40c4ff 0%, #283593 45%, #000 100%);
  box-shadow: 0 0 18px rgba(64, 196, 255, 0.8);
}
.brand-text { display: flex; flex-direction: column; }
.brand-title { 
  font-size: 20px;
  text-align: center;
  margin: 0;
  font-family: "Orbitron", sans-serif;
}
.brand-subtitle { font-size: 11px; text-transform: uppercase; margin: 2px 0 0; color: var(--text-muted); }
.left-card-group {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 8px;
  flex: 1 1 0;
  overflow: hidden;
  min-height: 0;
}
.sidebar-section {
  margin-top: 0; /* Remove default margin */
}
.sidebar-controls {
  background: none; /* Remove background, handled by overlay-card */
  /* We remove explicit padding: 0; here to rely on overlay-card padding */
  border-radius: 0;
  border: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* Card shell — tidak scroll; header tetap, body scroll terpisah */
.sidebar-section.overlay-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.sidebar-controls .filters-group {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.section-header,
.search-group,
.sidebar-controls > .filter-row-threat,
.filters-group > .section-title,
.indonesian-orbit-toggle-group > .section-title {
  flex-shrink: 0;
}

.filters-list,
.satellite-list,
.detail-watchlist-panel,
.threat-watchlist-panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.section-title {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin: 0 0 10px;
  font-weight: 700;
  font-family: "JetBrains Mono", monospace;
}

.section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.section-subtitle { font-size: 11px; color: var(--text-muted); }
#satellite-count {
  color: rgb(129, 212, 250);
}
.search-group { margin-bottom: 8px; }
/* #satellite-search {
  width: 100%;
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(84, 110, 122, 0.7);
  background: rgba(2, 6, 23, 0.9);
  color: var(--text-main);
  font-size: 12px;
} */
#satellite-search {
    width: 100%;
    padding: 10px 8px;
    border-radius: var(--radius-sm);
    border: 1px solid rgba(84, 110, 122, 0.7);
    background: transparent;
    color: var(--text-main);
    font-size: 12px;
}
#satellite-search::placeholder { color: rgba(144, 164, 174, 0.7); }
.filters-group { margin-top: 4px; }
.legend-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.filter-row-legend {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  padding-left: 8px;
  flex-shrink: 0;
}
.filter-row-count {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 2.5em;
  margin-left: auto;
  padding-left: 8px;
  font-size: 11px;
  color: rgb(129, 212, 250);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.angkaxa-page-all-satellite .orbit-type-section,
.angkaxa-page-all-satellite .satellite-type-section {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
  display: flex;
  flex-direction: column;
}
/* orbit-type-section juga punya class satellite-list-section — jangan dipotong seperti daftar */
.angkaxa-page-all-satellite .orbit-type-section.satellite-list-section {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
}
.angkaxa-page-all-satellite .orbit-type-section .section-header,
.angkaxa-page-all-satellite .satellite-type-section .section-header {
  flex: 0 0 auto;
}
.angkaxa-page-all-satellite .orbit-type-filters {
  flex: 0 0 auto;
  overflow: visible;
  max-height: none;
  padding-top: 4px;
}
.angkaxa-page-all-satellite .orbit-type-filters .filter-row {
  margin-bottom: 15px;
}
.angkaxa-page-all-satellite .orbit-type-filters .filter-row:last-child {
  margin-bottom: 0;
}
.angkaxa-page-all-satellite .satellite-type-filters {
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-top: 4px;
}
.angkaxa-page-all-satellite .satellite-type-section {
  margin-top: 0px;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}

.angkaxa-page-all-satellite .detail-card--recently-launched {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.angkaxa-page-all-satellite .recently-launched-panel {
  --recently-launched-row-height: 44px;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: calc(
    var(--recently-launched-visible-rows, 5) * var(--recently-launched-row-height)
  );
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.angkaxa-page-all-satellite .recently-launched-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: var(--recently-launched-row-height);
  box-sizing: border-box;
  text-align: left;
  cursor: pointer;
  appearance: none;
  font-family: inherit;
  color: inherit;
  border: 0;
  border-bottom: 1px solid rgba(83, 83, 83, 0.3);
  border-radius: 0;
  background: transparent;
  padding: 6px 0;
  transition: background 0.15s ease;
}
.angkaxa-page-all-satellite .recently-launched-item:last-child {
  border-bottom: none;
}
.angkaxa-page-all-satellite .recently-launched-item:hover {
  background: rgba(64, 196, 255, 0.08);
}
.angkaxa-page-all-satellite .recently-launched-item-name {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  text-align: right;
}
.angkaxa-page-all-satellite .recently-launched-item-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 8px;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
}
.angkaxa-page-all-satellite .recently-launched-item-meta-norad {
  flex: 0 1 auto;
  text-align: left;
}
.angkaxa-page-all-satellite .recently-launched-item-meta-designator {
  flex: 1 1 auto;
  text-align: center;
}
.angkaxa-page-all-satellite .recently-launched-item-meta-orbit {
  flex: 0 1 auto;
  text-align: right;
}
.angkaxa-page-all-satellite .recently-launched-empty {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
}
.angkaxa-page-all-satellite .detail-card--recently-launched > .section-title:first-child {
  flex-shrink: 0;
}
.angkaxa-page-all-satellite .detail-card--recently-launched .recently-launched-panel {
  flex-shrink: 0;
}
.angkaxa-page-all-satellite .detail-card--recently-launched .detail-watchlist-section {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}
.angkaxa-page-all-satellite .detail-card--recently-launched .detail-watchlist-section > .section-title {
  flex-shrink: 0;
}
.angkaxa-page-all-satellite .detail-card--recently-launched .detail-watchlist-panel {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 220px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* All Satellite / Threat Watchlist — tab konten utama (Globe / Table) */
.angkaxa-page-all-satellite .top-center-brand-overlay,
.angkaxa-page-watchlist .top-center-brand-overlay {
  z-index: calc(var(--z-angkaxa-overlay) + 2);
  pointer-events: auto;
}
.angkaxa-page-all-satellite .main-content-tabs,
.angkaxa-page-watchlist .main-content-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  padding: 3px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  background: transparent;
}
.angkaxa-page-all-satellite .main-content-tab,
.angkaxa-page-watchlist .main-content-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-family: inherit;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.angkaxa-page-all-satellite .main-content-tab i,
.angkaxa-page-watchlist .main-content-tab i {
  font-size: 14px;
}
.angkaxa-page-all-satellite .main-content-tab:hover,
.angkaxa-page-watchlist .main-content-tab:hover {
  color: var(--text-main);
  background: rgba(64, 196, 255, 0.08);
}
.angkaxa-page-all-satellite .main-content-tab--active,
.angkaxa-page-watchlist .main-content-tab--active {
  color: #ffe082;
  background: rgba(255, 193, 7, 0.12);
  border-color: rgba(255, 193, 7, 0.35);
}
.angkaxa-page-all-satellite .main-content-view,
.angkaxa-page-watchlist .main-content-view {
  position: absolute;
  inset: 0;
}
.angkaxa-page-all-satellite .main-content-view--globe,
.angkaxa-page-watchlist .main-content-view--globe {
  z-index: 1;
}
.angkaxa-page-all-satellite .main-content-view--table,
.angkaxa-page-all-groundstation .main-content-view--table,
.angkaxa-page-watchlist .main-content-view--table{
  z-index: 2;
  display: none;
  flex-direction: column;
  align-items: center;
  min-height: 0;
  background: rgba(2, 6, 18, 0.98);
  inset: auto;
  top: var(--sat-table-layout-top, 123px);
  bottom: var(--sat-table-layout-bottom, 90px);
  left: 0;
  right: 0;
  padding: 0 20px;
  overflow: hidden;
}
.angkaxa-page-all-satellite.angkaxa-view-table #map,
.angkaxa-page-all-satellite.angkaxa-view-table #sat-tooltip,
.angkaxa-page-all-satellite.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-all-groundstation.angkaxa-view-table #map,
.angkaxa-page-all-groundstation.angkaxa-view-table #sat-tooltip,
.angkaxa-page-all-groundstation.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-aoi-monitor.angkaxa-view-table #map,
.angkaxa-page-aoi-monitor.angkaxa-view-table #sat-tooltip,
.angkaxa-page-aoi-monitor.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-aoi-monitor.angkaxa-view-table #aoi-view-target-detail-btn,
.angkaxa-page-watchlist.angkaxa-view-table #map,
.angkaxa-page-watchlist.angkaxa-view-table #sat-tooltip,
.angkaxa-page-watchlist.angkaxa-view-table #sat-view-details-btn{
  visibility: hidden;
  pointer-events: none;
}
.angkaxa-page-all-satellite.angkaxa-view-table .map-style-toolbar,
.angkaxa-page-all-groundstation.angkaxa-view-table .map-style-toolbar,
.angkaxa-page-watchlist.angkaxa-view-table .map-style-toolbar{
  visibility: visible;
  pointer-events: auto;
}
.angkaxa-page-all-satellite.angkaxa-view-table .main-content-view--table,
.angkaxa-page-all-groundstation.angkaxa-view-table .main-content-view--table,
.angkaxa-page-watchlist.angkaxa-view-table .main-content-view--table{
  display: flex;
}
.angkaxa-page-all-satellite.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-all-groundstation.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-watchlist.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-aoi-monitor.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-pass-prediction.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-footprint.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-maneuver-detection.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-debris-watch.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-orbit-decay.angkaxa-view-table .watchlist-ticker-bar,
.angkaxa-page-tle-drift.angkaxa-view-table .watchlist-ticker-bar {
  display: none;
}
.angkaxa-page-all-satellite .sat-detail-host,
.angkaxa-page-all-groundstation .sat-detail-host{
  margin-top: 20px;
}
.angkaxa-page-all-satellite .satellite-table-search-panel,
.angkaxa-page-watchlist .satellite-table-search-panel,
.angkaxa-page-all-satellite .satellite-table-frame,
.angkaxa-page-watchlist .satellite-table-frame,
.angkaxa-page-all-groundstation .satellite-table-search-panel,
.angkaxa-page-all-groundstation .satellite-table-frame{
  width: min(900px, calc(100vw - 32px));
}
.angkaxa-page-all-satellite .satellite-table-search-panel,
.angkaxa-page-watchlist .satellite-table-search-panel,
.angkaxa-page-all-groundstation .satellite-table-search-panel{
  flex-shrink: 0;
  margin-bottom: 12px;
}
.angkaxa-page-all-satellite .satellite-table-search-bar,
.angkaxa-page-watchlist .satellite-table-search-bar,
.angkaxa-page-all-groundstation .satellite-table-search-bar{
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
}
.angkaxa-page-all-satellite .satellite-table-quick-filter,
.angkaxa-page-watchlist .satellite-table-quick-filter,
.angkaxa-page-all-groundstation .satellite-table-quick-filter{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.angkaxa-page-all-satellite .satellite-table-quick-filter-label,
.angkaxa-page-watchlist .satellite-table-quick-filter-label,
.angkaxa-page-all-groundstation .satellite-table-quick-filter-label{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  white-space: nowrap;
}
.angkaxa-page-all-satellite .satellite-table-quick-select,
.angkaxa-page-watchlist .satellite-table-quick-select,
.angkaxa-page-all-groundstation .satellite-table-quick-select,
.angkaxa-page-pass-prediction .satellite-table-quick-select,
.angkaxa-page-footprint .satellite-table-quick-select,
.angkaxa-page-collision-avoidance .satellite-table-quick-select,
.angkaxa-page-maneuver-detection .satellite-table-quick-select,
.angkaxa-page-debris-watch .satellite-table-quick-select,
.angkaxa-page-orbit-decay .satellite-table-quick-select,
.angkaxa-page-tle-drift .satellite-table-quick-select,
.angkaxa-page-aoi-monitor .satellite-table-quick-select {
  padding: 7px var(--angkaxa-select-pad-right-compact) 7px 8px;
  border-radius: 3px;
  border: 1px solid rgba(120, 144, 156, 0.45);
  background-color: rgba(2, 6, 23, 0.85);
  background-image: var(--angkaxa-select-chevron);
  background-repeat: no-repeat;
  background-position: var(--angkaxa-select-chevron-pos);
  background-size: var(--angkaxa-select-chevron-size);
  color: var(--text-main);
  font-family: inherit;
  font-size: 11px;
  cursor: pointer;
  min-width: 72px;
  max-width: 110px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.angkaxa-page-all-satellite #satellite-table-filter-country {
  max-width: 130px;
}
.angkaxa-page-all-groundstation #ground-station-table-filter-antenna {
  max-width: 130px;
}
.angkaxa-page-all-satellite .satellite-table-search-field,
.angkaxa-page-watchlist .satellite-table-search-field,
.angkaxa-page-all-groundstation .satellite-table-search-field{
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}
.angkaxa-page-all-satellite .satellite-table-search-input,
.angkaxa-page-watchlist .satellite-table-search-input,
.angkaxa-page-all-groundstation .satellite-table-search-input{
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(84, 110, 122, 0.7);
  background: rgba(2, 6, 23, 0.72);
  color: var(--text-main);
  font-family: inherit;
  font-size: 12px;
}
.angkaxa-page-all-satellite .satellite-table-search-suggest,
.angkaxa-page-watchlist .satellite-table-search-suggest,
.angkaxa-page-all-groundstation .satellite-table-search-suggest{
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 20;
  margin: 0;
  padding: 4px 0;
  list-style: none;
  max-height: 240px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(64, 196, 255, 0.3);
  background: rgb(0 0 0 / 95%);
  border-radius: 5px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
}
.angkaxa-page-all-satellite .satellite-table-search-suggest-item,
.angkaxa-page-watchlist .satellite-table-search-suggest-item,
.angkaxa-page-all-groundstation .satellite-table-search-suggest-item{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: var(--text-main);
  font-family: inherit;
  text-align: left;
  cursor: pointer;
}
.angkaxa-page-all-satellite .satellite-table-search-suggest-item:hover,
.angkaxa-page-watchlist .satellite-table-search-suggest-item:hover,
.angkaxa-page-all-satellite .satellite-table-search-suggest-item--active,
.angkaxa-page-watchlist .satellite-table-search-suggest-item--active,
.angkaxa-page-all-groundstation .satellite-table-search-suggest-item:hover,
.angkaxa-page-all-groundstation .satellite-table-search-suggest-item--active{
  background: rgba(64, 196, 255, 0.12);
}
.angkaxa-page-all-satellite .satellite-table-search-suggest-name,
.angkaxa-page-watchlist .satellite-table-search-suggest-name,
.angkaxa-page-all-groundstation .satellite-table-search-suggest-name{
  font-size: 12px;
  font-weight: 600;
  color: rgb(129, 212, 250);
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.angkaxa-page-all-satellite .satellite-table-search-suggest-meta,
.angkaxa-page-watchlist .satellite-table-search-suggest-meta,
.angkaxa-page-all-groundstation .satellite-table-search-suggest-meta{
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.03em;
}
.angkaxa-page-all-satellite .satellite-table-search-input::placeholder,
.angkaxa-page-watchlist .satellite-table-search-input::placeholder,
.angkaxa-page-all-groundstation .satellite-table-search-input::placeholder{
  color: rgba(144, 164, 174, 0.7);
}
.angkaxa-page-all-satellite .satellite-table-search-input:focus,
.angkaxa-page-watchlist .satellite-table-search-input:focus,
.angkaxa-page-all-groundstation .satellite-table-search-input:focus{
  outline: none;
  border-color: rgba(64, 196, 255, 0.55);
  box-shadow: 0 0 0 1px rgba(64, 196, 255, 0.2);
}
.angkaxa-page-all-satellite .satellite-table-search-submit,
.angkaxa-page-watchlist .satellite-table-search-submit,
.angkaxa-page-all-groundstation .satellite-table-search-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 3px;
  border: 1px solid rgb(52 65 79);
  background: transparent;
  color: #81d4fa;
  font-family: inherit;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: pointer;
  white-space: nowrap;
}
.angkaxa-page-all-satellite .satellite-table-search-submit:hover,
.angkaxa-page-watchlist .satellite-table-search-submit:hover,
.angkaxa-page-all-groundstation .satellite-table-search-submit:hover{
  background: rgba(64, 196, 255, 0.24);
  border-color: rgba(64, 196, 255, 0.65);
}
.angkaxa-page-all-satellite .satellite-table-search-submit i,
.angkaxa-page-watchlist .satellite-table-search-submit i,
.angkaxa-page-all-groundstation .satellite-table-search-submit i{
  font-size: 14px;
}
.angkaxa-page-all-satellite .satellite-table-frame,
.angkaxa-page-watchlist .satellite-table-frame,
.angkaxa-page-all-groundstation .satellite-table-frame{
  --frame: #ffffff;
  --frame-dim: rgba(255, 255, 255, 0.2);
  --hud-corner: 10px;
  --hud-thick: 1px;
  --hud-thin: 1px;
  --hud-gap: 1px;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  position: relative;
  isolation: isolate;
  border: none;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
  overflow: hidden;
}
.angkaxa-page-all-satellite .satellite-table-frame::before,
.angkaxa-page-watchlist .satellite-table-frame::before,
.angkaxa-page-all-groundstation .satellite-table-frame::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(var(--frame), var(--frame)) left top / var(--hud-corner) var(--hud-thick) no-repeat,
    linear-gradient(var(--frame), var(--frame)) left top / var(--hud-thick) var(--hud-corner) no-repeat,
    linear-gradient(var(--frame), var(--frame)) right top / var(--hud-corner) var(--hud-thick) no-repeat,
    linear-gradient(var(--frame), var(--frame)) right top / var(--hud-thick) var(--hud-corner) no-repeat,
    linear-gradient(var(--frame), var(--frame)) left bottom / var(--hud-corner) var(--hud-thick) no-repeat,
    linear-gradient(var(--frame), var(--frame)) left bottom / var(--hud-thick) var(--hud-corner) no-repeat,
    linear-gradient(var(--frame), var(--frame)) right bottom / var(--hud-corner) var(--hud-thick) no-repeat,
    linear-gradient(var(--frame), var(--frame)) right bottom / var(--hud-thick) var(--hud-corner) no-repeat;
}
.angkaxa-page-all-satellite .satellite-table-frame::after,
.angkaxa-page-watchlist .satellite-table-frame::after,
.angkaxa-page-all-groundstation .satellite-table-frame::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  --edge-inset: var(--hud-gap);
  --v-inset: calc(var(--hud-corner) + var(--hud-thick) + var(--hud-gap));
  --v-span: calc(100% - 2 * var(--v-inset));
  --h-span: calc(100% - 2 * var(--hud-corner) - var(--edge-inset) * 2);
  background:
    linear-gradient(var(--frame-dim), var(--frame-dim))
      left calc(var(--hud-corner) + var(--edge-inset)) top var(--edge-inset)
      / var(--h-span) var(--hud-thin) no-repeat,
    linear-gradient(var(--frame-dim), var(--frame-dim))
      left calc(var(--hud-corner) + var(--edge-inset)) bottom var(--edge-inset)
      / var(--h-span) var(--hud-thin) no-repeat,
    linear-gradient(var(--frame-dim), var(--frame-dim))
      left 0 top var(--v-inset)
      / var(--hud-thin) var(--v-span) no-repeat,
    linear-gradient(var(--frame-dim), var(--frame-dim))
      right 0 top var(--v-inset)
      / var(--hud-thin) var(--v-span) no-repeat;
}
.angkaxa-page-all-satellite .satellite-table-scroll,
.angkaxa-page-watchlist .satellite-table-scroll,
.angkaxa-page-all-groundstation .satellite-table-scroll{
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  position: relative;
  z-index: 1;
  background: transparent;
}
.angkaxa-page-all-satellite .satellite-catalog-table,
.angkaxa-page-watchlist .satellite-catalog-table,
.angkaxa-page-all-groundstation .satellite-catalog-table{
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.angkaxa-page-all-satellite .satellite-catalog-table thead,
.angkaxa-page-watchlist .satellite-catalog-table thead,
.angkaxa-page-all-groundstation .satellite-catalog-table thead{
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgba(4, 10, 28, 0.98);
}
.angkaxa-page-all-satellite .satellite-catalog-table th,
.angkaxa-page-watchlist .satellite-catalog-table th,
.angkaxa-page-all-groundstation .satellite-catalog-table th{
  padding: 15px 10px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #c9a227;
  border-bottom: 1px solid rgba(120, 144, 156, 0.35);
  white-space: nowrap;
}
.angkaxa-page-all-satellite .satellite-catalog-table td,
.angkaxa-page-watchlist .satellite-catalog-table td,
.angkaxa-page-all-groundstation .satellite-catalog-table td{
  padding: 7px 10px;
  border-bottom: 1px solid rgba(120, 144, 156, 0.14);
  color: var(--text-main);
  white-space: nowrap;
}
.angkaxa-page-all-satellite .sat-table-row,
.angkaxa-page-watchlist .sat-table-row,
.angkaxa-page-all-groundstation .sat-table-row{
  cursor: pointer;
  transition: background 0.12s;
}
.angkaxa-page-all-satellite .sat-table-row:hover,
.angkaxa-page-watchlist .sat-table-row:hover,
.angkaxa-page-all-groundstation .sat-table-row:hover{
  background: rgba(64, 196, 255, 0.06);
}
.angkaxa-page-all-satellite .sat-table-row--selected,
.angkaxa-page-watchlist .sat-table-row--selected,
.angkaxa-page-all-groundstation .sat-table-row--selected{
  background: rgba(64, 196, 255, 0.12);
}
.angkaxa-page-all-satellite .sat-table-name,
.angkaxa-page-watchlist .sat-table-name,
.angkaxa-page-all-groundstation .sat-table-name{
  color: rgb(129, 212, 250);
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-all-satellite .satellite-catalog-table tbody td:not(.sat-table-name):not(.sat-table-metric):not(:has(.sat-table-orbit)):not(:has(.ca-table-type)):not(:has(.ca-alert-badge)),
.angkaxa-page-watchlist .satellite-catalog-table tbody td:not(.sat-table-name):not(.sat-table-metric):not(:has(.sat-table-orbit)):not(:has(.ca-table-type)):not(:has(.ca-alert-badge)),
.angkaxa-page-all-groundstation .satellite-catalog-table tbody td:not(.sat-table-name):not(.sat-table-metric):not(:has(.sat-table-orbit)):not(:has(.ca-table-type)):not(:has(.ca-alert-badge)) {
  opacity: 0.6;
}
.angkaxa-page-all-satellite .satellite-catalog-table tbody td.sat-table-metric,
.angkaxa-page-watchlist .satellite-catalog-table tbody td.sat-table-metric,
.angkaxa-page-all-groundstation .satellite-catalog-table tbody td.sat-table-metric {
  color: #81d4fa;
}
.angkaxa-page-all-satellite .sat-table-orbit,
.angkaxa-page-watchlist .sat-table-orbit,
.angkaxa-page-all-groundstation .sat-table-orbit{
  display: inline-block;
  padding: 2px 7px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.angkaxa-page-all-satellite .sat-table-orbit--geo,
.angkaxa-page-watchlist .sat-table-orbit--geo,
.angkaxa-page-all-groundstation .sat-table-orbit--geo{
  background: #e65100;
  color: #fff;
}
.angkaxa-page-all-satellite .sat-table-orbit--meo,
.angkaxa-page-watchlist .sat-table-orbit--meo,
.angkaxa-page-all-groundstation .sat-table-orbit--meo{
  background: #ffc107;
  color: #1a1200;
}
.angkaxa-page-all-satellite .sat-table-orbit--leo,
.angkaxa-page-watchlist .sat-table-orbit--leo,
.angkaxa-page-all-groundstation .sat-table-orbit--leo{
  background: #26c6da;
  color: #002028;
}
.angkaxa-page-all-satellite .sat-table-orbit--heo,
.angkaxa-page-watchlist .sat-table-orbit--heo,
.angkaxa-page-all-groundstation .sat-table-orbit--heo{
  background: #7e57c2;
  color: #fff;
}
.angkaxa-page-all-satellite .sat-table-status,
.angkaxa-page-watchlist .sat-table-status,
.angkaxa-page-all-groundstation .sat-table-status{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-transform: lowercase;
}
.angkaxa-page-all-satellite .sat-table-status-dot,
.angkaxa-page-watchlist .sat-table-status-dot,
.angkaxa-page-all-groundstation .sat-table-status-dot{
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.angkaxa-page-all-satellite .sat-table-status--active .sat-table-status-dot,
.angkaxa-page-watchlist .sat-table-status--active .sat-table-status-dot,
.angkaxa-page-all-groundstation .sat-table-status--active .sat-table-status-dot{
  background: #00e676;
  box-shadow: 0 0 6px rgba(0, 230, 118, 0.65);
}
.angkaxa-page-all-satellite .sat-table-status--tracked .sat-table-status-dot,
.angkaxa-page-watchlist .sat-table-status--tracked .sat-table-status-dot,
.angkaxa-page-all-groundstation .sat-table-status--tracked .sat-table-status-dot{
  background: #40c4ff;
  box-shadow: 0 0 6px rgba(64, 196, 255, 0.55);
}
.angkaxa-page-all-satellite .sat-table-tle--fresh,
.angkaxa-page-watchlist .sat-table-tle--fresh,
.angkaxa-page-all-groundstation .sat-table-tle--fresh{
  color: #00e676;
}
.angkaxa-page-all-satellite .sat-table-tle--stale,
.angkaxa-page-watchlist .sat-table-tle--stale,
.angkaxa-page-all-groundstation .sat-table-tle--stale{
  color: #ffc107;
}
.angkaxa-page-all-satellite .sr-only,
.angkaxa-page-all-groundstation .sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 560px) {
  .angkaxa-page-all-satellite .satellite-table-search-panel,
.angkaxa-page-watchlist .satellite-table-search-panel,
  .angkaxa-page-all-satellite .satellite-table-frame,
.angkaxa-page-watchlist .satellite-table-frame,
.angkaxa-page-all-groundstation .satellite-table-search-panel,
.angkaxa-page-all-groundstation .satellite-table-frame{
    width: calc(100vw - 16px);
  }
  .angkaxa-page-all-satellite .sat-detail-host,
.angkaxa-page-all-groundstation .sat-detail-host{
    margin-top: 0;
  }
}

.filter-row-legend--threat {
  gap: 5px;
}
.legend-dot-starlink { background: #00e676; }
.legend-dot-gps { background: #ffea00; }
.legend-dot-weather { background: #2951f6; }
.legend-dot-communication { background: #9c27b0; }
.legend-dot-indonesia { background: #ffffff; }
.legend-dot-other { background: #767c7f; }
.legend-dot-ground { background: #1a7324; }
.legend-dot-military { background: #d50000; box-shadow: 0 0 6px rgba(213, 0, 0, 0.55); }
.legend-dot-threat-hostile,
.legend-dot-threat-enemy { background: #ff1744; box-shadow: 0 0 6px rgba(255, 23, 68, 0.8); }
.legend-dot-threat-dual-use { background: #ff9100; }
.legend-dot-threat-suspicious { background: #40c4ff; box-shadow: 0 0 6px rgba(64, 196, 255, 0.6); }
.filter-row-threat {
  margin-top: 10px;
  padding-top: 15px;
  border-top: 1px solid var(--border-subtle);
}
.threat-watchlist-section {
  margin-top: 8px;
  max-height: 220px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.watchlist-status-banner {
  margin-top: 10px;
  max-width: 420px;
  padding: 8px 12px;
  font-size: 11px;
  line-height: 1.45;
  text-align: center;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  background: rgba(7, 15, 40, 0.92);
  color: var(--text-main);
}
.watchlist-status-banner--hidden {
  display: none;
}
.watchlist-status-banner--ok {
  border-color: rgba(255, 23, 68, 0.5);
  box-shadow: 0 0 12px rgba(255, 23, 68, 0.2);
}
.watchlist-status-banner--warn {
  border-color: rgba(255, 234, 0, 0.45);
  color: #fff59d;
}
.watchlist-banner-btn {
  margin-top: 15px;
  padding: 7px 15px;
  font-size: 11px;
  font-family: inherit;
  cursor: pointer;
  border-radius: 3px;
  border: 1px solid rgba(255, 23, 68, 0.6);
  background: rgba(255, 23, 68, 0.2);
  color: #ffcdd2;
  vertical-align: middle;
}
.watchlist-banner-btn:hover {
  background: rgba(255, 23, 68, 0.35);
}
.watchlist-banner-btn--remove {
  border-color: rgba(144, 164, 174, 0.65);
  background: rgba(144, 164, 174, 0.15);
  color: #cfd8dc;
}
.watchlist-banner-btn--remove:hover {
  background: rgba(144, 164, 174, 0.3);
  border-color: #90a4ae;
}
.top-center-brand-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.threat-watchlist-panel {
  overflow-y: auto;
  max-height: 160px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.angkaxa-page-home .sidebar,
.angkaxa-page-watchlist .sidebar,
.angkaxa-page-indonesian-assets .sidebar,
.angkaxa-page-all-satellite .sidebar {
  overflow: hidden;
  min-height: 0;
}
.angkaxa-page-home .left-card-group,
.angkaxa-page-watchlist .left-card-group,
.angkaxa-page-indonesian-assets .left-card-group,
.angkaxa-page-all-satellite .left-card-group,
.angkaxa-page-all-groundstation .left-card-group {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  justify-content: flex-start;
}
.angkaxa-page-home .sidebar-controls .filters-group,
.angkaxa-page-all-satellite .sidebar-controls .filters-group {
  flex: 1 1 auto;
  overflow: hidden;
}

.angkaxa-page-watchlist .sidebar-controls .filters-group,
.angkaxa-page-indonesian-assets .sidebar-controls .filters-group {
  flex: 0 1 auto;
  max-height: min(28vh, 220px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.angkaxa-page-watchlist .sidebar-controls .filters-group > .section-title,
.angkaxa-page-indonesian-assets .sidebar-controls .filters-group > .section-title {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--bg-body);
  margin-bottom: 8px;
  padding-bottom: 2px;
}

.angkaxa-page-indonesian-assets .sidebar-controls {
  max-height: min(44vh, 320px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.angkaxa-page-indonesian-assets .sidebar-controls .filters-group {
  max-height: none;
  overflow: visible;
}

.angkaxa-page-indonesian-assets .sidebar-controls .section-title {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--bg-body);
  margin-bottom: 8px;
  padding-bottom: 2px;
}

.angkaxa-page-home .sidebar-controls,
.angkaxa-page-watchlist .sidebar-controls,
.angkaxa-page-indonesian-assets .sidebar-controls,
.angkaxa-page-all-satellite .sidebar-controls {
  flex: 0 1 auto;
  max-height: 46%;
  min-height: 0;
}

.angkaxa-page-home .satellite-list-section,
.angkaxa-page-all-satellite .satellite-list-section:not(.orbit-type-section) {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.angkaxa-page-all-satellite .orbit-type-section.satellite-list-section {
  display: flex;
  flex-direction: column;
}
.angkaxa-page-home .satellite-list-section .section-header,
.angkaxa-page-home .satellite-list-section .search-group,
.angkaxa-page-all-satellite .satellite-list-section .section-header,
.angkaxa-page-all-satellite .satellite-list-section .search-group {
  flex: 0 0 auto;
}
.angkaxa-page-home .satellite-list,
.angkaxa-page-all-satellite .satellite-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.angkaxa-page-indonesian-assets .indonesian-orbit-toggle-group {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}
.angkaxa-page-indonesian-assets .indonesian-orbit-toggle-group .section-title {
  margin-bottom: 8px;
}
.angkaxa-page-watchlist .satellite-list-section,
.angkaxa-page-indonesian-assets .satellite-list-section {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.angkaxa-page-watchlist .satellite-list-section .section-header,
.angkaxa-page-watchlist .satellite-list-section .search-group,
.angkaxa-page-indonesian-assets .satellite-list-section .section-header,
.angkaxa-page-indonesian-assets .satellite-list-section .search-group {
  flex: 0 0 auto;
}
.angkaxa-page-watchlist .satellite-list,
.angkaxa-page-indonesian-assets .satellite-list {
  flex: 1 1 auto;
  min-height: 120px;
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.threat-watchlist-empty {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
}
.threat-watchlist-item {
  padding: 6px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  background: rgba(8, 18, 48, 0.5);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.threat-watchlist-item:hover {
  border-color: var(--accent);
  background: rgba(64, 196, 255, 0.08);
}
.threat-watchlist-item-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.threat-level-badge {
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 2px 5px;
  border-radius: 3px;
  font-weight: 600;
}
.threat-level-hostile .threat-level-badge,
.threat-level-enemy .threat-level-badge { background: rgba(255, 23, 68, 0.25); color: #ff8a80; }
.threat-level-dualuse .threat-level-badge,
.threat-level-dual-use .threat-level-badge { background: rgba(255, 145, 0, 0.25); color: #ffcc80; }
.threat-level-suspicious .threat-level-badge { background: rgba(64, 196, 255, 0.2); color: #81d4fa; }
.threat-watchlist-status {
  font-size: 9px;
  color: var(--text-muted);
}
.threat-status-active { color: #69f0ae; }
.threat-watchlist-name {
  font-size: 11px;
  font-weight: 500;
}
.satellite-list .threat-watchlist-item {
  margin-bottom: 6px;
}
.satellite-list .threat-watchlist-item:last-child {
  margin-bottom: 0;
}
.threat-watchlist-matches {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 5px;
}
.threat-watchlist-match-chip {
  font-size: 9px;
  padding: 2px 5px;
  border-radius: 3px;
  background: rgba(64, 196, 255, 0.12);
  border: 1px solid rgba(64, 196, 255, 0.25);
  color: var(--text-main);
  line-height: 1.3;
}
.threat-watchlist-match-more {
  font-size: 9px;
  color: var(--text-muted);
  align-self: center;
}
.threat-watchlist-meta {
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 2px;
}
.threat-watchlist-notes {
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 4px;
  font-style: italic;
}
.satellite-item--threat {
  border-left: 0px ;
  padding-left: 0px;
}
.satellite-item--threat-hostile,
.satellite-item--threat-enemy { border-left-color: #ff1744; }
.satellite-item--threat-dual-use { border-left-color: #ff9100; }
.satellite-item--threat-suspicious { border-left-color: #40c4ff; }
.threat-list-badge {
  font-size: 9px;
  text-transform: uppercase;
  padding: 1px 4px;
  border-radius: 3px;
  vertical-align: middle;
}
.threat-list-badge.threat-level-hostile,
.threat-list-badge.threat-level-enemy { background: rgba(255, 23, 68, 0.35); color: #ffcdd2; }
.threat-list-badge.threat-level-dual-use { background: rgba(255, 145, 0, 0.35); color: #ffe0b2; }
.threat-list-badge.threat-level-suspicious { background: rgba(64, 196, 255, 0.25); color: #b3e5fc; }
.threat-list-badge.threat-level-military { background: rgba(213, 0, 0, 0.35); color: #ff8a80; }
.satellite-item--military { border-left-color: #d50000; }
.threat-detail-banner {
  margin-bottom: 10px;
  padding: 8px 10px;
  border-radius: var(--radius-sm);
  font-size: 11px;
  border: 1px solid;
}
.threat-detail-banner-label {
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 10px;
}
.threat-detail-banner-notes {
  margin-top: 6px;
  font-size: 11px;
  opacity: 0.9;
}
.threat-detail-banner.threat-level-hostile,
.threat-detail-banner.threat-level-enemy {
  border-color: rgba(255, 23, 68, 0.6);
  background: rgba(255, 23, 68, 0.12);
  color: #ff8a80;
}
.threat-detail-banner.threat-level-dual-use {
  border-color: rgba(255, 145, 0, 0.6);
  background: rgba(255, 145, 0, 0.12);
  color: #ffcc80;
}
.threat-detail-banner.threat-level-suspicious {
  border-color: rgba(64, 196, 255, 0.5);
  background: rgba(64, 196, 255, 0.1);
  color: #81d4fa;
}
.filter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 15px;
  font-size: 11px;
}
.filter-row > .pretty {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  margin-right: 0;
}

.filter-row label {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  position: static;
  padding-left: 0;
}

/* Kotak checkbox pretty-checkbox — selalu terlihat (bukan hanya ikon X saat aktif) */
.filter-row .pretty.p-icon .state label {
  text-indent: 22px;
  min-width: calc(16px + 8px);
  line-height: 16px;
  min-height: 16px;
  display: inline-flex;
  align-items: center;
}

.filter-row .pretty.p-icon .state label:before {
  display: block !important;
  opacity: 1 !important;
  top: 0 !important;
  left: 0 !important;
  width: 16px !important;
  height: 16px !important;
  border: 1px solid #fff !important;
  background: transparent !important;
  border-radius: 2px;
  box-sizing: border-box;
}

.filter-row .pretty.p-icon .state .icon {
  left: 0 !important;
  top: 0 !important;
  width: 16px !important;
  height: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  font-size: 10px;
  opacity: 0;
}

.filter-row .pretty.p-icon .state .icon:before {
  font-size: 10px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Hilangkan animasi rotate saja — warna mengikuti pretty-checkbox / override di bawah */
.filter-row .pretty.p-icon.p-rotate input:checked ~ .state .icon,
.filter-row .pretty.p-icon.p-rotate input:checked ~ .state label:before,
.filter-row .pretty.p-icon.p-rotate input:checked ~ .state label:after {
  animation: none !important;
  -webkit-animation: none !important;
}

.filter-row .pretty.p-icon input:checked ~ .state .icon {
  opacity: 1;
  color: #fff;
  -webkit-transform: none !important;
  transform: none !important;
}

.filter-row .pretty.p-icon.p-rotate input:checked ~ .state label:before {
  border-color: #42474a !important;
  background: transparent !important;
  opacity: 1 !important;
}

.filter-checkbox {
  margin: 0;
  cursor: pointer;
}
.satellite-list-section {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  margin-top: 0;
  /* We remove explicit padding: 0; here to rely on overlay-card padding */
  border-radius: 0;
  background: none;
  border: none;
  min-height: 0;
  padding-bottom: 30px !important;
  overflow: hidden; /* Tambahkan ini untuk memastikan konten dipotong dan scroll berfungsi */
}
.satellite-list {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
/* .satellite-item {
  padding: 6px 6px;
  border-radius: var(--radius-sm);
  margin-bottom: 3px;
  background: rgb(19 22 36 / 70%);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.08s ease;
} */
.satellite-item {
  padding: 6px 6px;
  margin-bottom: 3px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.08s ease;
}
.satellite-item:hover {
  background: rgb(19 22 36 / 70%);
  border-color: rgb(20 102 139 / 80%);
}
.satellite-item-name { font-size: 12px; font-weight: 500; }
.satellite-item-meta { font-size: 11px; color: var(--text-muted); }
.satellite-detail-section { margin-top: 6px; }
/* .detail-card {
  background: radial-gradient(circle at top left, #19233c 0%, #050814 60%);
  border-radius: var(--radius-md);
  padding: 8px 9px;
  min-width: 220px;
  border: 1px solid rgba(129, 212, 250, 0.3);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
} */
.detail-card {
  background: transparent;
  padding: 8px 9px;
  min-width: 220px;
}
.detail-title { font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.detail-subtitle { font-size: 11px; color: var(--text-muted); margin-bottom: 6px; }
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 15px;
  font-size: 12px;
  align-items: stretch;
}
.detail-label {
  color: var(--text-muted);
  display: flex;
  align-items: center;
  text-align: left;
}
.detail-value {
  color: rgb(129, 212, 250);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.detail-value--live {
  color: #b8e4ff;
  font-variant-numeric: tabular-nums;
}

.sat-camera-follow-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 15px;
  padding-top: 15px;
  border-top: 1px solid rgb(83 83 83 / 30%);
  font-size: 12px;
  color: var(--text-muted);
  cursor: pointer;
  user-select: none;
}

.sat-camera-follow-input {
  width: 14px;
  height: 14px;
  margin: 0;
  accent-color: #5eb8ff;
  cursor: pointer;
}

.sat-camera-follow-row span {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 600;
}

.detail-watchlist-actions {
  margin-top: 0;
  border-top: 1px solid rgb(83 83 83 / 30%);
}

.detail-watchlist-actions .watchlist-banner-btn {
  width: 100%;
}

.right-detail-overlay .detail-grid {
  position: relative;
  row-gap: 0;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.right-detail-overlay .detail-grid > .detail-label:not(:first-of-type),
.right-detail-overlay .detail-grid > .detail-label:not(:first-of-type) + .detail-value {
  position: relative;
  padding-top: 8px;
  padding-bottom: 8px;
}
.right-detail-overlay .detail-grid > .detail-label:first-of-type,
.right-detail-overlay .detail-grid > .detail-value:nth-child(2) {
  padding-bottom: 8px;
}
.right-detail-overlay .detail-grid > .detail-label:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(200% + 15px);
  border-top: 1px solid rgb(83 83 83 / 30%);
  pointer-events: none;
}
.right-detail-overlay .detail-grid + .detail-description {
  border-top: none;
  margin-top: 12px;
  padding-top: 15px;
}
.right-detail-overlay .detail-description + .detail-grid {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}
.detail-description {
  margin-top: 20px;
  font-size: 11px;
  padding-top: 15px;
  border-top: 1px solid var(--border-subtle);
}
.right-detail-overlay .detail-card--summary .detail-description {
  border-top: none;
  padding-top: 0;
}
.detail-description p {
  font-size: 11px;
  color: var(--text-main);
  margin: 4px 0 0;
  white-space: pre-wrap; /* For better handling of <br> replacements in JS */
}
.detail-watchlist-section .section-title {
  margin-bottom: 6px;
}

/* Home — spacer watchlist disembunyikan di tablet/mobile */
.angkaxa-page-home .home-watchlist-spacer,
.angkaxa-page-all-satellite .home-watchlist-spacer {
  display: none;
}
.angkaxa-page-all-satellite .home-watchlist-spacer {
  border-top: 0;
}

.detail-watchlist-panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 220px;
}
.detail-watchlist-item {
  width: 100%;
  text-align: right;
  cursor: pointer;
  appearance: none;
  font-family: inherit;
  color: inherit;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 5px 0px;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.detail-watchlist-item:hover {
  border-color: var(--accent);
  background: rgba(64, 196, 255, 0.08);
}
.detail-tle-lines {
  font-family: "Share Tech Mono", monospace, sans-serif;
  font-size: 10px;
  line-height: 1.45;
  word-break: break-all;
}
/* Lapisan UI vs frame dekoratif (frame di bawah overlay interaktif) */
:root {
  --angkaxa-frame-inset: 10px;
  --angkaxa-frame-corner-w: 300px;
  /* jarak overlay pojok kanan bawah dari tepi bawah layar */
  --angkaxa-bottom-right-gap: 40px;
  --z-angkaxa-frame: 900;
  --z-angkaxa-overlay: 1050;
  /* Selalu 10 di bawah overlay data — jangan set manual lebih tinggi dari overlay */
  --z-angkaxa-bottom-hud: calc(var(--z-angkaxa-overlay) - 10);
}

/* Urutan lapisan di .main (bawah → atas): frame → ticker → overlay data → popup → sidebar */
.main > .angkaxa-bottom-hud {
  z-index: var(--z-angkaxa-bottom-hud);
}

.main > .top-right-overlay,
.main > .bottom-right-overlay,
.main > .top-center-brand-overlay {
  z-index: var(--z-angkaxa-overlay);
}

.main {
  flex: 1;
  position: relative;
  background: var(--bg-body);
  overflow: hidden;
  min-height: 0;
  min-width: 0;
}
#map { width: 100%; height: 100%; }

.frame-container {
  z-index: var(--z-angkaxa-frame);
}

.top-right-overlay,
.bottom-right-overlay {
  position: absolute;
  right: var(--angkaxa-frame-inset);
  width: var(--angkaxa-frame-corner-w);
  padding: 30px 20px;
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: right;
  z-index: var(--z-angkaxa-overlay);
  pointer-events: none;
}

.top-right-overlay {
  top: var(--angkaxa-frame-inset);
  padding-bottom: 40px;
  pointer-events: none;
  max-height: calc(100vh - var(--angkaxa-frame-inset) * 2);
  overflow: hidden;
  min-height: 0;
}

.top-right-overlay > .map-style-toolbar,
.top-right-overlay > .overlay-card,
.top-right-overlay > #selected-layer-card,
.top-right-overlay > #mil-time-card,
.top-right-overlay > .right-detail-overlay,
.top-right-overlay > .ca-conjunctions-overlay,
.top-right-overlay > .satellite-info-overlay {
  pointer-events: auto;
}

.top-right-overlay > .map-style-toolbar,
.top-right-overlay > .overlay-card,
.top-right-overlay > #selected-layer-card,
.top-right-overlay > #mil-time-card {
  flex-shrink: 0;
}

#multi-select-list-container {
  z-index: 10;
  max-width: 300px;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#multi-select-list-container:has(.detail-card[data-overlay-sat-id]) {
  flex: 0 1 auto;
  overflow: visible;
}

#satellite-info-detail-card:has(.detail-card[data-overlay-sat-id]),
#satellite-info-detail-card:has(.detail-card[data-overlay-ground-station]) {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

#satellite-info-detail-card {
  margin-top: 10px;
  z-index: 10;
  max-width: 300px;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#primary-detail-container,
#satellite-detail-container,
.right-detail-overlay .satellite-detail {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.right-detail-overlay {
  overscroll-behavior: none;
}

.right-detail-overlay .detail-card {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.right-detail-overlay .detail-card--summary {
  flex: 1 1 auto;
  overflow: hidden;
}

.right-detail-overlay .detail-card--summary > .section-title,
.right-detail-overlay .detail-card--summary > .detail-grid,
.right-detail-overlay .detail-card--summary > .detail-description:not(.detail-watchlist-section),
.right-detail-overlay .detail-card--summary > .home-watchlist-spacer {
  flex-shrink: 0;
}

.right-detail-overlay .detail-watchlist-section {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.right-detail-overlay .detail-watchlist-section > .section-title {
  flex-shrink: 0;
}

.right-detail-overlay .detail-card:not(.detail-card--summary) {
  flex: 1 1 auto;
  min-height: 0;
  max-height: min(36vh, 300px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.right-detail-overlay .detail-card[data-overlay-sat-id],
.right-detail-overlay .detail-card[data-overlay-ground-station] {
  flex: 0 1 auto;
  max-height: none;
  overflow: visible;
}

#satellite-info-detail-card .detail-card:not(.detail-card--summary) {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.right-detail-overlay .detail-card:not(.detail-card--summary) > .detail-title,
.right-detail-overlay .detail-card:not(.detail-card--summary) > .section-title {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--bg-body);
  padding-bottom: 4px;
  margin-bottom: 6px;
}

/* Pojok kanan bawah — 20px dari bawah, di atas frame (z-index) */
.bottom-right-overlay {
  bottom: var(--angkaxa-bottom-right-gap);
  padding-top: 0;
  padding-bottom: 0;
  align-items: flex-end;
  pointer-events: auto;
  display: none;
}

.bottom-right-overlay .overlay-card {
  pointer-events: auto;
}

.right-detail-overlay .satellite-detail-section {
  /* Remove sidebar-specific styling */
  margin-top: 0; 
  padding: 0;
  min-width: 300px;
}
/* .overlay-card {
  padding: 10px 12px;
  backdrop-filter: blur(10px);
  background: radial-gradient(circle at top left, #19233c 0%, #050814 60%);
  border-radius: var(--radius-md);
  min-width: 220px;
  border: 1px solid rgba(129, 212, 250, 0.3);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
} */
.overlay-card {
  padding: 5px 10px;
  background: transparent;
  min-width: 220px;
}
.overlay-row { display: flex; justify-content: space-between; align-items: center; font-size: 11px; color: var(--text-muted); }
.overlay-row span:last-child { color: var(--text-main); }
#view-mode {
  background: #050814;
  color: var(--text-main);
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  font-size: 11px;
  padding: 2px 4px;
}
/* Layer Toggle Button */
.layer-toggle-btn {
  background: transparent;
  border: 1px solid #40c4ff;
  color: var(--text-muted);
  font-size: 11px;
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 60px;
}

.layer-toggle-btn.active {
  background: var(--accent);
  color: #050814;
  border-color: var(--accent);
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(64, 196, 255, 0.4);
}

.layer-toggle-btn:not(.active):hover {
  border-color: var(--accent);
  color: var(--accent);
}

.detail-item.active {
    background: rgba(22, 35, 80, 0.95);
    border-color: rgba(64, 196, 255, 0.8);
    box-shadow: 0 0 5px rgba(64, 196, 255, 0.5);
}

/* Ensure list items display flex for delete button spacing */
.detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sat-tooltip {
  position: absolute;
  pointer-events: none;
  background: rgba(10, 19, 43, 0.96);
  color: #e3f2fd;
  border-radius: 6px;
  padding: 6px 8px;
  font-size: 11px;
  border: 1px solid rgba(129, 212, 250, 0.6);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.75);
  z-index: 20;
  max-width: 260px;
}
.sat-tooltip-title { font-weight: 600; margin-bottom: 2px; }
.sat-tooltip-meta { color: var(--text-muted); line-height: 1.45; }

/* Tooltip TCA — wrapper tipis; panel pakai gaya footprint-popup-modal */
#sat-tooltip.sat-tooltip--tca {
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  max-width: min(320px, 92vw);
  overflow: visible;
}

#sat-tooltip.sat-tooltip--aoi-target {
  border-color: rgba(255, 138, 128, 0.75);
  max-width: 300px;
}
#sat-tooltip.sat-tooltip--aoi-target .sat-tooltip-title {
  color: #ff8a80;
}

/* Zoom Controls */
.zoom-controls {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-lg);
  background: var(--bg-overlay);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(10px);
  overflow: hidden;
}

.zoom-controls button {
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  color: var(--text-main);
  font-size: 20px;
  font-weight: 300;
  cursor: pointer;
  transition: background 0.15s ease;
}

.zoom-controls button:hover {
  background: rgba(64, 196, 255, 0.2);
}

.zoom-controls button:active {
  background: rgba(64, 196, 255, 0.4);
}

.zoom-controls button:first-child {
  border-bottom: 1px solid var(--border-subtle);
}

/* Custom Cesium Overrides to hide bottom bar */
#cesium-viewer-bottom,
.cesium-viewer-bottom,
.cesium-widget-credits {
  display: none !important;
  visibility: hidden !important;
}

/* --- Ground Station Detail Bar --- */
.success-bar-container {
  height: 8px;
  width: 100%;
  background-color: #f44336;
  border-radius: 4px;
  overflow: hidden;
}

.success-bar {
  height: 100%;
  background-color: #4CAF50;
  transition: width 0.5s ease-out;
}

/* Custom Cesium Toolbar Positioning for Home Button */
/* Reposition the entire toolbar to the right of the sidebar, enabling horizontal flow */
.cesium-viewer-toolbar {
    display: flex; /* Allows horizontal alignment */
    flex-direction: row;
    gap: 8px; /* Spacing between buttons */
    position: absolute;
    top: 10px;
    left: 310px; /* Positioned to the right of the 300px sidebar area */
}

/* Selected Layer List Styling */
.detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 6px;
    border-radius: var(--radius-sm);
    margin-bottom: 3px;
    background: rgb(19 22 36 / 70%);
    border: 1px solid transparent;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.detail-item:hover {
    background: rgb(19 22 36 / 70%);
    border-color: rgb(20 102 139 / 80%);
}

.satellite-info-group {
    flex-grow: 1;
    cursor: default;
}

.delete-layer-btn {
    font-size: 10px;
    font-weight: 700;
    color: var(--text-muted);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 2px 6px;
    margin-left: 8px;
    border-radius: var(--radius-sm);
    transition: all 0.15s ease;
}

.delete-layer-btn:hover {
    color: #ff4081;
    background: rgba(255, 64, 129, 0.1);
}

.no-bs-st{
  background: transparent;
  border: none;
}

.cesium-home-button{
  /* Ensures proper flow within the flex container */
  position: static;
  margin: 0;
  /* Explicitly setting dimensions often fixes internal rendering issues after position reset */
  width: 32px;
  height: 32px;
  border: none;
}
.cesium-home-button .home-button-icon {
  position: static;
  display: block;
  width: 24px;
  height: 24px;
  padding: 0;
  margin: auto;
  object-fit: contain;
  border-radius: 0;
  margin-left: -1px;
  transform: translateY(5px);
}

#angkaxa-fullscreen-button {
  position: fixed;
  top: var(--angkaxa-frame-inset);
  /* nempel di garis kiri frame-top-right:
     frame berada di right: inset dan lebarnya --angkaxa-frame-corner-w */
  right: calc(var(--angkaxa-frame-inset) + var(--angkaxa-frame-corner-w));
  z-index: var(--z-angkaxa-overlay);
  pointer-events: auto;
  margin: 0;
  width: 32px;
  height: 32px;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 7px;
  margin-right: -5px;
}

#angkaxa-fullscreen-button i[class^="ri-"],
#angkaxa-fullscreen-button i[class*=" ri-"] {
  font-family: remixicon, sans-serif;
  font-size: 22px;
  line-height: 1;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
}

#angkaxa-fullscreen-button.angkaxa-fullscreen--active {
  border-color: rgb(20 102 139 / 80%) !important;
  background: rgb(19 22 36 / 70%) !important;
}

/* Map-style toolbar — tombol layer selalu bulat (hindari race CSS loader vs Cesium widgets) */
.map-style-toolbar .type-map {
  border: 1px solid #545454;
  border-radius: 50%;
  overflow: hidden;
  width: 38px;
  height: 38px;
  min-width: 38px;
  min-height: 38px;
  padding: 0;
  margin: 2px 3px;
  left: 0;
  top: 0;
  box-sizing: border-box;
}

.map-style-toolbar .type-map img,
.map-style-toolbar .type-map .cesium-baseLayerPicker-selected {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border-radius: 50% !important;
  object-fit: cover;
  padding: 0 !important;
  margin: 0;
  border: none;
  box-sizing: border-box;
}

/* Map-style toolbar buttons (Angkasa/ArcGIS/OSM/2D-3D):
   make selected + hover border white solid. */
.map-style-toolbar .type-map.active,
.map-style-toolbar .type-map:hover,
.map-style-toolbar .type-map:focus-visible {
  border-color: #ffffff !important;
}
.map-style-toolbar .type-map.active:hover {
  border-color: #ffffff !important;
}

/* 2D/3D icon — tetap bulat, SVG di dalam dengan padding */
#toggle-2d-3d-button .cesium-baseLayerPicker-selected,
#toggle-2d-3d-button #toggle-2d-3d-icon {
  object-fit: contain !important;
  border-radius: 50% !important;
}
#toggle-2d-3d-button.active #toggle-2d-3d-icon {
  padding: 6px !important;
}
#toggle-2d-3d-button:not(.active) #toggle-2d-3d-icon {
  padding: 3px !important;
}
.cesium-button:hover {
    border-color: transparent !important;
    box-shadow: none !important;
    background: rtransparent !important;
}


.cesium-button:focus {
  border-color: transparent !important;
  background: transparent;
}
.cesium-svgPath-svg {
    padding: 3px;
    width: 32px;
    height: 32px;
  }

  /* Hide fullscreen button */
  .cesium-viewer-fullscreenContainer {
      display: none !important;
  }
/* Hanya tablet sentuh — jangan picu di desktop (hover + pointer halus) */
@media (min-width: 768px) and (max-width: 1366px) and (hover: none) and (pointer: coarse),
  (hover: none) and (pointer: coarse) and (min-width: 768px) {
  .sidebar {
    top: 10px;
    height: calc(100vh - 75px);
    min-height: 0;
    padding: 18px 24px;
    overflow: hidden;
  }

  .left-card-group {
    flex: 1 1 0;
    justify-content: flex-start;
    gap: 8px;
    overflow: hidden;
    min-height: 0;
  }

  /* Home / All Satellite: filter kategori scroll; Threat Watchlist tetap terlihat di bawah */
  .angkaxa-page-home .sidebar-controls,
  .angkaxa-page-all-satellite .sidebar-controls {
    flex: 0 1 auto;
    max-height: 46%;
    min-height: 0;
    overflow: hidden;
    position: relative;
    z-index: 2;
  }

  .angkaxa-page-home .sidebar-controls .filters-group,
  .angkaxa-page-all-satellite .sidebar-controls .filters-group {
    display: flex;
    flex-direction: column;
    flex: 0 1 auto;
    min-height: 0;
  }

  .angkaxa-page-home .sidebar-controls .filters-list,
  .angkaxa-page-all-satellite .sidebar-controls .filters-list {
    flex: 0 1 auto;
    max-height: min(32vh, 260px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .angkaxa-page-home .sidebar-controls .filter-row-threat,
  .angkaxa-page-all-satellite .sidebar-controls .filter-row-threat {
    flex: 0 0 auto;
    margin-top: 8px;
    padding-top: 10px;
  }

  .filter-row {
    margin-bottom: 12px;
  }

  .filter-row > .pretty {
    font-size: 13px;
  }

  .angkaxa-page-home .filter-row,
  .angkaxa-page-all-satellite .filter-row {
    margin-bottom: 10px;
  }

  .satellite-list-section,
  .angkaxa-page-home .satellite-list-section,
  .angkaxa-page-all-satellite .satellite-list-section:not(.orbit-type-section),
  .angkaxa-page-watchlist .satellite-list-section,
  .angkaxa-page-indonesian-assets .satellite-list-section {
    padding-bottom: 0 !important;
    flex: 1 1 0;
    min-height: 0;
    overflow: hidden;
  }

  .angkaxa-page-all-satellite .orbit-type-section.satellite-list-section {
    flex: 0 0 auto;
    min-height: auto;
    overflow: visible;
  }

  .angkaxa-page-all-satellite .orbit-type-filters {
    overflow: visible;
    max-height: none;
  }

  .satellite-list,
  .angkaxa-page-home .satellite-list,
  .angkaxa-page-all-satellite .satellite-list,
  .angkaxa-page-watchlist .satellite-list,
  .angkaxa-page-indonesian-assets .satellite-list {
    --satellite-list-visible-rows: 5;
    --satellite-list-row-height: 44px;
    max-height: calc(
      var(--satellite-list-visible-rows) * var(--satellite-list-row-height)
    );
    flex: 0 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .satellite-list .satellite-item {
    min-height: var(--satellite-list-row-height);
    box-sizing: border-box;
    margin-bottom: 0;
  }

  .angkaxa-page-watchlist .satellite-list {
    --satellite-list-visible-rows: 7;
    --satellite-list-row-height: 52px;
  }

  .angkaxa-page-indonesian-assets .satellite-list {
    --satellite-list-visible-rows: 6;
    --satellite-list-row-height: 44px;
  }

  .satellite-list .threat-watchlist-item {
    min-height: var(--satellite-list-row-height);
    box-sizing: border-box;
    margin-bottom: 0;
  }

  /* Samakan desktop (24px); 100px membuat area kosong besar di bawah daftar */
  .angkaxa-page-home .sidebar,
  .angkaxa-page-watchlist .sidebar,
  .angkaxa-page-indonesian-assets .sidebar,
  .angkaxa-page-all-satellite .sidebar {
    z-index: var(--z-angkaxa-sidebar, 1120);
    padding-bottom: 24px;
  }

  .tablet-hidden-tle-description {
    display: none;
  }

  /* Watchlist detail: muat ±4 baris agar tidak menabrak HUD bawah */
  .detail-watchlist-panel,
  .right-detail-overlay .detail-watchlist-panel {
    --detail-watchlist-row-height: 42px;
    max-height: calc(4 * var(--detail-watchlist-row-height));
  }

  .detail-watchlist-item {
    min-height: var(--detail-watchlist-row-height);
    flex-shrink: 0;
    box-sizing: border-box;
  }

  .cesium-home-button {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
  }

  .cesium-home-button .home-button-icon {
    width: 22px;
    height: 22px;
    margin-left: -3px;
    transform: translateY(7px);
  }
}

/* Desktop — layar lebar atau mouse (selaras styles-angkaxa-hud.css) */
@media (min-width: 1367px), (hover: hover) and (pointer: fine) {
  .sidebar {
    top: auto;
    height: 100%;
    max-height: 100vh;
    padding: 30px;
  }

  .angkaxa-page-home .sidebar-controls .filters-list {
    max-height: min(30vh, 240px);
  }

  .right-detail-overlay .detail-watchlist-panel {
    max-height: min(28vh, 220px);
  }

  .angkaxa-page-watchlist .sidebar,
  .angkaxa-page-indonesian-assets .sidebar {
    padding-bottom: 24px;
  }

  .angkaxa-page-watchlist .satellite-list-section,
  .angkaxa-page-indonesian-assets .satellite-list-section {
    padding-bottom: 30px !important;
  }

  .angkaxa-page-watchlist .satellite-list,
  .angkaxa-page-indonesian-assets .satellite-list {
    min-height: 120px;
    flex: 1 1 auto;
    max-height: none;
  }

  /* Home — spacer di atas Threat Watchlist (overlay kanan) */
  .angkaxa-page-home .home-watchlist-spacer,
  .angkaxa-page-all-satellite .home-watchlist-spacer {
    display: block;
    margin-top: 14px;
    padding-top: 14px;
  }

  .angkaxa-page-home .home-watchlist-spacer {
    border-top: 1px solid var(--border-subtle);
  }

  .angkaxa-page-all-satellite .home-watchlist-spacer {
    border-top: 0;
  }

  .angkaxa-page-home .detail-watchlist-section.detail-description,
  .angkaxa-page-all-satellite .detail-watchlist-section.detail-description {
    border-top: none;
    margin-top: 0;
    padding-top: 10px;
  }

  .angkaxa-page-indonesian-assets .indonesian-pass-coverage-spacer {
    display: block;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border-subtle);
  }

  .angkaxa-page-all-satellite .main-content-view--table,
.angkaxa-page-all-groundstation .main-content-view--table,
.angkaxa-page-watchlist .main-content-view--table{
    padding: 0 14px;
  }
  .angkaxa-page-all-satellite .satellite-table-search-panel,
.angkaxa-page-watchlist .satellite-table-search-panel,
  .angkaxa-page-all-satellite .satellite-table-frame,
.angkaxa-page-watchlist .satellite-table-frame,
.angkaxa-page-all-groundstation .satellite-table-search-panel,
.angkaxa-page-all-groundstation .satellite-table-frame{
    width: min(800px, calc(100vw - 32px));
  }
  .angkaxa-page-all-satellite .satellite-catalog-table,
.angkaxa-page-watchlist .satellite-catalog-table,
.angkaxa-page-all-groundstation .satellite-catalog-table{
    font-size: 12px;
  }
  .angkaxa-page-all-satellite .satellite-catalog-table th,
.angkaxa-page-watchlist .satellite-catalog-table th,
  .angkaxa-page-all-satellite .satellite-catalog-table td,
.angkaxa-page-watchlist .satellite-catalog-table td,
.angkaxa-page-all-groundstation .satellite-catalog-table th,
.angkaxa-page-all-groundstation .satellite-catalog-table td{
    padding: 10px 7px;
  }
}

/* Threat watchlist / AOI monitor — sembunyikan toggle layer multi-select */
.angkaxa-page-watchlist #selected-layer-card,
.angkaxa-page-aoi-monitor #selected-layer-card {
  display: none !important;
}

/* —— Threat watchlist: data operasi militer (panel kanan, ganti Active Watchlist) —— */
.angkaxa-page-watchlist .detail-military-section.military-data-overlay {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  text-align: left;
}

.angkaxa-page-watchlist .detail-military-section .section-title {
  margin-bottom: 8px;
}

.angkaxa-page-watchlist .military-overlay-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: visible;
}

.angkaxa-page-watchlist .detail-military-section .military-overlay-card,
.angkaxa-page-watchlist .military-data-overlay .military-overlay-card {
  background: transparent;
  border: none;
  border-radius: var(--radius-md);
  padding: 10px 0;
}

.angkaxa-page-watchlist .right-detail-overlay .detail-military-section .overlay-row {
  justify-content: space-between;
  gap: 8px;
  margin: 8px 0;
}

.angkaxa-page-watchlist .right-detail-overlay .detail-military-section .overlay-row span:last-child {
  text-align: right;
  flex-shrink: 0;
  color: rgb(129, 212, 250);
}

.angkaxa-page-watchlist .overlay-row span:last-child {
  color: rgb(129, 212, 250);
}

/* AOI Monitor — overlay pertahanan ruang angkasa (panel kanan) */
.angkaxa-page-aoi-monitor .detail-military-section.military-data-overlay {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  text-align: left;
}

.angkaxa-page-aoi-monitor .detail-military-section .section-title {
  margin-bottom: 8px;
}

.angkaxa-page-aoi-monitor .military-overlay-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: visible;
}

.angkaxa-page-aoi-monitor .detail-military-section .military-overlay-card,
.angkaxa-page-aoi-monitor .military-data-overlay .military-overlay-card {
  background: transparent;
  border: none;
  border-radius: var(--radius-md);
  padding: 10px 0;
}

.angkaxa-page-aoi-monitor .right-detail-overlay .detail-military-section .overlay-row {
  justify-content: space-between;
  gap: 8px;
  margin: 8px 0;
}

.angkaxa-page-aoi-monitor .right-detail-overlay .detail-military-section .overlay-row span:last-child {
  text-align: right;
  flex-shrink: 0;
  color: rgb(129, 212, 250);
}

.angkaxa-page-aoi-monitor .overlay-row span:last-child {
  color: rgb(129, 212, 250);
}

.mil-overlay-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border-subtle);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #ffffff;
  font-weight: 600;
}

.mil-overlay-title__icon {
  font-size: 15px;
  line-height: 1;
  color: #ffffff;
  flex-shrink: 0;
}

.mil-overlay-title__text {
  flex: 1;
  min-width: 0;
}

.mil-metric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 6px;
}

.mil-metric {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 12px;
  gap: 6px;
}

.mil-metric-label {
  color: var(--text-muted);
}

.mil-metric-value {
  color: var(--text-main);
  font-weight: 600;
  text-align: right;
}

.mil-metric-value--hostile { color: #ff1744; }
.mil-metric-value--dual { color: #ff9100; }
.mil-metric-value--suspicious { color: #40c4ff; }

.mil-country-grid {
  margin-bottom: 0;
  border-top: 1px solid var(--border-subtle);
  padding-top: 8px;
}

.mil-metric--span-2 {
  grid-column: 1 / -1;
}

.overlay-row--sub {
  font-size: 12px;
  opacity: 0.92;
}

.overlay-row--sub span:first-child {
  color: var(--text-muted);
}

.mb-10{
  margin-bottom: 10px;
}
.mb-20{
  margin-bottom: 20px;
}

/* Indonesian assets — pass & coverage panel (overlay kanan) */
.angkaxa-page-indonesian-assets .indonesian-pass-coverage-spacer {
  display: none;
}

.angkaxa-page-indonesian-assets .indonesian-pass-coverage {
  margin-top: 10px;
  padding-top: 10px;
}

.angkaxa-page-indonesian-assets .indonesian-pass-coverage .section-title {
  margin-bottom: 15px;
}

.angkaxa-page-indonesian-assets .indonesian-pass-coverage .detail-value--live {
  color: #81d4fa;
}

.angkaxa-page-indonesian-assets .detail-value-online {
  color: rgb(129, 212, 250);
}

/* All Ground Station — layout catalog (mirror All Satellite) */
.angkaxa-page-all-groundstation .left-card-group {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  justify-content: flex-start;
  gap: 12px;
}
.angkaxa-page-all-groundstation .sidebar-controls .filters-group {
  flex: 0 0 auto;
  overflow: visible;
}
.angkaxa-page-all-groundstation .sidebar-controls {
  flex: 0 0 auto;
  max-height: none;
  min-height: 0;
}
.angkaxa-page-all-groundstation .gs-filter-section {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
  display: flex;
  flex-direction: column;
}
.angkaxa-page-all-groundstation .gs-filter-section .section-header,
.angkaxa-page-all-groundstation .sidebar-controls .filters-group > .section-title {
  flex: 0 0 auto;
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--bg-body);
  margin-bottom: 4px;
  padding-bottom: 2px;
}
.angkaxa-page-all-groundstation .gs-status-filters,
.angkaxa-page-all-groundstation .gs-band-filters,
.angkaxa-page-all-groundstation .gs-antenna-filters {
  flex: 0 0 auto;
  overflow: visible;
  max-height: none;
  padding-top: 4px;
}
.angkaxa-page-all-groundstation .gs-status-filters .filter-row,
.angkaxa-page-all-groundstation .gs-band-filters .filter-row,
.angkaxa-page-all-groundstation .gs-antenna-filters .filter-row {
  margin-bottom: 15px;
}
.angkaxa-page-all-groundstation .gs-status-filters .filter-row:last-child,
.angkaxa-page-all-groundstation .gs-band-filters .filter-row:last-child,
.angkaxa-page-all-groundstation .gs-antenna-filters .filter-row:last-child {
  margin-bottom: 0;
}

.angkaxa-page-all-groundstation .sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.angkaxa-page-all-groundstation .top-center-brand-overlay {
  z-index: calc(var(--z-angkaxa-overlay) + 2);
  pointer-events: auto;
}
.angkaxa-page-all-groundstation .main-content-tabs {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 14px;
  padding: 3px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  background: transparent;
}
.angkaxa-page-all-groundstation .main-content-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  font-family: inherit;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
  transition: color 0.15s, background 0.15s, border-color 0.15s;
}
.angkaxa-page-all-groundstation .main-content-tab i {
  font-size: 14px;
}
.angkaxa-page-all-groundstation .main-content-tab:hover {
  color: var(--text-main);
  background: rgba(64, 196, 255, 0.08);
}
.angkaxa-page-all-groundstation .main-content-tab--active {
  color: #ffe082;
  background: rgba(255, 193, 7, 0.12);
  border-color: rgba(255, 193, 7, 0.35);
}
.angkaxa-page-all-groundstation .main-content-view {
  position: absolute;
  inset: 0;
}
.angkaxa-page-all-groundstation .main-content-view--globe {
  z-index: 1;
}
.angkaxa-page-all-groundstation .main-content-view--table {
  z-index: 2;
  display: none;
  flex-direction: column;
  align-items: center;
  min-height: 0;
  background: rgba(2, 6, 18, 0.98);
  inset: auto;
  top: var(--sat-table-layout-top, 123px);
  bottom: var(--sat-table-layout-bottom, 90px);
  left: 0;
  right: 0;
  padding: 0 20px;
  overflow: hidden;
}
.angkaxa-page-all-groundstation.angkaxa-view-table #map,
.angkaxa-page-all-groundstation.angkaxa-view-table #sat-tooltip,
.angkaxa-page-all-groundstation.angkaxa-view-table #sat-view-details-btn {
  visibility: hidden;
  pointer-events: none;
}
.angkaxa-page-all-groundstation.angkaxa-view-table .map-style-toolbar {
  visibility: visible;
  pointer-events: auto;
}
.angkaxa-page-all-groundstation.angkaxa-view-table .main-content-view--table {
  display: flex;
}
.angkaxa-page-all-groundstation .detail-card--recently-launched {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}
.angkaxa-page-all-groundstation .recently-launched-panel {
  --recently-launched-row-height: 44px;
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: calc(5 * var(--recently-launched-row-height));
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.angkaxa-page-all-groundstation .recently-launched-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: var(--recently-launched-row-height);
  box-sizing: border-box;
  text-align: left;
  cursor: pointer;
  appearance: none;
  font-family: inherit;
  color: inherit;
  border: 0;
  border-bottom: 1px solid rgba(83, 83, 83, 0.3);
  border-radius: 0;
  background: transparent;
  padding: 6px 0;
  transition: background 0.15s ease;
}
.angkaxa-page-all-groundstation .recently-launched-item:last-child {
  border-bottom: none;
}
.angkaxa-page-all-groundstation .recently-launched-item:hover {
  background: rgba(64, 196, 255, 0.08);
}
.angkaxa-page-all-groundstation .recently-launched-item-name {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  text-align: right;
}
.angkaxa-page-all-groundstation .recently-launched-item-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 8px;
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
}
.angkaxa-page-all-groundstation .gs-last-seen,
.angkaxa-page-all-groundstation .gs-table-last-seen,
.angkaxa-page-all-groundstation .detail-value-last-seen {
  color: #81d4fa;
}
.angkaxa-page-all-groundstation .recently-launched-empty {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
}
.angkaxa-page-all-groundstation .detail-card--recently-launched .detail-watchlist-section {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}
.angkaxa-page-all-groundstation .detail-card--recently-launched .detail-watchlist-panel {
  flex: 1 1 auto;
  min-height: 0;
  max-height: 220px;
  overflow-y: auto;
}

@media (max-width: 900px) {
  .angkaxa-page-all-groundstation .left-card-group {
    max-height: min(52vh, 420px);
  }
  .angkaxa-page-all-groundstation .main-content-view--table {
    padding: 0 10px;
  }
}

.mb-10{
  margin-bottom: 10px;
}
.mb-15{
  margin-bottom: 15px;
}
.mb-20{
  margin-bottom: 20px;
}

/* ── Pass Prediction page ── */
.angkaxa-page-pass-prediction .pass-prediction-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-pass-prediction .pass-prediction-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-pass-prediction .pass-prediction-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-pass-prediction .pass-observer-coords {
  font-size: 11px;
  color: #81d4fa;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
}
.angkaxa-page-pass-prediction .pass-criteria-fields {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.angkaxa-page-pass-prediction .pass-upcoming-overlay {
  display: block;
}
.angkaxa-page-pass-prediction .detail-card--pass-upcoming {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.angkaxa-page-pass-prediction .pass-upcoming-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 240px;
  overflow-y: auto;
  margin-top: 8px;
}
.angkaxa-page-pass-prediction .pass-upcoming-empty,
.angkaxa-page-pass-prediction .pass-table-empty {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
}
.angkaxa-page-pass-prediction .pass-upcoming-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-pass-prediction .pass-upcoming-item:hover {
  background: rgba(0, 229, 255, 0.08);
  border-color: rgba(0, 229, 255, 0.35);
}
.angkaxa-page-pass-prediction .pass-upcoming-item--active {
  background: rgba(0, 229, 255, 0.12);
  border-color: rgba(0, 229, 255, 0.55);
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.15);
}
.angkaxa-page-pass-prediction .pass-upcoming-item--active.pass-upcoming-item--in-pass {
  animation: angkaxa-dynamic-card-pulse 2.35s ease-in-out infinite,
    angkaxa-dynamic-card-pulse 3.15s ease-in-out infinite reverse;
}
.angkaxa-page-pass-prediction .pass-upcoming-item-sim {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  font-size: 10px;
  color: #00e5ff;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.angkaxa-page-pass-prediction .pass-sim-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 0;
  padding: 6px 8px;
  border-radius: 4px;
  background: rgba(255, 213, 79, 0.1);
  border: 1px solid rgba(255, 213, 79, 0.35);
}
.angkaxa-page-pass-prediction .pass-sim-bar[hidden] {
  display: none !important;
}
.angkaxa-page-pass-prediction .pass-sim-bar--idle {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--border-subtle);
}
.angkaxa-page-pass-prediction .pass-sim-bar--idle .pass-sim-bar-badge {
  color: #81d4fa;
  border-color: rgba(129, 212, 250, 0.45);
}
.angkaxa-page-pass-prediction .pass-sim-bar--idle .pass-sim-bar-time {
  color: var(--text-muted);
  font-size: 10px;
}
.angkaxa-page-pass-prediction .pass-sim-bar-badge {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #ffd54f;
  padding: 2px 6px;
  border: 1px solid rgba(255, 213, 79, 0.45);
  border-radius: 3px;
}
.angkaxa-page-pass-prediction .pass-sim-bar-time {
  flex: 1;
  font-family: "Share Tech Mono", monospace;
  font-size: 11px;
  color: #fff;
}
.angkaxa-page-pass-prediction .pass-sim-bar-stop {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  font-family: inherit;
  font-size: 10px;
  color: #ffd54f;
  background: transparent;
  border: 1px solid rgba(255, 213, 79, 0.4);
  border-radius: 3px;
  cursor: pointer;
}
.angkaxa-page-pass-prediction .pass-sim-bar-stop:hover {
  background: rgba(255, 213, 79, 0.12);
}
.angkaxa-page-pass-prediction .pass-upcoming-item-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.angkaxa-page-pass-prediction .pass-upcoming-item-name-row .pass-upcoming-item-name {
  flex: 1;
  min-width: 0;
}
.angkaxa-page-pass-prediction .pass-upcoming-threat-badge {
  flex-shrink: 0;
  font-size: 8px;
  letter-spacing: 0.05em;
}
.angkaxa-page-pass-prediction .pass-upcoming-item--threat {
  border-left-width: 2px;
}
.angkaxa-page-pass-prediction .pass-upcoming-item--threat-hostile,
.angkaxa-page-pass-prediction .pass-upcoming-item--threat-enemy {
  border-left-color: #ff1744;
}
.angkaxa-page-pass-prediction .pass-upcoming-item--threat-dual-use,
.angkaxa-page-pass-prediction .pass-upcoming-item--threat-dualuse {
  border-left-color: #ff9100;
}
.angkaxa-page-pass-prediction .pass-upcoming-item--threat-suspicious {
  border-left-color: #40c4ff;
}
.angkaxa-page-pass-prediction .pass-upcoming-item-details-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.angkaxa-page-pass-prediction .pass-upcoming-item-aos {
  color: #fff;
  font-family: "Share Tech Mono", monospace;
  flex: 1;
  min-width: 0;
}
.angkaxa-page-pass-prediction .pass-upcoming-item-name {
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  margin-bottom: 3px;
}
.angkaxa-page-pass-prediction .pass-upcoming-item--catalog .pass-upcoming-item-aos {
  font-size: 10px;
}
.angkaxa-page-pass-prediction .pass-upcoming-item-meta {
  color: var(--text-muted);
  font-size: 10px;
  flex-shrink: 0;
  text-align: right;
  white-space: nowrap;
}
.angkaxa-page-pass-prediction .pass-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.angkaxa-page-pass-prediction .pass-status-badge--beta {
  color: #ffd54f;
  border: 1px solid rgba(255, 213, 79, 0.45);
  background: rgba(255, 213, 79, 0.08);
}
.angkaxa-page-pass-prediction .pass-summary-hint {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.45;
}
.angkaxa-page-pass-prediction .pass-summary-hint i {
  color: #81d4fa;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}
.angkaxa-page-pass-prediction .pass-live-grid,
.angkaxa-page-pass-prediction .pass-next-grid {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border-subtle);
}
.angkaxa-page-pass-prediction .pass-no-pass-msg {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--border-subtle);
}
.angkaxa-page-pass-prediction.angkaxa-view-table #map,
.angkaxa-page-pass-prediction.angkaxa-view-table #sat-tooltip,
.angkaxa-page-pass-prediction.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-pass-prediction.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-pass-prediction.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
.angkaxa-page-pass-prediction .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.angkaxa-page-pass-prediction .sidebar {
  overflow-y: auto;
}
.angkaxa-page-pass-prediction #satellite-info-detail-card {
  display: none;
}
.angkaxa-page-pass-prediction .angkaxa-bottom-hud--pass-sim .watchlist-ticker-bar {
  display: none !important;
}
.angkaxa-page-pass-prediction .angkaxa-bottom-hud--pass-sim {
  gap: 0;
}
@media (max-width: 900px) {
  .angkaxa-page-pass-prediction .left-card-group {
    max-height: min(58vh, 480px);
  }
}

/* ── Maneuver Detection page ── */
.angkaxa-page-maneuver-detection .md-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-maneuver-detection .md-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-maneuver-detection .md-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-maneuver-detection .md-scope-summary {
  font-size: 11px;
  color: #81d4fa;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
  line-height: 1.45;
}
.angkaxa-page-maneuver-detection .md-criteria-fields {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.angkaxa-page-maneuver-detection #multi-select-list-container {
  flex: 0 0 auto;
  flex-shrink: 0;
  overflow: visible;
}
.angkaxa-page-maneuver-detection #multi-select-list-container #primary-detail-container,
.angkaxa-page-maneuver-detection #multi-select-list-container .satellite-detail {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-maneuver-detection .right-detail-overlay .detail-card--md-summary,
.angkaxa-page-maneuver-detection .right-detail-overlay .detail-card--md-matches {
  flex: 0 0 auto;
  max-height: none;
  overflow: visible;
}
.angkaxa-page-maneuver-detection .md-matches-overlay {
  display: block;
  flex: 0 0 auto;
  overflow: visible;
  pointer-events: auto;
}
.angkaxa-page-maneuver-detection .detail-card--md-matches {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-maneuver-detection .detail-card--md-matches > .section-title,
.angkaxa-page-maneuver-detection .detail-card--md-matches > .md-matches-hint {
  flex-shrink: 0;
}
.angkaxa-page-maneuver-detection .md-matches-hint {
  font-size: 10px;
  color: var(--text-muted);
  margin: 0 0 8px;
  line-height: 1.4;
}
.angkaxa-page-maneuver-detection .md-matches-list {
  --md-matches-visible-rows: 5;
  --md-matches-row-height: 56px;
  --md-matches-row-gap: 6px;
  display: flex;
  flex-direction: column;
  gap: var(--md-matches-row-gap);
  flex: 0 0 auto;
  height: calc(
    var(--md-matches-visible-rows) * var(--md-matches-row-height) +
      (var(--md-matches-visible-rows) - 1) * var(--md-matches-row-gap)
  );
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding-bottom: 2px;
  pointer-events: auto;
  touch-action: pan-y;
}
.angkaxa-page-maneuver-detection .md-matches-empty,
.angkaxa-page-maneuver-detection .md-matches-more {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
}
.angkaxa-page-maneuver-detection .md-matches-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  flex-shrink: 0;
  min-height: var(--md-matches-row-height, 48px);
  box-sizing: border-box;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-maneuver-detection .md-matches-item:hover {
  background: rgba(255, 152, 0, 0.08);
  border-color: rgba(255, 152, 0, 0.35);
}
.angkaxa-page-maneuver-detection .md-matches-item--active {
  background: rgba(255, 152, 0, 0.12);
  border-color: rgba(255, 152, 0, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 152, 0, 0.15);
}
.angkaxa-page-maneuver-detection .md-matches-item-name {
  font-size: 11px;
  color: var(--text-primary);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-maneuver-detection .md-matches-item-meta {
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-maneuver-detection .md-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.angkaxa-page-maneuver-detection .md-status-badge--beta {
  color: #ffd54f;
  border: 1px solid rgba(255, 213, 79, 0.45);
  background: rgba(255, 213, 79, 0.08);
}
.angkaxa-page-maneuver-detection .md-summary-hint {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.45;
}
.angkaxa-page-maneuver-detection .md-summary-hint i {
  color: #ffb74d;
  font-size: 14px;
  flex-shrink: 0;
  margin-top: 1px;
}
.angkaxa-page-maneuver-detection.angkaxa-view-table #map,
.angkaxa-page-maneuver-detection.angkaxa-view-table #sat-tooltip,
.angkaxa-page-maneuver-detection.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-maneuver-detection.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-maneuver-detection.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
.angkaxa-page-maneuver-detection .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.angkaxa-page-maneuver-detection .sidebar {
  overflow-y: auto;
}
.angkaxa-page-maneuver-detection #satellite-info-detail-card {
  display: none;
}
@media (max-width: 900px) {
  .angkaxa-page-maneuver-detection .left-card-group {
    max-height: min(58vh, 480px);
  }
}

/* ── Debris Watch page ── */
.angkaxa-page-debris-watch .dw-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-debris-watch .dw-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-debris-watch .dw-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-debris-watch .dw-scope-summary {
  font-size: 11px;
  color: #81d4fa;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
  line-height: 1.45;
}
.angkaxa-page-debris-watch .dw-criteria-fields {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.angkaxa-page-debris-watch #multi-select-list-container {
  flex: 0 0 auto;
  flex-shrink: 0;
  overflow: visible;
}
.angkaxa-page-debris-watch #multi-select-list-container #primary-detail-container,
.angkaxa-page-debris-watch #multi-select-list-container .satellite-detail {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-debris-watch .right-detail-overlay .detail-card--dw-summary,
.angkaxa-page-debris-watch .right-detail-overlay .detail-card--dw-matches {
  flex: 0 0 auto;
  max-height: none;
  overflow: visible;
}
.angkaxa-page-debris-watch .dw-matches-overlay {
  display: block;
  flex: 0 0 auto;
  overflow: visible;
  pointer-events: auto;
}
.angkaxa-page-debris-watch .detail-card--dw-matches {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-debris-watch .detail-card--dw-matches > .section-title,
.angkaxa-page-debris-watch .detail-card--dw-matches > .dw-matches-hint {
  flex-shrink: 0;
}
.angkaxa-page-debris-watch .dw-matches-hint {
  font-size: 10px;
  color: var(--text-muted);
  margin: 0 0 15px;
  line-height: 1.4;
}
.angkaxa-page-debris-watch .dw-matches-list {
  --dw-matches-visible-rows: 5;
  --dw-matches-row-height: 56px;
  --dw-matches-row-gap: 6px;
  display: flex;
  flex-direction: column;
  gap: var(--dw-matches-row-gap);
  flex: 0 0 auto;
  height: calc(
    var(--dw-matches-visible-rows) * var(--dw-matches-row-height) +
      (var(--dw-matches-visible-rows) - 1) * var(--dw-matches-row-gap)
  );
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding-bottom: 2px;
  pointer-events: auto;
  touch-action: pan-y;
}
.angkaxa-page-debris-watch .dw-matches-empty,
.angkaxa-page-debris-watch .dw-matches-more {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
}
.angkaxa-page-debris-watch .dw-matches-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  flex-shrink: 0;
  min-height: var(--dw-matches-row-height, 48px);
  box-sizing: border-box;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-debris-watch .dw-matches-item:hover {
  background: rgba(170, 68, 255, 0.08);
  border-color: rgba(170, 68, 255, 0.35);
}
.angkaxa-page-debris-watch .dw-matches-item--active {
  background: rgba(170, 68, 255, 0.12);
  border-color: rgba(170, 68, 255, 0.55);
  box-shadow: 0 0 0 1px rgba(170, 68, 255, 0.15);
}
.angkaxa-page-debris-watch .dw-matches-item-name {
  font-size: 11px;
  color: var(--text-primary);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-debris-watch .dw-matches-item-meta {
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-debris-watch .dw-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.angkaxa-page-debris-watch .dw-status-badge--beta {
  color: #ffd54f;
  border: 1px solid rgba(255, 213, 79, 0.45);
  background: rgba(255, 213, 79, 0.08);
}
.angkaxa-page-debris-watch.angkaxa-view-table #map,
.angkaxa-page-debris-watch.angkaxa-view-table #sat-tooltip,
.angkaxa-page-debris-watch.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-debris-watch.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-debris-watch.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
.angkaxa-page-debris-watch .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.angkaxa-page-debris-watch .sidebar {
  overflow-y: auto;
}
.angkaxa-page-debris-watch #satellite-info-detail-card {
  display: none;
}
@media (max-width: 900px) {
  .angkaxa-page-debris-watch .left-card-group {
    max-height: min(58vh, 480px);
  }
}

/* ── Orbit Decay page ── */
.angkaxa-page-orbit-decay .od-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-orbit-decay .od-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-orbit-decay .od-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-orbit-decay .od-scope-summary {
  font-size: 11px;
  color: #ffab91;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
  line-height: 1.45;
}
.angkaxa-page-orbit-decay .od-criteria-fields {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.angkaxa-page-orbit-decay #multi-select-list-container {
  flex: 0 0 auto;
  flex-shrink: 0;
  overflow: visible;
}
.angkaxa-page-orbit-decay #multi-select-list-container #primary-detail-container,
.angkaxa-page-orbit-decay #multi-select-list-container .satellite-detail {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-orbit-decay .right-detail-overlay .detail-card--od-summary,
.angkaxa-page-orbit-decay .right-detail-overlay .detail-card--od-matches {
  flex: 0 0 auto;
  max-height: none;
  overflow: visible;
}
.angkaxa-page-orbit-decay .od-matches-overlay {
  display: block;
  flex: 0 0 auto;
  overflow: visible;
  pointer-events: auto;
}
.angkaxa-page-orbit-decay .detail-card--od-matches {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-orbit-decay .detail-card--od-matches > .section-title,
.angkaxa-page-orbit-decay .detail-card--od-matches > .od-matches-hint {
  flex-shrink: 0;
}
.angkaxa-page-orbit-decay .od-matches-hint {
  font-size: 10px;
  color: var(--text-muted);
  margin: 0 0 15px;
  line-height: 1.4;
}
.angkaxa-page-orbit-decay .od-matches-list {
  --od-matches-visible-rows: 5;
  --od-matches-row-height: 56px;
  --od-matches-row-gap: 6px;
  display: flex;
  flex-direction: column;
  gap: var(--od-matches-row-gap);
  flex: 0 0 auto;
  height: calc(
    var(--od-matches-visible-rows) * var(--od-matches-row-height) +
      (var(--od-matches-visible-rows) - 1) * var(--od-matches-row-gap)
  );
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding-bottom: 2px;
  pointer-events: auto;
  touch-action: pan-y;
}
.angkaxa-page-orbit-decay .od-matches-empty,
.angkaxa-page-orbit-decay .od-matches-more {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
}
.angkaxa-page-orbit-decay .od-matches-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  flex-shrink: 0;
  min-height: var(--od-matches-row-height, 48px);
  box-sizing: border-box;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-orbit-decay .od-matches-item:hover {
  background: rgba(255, 112, 67, 0.08);
  border-color: rgba(255, 112, 67, 0.35);
}
.angkaxa-page-orbit-decay .od-matches-item--active {
  background: rgba(255, 112, 67, 0.12);
  border-color: rgba(255, 112, 67, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 112, 67, 0.15);
}
.angkaxa-page-orbit-decay .od-matches-item-name {
  font-size: 11px;
  color: var(--text-primary);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-orbit-decay .od-matches-item-meta {
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-orbit-decay .od-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.angkaxa-page-orbit-decay .od-status-badge--beta {
  color: #ffd54f;
  border: 1px solid rgba(255, 213, 79, 0.45);
  background: rgba(255, 213, 79, 0.08);
}
.angkaxa-page-orbit-decay.angkaxa-view-table #map,
.angkaxa-page-orbit-decay.angkaxa-view-table #sat-tooltip,
.angkaxa-page-orbit-decay.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-orbit-decay.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-orbit-decay.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
.angkaxa-page-orbit-decay .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.angkaxa-page-orbit-decay .sidebar {
  overflow-y: auto;
}
.angkaxa-page-orbit-decay #satellite-info-detail-card {
  display: none;
}
@media (max-width: 900px) {
  .angkaxa-page-orbit-decay .left-card-group {
    max-height: min(58vh, 480px);
  }
}

/* ── TLE Drift page ── */
.angkaxa-page-tle-drift .td-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-tle-drift .td-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-tle-drift .td-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-tle-drift .td-scope-summary {
  font-size: 11px;
  color: #81d4fa;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
  line-height: 1.45;
}
.angkaxa-page-tle-drift .td-criteria-fields {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.angkaxa-page-tle-drift #multi-select-list-container {
  flex: 0 0 auto;
  flex-shrink: 0;
  overflow: visible;
}
.angkaxa-page-tle-drift #multi-select-list-container #primary-detail-container,
.angkaxa-page-tle-drift #multi-select-list-container .satellite-detail {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-tle-drift .right-detail-overlay .detail-card--td-summary,
.angkaxa-page-tle-drift .right-detail-overlay .detail-card--td-matches {
  flex: 0 0 auto;
  max-height: none;
  overflow: visible;
}
.angkaxa-page-tle-drift .td-matches-overlay {
  display: block;
  flex: 0 0 auto;
  overflow: visible;
  pointer-events: auto;
}
.angkaxa-page-tle-drift .detail-card--td-matches {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-tle-drift .detail-card--td-matches > .section-title,
.angkaxa-page-tle-drift .detail-card--td-matches > .td-matches-hint {
  flex-shrink: 0;
}
.angkaxa-page-tle-drift .td-matches-hint {
  font-size: 10px;
  color: var(--text-muted);
  margin: 0 0 15px;
  line-height: 1.4;
}
.angkaxa-page-tle-drift .td-matches-list {
  --td-matches-visible-rows: 5;
  --td-matches-row-height: 56px;
  --td-matches-row-gap: 6px;
  display: flex;
  flex-direction: column;
  gap: var(--td-matches-row-gap);
  flex: 0 0 auto;
  height: calc(
    var(--td-matches-visible-rows) * var(--td-matches-row-height) +
      (var(--td-matches-visible-rows) - 1) * var(--td-matches-row-gap)
  );
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  padding-bottom: 2px;
  pointer-events: auto;
  touch-action: pan-y;
}
.angkaxa-page-tle-drift .td-matches-empty,
.angkaxa-page-tle-drift .td-matches-more {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
}
.angkaxa-page-tle-drift .td-matches-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  flex-shrink: 0;
  min-height: var(--td-matches-row-height, 48px);
  box-sizing: border-box;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-tle-drift .td-matches-item:hover {
  background: rgba(41, 182, 246, 0.08);
  border-color: rgba(41, 182, 246, 0.35);
}
.angkaxa-page-tle-drift .td-matches-item--active {
  background: rgba(41, 182, 246, 0.12);
  border-color: rgba(41, 182, 246, 0.55);
  box-shadow: 0 0 0 1px rgba(41, 182, 246, 0.15);
}
.angkaxa-page-tle-drift .td-matches-item-name {
  font-size: 11px;
  color: var(--text-primary);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-tle-drift .td-matches-item-meta {
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.35;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-tle-drift .td-status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.angkaxa-page-tle-drift .td-status-badge--beta {
  color: #ffd54f;
  border: 1px solid rgba(255, 213, 79, 0.45);
  background: rgba(255, 213, 79, 0.08);
}
.angkaxa-page-tle-drift.angkaxa-view-table #map,
.angkaxa-page-tle-drift.angkaxa-view-table #sat-tooltip,
.angkaxa-page-tle-drift.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-tle-drift.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-tle-drift.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
.angkaxa-page-tle-drift .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.angkaxa-page-tle-drift .sidebar {
  overflow-y: auto;
}
.angkaxa-page-tle-drift #satellite-info-detail-card {
  display: none;
}
@media (max-width: 900px) {
  .angkaxa-page-tle-drift .left-card-group {
    max-height: min(58vh, 480px);
  }
}

/* ── Footprint RF page ── */
.angkaxa-page-footprint .footprint-sidebar-spacer {
  display: block;
  flex-shrink: 0;
  margin-top: 4px;
  padding-top: 10px;
  border: none;
}

.angkaxa-page-footprint .footprint-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-footprint .footprint-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-footprint .footprint-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-footprint .footprint-params-hint {
  font-size: 11px;
  color: var(--text-muted);
  margin: 6px 0 0;
  line-height: 1.45;
}
.angkaxa-page-footprint .footprint-observer-coords {
  font-size: 11px;
  color: #aed581;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
}
.angkaxa-page-footprint .footprint-section-subtitle {
  margin: 14px 0 6px;
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #4dd0e1;
  font-weight: 600;
}
.angkaxa-page-footprint .footprint-visibility-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 8px 0 4px;
}
.angkaxa-page-footprint .footprint-visibility-meta {
  font-size: 11px;
  color: var(--text-muted);
}
/* Panel kanan footprint: ringkasan parameter + tracked list (detail RF ada di popup bawah) */
.angkaxa-page-footprint #multi-select-list-container {
  flex: 0 1 auto;
  overflow: visible;
}
.angkaxa-page-footprint .footprint-tracked-overlay {
  display: block;
  flex: 0 1 auto;
  max-width: 300px;
  z-index: 10;
  min-height: 0;
}
.angkaxa-page-footprint .footprint-overlap-overlay {
  display: block;
  flex: 0 1 auto;
  max-width: 300px;
  z-index: 10;
  min-height: 0;
}
.angkaxa-page-footprint .footprint-overlap-overlay[hidden] {
  display: none;
}
.angkaxa-page-footprint .detail-card--footprint-overlap {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.angkaxa-page-footprint .footprint-overlap-grid {
  margin-bottom: 4px;
}
.angkaxa-page-footprint .footprint-overlap-actions {
  margin-top: 12px;
}
.angkaxa-page-footprint .footprint-overlap-view-details-btn {
  width: 100%;
  margin-top: 0;
}
.angkaxa-page-footprint .footprint-overlap-pairs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 140px;
  overflow-y: auto;
  margin-top: 4px;
}
.angkaxa-page-footprint .footprint-overlap-pair {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 6px 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  text-align: left;
}
.angkaxa-page-footprint .footprint-overlap-pair-names {
  font-size: 10px;
  color: #e0f7fa;
  line-height: 1.35;
}
.angkaxa-page-footprint .footprint-overlap-pair-meta {
  font-size: 10px;
  font-family: "Share Tech Mono", monospace;
  color: #81d4fa;
}
.angkaxa-page-footprint .footprint-overlap-empty,
.angkaxa-page-footprint .footprint-overlap-more {
  margin: 0;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.45;
}
.angkaxa-page-footprint .footprint-overlap-best {
  font-size: 11px;
  line-height: 1.35;
}
.angkaxa-page-footprint .footprint-overlap-hint {
  margin: 8px 0 0;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.4;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.angkaxa-page-footprint .footprint-overlap-hint i {
  flex-shrink: 0;
  color: #4dd0e1;
}
.angkaxa-page-footprint .footprint-status-badge--in-range {
  color: #a5d6a7;
  background: rgba(76, 175, 80, 0.15);
  border: 1px solid rgba(76, 175, 80, 0.35);
}
.angkaxa-page-footprint .footprint-status-badge--out-range {
  color: #ef9a9a;
  background: rgba(244, 67, 54, 0.12);
  border: 1px solid rgba(244, 67, 54, 0.35);
}
.angkaxa-page-footprint .footprint-status-badge--below-mask {
  color: #ffcc80;
  background: rgba(255, 152, 0, 0.12);
  border: 1px solid rgba(255, 152, 0, 0.35);
}
.angkaxa-page-footprint .footprint-tracked-item-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}
.angkaxa-page-footprint .footprint-tracked-status {
  font-size: 9px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 2px 6px;
  border-radius: 3px;
  flex-shrink: 0;
}
.angkaxa-page-footprint .footprint-tracked-status.footprint-status-badge--in-range,
.angkaxa-page-footprint .footprint-tracked-status.footprint-status-badge--out-range,
.angkaxa-page-footprint .footprint-tracked-status.footprint-status-badge--below-mask {
  border-width: 1px;
  border-style: solid;
}
.angkaxa-page-footprint .detail-card--footprint-tracked {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.angkaxa-page-footprint .footprint-tracked-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 240px;
  overflow-y: auto;
  margin-top: 8px;
}
.angkaxa-page-footprint .footprint-tracked-empty {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
}
.angkaxa-page-footprint .footprint-tracked-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  padding: 8px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-footprint .footprint-tracked-item:hover {
  background: rgba(0, 229, 255, 0.08);
  border-color: rgba(0, 229, 255, 0.35);
}
.angkaxa-page-footprint .footprint-tracked-item--active {
  background: rgba(0, 229, 255, 0.12);
  border-color: rgba(0, 229, 255, 0.55);
  box-shadow: 0 0 0 1px rgba(0, 229, 255, 0.15);
}
.angkaxa-page-footprint .footprint-tracked-item-name {
  font-size: 12px;
  color: #e0f7fa;
}
.angkaxa-page-footprint .footprint-tracked-item-meta {
  font-size: 10px;
  color: var(--text-muted);
  font-family: "Share Tech Mono", monospace;
}
.angkaxa-page-footprint .footprint-summary-hint {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding: 10px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-muted);
  background: rgba(0, 229, 255, 0.05);
  border: 1px solid rgba(0, 229, 255, 0.15);
  border-radius: 4px;
}
.angkaxa-page-footprint .footprint-summary-hint i {
  flex-shrink: 0;
  margin-top: 1px;
  color: #4dd0e1;
  font-size: 14px;
}
.angkaxa-page-footprint .footprint-status-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 3px;
}
.angkaxa-page-footprint .footprint-status-badge--active {
  color: #a5d6a7;
  background: rgba(76, 175, 80, 0.15);
  border: 1px solid rgba(76, 175, 80, 0.35);
}
.angkaxa-page-footprint .footprint-band-typical {
  font-size: 11px;
  color: #b0bec5;
}
.angkaxa-page-footprint.angkaxa-view-table #map,
.angkaxa-page-footprint.angkaxa-view-table #sat-tooltip,
.angkaxa-page-footprint.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-footprint.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-footprint.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
.angkaxa-page-footprint .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.angkaxa-page-footprint .sidebar {
  overflow-y: auto;
}
.angkaxa-page-footprint #satellite-info-detail-card {
  display: none;
}
@media (max-width: 900px) {
  .angkaxa-page-footprint .left-card-group {
    max-height: min(58vh, 480px);
  }
}

/* ── Collision Avoidance page ── */
.angkaxa-page-collision-avoidance .ca-sidebar-spacer {
  display: block;
  flex-shrink: 0;
  margin-top: 4px;
  padding-top: 10px;
  border: none;
}
.angkaxa-page-collision-avoidance .ca-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.angkaxa-page-collision-avoidance .ca-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-collision-avoidance .ca-select {
  width: 100%;
  padding: 8px 10px;
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
  text-transform: uppercase;
}
.angkaxa-page-collision-avoidance .ca-scope-summary {
  font-size: 11px;
  color: #ffab40;
  margin: 4px 0 0;
  font-family: "Share Tech Mono", monospace;
  line-height: 1.45;
}
.angkaxa-page-collision-avoidance .ca-criteria-hint {
  font-size: 11px;
  color: var(--text-muted);
  margin: 6px 0 0;
  line-height: 1.45;
}
.angkaxa-page-collision-avoidance .ca-criteria-fields {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.angkaxa-page-collision-avoidance #multi-select-list-container {
  flex: 0 0 auto;
  flex-shrink: 0;
  max-height: min(28vh, 220px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.angkaxa-page-collision-avoidance #multi-select-list-container #primary-detail-container,
.angkaxa-page-collision-avoidance #multi-select-list-container .satellite-detail {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}
.angkaxa-page-collision-avoidance .top-right-overlay {
  height: calc(100vh - var(--angkaxa-frame-inset) * 2);
  overflow: hidden;
}
.angkaxa-page-collision-avoidance .top-right-overlay > #multi-select-list-container {
  position: relative;
  z-index: 2;
}
.angkaxa-page-collision-avoidance .ca-conjunctions-overlay {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}
.angkaxa-page-collision-avoidance .detail-card--ca-summary {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  min-height: 0;
}
.angkaxa-page-collision-avoidance .detail-card--ca-conjunctions {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.angkaxa-page-collision-avoidance .right-detail-overlay .detail-card--ca-conjunctions {
  max-height: none;
  overflow: hidden;
}
.angkaxa-page-collision-avoidance .detail-card--ca-conjunctions > .section-title,
.angkaxa-page-collision-avoidance .detail-card--ca-conjunctions > .ca-conjunctions-list-hint,
.angkaxa-page-collision-avoidance .detail-card--ca-conjunctions > .ca-conjunctions-status {
  flex-shrink: 0;
}
.angkaxa-page-collision-avoidance .ca-conjunctions-list-hint {
  margin: 4px 0 0;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.4;
}
.angkaxa-page-collision-avoidance .ca-conjunctions-status {
  margin: 6px 0 0;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.4;
  text-align: right;
}
.angkaxa-page-collision-avoidance .ca-conjunctions-status--loading {
  color: #ffab40;
}
.angkaxa-page-collision-avoidance .ca-conjunctions-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  margin-top: 8px;
  padding-bottom: 6px;
  pointer-events: auto;
  touch-action: pan-y;
}
.angkaxa-page-collision-avoidance .ca-conjunctions-empty,
.angkaxa-page-collision-avoidance .ca-table-empty {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  padding: 8px 4px;
  line-height: 1.45;
  text-align: right;
}
.angkaxa-page-collision-avoidance .ca-conjunction-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: 100%;
  min-height: 44px;
  padding: 10px 10px;
  text-align: left;
  font-family: inherit;
  font-size: 11px;
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: auto;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.angkaxa-page-collision-avoidance .ca-conjunction-item:hover {
  background: rgba(255, 171, 64, 0.08);
  border-color: rgba(255, 171, 64, 0.35);
}
.angkaxa-page-collision-avoidance .ca-conjunction-item--active {
  background: rgba(255, 171, 64, 0.12);
  border-color: rgba(255, 171, 64, 0.55);
  box-shadow: 0 0 0 1px rgba(255, 171, 64, 0.15);
}
.angkaxa-page-collision-avoidance .ca-conjunction-item--warning {
  border-color: rgba(255, 171, 64, 0.55);
}
.angkaxa-page-collision-avoidance .ca-conjunction-item--critical {
  border-color: rgba(255, 23, 68, 0.55);
}
.angkaxa-page-collision-avoidance .ca-conjunction-item--critical.ca-conjunction-item--active {
  animation: angkaxa-dynamic-card-pulse 2.05s ease-in-out infinite,
    angkaxa-dynamic-card-pulse 2.85s ease-in-out infinite reverse;
}
.angkaxa-page-collision-avoidance .ca-conjunction-item-pair {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  width: 100%;
}
.angkaxa-page-collision-avoidance .ca-conjunction-item-primary,
.angkaxa-page-collision-avoidance .ca-conjunction-item-secondary {
  font-weight: 600;
  font-size: 11px;
}
.angkaxa-page-collision-avoidance .ca-conjunction-item-sep {
  color: var(--text-muted);
  font-size: 10px;
}
.angkaxa-page-collision-avoidance .ca-conjunction-item-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 10px;
  color: var(--text-muted);
  font-family: "Share Tech Mono", monospace;
}
.angkaxa-page-collision-avoidance .ca-alert-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 3px;
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
}
.angkaxa-page-collision-avoidance .ca-alert-badge--advisory {
  color: #ffd54f;
  background: rgba(255, 213, 79, 0.12);
  border: 1px solid rgba(255, 213, 79, 0.35);
}
.angkaxa-page-collision-avoidance .ca-alert-badge--warning {
  color: #ffab40;
  background: rgba(255, 171, 64, 0.12);
  border: 1px solid rgba(255, 171, 64, 0.35);
}
.angkaxa-page-collision-avoidance .ca-alert-badge--critical {
  color: #ff1744;
  background: rgba(255, 23, 68, 0.12);
  border: 1px solid rgba(255, 23, 68, 0.45);
}
.angkaxa-page-collision-avoidance .ca-alert-badge--monitor {
  color: #b0bec5;
  background: rgba(176, 190, 197, 0.1);
  border: 1px solid rgba(176, 190, 197, 0.35);
}
.angkaxa-page-collision-avoidance .ca-conjunction-item--monitor {
  border-color: rgba(176, 190, 197, 0.35);
}
.angkaxa-page-collision-avoidance .ca-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 700;
}
.angkaxa-page-collision-avoidance .ca-status-badge--beta {
  color: #ffab40;
  background: rgba(255, 171, 64, 0.12);
  border: 1px solid rgba(255, 171, 64, 0.35);
}
.angkaxa-page-collision-avoidance .ca-summary-hint {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 10px 0 0;
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.45;
}
.angkaxa-page-collision-avoidance .ca-summary-hint i {
  flex-shrink: 0;
  margin-top: 1px;
  color: #ffab40;
  font-size: 14px;
}
.angkaxa-page-collision-avoidance .left-card-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
}
.angkaxa-page-collision-avoidance .sidebar {
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 0;
}
.angkaxa-page-collision-avoidance .sidebar-section.overlay-card,
.angkaxa-page-collision-avoidance .sidebar-controls {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
}
.angkaxa-page-collision-avoidance .orbit-type-section,
.angkaxa-page-collision-avoidance .satellite-type-section {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
}
.angkaxa-page-collision-avoidance .orbit-type-section.satellite-list-section {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
}
.angkaxa-page-collision-avoidance .orbit-type-filters,
.angkaxa-page-collision-avoidance .satellite-type-filters {
  flex: 0 0 auto;
  min-height: auto;
  overflow: visible;
  max-height: none;
}
.angkaxa-page-collision-avoidance .satellite-type-filters .filter-row,
.angkaxa-page-collision-avoidance .orbit-type-filters .filter-row {
  margin-bottom: 15px;
}
.angkaxa-page-collision-avoidance .satellite-type-filters .filter-row:last-child,
.angkaxa-page-collision-avoidance .orbit-type-filters .filter-row:last-child {
  margin-bottom: 0;
}
.angkaxa-page-collision-avoidance #satellite-info-detail-card {
  display: none;
  pointer-events: none;
}
.angkaxa-page-collision-avoidance #satellite-info-detail-card:has(.detail-card[data-overlay-sat-id]),
.angkaxa-page-collision-avoidance #satellite-info-detail-card:has(.detail-card[data-overlay-ground-station]) {
  display: flex;
  pointer-events: auto;
}
.angkaxa-page-collision-avoidance .main-content-view--table {
  --ca-table-frame-max-height: calc(
    100vh - var(--sat-table-layout-top, 123px) - var(--sat-table-layout-bottom, 90px) - 76px
  );
  z-index: 2;
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 0;
  background: rgba(2, 6, 18, 0.98);
  inset: auto;
  top: var(--sat-table-layout-top, 123px);
  bottom: var(--sat-table-layout-bottom, 90px);
  left: 0;
  right: 0;
  padding: 0 20px;
  overflow: hidden;
}
.angkaxa-page-collision-avoidance .satellite-table-frame {
  flex: 0 1 auto;
  min-height: auto;
  max-height: var(--ca-table-frame-max-height);
}
.angkaxa-page-collision-avoidance .satellite-table-scroll {
  flex: 0 1 auto;
  min-height: auto;
  height: auto;
  max-height: var(--ca-table-frame-max-height);
  overflow: auto;
}
.angkaxa-page-collision-avoidance .satellite-catalog-table {
  font-family: "Share Tech Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.angkaxa-page-collision-avoidance .satellite-catalog-table .sat-table-name {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.angkaxa-page-collision-avoidance .satellite-catalog-table td.ca-table-tca {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.angkaxa-page-collision-avoidance .satellite-catalog-table td.ca-table-empty {
  text-align: center;
  padding: 24px 16px;
  color: var(--text-muted);
  opacity: 1;
  white-space: normal;
}
.angkaxa-page-collision-avoidance .ca-table-type {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.angkaxa-page-collision-avoidance .ca-table-type--payload {
  background: #26c6da;
  color: #002028;
}
.angkaxa-page-collision-avoidance .ca-table-type--debris {
  background: #e65100;
  color: #fff;
}
.angkaxa-page-collision-avoidance .ca-table-type--rocket {
  background: #7e57c2;
  color: #fff;
}
.angkaxa-page-collision-avoidance.angkaxa-view-table #map,
.angkaxa-page-collision-avoidance.angkaxa-view-table #sat-tooltip,
.angkaxa-page-collision-avoidance.angkaxa-view-table #sat-view-details-btn,
.angkaxa-page-collision-avoidance.angkaxa-view-table .map-style-toolbar {
  display: none !important;
}
.angkaxa-page-collision-avoidance.angkaxa-view-table .main-content-view--table {
  display: flex !important;
}
@media (max-width: 900px) {
  .angkaxa-page-collision-avoidance .sidebar {
    overflow-y: auto;
  }
  .angkaxa-page-collision-avoidance .left-card-group {
    max-height: none;
    overflow: visible;
  }
}

/* AOI Monitor — urutan lapisan di globe (bawah → atas): map → vignette → tooltip/tombol */
.angkaxa-page-aoi-monitor .main-content-view--globe {
  position: absolute;
  inset: 0;
  z-index: 1;
  isolation: isolate;
}

.angkaxa-page-aoi-monitor #map {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.angkaxa-page-aoi-monitor .aoi-map-vignette {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.angkaxa-page-aoi-monitor #sat-tooltip,
.angkaxa-page-aoi-monitor .sat-view-details-btn {
  z-index: 20;
}

.angkaxa-page-aoi-monitor .aoi-map-vignette__side {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 23%;
  min-width: 120px;
  max-width: 420px;
  pointer-events: none;
}

.angkaxa-page-aoi-monitor .aoi-map-vignette__side--left {
  left: 0;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.55) 70%,
    rgba(0, 0, 0, 0.22) 90%,
    transparent 100%
  );
}

.angkaxa-page-aoi-monitor .aoi-map-vignette__side--right {
  right: 0;
  background: linear-gradient(
    to left,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.55) 70%,
    rgba(0, 0, 0, 0.22) 90%,
    transparent 100%
  );
}

.angkaxa-page-aoi-monitor.angkaxa-view-table .aoi-map-vignette {
  display: none;
}

/* AOI Monitor — military target AOI & imagery capture */
.angkaxa-page-aoi-monitor .sidebar-controls {
  flex: 0 0 auto;
}
.angkaxa-page-aoi-monitor .aoi-target-section {
  margin-top: 0;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.angkaxa-page-aoi-monitor .aoi-target-section .section-header,
.angkaxa-page-aoi-monitor .aoi-target-field,
.angkaxa-page-aoi-monitor .aoi-target-coords,
.angkaxa-page-aoi-monitor .aoi-target-actions,
.angkaxa-page-aoi-monitor .aoi-target-pass-header,
.angkaxa-page-aoi-monitor .aoi-target-pass-hint {
  flex: 0 0 auto;
}
.angkaxa-page-aoi-monitor .aoi-target-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 8px;
}
.angkaxa-page-aoi-monitor .aoi-target-field-label,
.angkaxa-page-aoi-monitor .section-title--sub {
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.angkaxa-page-aoi-monitor .aoi-target-select {
  width: 100%;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  color: var(--text-main);
  font-family: inherit;
  font-size: 12px;
  padding: 8px 10px;
}
.angkaxa-page-aoi-monitor .aoi-target-coords {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0 0 10px;
}
.angkaxa-page-aoi-monitor .aoi-target-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
  margin-top: -15px;
}
.angkaxa-page-aoi-monitor .aoi-target-actions .watchlist-banner-btn {
  flex: 1;
  min-width: 120px;
  font-size: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-header {
  margin-top: 4px;
  margin-bottom: 4px;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-hint {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0 0 8px;
  line-height: 1.4;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-list {
  --aoi-pass-visible-rows: 3;
  --aoi-pass-row-height: 86px;
  --aoi-pass-row-gap: 6px;
  display: flex;
  flex-direction: column;
  gap: var(--aoi-pass-row-gap);
  flex: 0 0 auto;
  height: calc(
    var(--aoi-pass-row-height) * var(--aoi-pass-visible-rows) +
      var(--aoi-pass-row-gap) * (var(--aoi-pass-visible-rows) - 1)
  );
  max-height: calc(
    var(--aoi-pass-row-height) * var(--aoi-pass-visible-rows) +
      var(--aoi-pass-row-gap) * (var(--aoi-pass-visible-rows) - 1)
  );
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-empty,
.angkaxa-page-aoi-monitor .aoi-target-pass-fallback {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0;
  line-height: 1.4;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-fallback {
  color: #ff9100;
  margin-bottom: 6px;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  flex: 0 0 var(--aoi-pass-row-height, 86px);
  min-height: var(--aoi-pass-row-height, 86px);
  max-height: var(--aoi-pass-row-height, 86px);
  box-sizing: border-box;
  width: 100%;
  text-align: left;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 8px 10px;
  color: var(--text-main);
  cursor: pointer;
  font-family: inherit;
  position: relative;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item:hover {
  border-color: rgba(129, 212, 250, 0.45);
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item--active {
  border-color: rgb(129, 212, 250);
  background: rgba(129, 212, 250, 0.08);
}
/* IN PASS — default: abu ticker (--frame-dim); merah hanya saat hover/aktif */
.angkaxa-page-aoi-monitor .aoi-target-pass-item--in-pass {
  border-color: rgba(255, 255, 255, 0.1);
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item--in-pass:hover {
  border-color: #ff1744;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item--in-pass.aoi-target-pass-item--active,
.angkaxa-page-aoi-monitor .aoi-target-pass-item--in-pass.aoi-target-pass-item--active:hover {
  border-color: #ff1744;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-name {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-meta {
  font-size: 11px;
  color: var(--text-muted);
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 8px;
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-norad {
  font-size: 10px;
  color: rgb(129, 212, 250);
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-capture {
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-capture:hover {
  background: rgba(129, 212, 250, 0.25);
}
.angkaxa-page-aoi-monitor .aoi-target-pass-item-live {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 9px;
  letter-spacing: 0.06em;
  color: #ff1744;
  font-weight: 700;
}

.aoi-imagery-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.aoi-imagery-modal[hidden] {
  display: none !important;
}
.aoi-imagery-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
}
.aoi-imagery-modal__panel {
  position: relative;
  width: min(720px, 100%);
  max-height: min(90vh, 900px);
  display: flex;
  flex-direction: column;
  background: rgba(8, 14, 22, 0.96);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}
.aoi-imagery-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border-subtle);
}
.aoi-imagery-modal__title {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.aoi-imagery-modal__close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  padding: 4px;
}
.aoi-imagery-modal__meta {
  padding: 10px 16px;
  font-size: 12px;
  border-bottom: 1px solid var(--border-subtle);
}
.aoi-imagery-meta-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 4px 0;
}
.aoi-imagery-meta-row span:first-child {
  color: var(--text-muted);
}
.aoi-imagery-meta-row span:last-child {
  text-align: right;
  color: rgb(129, 212, 250);
}
.aoi-imagery-modal__status {
  padding: 8px 16px;
  font-size: 11px;
  color: var(--text-muted);
}
.aoi-imagery-modal__frame {
  flex: 1;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000;
  margin: 0 16px;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.aoi-imagery-modal__img {
  width: 100%;
  height: auto;
  max-height: 52vh;
  object-fit: contain;
  display: block;
}
.aoi-imagery-modal__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px 16px;
  flex-wrap: wrap;
}
.aoi-imagery-modal__source {
  font-size: 10px;
  color: var(--text-muted);
}
body.aoi-imagery-modal-open {
  overflow: hidden;
}

/* AOI target detail popup — citra satelit */
.aoi-target-detail-host .sat-detail-threat {
  margin-bottom: 12px;
}
.aoi-target-imagery-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.aoi-target-imagery-frame {
  position: relative;
  background: #000;
  border-radius: var(--radius-sm);
  overflow: hidden;
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.aoi-target-imagery-img {
  width: 100%;
  height: auto;
  max-height: 42vh;
  object-fit: contain;
  display: block;
}
.aoi-target-imagery-status {
  position: absolute;
  bottom: 8px;
  left: 10px;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.65);
  background: rgba(0, 0, 0, 0.55);
  padding: 4px 8px;
  border-radius: 4px;
}
.aoi-target-pass-popup-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.aoi-target-pass-popup-item {
  position: relative;
  padding: 10px 12px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
}
.aoi-target-pass-popup-name {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 4px;
}
.aoi-target-pass-popup-meta {
  display: block;
  font-size: 11px;
  color: var(--text-muted);
}
.aoi-target-pass-popup-live {
  position: absolute;
  top: 8px;
  right: 8px;
  font-size: 9px;
  color: #ff1744;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.aoi-target-pass-empty-popup {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
}

/* Standard UI: ikon chevron pada semua select dropdown */
.pass-prediction-select,
.footprint-select,
.ca-select,
.md-select,
.dw-select,
.aoi-target-select,
.satellite-table-quick-select,
.sat-detail-rev-select select {
  padding-right: var(--angkaxa-select-pad-right);
  background-image: var(--angkaxa-select-chevron);
  background-repeat: no-repeat;
  background-position: var(--angkaxa-select-chevron-pos);
  background-size: var(--angkaxa-select-chevron-size);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.satellite-table-quick-select {
  padding-right: var(--angkaxa-select-pad-right-compact);
}

/* ── General Settings page ── */
.angkaxa-page-settings .main {
  position: relative;
}

.angkaxa-page-settings #map {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.angkaxa-page-settings .angkaxa-settings-globe-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(2, 6, 12, 0.3);
}

.angkaxa-page-settings .top-center-brand-overlay,
.angkaxa-page-settings .top-right-overlay {
  z-index: 2;
  pointer-events: none;
}

.angkaxa-page-settings .angkaxa-settings-host.sat-detail-host,
.angkaxa-page-settings .angkaxa-settings-host.sat-detail-host.sat-detail-host--open {
  z-index: var(--sat-detail-z, 1115);
  width: min(720px, calc(100vw - 48px));
  height: auto;
  max-height: calc(100vh - 88px);
  pointer-events: auto;
  isolation: isolate;
  background: rgba(4, 10, 18, 0.42);
  backdrop-filter: blur(18px) saturate(1.15);
  -webkit-backdrop-filter: blur(18px) saturate(1.15);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.angkaxa-page-settings .watchlist-ticker-bar {
  display: none !important;
}

.angkaxa-page-settings .angkaxa-bottom-hud {
  gap: 0;
}

.angkaxa-page-settings .angkaxa-settings-modal.sat-detail-modal {
  height: auto;
  max-height: calc(100vh - 88px);
}

.angkaxa-page-settings .angkaxa-settings-body.sat-detail-body {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 0;
  overflow: visible;
  padding-bottom: 16px;
}

.angkaxa-page-settings .angkaxa-settings-form {
  flex: 0 1 auto;
  min-height: 0;
  padding: 0 2px 4px;
  max-height: min(52vh, 460px);
  overflow-y: auto;
}

.angkaxa-page-settings .angkaxa-settings-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--sat-detail-accent, #5eb8ff);
}

.angkaxa-page-settings .angkaxa-settings-subtitle {
  margin: 6px 0 0;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.45;
  text-transform: none;
  letter-spacing: 0.02em;
}

.angkaxa-page-settings .angkaxa-settings-panel {
  display: none;
}

.angkaxa-page-settings .angkaxa-settings-panel--active {
  display: block;
}

.angkaxa-page-settings .angkaxa-settings-section {
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.angkaxa-page-settings .angkaxa-settings-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.angkaxa-page-settings .angkaxa-settings-section-title {
  margin: 0 0 6px;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #81d4fa;
  font-weight: 700;
}

.angkaxa-page-settings .angkaxa-settings-section-desc {
  margin: 0 0 12px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.45;
}

.angkaxa-page-settings .st-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}

.angkaxa-page-settings .st-field--checkbox {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.angkaxa-page-settings .st-field--checkbox .st-field-label {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 12px;
}

.angkaxa-page-settings .st-field--checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #5eb8ff;
  cursor: pointer;
  flex-shrink: 0;
}

.angkaxa-page-settings .st-field-label {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.angkaxa-page-settings .st-select {
  width: 100%;
  padding: 8px 10px;
  padding-right: var(--angkaxa-select-pad-right, 28px);
  font-family: inherit;
  font-size: 12px;
  color: var(--text-primary);
  background: rgba(0, 0, 0, 0.35);
  background-image: var(--angkaxa-select-chevron);
  background-repeat: no-repeat;
  background-position: var(--angkaxa-select-chevron-pos);
  background-size: var(--angkaxa-select-chevron-size);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  appearance: none;
  cursor: pointer;
}

.angkaxa-page-settings .angkaxa-settings-dl {
  margin: 0;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px 12px;
  font-size: 12px;
}

.angkaxa-page-settings .angkaxa-settings-dl dt {
  margin: 0;
  color: var(--text-muted);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 0.06em;
}

.angkaxa-page-settings .angkaxa-settings-dl dd {
  margin: 0;
  color: var(--text-primary);
}

.angkaxa-page-settings .angkaxa-settings-actions {
  flex-shrink: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.angkaxa-page-settings .angkaxa-settings-actions-row {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.angkaxa-page-settings .angkaxa-settings-status {
  min-height: 16px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
}

.angkaxa-page-settings .angkaxa-settings-status--ok {
  color: #81c784;
}

.angkaxa-page-settings .angkaxa-settings-status--error {
  color: #ef9a9a;
}

.angkaxa-page-settings .angkaxa-settings-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.angkaxa-page-settings .angkaxa-settings-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.22);
}

.angkaxa-page-settings .angkaxa-settings-btn--primary {
  background: rgba(94, 184, 255, 0.18);
  border-color: rgba(94, 184, 255, 0.45);
  color: #b3e5fc;
}

.angkaxa-page-settings .angkaxa-settings-btn--primary:hover {
  background: rgba(94, 184, 255, 0.28);
}

.angkaxa-page-settings .angkaxa-settings-btn--danger {
  border-color: rgba(239, 154, 154, 0.35);
  color: #ef9a9a;
}

.angkaxa-page-settings .angkaxa-settings-btn--ghost {
  background: transparent;
}

.angkaxa-page-settings .cesium-viewer-toolbar {
  display: none;
}

body.angkaxa-reduce-motion .sat-detail-host,
body.angkaxa-reduce-motion .sat-detail-host--open {
  transition: none;
  animation: none;
}

body.angkaxa-compact-hud .angkaxa-bottom-hud {
  transform: scale(0.92);
  transform-origin: center bottom;
}