/* why: shared by site + portal; hosts map --gm-mute/text/panel/border/accent/green/red on .gm. */
.gm-filters { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; align-items: end; margin: 0 0 16px; }
.gm-f { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 13px; color: var(--gm-mute); }
.gm-f select, .gm-f input { box-sizing: border-box; width: 100%; height: 40px; padding: 0 10px; font: inherit; font-size: 15px; color: var(--gm-text); background: var(--gm-panel); border: 1px solid var(--gm-border); border-radius: 6px; }
.gm-range > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; }
.gm-f select:focus-visible, .gm-f input:focus-visible, .gm-reset:focus-visible, .gm-table th button:focus-visible, .gm-link:focus-visible { outline: 2px solid var(--gm-accent); outline-offset: 1px; }
.gm-reset { height: 40px; padding: 0 16px; font: inherit; font-size: 14px; color: var(--gm-text); background: var(--gm-panel); border: 1px solid var(--gm-border); border-radius: 6px; cursor: pointer; }
.gm-reset:hover { border-color: var(--gm-accent); }
.gm-count { align-self: center; font-size: 13px; color: var(--gm-mute); font-variant-numeric: tabular-nums; }
.gm-scroll { overflow-x: auto; border-top: 1px solid var(--gm-border); -webkit-overflow-scrolling: touch; }
.gm-table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.gm-table th, .gm-table td { padding: 10px 12px; border-bottom: 1px solid var(--gm-border); vertical-align: baseline; }
.gm-table th { padding: 0; font-weight: 500; color: var(--gm-mute); font-size: 13px; white-space: nowrap; }
.gm-table th button { display: block; width: 100%; padding: 10px 12px; font: inherit; color: inherit; text-align: inherit; background: none; border: 0; cursor: pointer; }
.gm-table th button:hover { color: var(--gm-text); }
.gm-table th[aria-sort] { color: var(--gm-text); }
.gm-table th[aria-sort="ascending"] button::after { content: " \25B2"; font-size: 10px; }
.gm-table th[aria-sort="descending"] button::after { content: " \25BC"; font-size: 10px; }
.gm-table td { text-align: left; white-space: normal; } /* why: portal base sets td nowrap; the public table never had it */
.gm-l { text-align: left; }
.gm-r, .gm-table td.gm-r { text-align: right; }
.gm-table td.gm-r { white-space: nowrap; }
.gm-link { color: var(--gm-text); text-decoration: none; }
.gm-link strong { font-weight: 500; }
.gm-link:hover { color: var(--gm-accent); text-decoration: underline; }
.gm-co { display: block; margin-top: 2px; font-size: 13px; color: var(--gm-mute); }
.gm-mage { display: none; }
.gm-up[data-dir="up"] { color: var(--gm-green); }
.gm-up[data-dir="down"] { color: var(--gm-red); }
.gm-empty td { color: var(--gm-mute); text-align: center; padding: 24px 12px; }
/* why: pager under the table; 40px touch targets, current page filled */
.gm-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin: 14px 0 0; }
.gm-pager[hidden] { display: none; }
.gm-pg { min-width: 40px; height: 40px; padding: 0 12px; font: inherit; font-size: 14px; font-variant-numeric: tabular-nums; color: var(--gm-text); background: var(--gm-panel); border: 1px solid var(--gm-border); border-radius: 6px; cursor: pointer; }
.gm-pg:hover:not(:disabled):not([aria-current]) { border-color: var(--gm-accent); }
.gm-pg[aria-current] { color: var(--gm-panel); background: var(--gm-text); border-color: var(--gm-text); cursor: default; }
.gm-pg:disabled { color: var(--gm-mute); cursor: default; opacity: .5; }
.gm-pg:focus-visible { outline: 2px solid var(--gm-accent); outline-offset: 1px; }
.gm-gap { color: var(--gm-mute); }
.gm-warn { margin: 10px 0 0; font-size: 13px; color: var(--gm-mute); }
.gm-none { margin: 0; color: var(--gm-mute); font-size: 14px; }
@media (max-width: 600px) { .gm-pg { min-width: 36px; padding: 0 8px; } .gm-pager { gap: 4px; } .gm-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .gm-range, .gm-count { grid-column: 1 / -1; } .gm-reset { grid-column: 1 / -1; }
  .gm-table { min-width: 0; font-size: 13px; } .gm-table th button, .gm-table td { padding: 8px 2px; } .gm-table th { white-space: normal; font-size: 12px; }
  .gm-table th:first-child button, .gm-table td:first-child { padding-left: 2px; }
  .gm-table td.gm-r { font-size: 11px; letter-spacing: -0.3px; } .gm-table td:nth-child(4) { width: 1%; white-space: normal; }.gm-co { overflow-wrap: break-word; font-size: 12px; } .gm-table th:first-child, .gm-table td:first-child { min-width: 52px; } .gm-table td:nth-child(4) .gm-co { white-space: nowrap; } .gm-table th { white-space: normal; font-size: 11px; }
  .gm-table th.gm-r button, .gm-table td.gm-r { padding-left: 9px; } .gm-table th.gm-r button { white-space: nowrap; } .gm-table th:nth-child(6) button, .gm-table td:nth-child(6) { padding-left: 6px; } .gm-mage { display: inline; }
  .gm-table th:nth-child(2), .gm-table td:nth-child(2), .gm-table th:nth-child(3), .gm-table td:nth-child(3), .gm-table th:nth-child(8), .gm-table td:nth-child(8) { display: none; } }
