.table-menu-popover {
  position: fixed;
  z-index: calc(var(--z-sidebar) + 5);
  min-width: 320px;
  max-width: min(388px, calc(100vw - 24px));
  display: grid;
  gap: 14px;
  padding: 14px;
  max-height: min(540px, calc(100vh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: color-mix(in srgb, var(--bg-card) 98%, var(--bg-app));
  border: 1px solid color-mix(in srgb, var(--border) 88%, transparent);
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(26,25,23,.12), 0 1px 2px rgba(26,25,23,.05);
}
.table-menu-popover[hidden] { display: none; }
[data-theme="dark"] .table-menu-popover {
  border-color: color-mix(in srgb, var(--border) 74%, transparent);
  box-shadow: 0 14px 34px rgba(0,0,0,.26), 0 1px 2px rgba(0,0,0,.24);
}
.table-menu-header {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.table-menu-title-wrap { min-width:0; }
.table-menu-title { font-size:13px; font-weight:600; line-height:1.2; color:var(--text); }
.table-menu-close {
  flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; padding:0; border:1px solid transparent; border-radius:8px;
  background:transparent; color:var(--text-muted); cursor:pointer;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.table-menu-close:hover { background:var(--fill-muted); color:var(--text); }
.table-menu-close:focus-visible,
.table-menu-input:focus-visible {
  outline:none;
  box-shadow:0 0 0 2px color-mix(in srgb, var(--interactive-selected-border) 60%, transparent);
}
.table-menu-close svg { width:16px; height:16px; }
.table-menu-selection-copy,
.table-menu-range-summary {
  white-space: normal;
  overflow-wrap:anywhere;
}
.table-menu-section {
  display: grid;
  gap: 10px;
  padding-top: 2px;
}
.table-menu-section + .table-menu-section {
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
.table-menu-label {
  font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-muted);
}
.table-menu-action-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.table-menu-input { width:100%; min-width:0; border-radius:10px; }
.table-menu-section > .sp-action-btn,
.table-menu-action-row .sp-action-btn { border-radius:10px; min-height:38px; }
.table-menu-section > .sp-action-btn.is-active,
.table-menu-action-row .sp-action-btn.is-active {
  background: color-mix(in srgb, var(--accent) 14%, var(--bg-card));
  border-color: color-mix(in srgb, var(--accent) 34%, var(--border));
  color: var(--text);
}
.table-menu-popover.is-empty .sp-action-btn,
.table-menu-popover.is-empty .table-menu-input { opacity:.6; }
.table-menu-popover.is-coarse-pointer {
  min-width:min(420px, calc(100vw - 20px)); max-width:calc(100vw - 20px); gap:14px; padding:16px;
}
.table-menu-popover.is-coarse-pointer .sp-action-btn,
.table-menu-popover.is-coarse-pointer .table-menu-input,
.table-menu-popover.is-coarse-pointer .table-menu-close { min-height:38px; }
@media (max-width: 767px) {
  .table-menu-popover { min-width:min(360px, calc(100vw - 16px)); max-width:calc(100vw - 16px); max-height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); gap:12px; padding:14px; }
}

.table-menu-toggle-field {
  display:grid;
  gap:8px;
}
.table-menu-subrow-label {
  font-size:12px;
  font-weight:600;
  color:var(--text-sec);
}
.table-menu-toggle-group {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.table-menu-toggle-group .ui-choice-btn {
  min-height:36px;
}
.table-sr-only {
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
