.geo-section { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 20px; }
.geo-heading, .geo-heading-title, .geo-toolbar, .geo-summary, .geo-tabs, .geo-crumbs { display: flex; align-items: center; gap: 12px; }
.geo-heading { justify-content: space-between; flex-wrap: wrap; margin-bottom: 12px; }
.geo-heading-title h3 { font-size: 15px; }
.geo-live { color: var(--green); font-size: 12px; white-space: nowrap; }
.geo-live::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; background: var(--green); border-radius: 50%; }
.geo-updated { color: var(--muted); font: 11px var(--mono); }
.geo-summary { gap: 26px; flex-wrap: wrap; margin-bottom: 12px; font-size: 12px; color: var(--muted); }
.geo-summary strong { margin-left: 6px; color: var(--ink); font: 600 16px var(--mono); }
.geo-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(248px, 290px); background: var(--paper); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.geo-map-panel { position: relative; min-width: 0; }
.geo-toolbar { justify-content: space-between; padding: 10px 12px 0; min-height: 48px; flex-wrap: wrap; }
.geo-crumbs { gap: 3px; flex-wrap: wrap; min-height: 30px; font-size: 12px; }
.geo-crumbs button { padding: 5px 6px; color: var(--blue); }
.geo-crumbs button:hover { background: var(--blue-soft); }
.geo-crumbs [aria-current] { color: var(--ink); font-weight: 600; }
.geo-crumbs .icon { width: 12px; height: 12px; color: #a2aab3; }
.geo-map { height: 380px; width: 100%; }
.geo-map-status { min-height: 27px; padding: 0 16px 8px; color: var(--muted); font-size: 11px; }
.geo-map-status.error { color: var(--red); }
.geo-map-status button { color: var(--blue); margin-left: 8px; text-decoration: underline; }
.geo-side { min-width: 0; border-left: 1px solid var(--line); }
.geo-tabs { gap: 0; padding: 0 12px; border-bottom: 1px solid var(--line); min-height: 48px; }
.geo-tabs button { min-height: 48px; padding: 0 10px; font-size: 12px; color: var(--muted); border-bottom: 2px solid transparent; white-space: nowrap; }
.geo-tabs button[aria-selected="true"] { border-bottom-color: var(--blue); color: var(--blue); font-weight: 600; }
.geo-list-head { padding: 14px 16px 8px; display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.geo-list-head strong { font-weight: 600; }
.geo-list-head span { color: var(--muted); white-space: nowrap; }
.geo-region-list { height: 308px; overflow-y: auto; padding: 0 8px; }
.geo-region-row { display: grid; grid-template-columns: 22px minmax(0,1fr) auto 14px; align-items: center; gap: 6px; width: 100%; text-align: left; padding: 10px 8px; border-bottom: 1px solid #f0f2f5; font-size: 12px; }
.geo-region-row:hover, .geo-region-row[aria-pressed="true"] { background: #f1f7fb; }
.geo-region-rank { color: #9aa5af; font: 11px var(--mono); }
.geo-region-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.geo-region-row strong { color: #147c80; font: 600 13px var(--mono); }
.geo-region-row .icon { color: #97a0ab; width: 13px; height: 13px; }
.geo-list-empty { padding: 55px 16px; color: var(--muted); text-align: center; font-size: 12px; }
.geo-list-pager { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 12px; border-top: 1px solid var(--line); font: 11px var(--mono); color: var(--muted); }
.geo-list-pager .icon-btn { width: 28px; height: 28px; }
.geo-details { margin-top: 16px; }
.geo-details .section-head { flex-wrap: wrap; }
.geo-details .section-head h3 { font-size: 13px; overflow-wrap: anywhere; }
.geo-details .table-wrap { min-height: 54px; }
.geo-details .pager { padding: 10px 0; }
.geo-details td { padding: 12px 14px; }
.geo-note { color: var(--muted); font-size: 11px; margin-top: 8px; }
.device-name { font-weight: 550; color: #394854; }
.geo-region-row:focus-visible { outline-offset: -3px; }
@media (max-width: 1100px) {
  .geo-workspace { grid-template-columns: minmax(0, 1fr) 248px; }
  .geo-map { height: 345px; }
  .geo-region-list { height: 273px; }
}
@media (max-width: 760px) {
  .geo-workspace { grid-template-columns: minmax(0, 1fr); }
  .geo-side { border-left: 0; border-top: 1px solid var(--line); }
  .geo-map { height: 310px; }
  .geo-region-list { height: auto; max-height: 220px; }
  .geo-list-empty { padding: 30px 16px; }
  .geo-summary { gap: 14px; }
  .geo-summary strong { font-size: 14px; }
  .geo-updated { display: none; }
  .geo-toolbar { gap: 6px; }
}
@media (prefers-reduced-motion: reduce) { .geo-section * { scroll-behavior: auto; transition: none; } }
