/* ──────────────────────────────────────────────────────────────────────
   GoNavi V2 — UI
   ──────────────────────────────────────────────────────────────────────
   This stylesheet contains the v2 tokens and the structural workbench
   rules used by the React layout when:

       body[data-ui-version="v2"]

   is set by App.tsx (driven by the AppearanceSettings.uiVersion store
   field). Legacy stays available as a rollback option in settings.

   Strategy:
     1. Define design tokens (light + dark) as CSS variables on the body.
     2. Override the small handful of Ant Design / project class selectors
        that drive the visual impression: surfaces, typography, sidebar
        tree, tabs, buttons, tables, inputs, dropdowns, modals.
     3. Keep specificity tight to the v2 scope so legacy is untouched.

   File is self-contained — safe to import once at app entry.
   ────────────────────────────────────────────────────────────────────── */

/* ─── Light tokens ─────────────────────────────────────── */
body[data-ui-version="v2"][data-theme="light"] {
  --gn-font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "WenQuanYi Micro Hei", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Ubuntu", sans-serif;
  --gn-font-mono: "JetBrains Mono", "Noto Sans Mono CJK SC", "Noto Sans Mono", ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;

  --gn-bg-app:      #f6f6f4;
  --gn-bg-chrome:   #ececea;
  --gn-bg-panel:    #ffffff;
  --gn-bg-panel-2:  #fafaf8;
  --gn-bg-hover:    rgba(15, 23, 42, 0.045);
  --gn-bg-active:   rgba(15, 23, 42, 0.075);
  --gn-bg-selected: rgba(34, 197, 94, 0.10);
  --gn-bg-input:    #ffffff;

  --gn-fg-1: #0c1322;
  --gn-fg-2: #1f2937;
  --gn-fg-3: #4b5563;
  --gn-fg-4: #6b7280;
  --gn-fg-5: #9ca3af;

  --gn-br-1: rgba(15, 23, 42, 0.08);
  --gn-br-2: rgba(15, 23, 42, 0.12);
  --gn-br-3: rgba(15, 23, 42, 0.18);

  --gn-accent:      #16a34a;
  --gn-accent-2:    #15803d;
  --gn-accent-soft: #dcfce7;
  --gn-info:        #0284c7;
  --gn-info-soft:   #e0f2fe;
  --gn-warn:        #d97706;
  --gn-warn-soft:   rgba(245, 158, 11, 0.14);
  --gn-danger:      #dc2626;

  --gn-shadow-sm:   0 1px 2px rgba(15, 23, 42, 0.05);
  --gn-shadow-md:   0 4px 14px rgba(15, 23, 42, 0.08);
  --gn-shadow-lg:   0 12px 40px rgba(15, 23, 42, 0.14);
  --gn-shadow-card: 0 0 0 0.5px rgba(15, 23, 42, 0.10), 0 1px 3px rgba(15, 23, 42, 0.06);

  --gn-kbd-bg: #f3f4f6;
  --gn-kbd-fg: #374151;
}

/* ─── Dark tokens ──────────────────────────────────────── */
body[data-ui-version="v2"][data-theme="dark"] {
  --gn-font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Source Han Sans SC", "WenQuanYi Micro Hei", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Ubuntu", sans-serif;
  --gn-font-mono: "JetBrains Mono", "Noto Sans Mono CJK SC", "Noto Sans Mono", ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;

  --gn-bg-app:      #0c0e12;
  --gn-bg-chrome:   #14171c;
  --gn-bg-panel:    #161a21;
  --gn-bg-panel-2:  #1b1f27;
  --gn-bg-hover:    rgba(255, 255, 255, 0.05);
  --gn-bg-active:   rgba(255, 255, 255, 0.08);
  --gn-bg-selected: rgba(34, 197, 94, 0.14);
  --gn-bg-input:    #0f1217;

  --gn-fg-1: #f1f3f5;
  --gn-fg-2: #d6dade;
  --gn-fg-3: #a8aeb5;
  --gn-fg-4: #80868f;
  --gn-fg-5: #5a6068;

  --gn-br-1: rgba(255, 255, 255, 0.06);
  --gn-br-2: rgba(255, 255, 255, 0.10);
  --gn-br-3: rgba(255, 255, 255, 0.16);

  --gn-accent:      #22c55e;
  --gn-accent-2:    #16a34a;
  --gn-accent-soft: rgba(34, 197, 94, 0.16);
  --gn-info:        #38bdf8;
  --gn-info-soft:   rgba(56, 189, 248, 0.14);
  --gn-warn:        #f59e0b;
  --gn-warn-soft:   rgba(245, 158, 11, 0.16);
  --gn-danger:      #f87171;

  --gn-shadow-sm:   0 1px 2px rgba(0, 0, 0, 0.4);
  --gn-shadow-md:   0 4px 14px rgba(0, 0, 0, 0.45);
  --gn-shadow-lg:   0 12px 40px rgba(0, 0, 0, 0.55);
  --gn-shadow-card: 0 0 0 0.5px rgba(255, 255, 255, 0.08), 0 1px 3px rgba(0, 0, 0, 0.35);

  --gn-kbd-bg: #20242c;
  --gn-kbd-fg: #c7ccd2;
}

/* ─── Base typography & body ──────────────────────────── */
body[data-ui-version="v2"] {
  font-family: var(--gn-font-sans) !important;
  font-size: var(--gn-font-size, var(--gonavi-font-size, 14px));
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-synthesis: none;
  font-feature-settings: "cv11", "ss01";
}

body[data-ui-version="v2"][data-platform="darwin"] {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}

body[data-ui-version="v2"] code,
body[data-ui-version="v2"] pre,
body[data-ui-version="v2"] kbd,
body[data-ui-version="v2"] .ant-typography code,
body[data-ui-version="v2"] .gonavi-mono,
body[data-ui-version="v2"] [class*="monospace"] {
  font-family: var(--gn-font-mono) !important;
}

/* ──────────────────────────────────────────────────────────
   ANT DESIGN OVERRIDES — surfaces & chrome
   ────────────────────────────────────────────────────────── */

body[data-ui-version="v2"] .ant-layout,
body[data-ui-version="v2"] .ant-layout-content {
  background: var(--gn-bg-app) !important;
}

body[data-ui-version="v2"] .ant-layout-sider {
  background: var(--gn-bg-panel-2) !important;
  border-right: 0.5px solid var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .ant-layout-header {
  background: var(--gn-bg-chrome) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
}

/* ─── Tabs (top tab bar) ───────────────────────────────── */
body[data-ui-version="v2"] .ant-tabs > .ant-tabs-nav {
  background: var(--gn-bg-panel-2);
  margin-bottom: 0;
}

body[data-ui-version="v2"] .ant-tabs > .ant-tabs-nav::before {
  border-bottom: 0.5px solid var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .ant-tabs-tab {
  padding: 8px 12px !important;
  border-radius: 0 !important;
  background: transparent !important;
  border-right: 0.5px solid var(--gn-br-1) !important;
  font-weight: 500 !important;
  color: var(--gn-fg-3) !important;
  transition: background 0.08s !important;
}

body[data-ui-version="v2"] .ant-tabs-tab:hover {
  background: var(--gn-bg-hover) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .ant-tabs-tab.ant-tabs-tab-active {
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-1) !important;
  font-weight: 600 !important;
  position: relative;
}

body[data-ui-version="v2"] .ant-tabs-tab.ant-tabs-tab-active::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--gn-accent);
}

body[data-ui-version="v2"] .ant-tabs-tab .ant-tabs-tab-btn {
  font-family: var(--gn-font-sans);
  font-size: var(--gn-font-size-sm, 12px);
}

body[data-ui-version="v2"] .ant-tabs-ink-bar {
  display: none !important;
}

/* ─── Tree (sidebar database tree) ─────────────────────── */
body[data-ui-version="v2"] .ant-tree {
  background: transparent !important;
  font-size: var(--gn-sidebar-tree-font-size, var(--gn-font-size-sm, 12px));
  color: var(--gn-fg-2);
}

body[data-ui-version="v2"] .ant-tree .ant-tree-treenode {
  padding: 1px 4px !important;
}

body[data-ui-version="v2"] .ant-tree .ant-tree-node-content-wrapper {
  border-radius: 6px !important;
  padding: 2px 6px !important;
  min-height: 26px !important;
  transition: background 0.06s !important;
}

body[data-ui-version="v2"] .ant-tree .ant-tree-node-content-wrapper:hover {
  background: var(--gn-bg-hover) !important;
}

body[data-ui-version="v2"] .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {
  background: var(--gn-bg-selected) !important;
  color: var(--gn-fg-1) !important;
  font-weight: 400;
}

/* table names — mono */
body[data-ui-version="v2"] .ant-tree .ant-tree-title {
  font-family: var(--gn-font-sans);
}

body[data-ui-version="v2"] .ant-tree .ant-tree-iconEle .anticon-table,
body[data-ui-version="v2"] .ant-tree .ant-tree-iconEle .anticon-eye,
body[data-ui-version="v2"] .ant-tree .ant-tree-iconEle .anticon-function {
  color: var(--gn-accent);
}

body[data-ui-version="v2"] .ant-tree .ant-tree-iconEle .anticon-database {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .ant-tree-switcher {
  color: var(--gn-fg-4) !important;
}

/* ─── Buttons ──────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-btn {
  font-weight: 500;
  border-radius: 7px !important;
  height: 30px !important;
  padding: 0 12px !important;
  box-shadow: none !important;
  border-color: var(--gn-br-2) !important;
  transition: background 0.08s, border-color 0.08s !important;
}

body[data-ui-version="v2"] .ant-btn-sm {
  height: 24px !important;
  padding: 0 8px !important;
  font-size: 12px !important;
}

body[data-ui-version="v2"] .ant-btn-default {
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-2) !important;
}

body[data-ui-version="v2"] .ant-btn-default:hover {
  background: var(--gn-bg-hover) !important;
  border-color: var(--gn-br-3) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .ant-btn-primary {
  background: var(--gn-accent) !important;
  border-color: var(--gn-accent-2) !important;
  color: #fff !important;
  font-weight: 600 !important;
  box-shadow: var(--gn-shadow-sm), inset 0 0.5px 0 rgba(255,255,255,0.15) !important;
}

body[data-ui-version="v2"] .ant-btn-primary:hover {
  background: var(--gn-accent-2) !important;
  border-color: var(--gn-accent-2) !important;
}

body[data-ui-version="v2"] .ant-btn-primary:disabled {
  background: var(--gn-bg-active) !important;
  border-color: var(--gn-br-2) !important;
  color: var(--gn-fg-5) !important;
}

body[data-ui-version="v2"] .ant-btn-dangerous {
  color: var(--gn-danger) !important;
}

body[data-ui-version="v2"] .ant-btn-link {
  color: var(--gn-info) !important;
}

body[data-ui-version="v2"] .ant-btn-text {
  color: var(--gn-fg-3) !important;
}
body[data-ui-version="v2"] .ant-btn-text:hover {
  background: var(--gn-bg-hover) !important;
  color: var(--gn-fg-1) !important;
}

/* ─── Inputs ──────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-input,
body[data-ui-version="v2"] .ant-input-affix-wrapper,
body[data-ui-version="v2"] .ant-input-number,
body[data-ui-version="v2"] .ant-select-selector,
body[data-ui-version="v2"] .ant-picker {
  background: var(--gn-bg-input) !important;
  border-color: var(--gn-br-2) !important;
  border-radius: 7px !important;
  color: var(--gn-fg-1) !important;
  box-shadow: none !important;
  transition: border-color 0.08s, background 0.08s !important;
}

body[data-ui-version="v2"] .ant-input::placeholder,
body[data-ui-version="v2"] .ant-input-affix-wrapper input::placeholder {
  color: var(--gn-fg-5) !important;
}

body[data-ui-version="v2"] .ant-input:focus,
body[data-ui-version="v2"] .ant-input-affix-wrapper-focused,
body[data-ui-version="v2"] .ant-input-number-focused,
body[data-ui-version="v2"] .ant-select-focused .ant-select-selector,
body[data-ui-version="v2"] .ant-picker-focused {
  border-color: var(--gn-info) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12) !important;
}

body[data-ui-version="v2"] .ant-input-search-button {
  background: var(--gn-accent) !important;
  border-color: var(--gn-accent-2) !important;
  color: #fff !important;
}

/* ─── Select dropdown ─────────────────────────────────── */
body[data-ui-version="v2"] .ant-select-dropdown,
body[data-ui-version="v2"] .ant-dropdown-menu,
body[data-ui-version="v2"] .ant-picker-dropdown .ant-picker-panel-container {
  background: var(--gn-bg-panel) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  box-shadow: var(--gn-shadow-lg) !important;
  padding: 4px !important;
}

body[data-ui-version="v2"] .ant-dropdown-menu-item,
body[data-ui-version="v2"] .ant-select-item {
  border-radius: 6px !important;
  padding: 6px 10px !important;
  color: var(--gn-fg-1) !important;
  min-height: 28px !important;
  font-size: 12.5px !important;
}

body[data-ui-version="v2"] .ant-dropdown-menu-item:hover,
body[data-ui-version="v2"] .ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background: var(--gn-bg-active) !important;
}

body[data-ui-version="v2"] .ant-select-item-option-selected:not(.ant-select-item-option-disabled) {
  background: var(--gn-bg-selected) !important;
  color: var(--gn-fg-1) !important;
  font-weight: 600 !important;
}

body[data-ui-version="v2"] .ant-dropdown-menu-item-divider {
  background: var(--gn-br-1) !important;
  margin: 4px 0 !important;
}

/* Right-click menu items get a tighter, sectioned look */
body[data-ui-version="v2"] .ant-dropdown-menu-item-icon {
  color: var(--gn-fg-4);
  margin-right: 8px !important;
}

body[data-ui-version="v2"] .ant-dropdown-menu-item-danger {
  color: var(--gn-danger) !important;
}
body[data-ui-version="v2"] .ant-dropdown-menu-item-danger:hover {
  background: rgba(220, 38, 38, 0.08) !important;
}
body[data-ui-version="v2"] .ant-dropdown-menu-submenu-title {
  border-radius: 6px !important;
  padding: 6px 10px !important;
  font-size: 12.5px !important;
}

/* ─── Tables (ant-table, used by some legacy panes) ────── */
body[data-ui-version="v2"] .ant-table {
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .ant-table-thead > tr > th {
  background: var(--gn-bg-panel-2) !important;
  color: var(--gn-fg-3) !important;
  font-weight: 600 !important;
  font-size: 11.5px !important;
  border-bottom: 0.5px solid var(--gn-br-2) !important;
  padding: 8px 12px !important;
}

body[data-ui-version="v2"] .ant-table-tbody > tr > td {
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  padding: 6px 12px !important;
  font-size: 12px;
}

body[data-ui-version="v2"] .ant-table-tbody > tr:hover > td {
  background: var(--gn-bg-hover) !important;
}

body[data-ui-version="v2"] .ant-table-tbody > tr.ant-table-row-selected > td {
  background: var(--gn-bg-selected) !important;
}

/* ─── Tags / Badges ────────────────────────────────────── */
body[data-ui-version="v2"] .ant-tag {
  font-family: var(--gn-font-sans);
  font-size: var(--gn-font-size-xs, 10px) !important;
  font-weight: 600;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  line-height: 16px !important;
  border: none !important;
  letter-spacing: 0;
}

body[data-ui-version="v2"] .ant-tag-success,
body[data-ui-version="v2"] .ant-tag-green {
  background: var(--gn-accent-soft) !important;
  color: var(--gn-accent-2) !important;
}

body[data-ui-version="v2"] .ant-tag-processing,
body[data-ui-version="v2"] .ant-tag-blue {
  background: var(--gn-info-soft) !important;
  color: var(--gn-info) !important;
}

body[data-ui-version="v2"] .ant-tag-warning,
body[data-ui-version="v2"] .ant-tag-orange,
body[data-ui-version="v2"] .ant-tag-gold {
  background: var(--gn-warn-soft) !important;
  color: var(--gn-warn) !important;
}

body[data-ui-version="v2"] .ant-tag-error,
body[data-ui-version="v2"] .ant-tag-red {
  background: rgba(220, 38, 38, 0.10) !important;
  color: var(--gn-danger) !important;
}

/* ─── Switch ──────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-switch-checked {
  background: var(--gn-accent) !important;
}

/* ─── Modal ───────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-modal .ant-modal-content {
  background: var(--gn-bg-panel) !important;
  border-radius: 14px !important;
  box-shadow: var(--gn-shadow-lg) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  padding: 0 !important;
  overflow: hidden;
}

body[data-ui-version="v2"] .ant-modal .ant-modal-header {
  background: var(--gn-bg-panel-2) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  padding: 12px 18px !important;
  margin: 0 !important;
}

body[data-ui-version="v2"] .ant-modal .ant-modal-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .ant-modal .ant-modal-body {
  padding: 18px !important;
}

body[data-ui-version="v2"] .ant-modal-confirm .ant-modal-confirm-title {
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .ant-modal-confirm .ant-modal-confirm-content {
  color: var(--gn-fg-2) !important;
}

body[data-ui-version="v2"] .ant-modal .ant-modal-footer {
  border-top: 0.5px solid var(--gn-br-1) !important;
  padding: 10px 18px !important;
  margin: 0 !important;
}

/* ─── Tooltip ─────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-tooltip-inner {
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-1) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 7px !important;
  box-shadow: var(--gn-shadow-md) !important;
  font-size: 11.5px !important;
  padding: 5px 8px !important;
}

body[data-ui-version="v2"] .ant-tooltip-arrow::before {
  background: var(--gn-bg-panel) !important;
}

/* ─── Badge ───────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-badge-status-dot {
  width: 7px;
  height: 7px;
}

body[data-ui-version="v2"] .ant-badge-status-success {
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

/* ─── Segmented (used in some places like density picker) ─ */
body[data-ui-version="v2"] .ant-segmented {
  background: var(--gn-bg-active) !important;
  padding: 2px !important;
  border-radius: 7px !important;
}

body[data-ui-version="v2"] .ant-segmented .ant-segmented-item {
  border-radius: 5px !important;
  color: var(--gn-fg-4) !important;
  font-weight: 500 !important;
  transition: color 0.08s !important;
}

body[data-ui-version="v2"] .ant-segmented .ant-segmented-item-selected,
body[data-ui-version="v2"] .ant-segmented .ant-segmented-thumb {
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-1) !important;
  box-shadow: var(--gn-shadow-sm) !important;
}

/* ─── Scrollbars ──────────────────────────────────────── */
body[data-ui-version="v2"] ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
body[data-ui-version="v2"] ::-webkit-scrollbar-track {
  background: transparent;
}
body[data-ui-version="v2"] ::-webkit-scrollbar-thumb {
  background: var(--gn-br-3);
  border: 3px solid transparent;
  background-clip: content-box;
  border-radius: 10px;
}
body[data-ui-version="v2"] ::-webkit-scrollbar-thumb:hover {
  background: var(--gn-fg-5);
  border: 3px solid transparent;
  background-clip: content-box;
}

/* ─── DataGrid (project's internal class names) ────────── */
body[data-ui-version="v2"] [class*="data-grid"] thead,
body[data-ui-version="v2"] [class*="dataGrid"] thead,
body[data-ui-version="v2"] .gonavi-datagrid thead {
  background: var(--gn-bg-panel-2) !important;
}

body[data-ui-version="v2"] [class*="data-grid"] th,
body[data-ui-version="v2"] [class*="dataGrid"] th {
  border-bottom: 0.5px solid var(--gn-br-2) !important;
  font-weight: 600 !important;
  color: var(--gn-fg-2) !important;
  font-size: var(--gn-data-table-font-size, var(--gn-font-size-mono, 12px)) !important;
}

/* monospace cells in data grid */
body[data-ui-version="v2"] [class*="data-grid"] td,
body[data-ui-version="v2"] [class*="dataGrid"] td {
  font-family: var(--gn-font-mono) !important;
  font-size: var(--gn-data-table-font-size, var(--gn-font-size-mono, 12px)) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-view,
body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view,
body[data-ui-version="v2"] .gn-v2-data-grid-er-view {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-view {
  display: flex;
  flex-direction: column;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-head,
body[data-ui-version="v2"] .gn-v2-data-grid-alt-toolbar {
  min-height: 42px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-head > div,
body[data-ui-version="v2"] .gn-v2-data-grid-alt-toolbar > div {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-head > div:first-child,
body[data-ui-version="v2"] .gn-v2-data-grid-alt-toolbar > div:first-child {
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-head span,
body[data-ui-version="v2"] .gn-v2-data-grid-alt-toolbar span {
  color: var(--gn-fg-5);
  font-family: var(--gn-font-sans);
  font-size: 10.5px;
  font-weight: 650;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-head strong,
body[data-ui-version="v2"] .gn-v2-data-grid-alt-toolbar strong {
  max-width: 520px;
  overflow: hidden;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-sans);
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-table {
  min-width: 920px;
  padding: 6px 0;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-row {
  display: grid;
  grid-template-columns: 44px minmax(180px, 1.2fr) minmax(140px, 0.9fr) 72px 76px minmax(100px, 0.7fr) minmax(240px, 1.5fr);
  align-items: center;
  min-height: 34px;
  border-bottom: 0.5px solid var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-row.is-head {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 30px;
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-row > span {
  min-width: 0;
  padding: 6px 10px;
  overflow: hidden;
  color: var(--gn-fg-3);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-row.is-head > span {
  color: var(--gn-fg-5);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  font-weight: 750;
}

body[data-ui-version="v2"] .gn-v2-data-grid-field-name,
body[data-ui-version="v2"] .gn-v2-data-grid-field-type,
body[data-ui-version="v2"] .gn-v2-data-grid-fields-row > span:nth-child(1),
body[data-ui-version="v2"] .gn-v2-data-grid-fields-row > span:nth-child(4),
body[data-ui-version="v2"] .gn-v2-data-grid-fields-row > span:nth-child(5),
body[data-ui-version="v2"] .gn-v2-data-grid-fields-row > span:nth-child(6) {
  font-family: var(--gn-font-mono);
}

body[data-ui-version="v2"] .gn-v2-data-grid-field-name {
  color: var(--gn-fg-1) !important;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-data-grid-field-type {
  color: var(--gn-info) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-fields-row em {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 6px;
  border-radius: 4px;
  background: var(--gn-warn-soft);
  color: var(--gn-warn);
  font-family: var(--gn-font-mono);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view {
  display: flex;
  flex-direction: column;
}

body[data-ui-version="v2"] .gn-v2-data-grid-split-workspace {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 8px var(--gn-v2-ddl-sidebar-width, 420px);
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-data-grid-split-main {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-sidebar {
  width: var(--gn-v2-ddl-sidebar-width, 420px);
  min-width: 320px;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--gn-bg-panel);
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-resizer {
  position: relative;
  z-index: 5;
  width: 8px;
  min-width: 8px;
  cursor: col-resize;
  background:
    linear-gradient(
      90deg,
      transparent 0,
      transparent 3px,
      var(--gn-br-1) 3px,
      var(--gn-br-1) 4px,
      transparent 4px,
      transparent 100%
    );
  touch-action: none;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-resizer::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 42px;
  border-radius: 2px;
  background: var(--gn-br-2);
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 120ms ease, background 120ms ease;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-resizer:hover::after {
  background: var(--gn-accent);
  opacity: 1;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-resize-preview {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 8;
  width: 2px;
  pointer-events: none;
  opacity: 0;
  background: var(--gn-accent);
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view.is-side {
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view.is-side .gn-v2-data-grid-alt-toolbar {
  min-height: 52px;
  align-items: flex-start;
  padding: 8px 10px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view.is-side .gn-v2-data-grid-alt-toolbar > div:first-child {
  flex: 1 1 auto;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view.is-side .gn-v2-data-grid-alt-toolbar > div:last-child {
  justify-content: flex-end;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: 6px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-view.is-side .gn-v2-data-grid-alt-toolbar strong {
  max-width: 210px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-ddl-code {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

body[data-ui-version="v2"] .gn-v2-data-grid-alt-empty {
  padding: 28px 16px;
  color: var(--gn-fg-5);
  font-size: 12.5px;
  text-align: center;
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-view {
  padding: 34px;
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) 88px minmax(240px, 1fr);
  align-items: center;
  gap: 8px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-node {
  min-width: 0;
  padding: 13px 14px;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 8px;
  background: var(--gn-bg-panel-2);
  box-shadow: var(--gn-shadow-sm);
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-node.is-main {
  border-color: color-mix(in srgb, var(--gn-accent) 38%, var(--gn-br-2));
  background: var(--gn-accent-soft);
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-node span {
  display: block;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-mono);
  font-size: 10px;
  font-weight: 750;
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-node strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: 13px;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-node small {
  display: block;
  margin-top: 6px;
  color: var(--gn-fg-4);
  font-size: 11px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-lines {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-lines span {
  height: 1px;
  background: linear-gradient(90deg, var(--gn-br-3), var(--gn-info));
}

body[data-ui-version="v2"] .gn-v2-data-grid-er-side {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* ─── AI Chat Panel hooks (project's class names) ──────── */
body[data-ui-version="v2"] .ai-chat-panel {
  background: var(--gn-bg-panel) !important;
  border-left: 0.5px solid var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .ai-chat-panel input,
body[data-ui-version="v2"] .ai-chat-panel textarea {
  background: var(--gn-bg-input) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 9px !important;
  font-family: var(--gn-font-sans) !important;
}

/* AI accent button (send / 生成 SQL) */
body[data-ui-version="v2"] .ant-btn.ai-send,
body[data-ui-version="v2"] [class*="AISend"] {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  border-color: #0369a1 !important;
  color: #fff !important;
}

/* ─── Code / SQL editor surfaces ───────────────────────── */
body[data-ui-version="v2"] .monaco-editor,
body[data-ui-version="v2"] .monaco-editor-background,
body[data-ui-version="v2"] .monaco-editor .margin {
  background-color: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .monaco-editor,
body[data-ui-version="v2"] .monaco-editor .margin,
body[data-ui-version="v2"] .monaco-editor .view-lines,
body[data-ui-version="v2"] .monaco-editor .view-line,
body[data-ui-version="v2"] .monaco-editor textarea,
body[data-ui-version="v2"] .monaco-editor .inputarea {
  font-family: var(--gn-font-mono) !important;
}

/* ─── Progress ────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-progress-bg {
  background: var(--gn-accent) !important;
}

body[data-ui-version="v2"] .ant-progress-success-bg {
  background: var(--gn-accent) !important;
}

/* ─── Divider ─────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-divider {
  border-color: var(--gn-br-1) !important;
}

/* ──────────────────────────────────────────────────────────
   Small additions — visual polish unique to v2
   ────────────────────────────────────────────────────────── */

/* Brand-tinted active row indicator in sidebar */
body[data-ui-version="v2"] .gn-v2-object-explorer .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected::before {
  content: '';
  position: absolute;
  left: -6px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: var(--gn-accent);
  border-radius: 2px;
}

body[data-ui-version="v2"] .ant-tree .ant-tree-node-content-wrapper {
  position: relative;
}

/* Number-tabular for monospace stats / counts */
body[data-ui-version="v2"] .ant-statistic-content,
body[data-ui-version="v2"] [class*="data-count"],
body[data-ui-version="v2"] [class*="row-count"] {
  font-variant-numeric: tabular-nums;
  font-family: var(--gn-font-mono) !important;
}

/* Subtle inset highlight on the macOS-style traffic-light area + title */
body[data-ui-version="v2"][data-theme="light"] .ant-layout-header {
  box-shadow: inset 0 -0.5px 0 rgba(15, 23, 42, 0.05) !important;
}
body[data-ui-version="v2"][data-theme="dark"] .ant-layout-header {
  box-shadow: inset 0 -0.5px 0 rgba(255, 255, 255, 0.05) !important;
}

/* ─── Version indicator for v2 (purely cosmetic, added in settings) ─ */
body[data-ui-version="v2"] .gonavi-v2-version-ribbon {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 1px 5px;
  background: var(--gn-info-soft);
  color: var(--gn-info);
  border-radius: 4px;
}

/* ══════════════════════════════════════════════════════════
   EXTENDED COVERAGE — forms, deep modals, Redis viewer, etc.
   ══════════════════════════════════════════════════════════ */

/* ─── Form (新建连接、AI 设置 等) ──────────────────────── */
body[data-ui-version="v2"] .ant-form-item-label > label {
  color: var(--gn-fg-3) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  height: 26px !important;
}
body[data-ui-version="v2"] .ant-form-item-label > label.ant-form-item-required::before {
  color: var(--gn-danger) !important;
}
body[data-ui-version="v2"] .ant-form-item {
  margin-bottom: 14px !important;
}
body[data-ui-version="v2"] .ant-form-item-extra {
  font-size: 11px !important;
  color: var(--gn-fg-5) !important;
  padding-top: 4px !important;
}
body[data-ui-version="v2"] .ant-form-item-explain-error {
  font-size: 11.5px !important;
  color: var(--gn-danger) !important;
}

/* ─── Radio ───────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-radio-wrapper {
  color: var(--gn-fg-2) !important;
  font-size: 12.5px !important;
}
body[data-ui-version="v2"] .ant-radio-inner {
  border-color: var(--gn-br-3) !important;
  background: var(--gn-bg-input) !important;
}
body[data-ui-version="v2"] .ant-radio-checked .ant-radio-inner {
  border-color: var(--gn-accent) !important;
  background: var(--gn-accent) !important;
}
body[data-ui-version="v2"] .ant-radio-checked .ant-radio-inner::after {
  background: #fff !important;
}
body[data-ui-version="v2"] .ant-radio-button-wrapper {
  background: var(--gn-bg-panel) !important;
  border-color: var(--gn-br-2) !important;
  color: var(--gn-fg-2) !important;
  height: 28px !important;
  line-height: 26px !important;
  font-size: 12.5px !important;
}
body[data-ui-version="v2"] .ant-radio-button-wrapper:hover {
  color: var(--gn-fg-1) !important;
}
body[data-ui-version="v2"] .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) {
  background: var(--gn-accent-soft) !important;
  border-color: var(--gn-accent) !important;
  color: var(--gn-accent-2) !important;
  font-weight: 600 !important;
}

/* ─── Checkbox ────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-checkbox-inner {
  border-color: var(--gn-br-3) !important;
  background: var(--gn-bg-input) !important;
  border-radius: 4px !important;
}
body[data-ui-version="v2"] .ant-checkbox-checked .ant-checkbox-inner {
  background: var(--gn-accent) !important;
  border-color: var(--gn-accent-2) !important;
}
body[data-ui-version="v2"] .ant-checkbox-wrapper {
  color: var(--gn-fg-2) !important;
  font-size: 12.5px !important;
}
body[data-ui-version="v2"] .ant-checkbox-indeterminate .ant-checkbox-inner::after {
  background-color: var(--gn-accent) !important;
}

/* ─── Slider ──────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-slider-rail {
  background: var(--gn-bg-active) !important;
}
body[data-ui-version="v2"] .ant-slider-track {
  background: var(--gn-accent) !important;
}
body[data-ui-version="v2"] .ant-slider-handle::after {
  box-shadow: 0 0 0 2px var(--gn-accent) !important;
}
body[data-ui-version="v2"] .ant-slider:hover .ant-slider-track {
  background: var(--gn-accent-2) !important;
}

/* ─── Steps (Modal multi-step flows) ──────────────────── */
body[data-ui-version="v2"] .ant-steps-item-process .ant-steps-item-icon {
  background: var(--gn-accent) !important;
  border-color: var(--gn-accent-2) !important;
}
body[data-ui-version="v2"] .ant-steps-item-finish .ant-steps-item-icon {
  background: var(--gn-accent-soft) !important;
  border-color: var(--gn-accent) !important;
}
body[data-ui-version="v2"] .ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon {
  color: var(--gn-accent-2) !important;
}
body[data-ui-version="v2"] .ant-steps-item-finish > .ant-steps-item-container > .ant-steps-item-tail::after {
  background-color: var(--gn-accent) !important;
}
body[data-ui-version="v2"] .ant-steps-item-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--gn-fg-1) !important;
}

/* ─── Drawer ──────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-drawer-content {
  background: var(--gn-bg-panel) !important;
}
body[data-ui-version="v2"] .ant-drawer-header {
  background: var(--gn-bg-panel-2) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  padding: 12px 18px !important;
}
body[data-ui-version="v2"] .ant-drawer-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--gn-fg-1) !important;
}
body[data-ui-version="v2"] .ant-drawer-footer {
  border-top: 0.5px solid var(--gn-br-1) !important;
  background: var(--gn-bg-panel-2) !important;
  padding: 10px 18px !important;
}

/* ─── Collapse ────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-collapse {
  background: transparent !important;
  border: 0.5px solid var(--gn-br-1) !important;
  border-radius: 9px !important;
  overflow: hidden;
}
body[data-ui-version="v2"] .ant-collapse-item {
  border-bottom: 0.5px solid var(--gn-br-1) !important;
}
body[data-ui-version="v2"] .ant-collapse-item:last-child {
  border-bottom: 0 !important;
}
body[data-ui-version="v2"] .ant-collapse-header {
  background: var(--gn-bg-panel-2) !important;
  color: var(--gn-fg-1) !important;
  font-weight: 600 !important;
  padding: 10px 14px !important;
}
body[data-ui-version="v2"] .ant-collapse-content {
  background: var(--gn-bg-panel) !important;
  border-top: 0.5px solid var(--gn-br-1) !important;
}
body[data-ui-version="v2"] .ant-collapse-content-box {
  padding: 12px 14px !important;
}

/* ─── Card ────────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-card {
  background: var(--gn-bg-panel) !important;
  border: 0.5px solid var(--gn-br-1) !important;
  border-radius: 10px !important;
  box-shadow: var(--gn-shadow-card) !important;
}
body[data-ui-version="v2"] .ant-card-head {
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  min-height: 38px !important;
  padding: 0 14px !important;
}
body[data-ui-version="v2"] .ant-card-head-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--gn-fg-1) !important;
  padding: 10px 0 !important;
}
body[data-ui-version="v2"] .ant-card-body {
  padding: 14px !important;
}

/* ─── Statistic / number readouts ─────────────────────── */
body[data-ui-version="v2"] .ant-statistic-title {
  font-size: 11px !important;
  color: var(--gn-fg-4) !important;
  letter-spacing: 0;
  text-transform: uppercase;
  font-weight: 600 !important;
}
body[data-ui-version="v2"] .ant-statistic-content {
  font-family: var(--gn-font-mono) !important;
  font-variant-numeric: tabular-nums;
  color: var(--gn-fg-1) !important;
}

/* ─── Empty ───────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-empty-description {
  color: var(--gn-fg-4) !important;
  font-size: 12.5px !important;
}

/* ─── Spin ────────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-spin-dot-item {
  background: var(--gn-accent) !important;
}

/* ─── Notification / Message ──────────────────────────── */
body[data-ui-version="v2"] .ant-message-notice-content,
body[data-ui-version="v2"] .ant-notification-notice {
  background: var(--gn-bg-panel) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  box-shadow: var(--gn-shadow-lg) !important;
  color: var(--gn-fg-1) !important;
}

/* ─── Pagination ──────────────────────────────────────── */
body[data-ui-version="v2"] .ant-pagination-item {
  border-radius: 5px !important;
  border-color: var(--gn-br-2) !important;
  background: var(--gn-bg-panel) !important;
  font-family: var(--gn-font-mono) !important;
}
body[data-ui-version="v2"] .ant-pagination-item-active {
  border-color: var(--gn-accent) !important;
  background: var(--gn-accent-soft) !important;
}
body[data-ui-version="v2"] .ant-pagination-item-active a {
  color: var(--gn-accent-2) !important;
}
body[data-ui-version="v2"] .ant-pagination-prev .ant-pagination-item-link,
body[data-ui-version="v2"] .ant-pagination-next .ant-pagination-item-link {
  border-radius: 5px !important;
  border-color: var(--gn-br-2) !important;
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-3) !important;
}

/* ─── Alert / banners (security update etc.) ──────────── */
body[data-ui-version="v2"] .ant-alert {
  border-radius: 9px !important;
  border-width: 0.5px !important;
  padding: 10px 12px !important;
}
body[data-ui-version="v2"] .ant-alert-info {
  background: var(--gn-info-soft) !important;
  border-color: rgba(56, 189, 248, 0.3) !important;
}
body[data-ui-version="v2"] .ant-alert-success {
  background: var(--gn-accent-soft) !important;
  border-color: rgba(34, 197, 94, 0.3) !important;
}
body[data-ui-version="v2"] .ant-alert-warning {
  background: var(--gn-warn-soft) !important;
  border-color: rgba(245, 158, 11, 0.3) !important;
}

/* ─── Tabs inside Modal/Drawer (smaller, no extra chrome) ─ */
body[data-ui-version="v2"] .ant-modal .ant-tabs > .ant-tabs-nav,
body[data-ui-version="v2"] .ant-drawer .ant-tabs > .ant-tabs-nav {
  background: transparent !important;
  margin-bottom: 12px !important;
}
body[data-ui-version="v2"] .ant-modal .ant-tabs-tab,
body[data-ui-version="v2"] .ant-drawer .ant-tabs-tab {
  background: transparent !important;
  border: none !important;
  padding: 6px 12px !important;
}
body[data-ui-version="v2"] .ant-modal .ant-tabs-tab-active::after,
body[data-ui-version="v2"] .ant-drawer .ant-tabs-tab-active::after {
  display: none !important;
}
body[data-ui-version="v2"] .ant-modal .ant-tabs-ink-bar,
body[data-ui-version="v2"] .ant-drawer .ant-tabs-ink-bar {
  display: block !important;
  background: var(--gn-accent) !important;
  height: 2px !important;
}

/* ─── Tree-select / Cascader ──────────────────────────── */
body[data-ui-version="v2"] .ant-tree-select-dropdown,
body[data-ui-version="v2"] .ant-cascader-dropdown {
  background: var(--gn-bg-panel) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  box-shadow: var(--gn-shadow-lg) !important;
}

/* ─── Popover ─────────────────────────────────────────── */
body[data-ui-version="v2"] .ant-popover-inner {
  background: var(--gn-bg-panel) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  box-shadow: var(--gn-shadow-lg) !important;
}
body[data-ui-version="v2"] .ant-popover-title {
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
}

/* ─── Connection modal special touches ────────────────── */
/* The form preset cards usually use bordered divs, give them our card style */
body[data-ui-version="v2"] [class*="preset-card"],
body[data-ui-version="v2"] [class*="connection-preset"] {
  background: var(--gn-bg-panel) !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  box-shadow: var(--gn-shadow-card) !important;
  transition: border-color 0.08s, box-shadow 0.08s !important;
}
body[data-ui-version="v2"] [class*="preset-card"]:hover {
  border-color: var(--gn-accent) !important;
  box-shadow: 0 0 0 1px var(--gn-accent), var(--gn-shadow-md) !important;
}

/* ─── Settings center utility panels ──────────────────── */
/* The settings modal uses inline-styled panels — we can't override those,
   but anything wrapped in `.ant-modal-body > div` benefits from these resets. */
body[data-ui-version="v2"] .ant-modal-body input[type="text"],
body[data-ui-version="v2"] .ant-modal-body input[type="number"] {
  background: var(--gn-bg-input) !important;
  border-color: var(--gn-br-2) !important;
  border-radius: 7px !important;
}

/* ─── Redis viewer / Driver manager / overlay workbench ─── */
/* These render their cards via inline styles read from workbenchTheme
   objects (see overlayWorkbenchTheme.ts, redisViewerWorkbenchTheme.ts,
   driverManagerWorkbenchTheme.ts). Those files now branch on uiVersion
   and supply v2 colors directly. The hooks below tighten edges that
   inline styles can't reach. */

body[data-ui-version="v2"] .redis-viewer-workbench {
  background: var(--gn-bg-app) !important;
  /* the inner cards still read workbenchTheme — those return v2 palette
     once the workbench theme files honor uiVersion */
}

body[data-ui-version="v2"] .redis-tree-expander-button:hover {
  background: var(--gn-bg-hover) !important;
}

/* class-based selectors for Tree inside Redis viewer — tighten paddings */
body[data-ui-version="v2"] .redis-viewer-workbench .ant-tree-node-content-wrapper {
  padding: 2px 8px !important;
}

/* ─── Logo / brand chip (a generic helper for v2 places) ─ */
body[data-ui-version="v2"] .gonavi-v2-brand-chip {
  width: 24px; height: 24px;
  border-radius: 7px;
  background: linear-gradient(135deg, var(--gn-accent) 0%, var(--gn-accent-2) 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--gn-font-mono);
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 0;
  box-shadow: inset 0 0.5px 0 rgba(255,255,255,0.3), 0 1px 2px rgba(15,23,42,0.18);
}

/* ─── Hide / soften legacy chrome that clashes with v2 ─── */
/* Antd's default Tabs add-icon area can look heavy — soften it */
body[data-ui-version="v2"] .ant-tabs-nav-add {
  border-radius: 6px !important;
  width: 28px !important;
  height: 28px !important;
}

/* ─── Final: minor pixel hygiene ──────────────────────── */
body[data-ui-version="v2"] .ant-divider-horizontal {
  margin: 12px 0 !important;
}
body[data-ui-version="v2"] .ant-typography {
  color: var(--gn-fg-1);
}
body[data-ui-version="v2"] h1.ant-typography,
body[data-ui-version="v2"] h2.ant-typography,
body[data-ui-version="v2"] h3.ant-typography,
body[data-ui-version="v2"] h4.ant-typography {
  letter-spacing: 0;
}

/* ─── V2 structural shell: redesigned sidebar / workbench ─ */
body[data-ui-version="v2"] .gn-v2-sidebar-shell {
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-app-sider {
  min-width: 232px !important;
  max-width: 420px !important;
}

body[data-ui-version="v2"] .gn-v2-sidebar-redesign {
  width: 100%;
  background: var(--gn-bg-panel-2);
  border-right: 0.5px solid var(--gn-br-1);
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-connection-rail {
  width: calc(38px * var(--gn-ui-scale, 1));
  flex: 0 0 calc(38px * var(--gn-ui-scale, 1));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: calc(4px * var(--gn-ui-scale, 1));
  padding: calc(8px * var(--gn-ui-scale, 1)) 0;
  border-right: 0.5px solid var(--gn-br-1);
  background: transparent;
}

body[data-ui-version="v2"] .gn-v2-rail-items {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(4px * var(--gn-ui-scale, 1));
  width: 100%;
  box-sizing: border-box;
  padding-top: calc(4px * var(--gn-ui-scale, 1));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--gn-accent) 45%, transparent) transparent;
}

body[data-ui-version="v2"] .gn-v2-rail-items::-webkit-scrollbar {
  width: 5px;
}

body[data-ui-version="v2"] .gn-v2-rail-items::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--gn-accent) 38%, transparent);
}

body[data-ui-version="v2"] .gn-v2-rail-group {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(3px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-rail-group + .gn-v2-rail-group {
  padding-top: calc(5px * var(--gn-ui-scale, 1));
  border-top: 0.5px solid var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-rail-group-header {
  position: relative;
  width: 100%;
  min-height: calc(24px * var(--gn-ui-scale, 1));
  overflow: visible;
  border: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  padding: 0 4px 0 6px;
  background: transparent;
  color: var(--gn-fg-5);
  box-shadow: none;
}

body[data-ui-version="v2"] .gn-v2-rail-group-header:hover {
  background: transparent;
  color: var(--gn-fg-3);
}

body[data-ui-version="v2"] .gn-v2-rail-group-chevron {
  position: static;
  display: inline-flex;
  color: var(--gn-fg-5);
  font-size: 9px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform 120ms ease;
}

body[data-ui-version="v2"] .gn-v2-rail-group.is-collapsed .gn-v2-rail-group-chevron {
  transform: rotate(-90deg);
}

body[data-ui-version="v2"] .gn-v2-rail-group-title {
  min-width: 0;
  color: var(--gn-fg-4);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-ui-version="v2"] .gn-v2-rail-group-count {
  position: absolute;
  top: -1px;
  right: -1px;
  min-width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border: 2px solid var(--gn-bg-panel-2);
  background: var(--gn-accent);
  color: #fff;
  font-family: var(--gn-font-mono);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
}

body[data-ui-version="v2"] .gn-v2-rail-group-items {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(4px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-rail-primary-actions,
body[data-ui-version="v2"] .gn-v2-rail-secondary-actions {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(6px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-rail-primary-actions {
  padding-top: calc(4px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-rail-secondary-actions {
  margin-top: auto;
  padding-bottom: calc(4px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-rail-action-group,
body[data-ui-version="v2"] .gn-v2-rail-system-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(4px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-rail-action-group {
  padding-bottom: calc(6px * var(--gn-ui-scale, 1));
  border-bottom: 0.5px solid var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-rail-action-wrap {
  display: inline-flex;
}

body[data-ui-version="v2"] .gn-v2-rail-action {
  color: var(--gn-fg-3);
}

body[data-ui-version="v2"] .gn-v2-rail-action:disabled {
  opacity: 0.42;
  color: var(--gn-fg-5);
  cursor: not-allowed;
}

body[data-ui-version="v2"] .gn-v2-rail-item,
body[data-ui-version="v2"] .gn-v2-rail-tool {
  position: relative;
  width: calc(36px * var(--gn-ui-scale, 1));
  height: calc(38px * var(--gn-ui-scale, 1));
  border-radius: calc(9px * var(--gn-ui-scale, 1));
  border: none;
  background: transparent;
  color: var(--gn-fg-4);
  font-size: var(--gn-font-size-sm, 12px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0;
}

body[data-ui-version="v2"] .gn-v2-rail-tool {
  width: calc(24px * var(--gn-ui-scale, 1));
  height: calc(32px * var(--gn-ui-scale, 1));
  border-radius: calc(8px * var(--gn-ui-scale, 1));
  justify-content: center;
  padding: 0;
}

body[data-ui-version="v2"] .gn-v2-rail-item:hover,
body[data-ui-version="v2"] .gn-v2-rail-tool:hover {
  background: var(--gn-bg-hover);
}

body[data-ui-version="v2"] .gn-v2-rail-item.is-active {
  background: var(--gn-bg-active);
  box-shadow: inset 0 0 0 0.5px var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-rail-active-bar {
  display: none;
  position: absolute;
  left: -8px;
  top: 7px;
  bottom: 7px;
  width: 3px;
  border-radius: 3px;
  background: var(--gn-accent);
}

body[data-ui-version="v2"] .gn-v2-rail-item.is-active .gn-v2-rail-active-bar {
  display: block;
}

body[data-ui-version="v2"] .gn-v2-rail-icon {
  display: flex;
  width: 24px;
  height: 24px;
  align-items: center;
  justify-content: center;
}

body[data-ui-version="v2"] .gn-v2-rail-badge {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--gn-font-mono);
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1;
  box-shadow: inset 0 0.5px 0 rgba(255,255,255,0.3), 0 0.5px 1px rgba(0,0,0,0.2);
  letter-spacing: 0;
}

body[data-ui-version="v2"] .gn-v2-rail-badge-wrap {
  position: relative;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

body[data-ui-version="v2"] .gn-v2-rail-fallback {
  display: none;
}

body[data-ui-version="v2"] .gn-v2-rail-status {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid var(--gn-bg-panel);
  background: var(--gn-fg-5);
}

body[data-ui-version="v2"] .gn-v2-rail-status.is-live {
  background: #22c55e;
}

body[data-ui-version="v2"] .gn-v2-rail-status.is-error {
  background: var(--gn-danger);
}

body[data-ui-version="v2"] .gn-v2-rail-create-button {
  margin-top: 4px;
  width: calc(40px * var(--gn-ui-scale, 1));
  height: calc(40px * var(--gn-ui-scale, 1));
  border: 1px dashed var(--gn-br-2);
  border-radius: calc(14px * var(--gn-ui-scale, 1));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0;
  color: var(--gn-fg-5);
  background: transparent;
}

body[data-ui-version="v2"] .gn-v2-rail-create-button:hover {
  background: color-mix(in srgb, var(--gn-bg-hover) 54%, transparent);
}

body[data-ui-version="v2"] .gn-v2-rail-create-icon {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--gn-bg-panel) 72%, var(--gn-accent) 28%);
  color: var(--gn-accent);
  box-shadow: inset 0 0 0 0.5px color-mix(in srgb, var(--gn-accent) 28%, transparent);
}

body[data-ui-version="v2"] .gn-v2-rail-create-label {
  color: var(--gn-fg-5);
  font-size: 10px;
  line-height: 1;
}

body[data-ui-version="v2"] .gn-v2-object-explorer {
  min-width: 0;
  flex: 1 1 calc(100% - 38px);
  background: var(--gn-bg-panel-2);
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-active-connection-header {
  padding: 10px 10px 8px 12px;
  min-height: 52px;
  border-bottom: 0.5px solid var(--gn-br-1);
  display: flex;
  align-items: center;
  gap: 8px;
}

body[data-ui-version="v2"] .gn-v2-active-connection-trigger {
  min-width: 0;
  flex: 1 1 auto;
  height: 34px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 9px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
}

body[data-ui-version="v2"] .gn-v2-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--gn-fg-5);
}

body[data-ui-version="v2"] .gn-v2-live-dot.is-live {
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.18);
}

body[data-ui-version="v2"] .gn-v2-live-dot.is-error {
  background: var(--gn-danger);
}

body[data-ui-version="v2"] .gn-v2-active-connection-copy {
  min-width: 0;
  flex: 1 1 auto;
}

body[data-ui-version="v2"] .gn-v2-active-connection-copy strong,
body[data-ui-version="v2"] .gn-v2-active-connection-copy span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--gn-font-sans);
  letter-spacing: 0;
}

body[data-ui-version="v2"] .gn-v2-active-connection-copy strong {
  color: var(--gn-fg-1);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
}

body[data-ui-version="v2"] .gn-v2-active-connection-copy span {
  margin-top: 2px;
  color: var(--gn-fg-4);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
}

body[data-ui-version="v2"] .gn-v2-active-connection-actions {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex: 0 0 auto;
}

body[data-ui-version="v2"] .gn-v2-explorer-search {
  padding: 10px 10px 6px !important;
  border-bottom: none !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-command-row,
body[data-ui-version="v2"] .gn-v2-explorer-legacy-filter-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

body[data-ui-version="v2"] .gn-v2-explorer-legacy-filter-row .ant-input-affix-wrapper {
  flex: 1 1 auto;
  min-width: 0;
}

body[data-ui-version="v2"] .gn-v2-explorer-command-trigger {
  flex: 1 1 auto;
  min-width: 0;
  height: 30px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 7px;
  padding: 0 8px;
  background: var(--gn-bg-input);
  color: var(--gn-fg-4);
  cursor: text;
  font-size: 12px;
  font-weight: 500;
  text-align: left;
}

body[data-ui-version="v2"] .gn-v2-explorer-command-trigger:hover {
  border-color: var(--gn-accent);
  background: var(--gn-bg-hover);
  color: var(--gn-fg-2);
}

body[data-ui-version="v2"] .gn-v2-explorer-command-trigger > span:nth-child(2) {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-explorer-filter-action {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 7px;
  background: var(--gn-bg-input);
  color: var(--gn-fg-4);
  cursor: pointer;
}

body[data-ui-version="v2"] .gn-v2-explorer-filter-action:hover:not(:disabled) {
  border-color: var(--gn-accent);
  background: var(--gn-bg-hover);
  color: var(--gn-fg-2);
}

body[data-ui-version="v2"] .gn-v2-explorer-filter-action:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

body[data-ui-version="v2"] .gn-v2-command-backdrop {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 10vh 16px 24px;
  background: rgba(15, 23, 42, 0.24);
}

body[data-ui-version="v2"] .gn-v2-command-palette {
  width: min(720px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 48px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 14px;
  background: var(--gn-bg-panel);
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.24);
}

body[data-ui-version="v2"] .gn-v2-command-searchbar {
  height: 68px;
  flex: 0 0 68px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 22px;
  border-bottom: 0.5px solid var(--gn-br-1);
  color: var(--gn-fg-4);
}

body[data-ui-version="v2"] .gn-v2-command-searchbar .ant-input {
  flex: 1 1 auto;
  height: 54px;
  min-width: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gn-fg-1) !important;
  font-size: 19px;
  font-weight: 500;
}

body[data-ui-version="v2"] .gn-v2-command-searchbar .ant-input::placeholder {
  color: var(--gn-fg-5);
}

body[data-ui-version="v2"] .gn-v2-command-searchbar > .anticon {
  font-size: 18px;
  color: var(--gn-fg-4);
}

body[data-ui-version="v2"] .gn-v2-command-filter-switch {
  height: 30px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body[data-ui-version="v2"] .gn-v2-command-searchbar .ant-switch {
  flex: 0 0 auto;
}

body[data-ui-version="v2"] .gn-v2-command-searchbar .ant-btn {
  width: 30px !important;
  height: 30px !important;
  flex: 0 0 30px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 8px !important;
  color: var(--gn-fg-4) !important;
}

body[data-ui-version="v2"] .gn-v2-command-searchbar .ant-btn:hover:not(:disabled) {
  background: var(--gn-bg-hover) !important;
  color: var(--gn-fg-2) !important;
}

body[data-ui-version="v2"] .gn-v2-command-searchbar .ant-btn:disabled {
  color: var(--gn-fg-5) !important;
}

body[data-ui-version="v2"] .gn-v2-command-searchbar > kbd,
body[data-ui-version="v2"] .gn-v2-command-footer kbd,
body[data-ui-version="v2"] .gn-v2-command-row kbd {
  min-width: 28px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 6px;
  background: var(--gn-bg-panel-2);
  color: var(--gn-fg-3);
  font-family: var(--gn-font-mono);
  font-size: 12px;
  font-weight: 800;
}

body[data-ui-version="v2"] .gn-v2-command-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 16px 0 14px;
}

body[data-ui-version="v2"] .gn-v2-command-section {
  margin-bottom: 16px;
}

body[data-ui-version="v2"] .gn-v2-command-section-title {
  padding: 0 22px 8px;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

body[data-ui-version="v2"] .gn-v2-command-row {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 0;
  padding: 7px 22px;
  background: transparent;
  color: var(--gn-fg-2);
  cursor: pointer;
  text-align: left;
}

body[data-ui-version="v2"] .gn-v2-command-row:hover,
body[data-ui-version="v2"] .gn-v2-command-row.is-active {
  background: var(--gn-bg-hover);
}

body[data-ui-version="v2"] .gn-v2-command-row-icon {
  width: 22px;
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gn-fg-4);
  font-size: 15px;
}

body[data-ui-version="v2"] .gn-v2-command-row-icon.is-node {
  color: var(--gn-accent);
}

body[data-ui-version="v2"] .gn-v2-command-row-icon.is-action {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-command-row-main {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 2px;
}

body[data-ui-version="v2"] .gn-v2-command-row-main strong {
  overflow: hidden;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-command-row-main small {
  overflow: hidden;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 11.5px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-command-empty {
  padding: 32px 22px;
  color: var(--gn-fg-4);
  font-size: 13px;
  text-align: center;
}

body[data-ui-version="v2"] .gn-v2-command-footer {
  min-height: 46px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 10px 22px;
  border-top: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel-2);
  color: var(--gn-fg-4);
  font-size: 12px;
}

body[data-ui-version="v2"] .gn-v2-command-footer span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

@media (max-width: 720px) {
  body[data-ui-version="v2"] .gn-v2-command-backdrop {
    padding: 8px;
  }

  body[data-ui-version="v2"] .gn-v2-command-palette {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
  }

  body[data-ui-version="v2"] .gn-v2-command-footer {
    flex-wrap: wrap;
    gap: 8px 14px;
  }
}

body[data-ui-version="v2"] .gn-v2-explorer-search .ant-input-affix-wrapper {
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 7px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  padding: 0 8px !important;
  background: var(--gn-bg-input) !important;
  color: var(--gn-fg-2) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-search .ant-input {
  height: 28px !important;
  min-width: 0;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gn-fg-2) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-search .ant-input-prefix {
  margin-inline-end: 8px !important;
  color: var(--gn-fg-4) !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-search .ant-input-prefix .anticon {
  font-size: 13px;
}

body[data-ui-version="v2"] .gn-v2-explorer-search .ant-input-suffix {
  margin-inline-start: 8px !important;
}

body[data-ui-version="v2"] .gn-v2-search-shortcut {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

body[data-ui-version="v2"] .gn-v2-search-shortcut kbd {
  min-width: 18px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 5px;
  background: var(--gn-bg-panel-2);
  color: var(--gn-fg-3);
  font-family: var(--gn-font-mono);
  font-size: 11px;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-explorer-filter-tabs {
  display: flex;
  gap: 4px;
  padding: 2px 10px 8px;
}

body[data-ui-version="v2"] .gn-v2-explorer-filter-tabs button {
  flex: 1;
  height: 22px;
  border: none;
  border-radius: 5px;
  background: transparent;
  color: var(--gn-fg-4);
  font-size: 11px;
  font-weight: 600;
}

body[data-ui-version="v2"] .gn-v2-explorer-filter-tabs button.is-active {
  background: var(--gn-bg-active);
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-explorer-toolbar {
  display: none !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell {
  --gn-v2-tree-horizontal-scroll-reserve: 32px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .sidebar-tree-scroll-content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
  padding: 4px 0 0;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  font-size: var(--gn-sidebar-tree-font-size, var(--gn-font-size-sm, 12px));
  line-height: 1.2;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list {
  height: calc(100% - var(--gn-v2-tree-horizontal-scroll-reserve));
  min-height: 0;
  box-sizing: border-box;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-holder {
  scrollbar-width: thin;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-scrollbar-horizontal {
  height: 12px !important;
  left: 8px !important;
  right: 8px !important;
  bottom: calc((var(--gn-v2-tree-horizontal-scroll-reserve) - 12px) * -1) !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-scrollbar-horizontal .ant-tree-list-scrollbar-thumb {
  height: 8px !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--gn-fg-4) 52%, transparent) !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-scrollbar-horizontal .ant-tree-list-scrollbar-thumb:hover,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-scrollbar-horizontal .ant-tree-list-scrollbar-thumb-moving {
  background: color-mix(in srgb, var(--gn-fg-3) 72%, transparent) !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-list-holder-inner {
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-treenode {
  min-height: 26px !important;
  padding: 0 6px !important;
  align-items: center;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-switcher {
  width: 16px !important;
  min-width: 16px !important;
  align-self: stretch;
  line-height: 26px !important;
  font-size: 12px !important;
  color: var(--gn-fg-4);
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-indent-unit {
  width: 12px !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-node-content-wrapper {
  min-width: 0;
  min-height: 26px !important;
  padding: 0 6px !important;
  display: flex !important;
  align-items: center;
  border-radius: 6px !important;
  color: var(--gn-fg-3) !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-node-content-wrapper:hover {
  background: var(--gn-bg-hover) !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-node-content-wrapper.ant-tree-node-selected {
  background: var(--gn-bg-selected) !important;
  color: var(--gn-fg-1) !important;
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle {
  width: 15px !important;
  min-width: 15px !important;
  margin-right: 4px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: var(--gn-fg-4);
  font-size: 13px;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-table,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-eye,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-code,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-function,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-thunderbolt {
  color: var(--gn-accent);
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-folder,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-iconEle .anticon-folder-open {
  color: var(--gn-fg-4);
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .gn-v2-tree-folder-icon {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 22px;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .gn-v2-tree-folder-icon .anticon-folder,
body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .gn-v2-tree-folder-icon .anticon-folder-open {
  color: #faad14;
  font-size: 18px;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-title {
  min-width: 0;
  flex: 1 1 auto;
  display: inline-flex;
  align-items: center;
  overflow: visible;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-title > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-explorer-tree-shell .ant-tree-title > .gn-v2-tree-title {
  overflow: visible;
}

body[data-ui-version="v2"] .gn-v2-tree-title {
  width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--gn-fg-2);
  font-family: var(--gn-font-sans);
  font-size: var(--gn-sidebar-tree-font-size, var(--gn-font-size-sm, 12px));
  font-weight: 400 !important;
  line-height: 1.25;
}

body[data-ui-version="v2"] .gn-v2-tree-title.is-mono .gn-v2-tree-label {
  font-family: inherit;
  font-size: inherit;
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-tree-title.is-group {
  font-weight: 400 !important;
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-tree-title.is-connection {
  align-items: center;
  gap: 6px;
}

body[data-ui-version="v2"] .gn-v2-tree-status {
  position: relative;
  margin: 0 2px 0 0;
  width: 14px;
  min-width: 14px;
  height: 14px;
  flex: 0 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

body[data-ui-version="v2"] .gn-v2-tree-status::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex: 0 0 7px;
  background: #b8c0cc;
}

body[data-ui-version="v2"] .gn-v2-tree-status.is-success::before {
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.18);
}

body[data-ui-version="v2"] .gn-v2-tree-status.is-error::before {
  background: var(--gn-danger);
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.16);
}

body[data-ui-version="v2"] .gn-v2-tree-label {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  letter-spacing: 0;
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-tree-connection-copy {
  min-width: 0;
  flex: 1 1 auto;
  color: var(--gn-fg-1);
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-tree-count {
  flex: 0 0 auto;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-sans);
  font-variant-numeric: tabular-nums;
  font-size: clamp(10px, calc(var(--gn-sidebar-tree-font-size, var(--gn-font-size-sm, 12px)) - 1px), 16px);
  font-weight: 400 !important;
  opacity: 0.82;
}

body[data-ui-version="v2"] .gn-v2-table-pin-action {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 2px;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--gn-fg-5);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.12s ease, color 0.12s ease, background 0.12s ease;
}

body[data-ui-version="v2"] .gn-v2-table-pin-action:hover {
  background: var(--gn-bg-hover);
  color: var(--gn-fg-2);
}

body[data-ui-version="v2"] .gn-v2-table-pin-action.is-pinned {
  color: #f59e0b;
  opacity: 1;
}

body[data-ui-version="v2"] .ant-tree-node-content-wrapper:hover .gn-v2-table-pin-action,
body[data-ui-version="v2"] .gn-v2-table-pin-action:focus-visible {
  opacity: 1;
}

body[data-ui-version="v2"] .gn-v2-object-explorer .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected::before {
  display: none;
}

body[data-ui-version="v2"] .gn-v2-tree-title[data-node-type="database"] {
  font-weight: 400 !important;
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-tree-title[data-node-type="queries-folder"],
body[data-ui-version="v2"] .gn-v2-tree-title[data-node-type="external-sql-root"] {
  color: var(--gn-fg-1);
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-tree-external-root {
  width: 100%;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body[data-ui-version="v2"] .gn-v2-tree-external-root .gn-v2-tree-title {
  min-width: 0;
  flex: 1 1 auto;
}

body[data-ui-version="v2"] .gn-v2-tree-external-root .gn-v2-tree-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

body[data-ui-version="v2"] .gn-v2-tree-external-root-action {
  flex: 0 0 auto;
  padding-inline: 4px !important;
  height: 20px !important;
}

body[data-ui-version="v2"] .gn-v2-tree-title[data-group-key="triggers"] {
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-tree-section-title {
  display: flex;
  align-items: center;
  width: 100%;
  height: 22px;
  padding: 7px 4px 3px 2px;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-sans);
  font-size: clamp(10px, calc(var(--gn-sidebar-tree-font-size, var(--gn-font-size-sm, 12px)) - 1px), 16px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  pointer-events: none;
  user-select: none;
}

body[data-ui-version="v2"] .ant-tree-treenode:has(.gn-v2-tree-section-title) {
  pointer-events: none;
}

body[data-ui-version="v2"] .ant-tree-treenode:has(.gn-v2-tree-section-title) .ant-tree-switcher,
body[data-ui-version="v2"] .ant-tree-treenode:has(.gn-v2-tree-section-title) .ant-tree-iconEle {
  display: none !important;
}

body[data-ui-version="v2"] .ant-tree-treenode:has(.gn-v2-tree-section-title) .ant-tree-node-content-wrapper {
  min-height: 22px !important;
  padding-left: 0 !important;
  cursor: default !important;
  background: transparent !important;
}

body[data-ui-version="v2"] .ant-tree-treenode:has(.gn-v2-tree-section-title) .ant-tree-title {
  display: flex;
  width: 100%;
}

body[data-ui-version="v2"] .gn-v2-sidebar-log-footer {
  padding: 8px 10px;
  border-top: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel-2);
  flex-shrink: 0;
}

body[data-ui-version="v2"] .gn-v2-sidebar-log-button {
  width: 100%;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--gn-fg-2);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  font-size: 12.5px;
  font-weight: 400;
}

body[data-ui-version="v2"] .gn-v2-sidebar-log-button:hover {
  background: var(--gn-bg-hover);
}

body[data-ui-version="v2"] .gn-v2-sidebar-log-button small {
  margin-left: auto;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  font-weight: 400;
}

body[data-ui-version="v2"] .gn-v2-empty-workbench {
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 18px;
  padding: 24px;
  background: var(--gn-bg-app);
}

body[data-ui-version="v2"] .gn-v2-empty-hero,
body[data-ui-version="v2"] .gn-v2-empty-panel {
  align-self: stretch;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 8px;
  background: color-mix(in srgb, var(--gn-bg-panel) 88%, transparent);
  box-shadow: var(--gn-shadow-card);
}

body[data-ui-version="v2"] .gn-v2-empty-hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px;
}

body[data-ui-version="v2"] .gn-v2-empty-eyebrow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--gn-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

body[data-ui-version="v2"] .gn-v2-empty-hero h1 {
  max-width: 720px;
  margin: 18px 0 0;
  color: var(--gn-fg-1);
  font-size: 40px;
  line-height: 1.08;
  font-weight: 800;
}

@media (max-width: 720px) {
  body[data-ui-version="v2"] .gn-v2-empty-hero h1 {
    font-size: 28px;
  }
}

body[data-ui-version="v2"] .gn-v2-empty-hero p {
  max-width: 560px;
  margin: 16px 0 0;
  color: var(--gn-fg-3);
  font-size: 14px;
  line-height: 1.7;
}

body[data-ui-version="v2"] .gn-v2-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

body[data-ui-version="v2"] .gn-v2-empty-actions .ant-btn {
  height: 38px !important;
  border-radius: 8px !important;
}

body[data-ui-version="v2"] .gn-v2-empty-panel {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-family: var(--gn-font-sans);
}

body[data-ui-version="v2"] .gn-v2-panel-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-sans);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
  margin-bottom: 4px;
}

body[data-ui-version="v2"] .gn-v2-empty-panel button {
  width: 100%;
  min-height: 70px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  text-align: left;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 8px;
  background: var(--gn-bg-panel-2);
  color: var(--gn-fg-1);
  cursor: pointer;
  font-family: var(--gn-font-sans);
}

body[data-ui-version="v2"] .gn-v2-empty-panel button:hover {
  border-color: color-mix(in srgb, var(--gn-accent) 42%, var(--gn-br-1));
  background: var(--gn-bg-hover);
}

body[data-ui-version="v2"] .gn-v2-empty-panel button > .anticon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--gn-accent);
  background: var(--gn-accent-soft);
}

body[data-ui-version="v2"] .gn-v2-empty-panel strong,
body[data-ui-version="v2"] .gn-v2-empty-panel small {
  display: block;
  font-family: var(--gn-font-sans);
  letter-spacing: 0;
}

body[data-ui-version="v2"] .gn-v2-empty-panel strong {
  color: var(--gn-fg-1);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
}

body[data-ui-version="v2"] .gn-v2-empty-panel small {
  color: var(--gn-fg-4);
  font-size: 11px;
  margin-top: 3px;
  font-weight: 500;
  line-height: 1.45;
}

/* ─── Full V2 workbench shell: app / topbar / workspace ─ */
body[data-ui-version="v2"] .gn-v2-app-root {
  background: var(--gn-bg-app) !important;
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-titlebar {
  position: relative;
  background: var(--gn-bg-chrome) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-titlebar-brand {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: linear-gradient(135deg, var(--gn-accent) 0%, var(--gn-accent-2) 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--gn-font-mono);
  font-size: 9px;
  font-weight: 800;
  box-shadow: inset 0 0.5px 0 rgba(255,255,255,0.3);
}

body[data-ui-version="v2"] .gn-v2-titlebar-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  line-height: 1.05;
}

body[data-ui-version="v2"] .gn-v2-titlebar-copy strong {
  color: var(--gn-fg-2);
  font-size: 12px;
  font-weight: 800;
}

body[data-ui-version="v2"] .gn-v2-titlebar-copy small {
  max-width: 260px;
  margin-top: 2px;
  overflow: hidden;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 9.5px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-titlebar-center {
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-flex;
  max-width: 520px;
  transform: translate(-50%, -50%);
  align-items: center;
  gap: 8px;
  color: var(--gn-fg-3);
  font-family: var(--gn-font-mono);
  font-size: 12px;
  font-weight: 650;
  overflow: hidden;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-titlebar-center span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-ui-version="v2"] .gn-v2-titlebar-live {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}

body[data-ui-version="v2"] .gn-v2-app-shell {
  background: var(--gn-bg-app) !important;
}

body[data-ui-version="v2"] .gn-v2-app-sider {
  background: var(--gn-bg-panel-2) !important;
}

body[data-ui-version="v2"] .gn-v2-workspace-shell {
  background: var(--gn-bg-app) !important;
}

body[data-ui-version="v2"] .gn-v2-workspace-body {
  background: var(--gn-bg-app);
}

body[data-ui-version="v2"] .gn-v2-workspace-main {
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-ai-panel-dock {
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-ai-panel-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  z-index: 14;
}

body[data-ui-version="v2"] .gn-v2-ai-panel-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(248, 250, 252, 0.38);
  backdrop-filter: blur(2px);
  pointer-events: auto;
}

body[data-ui-version="v2"] .gn-v2-ai-panel-dock.is-overlay {
  position: relative;
  height: 100%;
  pointer-events: auto;
  z-index: 1;
}

body[data-ui-version="v2"] .gn-v2-ai-panel-dock.is-overlay .gn-v2-ai-panel {
  height: 100%;
  box-shadow: 0 18px 48px rgba(15, 23, 42, 0.18);
}

body[data-ui-version="v2"] .gn-v2-tab-workbench {
  min-height: 0;
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-main-tabs > .ant-tabs-nav {
  height: 36px;
  flex: 0 0 36px;
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-main-tabs-double > .ant-tabs-nav {
  height: 46px;
  flex: 0 0 46px;
}

body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-nav-wrap,
body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-nav-list {
  min-height: 36px;
}

body[data-ui-version="v2"] .gn-v2-main-tabs-double .ant-tabs-nav-wrap,
body[data-ui-version="v2"] .gn-v2-main-tabs-double .ant-tabs-nav-list {
  min-height: 46px;
}

body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-tab {
  width: 260px;
  min-width: 260px;
  max-width: 260px;
  height: 36px;
  margin: 0 !important;
  padding: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-main-tabs-double .ant-tabs-tab {
  height: 46px;
}

body[data-ui-version="v2"] .gn-v2-main-tabs .ant-tabs-tab-btn {
  width: 100%;
  height: 100%;
}

body[data-ui-version="v2"] .gn-v2-tab-label {
  position: relative;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 0 8px 0 10px;
  gap: 7px;
}

body[data-ui-version="v2"] .gn-v2-tab-label-content {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-tab-label-double {
  padding-top: 4px;
  padding-bottom: 3px;
}

body[data-ui-version="v2"] .gn-v2-tab-label-double .gn-v2-tab-label-content {
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  gap: 0;
}

body[data-ui-version="v2"] .gn-v2-tab-label-double .gn-v2-tab-label-main {
  flex: 0 1 auto;
  gap: 5px;
  line-height: 17px;
}

body[data-ui-version="v2"] .gn-v2-tab-label-main {
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gn-fg-2);
  font-weight: 700;
  line-height: 16px;
}

body[data-ui-version="v2"] .gn-v2-tab-label-secondary {
  min-width: 0;
  display: block;
  overflow: hidden;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-mono);
  font-size: 10px;
  font-weight: 650;
  line-height: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-tab-label-part {
  min-width: 0;
  flex: 0 0 auto;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-tab-label-part-object {
  flex: 1 1 auto;
  color: var(--gn-fg-2);
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-tab-label-part-connection {
  flex: 0 1 92px;
  color: var(--gn-fg-2);
  font-family: var(--gn-font-mono);
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-tab-label-part-host,
body[data-ui-version="v2"] .gn-v2-tab-label-part-database,
body[data-ui-version="v2"] .gn-v2-tab-label-part-schema {
  flex: 0 2 auto;
  max-width: 112px;
}

body[data-ui-version="v2"] .gn-v2-tab-kind-icon {
  display: inline-flex;
  color: var(--gn-accent);
  font-size: 12px;
}

body[data-ui-version="v2"] .gn-v2-tab-kind {
  height: 17px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 0 5px;
  border-radius: 3px;
  background: var(--gn-bg-active);
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 9.5px;
  font-weight: 750;
}

body[data-ui-version="v2"] .gn-v2-tab-conn {
  max-width: 76px;
  overflow: hidden;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-mono);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-tab-close {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: none;
  border-radius: 4px;
  background: transparent;
  color: var(--gn-fg-4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  opacity: 0.7;
}

body[data-ui-version="v2"] .gn-v2-tab-close:hover {
  opacity: 1;
  background: var(--gn-bg-active);
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu {
  min-width: 188px;
  padding: 6px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--gn-bg-panel) 94%, transparent) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(15, 23, 42, 0.04) !important;
  backdrop-filter: blur(12px);
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item {
  min-height: 34px !important;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  color: var(--gn-fg-2) !important;
  font-size: 13px !important;
  font-weight: 650 !important;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item:hover {
  background: var(--gn-bg-active) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item-disabled {
  color: var(--gn-fg-5) !important;
  opacity: 0.5;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item-icon {
  color: var(--gn-info);
  font-size: 14px;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item-divider {
  margin: 5px 4px !important;
  background: var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-title-content {
  display: inline-flex;
  align-items: center;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item:first-child {
  color: var(--gn-fg-1) !important;
  background: color-mix(in srgb, var(--gn-info) 8%, transparent) !important;
}

body[data-ui-version="v2"] .gn-v2-tab-context-menu-popup .ant-dropdown-menu-item:first-child:hover {
  background: color-mix(in srgb, var(--gn-info) 14%, transparent) !important;
}

/* ─── V2 DataGrid: toolbar, smart filters, table, statusbar ─ */
body[data-ui-version="v2"] .gn-v2-data-viewer {
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-data-grid {
  padding: 0 !important;
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-toolbar-frame {
  margin: 0 !important;
  border-width: 0 0 0.5px !important;
  border-color: var(--gn-br-1) !important;
  border-radius: 0 !important;
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-toolbar-scroll {
  min-height: 44px;
  padding: 7px 12px !important;
  gap: 4px !important;
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-toolbar-scroll .ant-btn {
  height: 28px !important;
  border-radius: 7px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-toolbar-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 180px;
  max-width: 460px;
  flex: 0 1 auto;
  overflow: hidden;
  white-space: nowrap;
  color: var(--gn-fg-4);
}

body[data-ui-version="v2"] .gn-v2-data-grid-toolbar-title .gn-v2-data-grid-icon {
  width: 18px;
  height: 18px;
  border-radius: 0;
  background: transparent;
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-data-grid-toolbar-title strong {
  min-width: 0;
  overflow: hidden;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: 13.5px;
  font-weight: 400;
  text-overflow: ellipsis;
}

body[data-ui-version="v2"] .gn-v2-data-grid-toolbar-title small {
  min-width: 0;
  overflow: hidden;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  font-weight: 400;
  text-overflow: ellipsis;
}

body[data-ui-version="v2"] .gn-v2-toolbar-divider {
  flex: 0 0 1px;
  height: 20px !important;
  margin: 0 8px !important;
  background: var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .gn-v2-toolbar-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 16px;
  height: 18px;
  margin-left: 4px;
  padding: 0 4px;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 4px;
  background: var(--gn-bg-input);
  color: inherit;
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 18px;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-commit-button {
  border-color: transparent !important;
  background: var(--gn-accent-soft) !important;
  color: var(--gn-accent-2) !important;
  font-weight: 750 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-commit-button:disabled {
  opacity: 1;
  background: var(--gn-accent-soft) !important;
  color: var(--gn-accent-2) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-commit-button .gn-v2-toolbar-kbd {
  border: none;
  background: rgba(22, 163, 74, 0.18);
  color: var(--gn-accent-2);
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-ai-insight-button {
  border-color: transparent !important;
  background: var(--gn-info-soft) !important;
  color: var(--gn-info) !important;
  font-weight: 750 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-ai-insight-button:hover {
  filter: brightness(0.96);
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-ai-insight-button .gn-v2-toolbar-kbd {
  border: none;
  background: var(--gn-bg-input);
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-query-result-toolbar-hide {
  border-color: var(--gn-br-1) !important;
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-2) !important;
  font-weight: 650 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-query-result-toolbar-hide:hover {
  background: var(--gn-bg-hover) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .gn-v2-smart-filter-panel {
  background: var(--gn-bg-panel-2) !important;
  border-top: 0.5px solid var(--gn-br-1);
  font-size: var(--gn-font-size, 14px);
}

body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where="true"] {
  min-height: 38px;
  margin-bottom: 8px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 8px !important;
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where="true"],
body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where-input="true"] {
  user-select: text !important;
  -webkit-user-select: text !important;
}

body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-btn,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-input,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-input-affix-wrapper,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-input-affix-wrapper input,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-input-textarea,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-input-textarea textarea,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-select,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-select-selector,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-select-selection-item,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-select-selection-placeholder,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel .ant-checkbox-wrapper {
  font-size: var(--gn-font-size-sm, 12px) !important;
}

body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where="true"] .ant-input,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where="true"] .ant-input-affix-wrapper,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where="true"] .ant-input-affix-wrapper input,
body[data-ui-version="v2"] .gn-v2-smart-filter-panel [data-grid-quick-where-input="true"] {
  font-size: var(--gn-font-size, 14px) !important;
  line-height: 1.35 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-table-shell {
  border: none !important;
  border-radius: 0 !important;
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-table-wrap {
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th {
  height: 48px !important;
  padding: 3px 8px !important;
  background: var(--gn-bg-panel-2) !important;
  color: var(--gn-fg-2) !important;
  font-family: var(--gn-font-mono) !important;
  font-weight: 400 !important;
  vertical-align: top !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead > tr > th {
  height: var(--gn-v2-designer-header-height, 40px) !important;
  min-height: var(--gn-v2-designer-header-height, 40px) !important;
  padding: var(--gn-v2-designer-header-padding, 0 8px) !important;
  color: var(--gn-fg-3) !important;
  font-family: inherit !important;
  font-size: var(--gn-v2-designer-content-font-size, 12px) !important;
  font-weight: 600 !important;
  vertical-align: middle !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead .ant-table-column-title {
  min-height: var(--gn-v2-designer-header-height, 40px) !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 600 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead .ant-table-column-sorters {
  min-height: var(--gn-v2-designer-header-height, 40px) !important;
  align-items: center !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead .ant-table-column-title {
  font-size: var(--gn-data-table-font-size, var(--gn-font-size-mono, 12px));
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead .ant-table-column-sorters {
  min-height: 0 !important;
  align-items: flex-start !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th.is-single-line-title {
  vertical-align: middle !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th.is-single-line-title .ant-table-column-sorters {
  min-height: 48px !important;
  align-items: center !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .sortable-header-cell-drag-handle {
  min-height: 48px !important;
  align-items: flex-start !important;
  padding: 3px 8px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .sortable-header-cell-drag-handle > div {
  align-items: flex-start !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .is-single-line-title .sortable-header-cell-drag-handle {
  align-items: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .is-single-line-title .sortable-header-cell-drag-handle > div {
  align-items: center !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th:first-child,
body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-selection-column {
  width: 56px !important;
  background: var(--gn-bg-panel-2) !important;
  border-right: 0.5px solid var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead > tr > th:first-child,
body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead > tr > th.ant-table-selection-column,
body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-selection-column {
  width: var(--gn-v2-designer-selection-column-width, 44px) !important;
  min-width: var(--gn-v2-designer-selection-column-width, 44px) !important;
  max-width: var(--gn-v2-designer-selection-column-width, 44px) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th:first-child,
body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th.ant-table-selection-column {
  vertical-align: middle !important;
  text-align: center !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th:first-child .ant-table-selection,
body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-thead > tr > th.ant-table-selection-column .ant-table-selection {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead > tr > th:first-child .ant-table-selection,
body[data-ui-version="v2"] .gn-v2-data-grid .gn-v2-table-designer.is-embedded .ant-table-thead > tr > th.ant-table-selection-column .ant-table-selection {
  min-height: var(--gn-v2-designer-header-height, 40px) !important;
}

body[data-ui-version="v2"] .gn-v2-column-title {
  width: 100%;
  min-width: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 1px;
  line-height: 1.1;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-column-title.is-single-line {
  height: 100%;
  justify-content: center;
}

body[data-ui-version="v2"] .gn-v2-column-title-main {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

body[data-ui-version="v2"] .gn-v2-column-title-icon {
  width: calc(13px * var(--gn-ui-scale, 1));
  height: calc(13px * var(--gn-ui-scale, 1));
  flex: 0 0 calc(13px * var(--gn-ui-scale, 1));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gn-fg-4);
  font-size: var(--gn-font-size-xs, 10px);
}

body[data-ui-version="v2"] .gn-v2-column-title-icon.is-primary {
  color: var(--gn-warn);
}

body[data-ui-version="v2"] .gn-v2-column-title-name {
  min-width: 0;
  overflow: hidden;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: var(--gn-font-size-sm, 12px);
  font-weight: 400 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-column-badge {
  height: calc(18px * var(--gn-ui-scale, 1));
  padding: 0 calc(6px * var(--gn-ui-scale, 1));
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--gn-font-mono);
  font-size: var(--gn-font-size-xs, 10px);
  font-weight: 800;
  line-height: calc(18px * var(--gn-ui-scale, 1));
  letter-spacing: 0;
}

body[data-ui-version="v2"] .gn-v2-column-badge.is-pk {
  background: var(--gn-accent-soft);
  color: var(--gn-accent-2);
}

body[data-ui-version="v2"] .gn-v2-column-badge.is-idx {
  background: var(--gn-warn-soft);
  color: var(--gn-warn);
}

body[data-ui-version="v2"] .gn-v2-column-title-type,
body[data-ui-version="v2"] .gn-v2-column-title-comment {
  min-width: 0;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-column-title-type {
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: var(--gn-font-size-xs, 10px);
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-column-title-comment {
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: var(--gn-font-size-xs, 10px);
  font-weight: 400 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .react-resizable-handle::after {
  content: '';
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: 4px;
  width: 2px;
  border-radius: 1px;
  background: transparent;
}

body[data-ui-version="v2"] .gn-v2-data-grid .react-resizable-handle:hover::after {
  background: color-mix(in srgb, var(--gn-info) 42%, transparent);
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-tbody > tr > td,
body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-tbody .ant-table-row > .ant-table-cell {
  height: calc(28px * var(--gn-ui-scale, 1));
  padding: 0 calc(10px * var(--gn-ui-scale, 1)) !important;
  font-family: var(--gn-font-mono) !important;
  font-size: var(--gn-data-table-font-size, var(--gn-font-size-mono, 12px)) !important;
  line-height: calc(28px * var(--gn-ui-scale, 1)) !important;
  vertical-align: middle !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-tbody > tr > td .editable-cell-value-wrap,
body[data-ui-version="v2"] .gn-v2-data-grid .ant-table-tbody .ant-table-row > .ant-table-cell .editable-cell-value-wrap {
  min-height: calc(28px * var(--gn-ui-scale, 1));
  line-height: calc(28px * var(--gn-ui-scale, 1));
}

body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-form-item,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-form-item-row,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-form-item-control,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-form-item-control-input,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-form-item-control-input-content {
  display: flex !important;
  align-items: center !important;
  height: 24px !important;
  min-height: 24px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-form-item {
  margin: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-input,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-input-affix-wrapper,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-virtual-inline-editing .ant-picker {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  line-height: 24px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  position: static !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar {
  --gn-v2-statusbar-control-height: 26px;
  container-type: inline-size;
  container-name: gn-v2-data-grid-statusbar;
  height: calc(40px * var(--gn-ui-scale, 1));
  min-height: calc(40px * var(--gn-ui-scale, 1));
  display: flex;
  align-items: center;
  gap: calc(8px * var(--gn-ui-scale, 1));
  flex-wrap: nowrap;
  padding: 0 calc(10px * var(--gn-ui-scale, 1)) !important;
  border-top: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel-2);
  white-space: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
  scrollbar-color: var(--gn-br-3) transparent;
  flex-shrink: 0;
  box-sizing: border-box;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar::-webkit-scrollbar {
  height: 7px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar::-webkit-scrollbar-track {
  background: transparent;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: var(--gn-br-3);
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-main {
  display: inline-flex;
  align-items: center;
  gap: calc(8px * var(--gn-ui-scale, 1));
  min-width: max-content;
  flex: 0 0 auto;
  overflow: visible;
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-right {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  min-width: max-content;
  max-width: none;
  margin-left: auto;
  overflow: visible;
}

@media (max-width: 1180px) {
  body[data-ui-version="v2"] .gn-v2-data-grid-statusbar {
    overflow-x: auto;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-status-main {
    flex: 0 0 auto;
    overflow: visible;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-status-center {
    flex: 0 0 auto;
  }
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-summary {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 7px;
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-summary span {
  min-height: 22px;
  padding: 0 7px;
  border-radius: 5px;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 22px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-summary span:not(:first-child) {
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs,
body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher,
body[data-ui-version="v2"] .gn-v2-data-grid-status-center,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap,
body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-pagination-shell,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find {
  display: inline-flex;
  align-items: center;
  align-self: center;
  min-width: 0;
}

body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs {
  height: var(--gn-v2-statusbar-control-height);
  min-height: var(--gn-v2-statusbar-control-height);
  gap: 2px;
  flex: 0 0 auto;
}

body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 26px !important;
  padding: 0 calc(10px * var(--gn-ui-scale, 1)) !important;
  border-radius: 7px;
  border-color: transparent !important;
  font-size: var(--gn-font-size-sm, 12px) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-view-tabs .ant-btn-primary {
  background: var(--gn-bg-active) !important;
  color: var(--gn-fg-1) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher {
  height: var(--gn-v2-statusbar-control-height);
  min-height: var(--gn-v2-statusbar-control-height);
  gap: 6px;
  flex: 0 0 auto;
  padding-left: 4px;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  line-height: 26px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher > span {
  display: inline-flex;
  align-items: center;
  height: var(--gn-v2-statusbar-control-height);
  line-height: 26px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented {
  display: inline-flex;
  align-items: center;
  height: var(--gn-v2-statusbar-control-height) !important;
  min-height: var(--gn-v2-statusbar-control-height) !important;
  padding: 2px !important;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 7px;
  background: var(--gn-bg-panel);
  box-sizing: border-box;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-group {
  display: inline-flex;
  align-items: center;
  height: 20px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  min-height: 20px;
  border-radius: 5px;
  line-height: 20px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-item-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 20px;
  min-height: 20px;
  padding: 0 8px;
  color: var(--gn-fg-3);
  font-size: var(--gn-font-size-sm, 12px);
  line-height: 20px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher .ant-segmented-item-selected .ant-segmented-item-label {
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-center {
  height: var(--gn-v2-statusbar-control-height);
  min-height: var(--gn-v2-statusbar-control-height);
  gap: 4px;
  flex: 0 0 auto;
  min-width: max-content;
  overflow: visible;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 10px;
  line-height: 26px;
  opacity: 0.88;
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-center > span {
  display: inline-flex;
  align-items: center;
  height: var(--gn-v2-statusbar-control-height);
  flex: 0 0 auto;
  line-height: 26px;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-data-grid-status-center > span:not(:last-child)::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 10px;
  margin-left: 6px;
  vertical-align: -1px;
  background: var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-data-grid-live {
  color: var(--gn-accent-2) !important;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-data-grid-live::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-radius: 50%;
  background: var(--gn-accent);
  box-shadow: 0 0 0 3px var(--gn-accent-soft);
  vertical-align: 1px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find {
  height: var(--gn-v2-statusbar-control-height);
  min-height: var(--gn-v2-statusbar-control-height);
  gap: 2px;
  flex: 0 0 auto;
  max-width: 214px;
  margin-left: 0;
  overflow: visible;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find {
  display: grid !important;
  grid-template-columns: 180px 28px;
  column-gap: 4px;
  height: 28px;
  min-height: 28px;
  gap: 4px;
  flex: 0 0 auto;
  max-width: 244px;
  margin-left: 0;
  overflow: hidden;
  align-items: stretch;
  box-sizing: border-box;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find-field {
  display: flex;
  align-items: center;
  flex: 0 0 180px;
  width: 180px;
  min-width: 180px;
  height: 28px;
  min-height: 28px;
  align-self: stretch;
  box-sizing: border-box;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-select {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 180px;
  height: 28px !important;
  min-height: 28px !important;
  width: 180px !important;
  min-width: 180px;
  align-self: stretch;
  vertical-align: top;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-input-affix-wrapper,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-select-selector {
  display: flex !important;
  align-items: center !important;
  width: 180px !important;
  min-width: 180px;
  height: 28px !important;
  min-height: 28px !important;
  line-height: 28px !important;
  border-radius: 6px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn {
  align-self: stretch;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  border-width: 0.5px !important;
  border-style: solid !important;
  border-color: var(--gn-br-2) !important;
  border-radius: 6px !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
  vertical-align: top !important;
  position: relative;
  top: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 28px;
  width: 28px !important;
  min-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  align-self: stretch;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-affix-wrapper {
  width: 160px !important;
  min-width: 160px;
  max-width: 160px !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 26px !important;
  border-radius: 6px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
  padding-inline: 8px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-affix-wrapper .ant-input,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-input-affix-wrapper .ant-input {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-affix-wrapper > input.ant-input:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-affix-wrapper > input.ant-input:focus-visible,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-input-affix-wrapper > input.ant-input:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-input-affix-wrapper > input.ant-input:focus-visible {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-affix-wrapper.ant-input-affix-wrapper-focused,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-input-affix-wrapper.ant-input-affix-wrapper-focused {
  border-color: color-mix(in srgb, var(--gn-info) 38%, var(--gn-br-2)) !important;
  box-shadow: none !important;
  outline: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:focus-visible,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:active,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn.ant-btn-default:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn.ant-btn-default:focus-visible,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn.ant-btn-icon-only:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn.ant-btn-icon-only:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: var(--gn-br-3) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn::after,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:focus::after,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:focus-visible::after,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:active::after {
  display: none !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-select-selector,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-select-focused .ant-select-selector {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-btn {
  width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  border-width: 0.5px !important;
  border-style: solid !important;
  border-color: var(--gn-br-2) !important;
  border-radius: 6px !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find > span {
  overflow: hidden;
  color: var(--gn-fg-5);
  text-overflow: ellipsis;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar [data-grid-page-find="true"] {
  padding: 0;
  border: none;
  border-radius: 7px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar [data-grid-column-quick-find="true"] {
  padding: 0;
  border: none;
  border-radius: 7px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar [data-grid-view-switcher="true"] {
  margin-left: 0;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap {
  height: var(--gn-v2-statusbar-control-height);
  min-height: var(--gn-v2-statusbar-control-height);
  gap: 4px;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  margin-left: 0;
  padding: 0 !important;
  border-top: none !important;
  background: transparent;
  justify-content: flex-end !important;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap::-webkit-scrollbar {
  display: none;
}

body[data-ui-version="v2"] .gn-v2-data-grid .data-grid-pagination-shell {
  gap: 4px;
  flex: 0 0 max-content;
  min-width: max-content;
  align-items: center !important;
  align-self: center;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  max-width: none !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-btn,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-input-affix-wrapper,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-select,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-select-selector,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .data-grid-pagination-page-chip,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .data-grid-pagination-summary-value {
  box-sizing: border-box;
  height: var(--gn-v2-statusbar-control-height) !important;
  min-height: var(--gn-v2-statusbar-control-height) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-btn,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-btn > span,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-btn .ant-btn-icon,
body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .anticon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .ant-btn > span {
  height: 100%;
}

body[data-ui-version="v2"] .gn-v2-data-grid-statusbar .anticon svg {
  display: block;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-summary {
  display: inline-flex;
  align-items: center;
  gap: 0;
  margin-right: 0;
  padding: 0 !important;
  min-height: 26px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gn-fg-3);
  font-family: var(--gn-font-mono);
  font-size: 11.5px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-summary-value {
  display: inline-flex;
  align-items: center;
  height: 26px;
  margin-right: 2px;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 26px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .ant-btn {
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  border-width: 0.5px !important;
  border-style: solid !important;
  border-color: var(--gn-br-2) !important;
  border-radius: 6px !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
  line-height: 1 !important;
  vertical-align: top;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-btn:hover,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:hover,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .ant-btn:hover {
  border-color: var(--gn-br-3) !important;
  background: var(--gn-bg-panel-2) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-btn:disabled,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-btn:disabled,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .ant-btn:disabled {
  border-color: var(--gn-br-1) !important;
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-5) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .ant-btn .ant-btn-icon,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .ant-btn .anticon,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .ant-btn svg {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px;
  height: 12px;
  line-height: 1 !important;
  margin-inline-end: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-page-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 26px;
  min-height: 26px;
  padding: 0 6px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 4px;
  background: transparent;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 11.5px;
  line-height: 26px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-page-chip strong {
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: 26px;
  min-height: 26px;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 11px;
  line-height: 26px;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-label {
  color: var(--gn-fg-4);
  font-size: 11px;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input.ant-input-number,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-button.ant-btn {
  height: 26px !important;
  min-height: 26px !important;
  border-width: 0.5px !important;
  border-style: solid !important;
  border-color: var(--gn-br-2) !important;
  border-radius: 5px !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input.ant-input-number {
  display: inline-flex !important;
  align-items: stretch !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  line-height: 26px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input .ant-input-number-input-wrap,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input .ant-input-number-input {
  height: 26px !important;
  line-height: 26px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input .ant-input-number-input {
  padding: 0 4px !important;
  color: var(--gn-fg-1) !important;
  font-family: var(--gn-font-mono);
  font-size: 11px !important;
  font-weight: 700;
  text-align: center;
  background: transparent !important;
  box-shadow: none !important;
  font-variant-numeric: tabular-nums;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input.ant-input-number-focused,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input.ant-input-number:focus-within {
  border-color: color-mix(in srgb, var(--gn-info) 38%, var(--gn-br-2)) !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-button.ant-btn {
  width: 26px !important;
  min-width: 26px !important;
  padding: 0 !important;
  color: var(--gn-fg-2) !important;
  font-size: 11px !important;
  font-weight: 700;
}

@container gn-v2-data-grid-statusbar (max-width: 1120px) {
  body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-summary {
    display: none;
  }
}

@container gn-v2-data-grid-statusbar (max-width: 960px) {
  body[data-ui-version="v2"] .gn-v2-data-grid-page-find {
    max-width: 154px;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-affix-wrapper {
    width: 112px !important;
    min-width: 112px;
    max-width: 112px !important;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-label {
    display: none;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input,
  body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-jump-input.ant-input-number {
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
  }
}

@container gn-v2-data-grid-statusbar (max-width: 760px) {
  body[data-ui-version="v2"] .gn-v2-data-grid-result-switcher > span {
    display: none;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find,
  body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-select,
  body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-input-affix-wrapper,
  body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .ant-select-selector {
    width: 140px !important;
    min-width: 140px !important;
  }

  body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find {
    grid-template-columns: 140px 28px !important;
    max-width: 180px;
  }
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select.ant-select,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select.ant-select-single,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select.ant-select-single.ant-select-sm {
  display: inline-flex !important;
  align-items: center !important;
  width: 66px !important;
  min-width: 66px !important;
  max-width: 66px !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 26px !important;
  vertical-align: top;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select .ant-select-selector {
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 20px 0 8px !important;
  border-radius: 5px !important;
  font-family: var(--gn-font-mono);
  font-size: 11px !important;
  display: flex !important;
  align-items: center !important;
  line-height: 26px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select .ant-select-selection-wrap,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select .ant-select-selection-item {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  height: 26px !important;
  line-height: 26px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select .ant-select-arrow {
  top: 50% !important;
  inset-inline-end: 6px !important;
  width: 12px;
  height: 12px;
  margin-top: 0 !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select .ant-select-arrow .anticon,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select .ant-select-arrow svg {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px;
  height: 12px;
  line-height: 1 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select.ant-select-focused .ant-select-selector,
body[data-ui-version="v2"] .gn-v2-data-grid-pagination-wrap .data-grid-pagination-size-select.ant-select-open .ant-select-selector {
  border-color: color-mix(in srgb, var(--gn-info) 38%, var(--gn-br-2)) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ─── V2 context menus, including portal-rendered custom menus ─ */
body[data-ui-version="v2"] .gn-v2-context-menu {
  width: 260px !important;
  min-width: 220px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  background: var(--gn-bg-panel) !important;
  box-shadow: var(--gn-shadow-lg) !important;
  color: var(--gn-fg-1) !important;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-context-menu > div {
  color: inherit;
}

body[data-ui-version="v2"] .gn-v2-context-menu > div:not(:empty) {
  font-size: 12.5px;
}

body[data-ui-version="v2"] .gn-v2-table-context-menu-popup .ant-dropdown-menu {
  display: none !important;
}

body[data-ui-version="v2"] .gn-v2-table-context-menu-popup {
  width: 264px !important;
  max-width: calc(100vw - 24px);
}

body[data-ui-version="v2"] .gn-v2-sidebar-context-menu-portal {
  width: 264px;
  max-width: calc(100vw - 24px);
}

body[data-ui-version="v2"] .gn-v2-table-overview-context-menu-portal {
  width: 264px;
  max-width: calc(100vw - 24px);
}

body[data-ui-version="v2"] .gn-v2-table-context-menu {
  width: 264px;
  max-height: min(582px, var(--gn-v2-context-menu-max-height, calc(100vh - 28px)));
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
  padding: 0;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 10px;
  background: var(--gn-bg-panel);
  color: var(--gn-fg-1);
  box-shadow: var(--gn-shadow-lg);
  font-size: 12.5px;
  animation: gnV2ContextMenuFadeIn 0.08s ease-out;
}

body[data-ui-version="v2"] .gn-v2-context-menu-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 4px 4px 20px;
  box-sizing: border-box;
  overscroll-behavior: contain;
  scroll-padding-bottom: 20px;
}

body[data-ui-version="v2"] .gn-v2-context-menu-body::-webkit-scrollbar {
  width: 7px;
}

body[data-ui-version="v2"] .gn-v2-context-menu-body::-webkit-scrollbar-track {
  background: transparent;
}

body[data-ui-version="v2"] .gn-v2-context-menu-body::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: color-mix(in srgb, var(--gn-fg-5) 58%, transparent);
  background-clip: padding-box;
}

body[data-ui-version="v2"] .gn-v2-context-menu-header {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  column-gap: 6px;
  row-gap: 3px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-context-menu-table-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gn-accent);
  font-size: 13px;
}

body[data-ui-version="v2"] .gn-v2-context-menu-heading {
  min-width: 0;
  display: contents;
}

body[data-ui-version="v2"] .gn-v2-context-menu-heading strong {
  grid-column: 2;
  min-width: 0;
  overflow: hidden;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-context-menu-heading small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-context-menu-engine-pill {
  grid-column: 3;
  max-width: 62px;
  overflow: hidden;
  padding: 1px 4px;
  border-radius: 3px;
  background: var(--gn-bg-active);
  color: var(--gn-fg-4);
  font-family: var(--gn-font-mono);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-context-menu-section-title {
  padding: 8px 12px 2px;
  color: var(--gn-fg-5);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body[data-ui-version="v2"] .gn-v2-context-menu-divider {
  height: 1px;
  margin: 4px 0;
  background: var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item {
  width: 100%;
  height: 28px;
  display: flex;
  gap: 8px;
  align-items: center;
  border: 0;
  border-radius: 5px;
  padding: 0 8px 0 10px;
  background: transparent;
  color: var(--gn-fg-1);
  font: inherit;
  font-size: 12.5px;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
  cursor: default;
}

body[data-ui-version="v2"] .gn-v2-context-menu-item:hover {
  background: var(--gn-bg-active);
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-disabled,
body[data-ui-version="v2"] .gn-v2-context-menu-item:disabled {
  opacity: 0.48;
  cursor: not-allowed;
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-disabled:hover,
body[data-ui-version="v2"] .gn-v2-context-menu-item:disabled:hover {
  background: transparent;
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-featured {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-featured:hover {
  background: var(--gn-info-soft);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-ai {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-ai:not(.is-featured) {
  background: transparent;
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-ai:not(.is-featured):hover {
  background: var(--gn-info-soft);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-danger {
  color: var(--gn-danger);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-danger:hover {
  background: rgba(220, 38, 38, 0.08);
}

body[data-ui-version="v2"][data-theme="dark"] .gn-v2-context-menu-item.is-danger:hover {
  background: rgba(248, 113, 113, 0.12);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item-icon {
  width: 14px;
  flex: 0 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--gn-fg-4);
  font-size: 13px;
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-featured .gn-v2-context-menu-item-icon,
body[data-ui-version="v2"] .gn-v2-context-menu-item.is-ai .gn-v2-context-menu-item-icon {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-group-context-menu .gn-v2-context-menu-item .anticon-check-square,
body[data-ui-version="v2"] .gn-v2-group-context-menu .gn-v2-context-menu-item.is-selected {
  color: var(--gn-accent);
}

body[data-ui-version="v2"] .gn-v2-database-context-menu .gn-v2-context-menu-table-icon {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item.is-danger .gn-v2-context-menu-item-icon {
  color: var(--gn-danger);
}

body[data-ui-version="v2"] .gn-v2-context-menu-item-title {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-context-menu-kbd {
  flex: 0 0 auto;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
  font-weight: 500;
  text-align: center;
}

@keyframes gnV2ContextMenuFadeIn {
  from {
    opacity: 0;
    transform: translateY(-2px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* ─── V2 Query editor ─ */
body[data-ui-version="v2"] .gn-v2-query-editor {
  background: var(--gn-bg-app);
}

body[data-ui-version="v2"] .gn-v2-query-editor-pane {
  border-bottom: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-query-header {
  min-height: 52px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-query-title {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

body[data-ui-version="v2"] .gn-v2-query-title span,
body[data-ui-version="v2"] .gn-v2-designer-title span {
  color: var(--gn-fg-4);
  font-size: 10.5px;
  font-weight: 750;
  letter-spacing: 0;
  text-transform: uppercase;
}

body[data-ui-version="v2"] .gn-v2-query-title strong,
body[data-ui-version="v2"] .gn-v2-designer-title strong {
  min-width: 0;
  color: var(--gn-fg-1);
  font-family: var(--gn-font-mono);
  font-size: 15px;
  font-weight: 750;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-query-context,
body[data-ui-version="v2"] .gn-v2-designer-meta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 0;
}

body[data-ui-version="v2"] .gn-v2-query-context span,
body[data-ui-version="v2"] .gn-v2-designer-meta span {
  min-width: 0;
  max-width: 220px;
  height: 24px;
  padding: 0 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 6px;
  background: var(--gn-bg-panel-2);
  color: var(--gn-fg-3);
  font-family: var(--gn-font-mono);
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar,
body[data-ui-version="v2"] .gn-v2-designer-toolbar {
  padding: 8px 12px !important;
  gap: 6px !important;
  flex-wrap: wrap;
  background: var(--gn-bg-panel-2) !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar {
  min-height: 48px;
  padding: 8px 12px !important;
  gap: 6px 10px !important;
  align-items: center !important;
  background: var(--gn-bg-panel) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-selects,
body[data-ui-version="v2"] .gn-v2-query-toolbar-actions {
  min-width: 0;
  gap: 6px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-selects {
  flex: 0 1 auto !important;
  flex-wrap: nowrap;
  max-width: 760px;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-actions {
  flex: 0 1 auto !important;
  flex-wrap: wrap;
  justify-content: flex-start;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select {
  min-width: 0;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-connection-select {
  width: 140px !important;
  flex: 0 1 140px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-database-select {
  width: 166px !important;
  flex: 1 1 166px !important;
  max-width: 220px;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-max-rows-select {
  width: 132px !important;
  flex: 0 0 132px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-transaction-mode-select {
  width: 74px !important;
  flex: 0 0 74px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-transaction-delay-select {
  width: 62px !important;
  flex: 0 0 62px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select-selector {
  height: 32px !important;
  padding: 0 10px !important;
  border-radius: 9px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select-selection-item,
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-select-selection-placeholder {
  line-height: 30px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-btn {
  height: 32px !important;
  padding: 0 11px !important;
  border-radius: 9px !important;
  font-size: 12.5px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group.ant-btn-group {
  display: inline-flex !important;
  align-items: center;
  flex: 0 0 auto;
  gap: 6px;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group.ant-btn-group > .ant-btn {
  flex: 0 0 auto;
  border-radius: 9px !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group.ant-btn-group > .ant-btn:not(:first-child) {
  margin-left: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-action-group.ant-btn-group > .ant-btn::before {
  display: none !important;
}

body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  border-color: transparent !important;
  background: var(--gn-accent-soft) !important;
  color: var(--gn-accent-2) !important;
  font-weight: 750 !important;
}

body[data-ui-version="v2"] .gn-v2-query-transaction-commit-button .gn-v2-toolbar-kbd {
  margin-left: 0;
  min-width: 18px;
  justify-content: center;
  border: none;
  background: rgba(22, 163, 74, 0.18);
  color: var(--gn-accent-2);
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-icon-action.ant-btn,
body[data-ui-version="v2"] .gn-v2-query-toolbar .ant-btn-icon-only {
  width: 34px !important;
  padding: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-run-action.ant-btn {
  min-width: 64px;
  padding: 0 13px !important;
  font-weight: 650 !important;
}

body[data-ui-version="v2"] .gn-v2-query-toolbar-ai-action.ant-btn {
  font-weight: 650 !important;
}

@media (max-width: 900px) {
  body[data-ui-version="v2"] .gn-v2-query-toolbar-selects {
    flex: 1 1 100% !important;
    max-width: none;
  }

  body[data-ui-version="v2"] .gn-v2-query-toolbar-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

body[data-ui-version="v2"] .gn-v2-query-monaco-shell {
  overflow: hidden;
  border-top: 0.5px solid var(--gn-br-1);
  border-bottom: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-query-resizer {
  height: 7px !important;
  background: var(--gn-bg-panel-2) !important;
  border-bottom: 0.5px solid var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-query-resizer:hover {
  background: var(--gn-bg-hover) !important;
}

body[data-ui-version="v2"] .gn-v2-query-results {
  background: var(--gn-bg-app);
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav {
  background: var(--gn-bg-panel-2);
  padding-left: 8px;
  min-height: 38px;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-extra-content {
  display: inline-flex;
  align-items: center;
  padding-right: 8px;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab {
  width: auto !important;
  min-width: 0 !important;
  max-width: 148px !important;
  height: 30px !important;
  min-height: 30px;
  margin: 4px 6px 4px 0 !important;
  padding: 0 9px !important;
  border: 0.5px solid var(--gn-br-1) !important;
  border-radius: 999px !important;
  background: color-mix(in srgb, var(--gn-bg-panel) 72%, transparent) !important;
  color: var(--gn-fg-3) !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-nav-list {
  align-items: center;
  width: auto;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab-btn {
  width: auto !important;
  height: 100%;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-label {
  height: 100%;
  line-height: 1;
  user-select: none;
  -webkit-user-select: none;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-text {
  font-size: 14px;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab:hover {
  background: var(--gn-bg-hover) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active {
  border-color: color-mix(in srgb, var(--gn-accent) 38%, var(--gn-br-1)) !important;
  background: color-mix(in srgb, var(--gn-accent) 10%, var(--gn-bg-panel)) !important;
  color: var(--gn-fg-1) !important;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tabs > .ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active::after {
  display: none;
}

body[data-ui-version="v2"] .gn-v2-query-results .query-result-tab-count {
  background: color-mix(in srgb, var(--gn-accent) 12%, var(--gn-bg-active));
  color: var(--gn-fg-2);
}

body[data-ui-version="v2"] .gn-v2-query-result-panel-header {
  background: var(--gn-bg-panel-2);
  border-bottom-color: var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-query-result-panel-header .query-result-panel-header-title {
  color: var(--gn-fg-3);
}

body[data-ui-version="v2"] .gn-v2-query-empty,
body[data-ui-version="v2"] .gn-v2-query-success {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gn-fg-4) !important;
  background: var(--gn-bg-app);
}

body[data-ui-version="v2"] .gn-v2-query-empty > div,
body[data-ui-version="v2"] .gn-v2-query-success > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 18px;
  text-align: center;
}

body[data-ui-version="v2"] .gn-v2-query-empty strong {
  color: var(--gn-fg-1);
  font-size: 13px;
}

body[data-ui-version="v2"] .gn-v2-query-empty span {
  color: var(--gn-fg-4);
  font-size: 12px;
}

body[data-ui-version="v2"] .gn-v2-query-error {
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-query-error .custom-scrollbar {
  border-radius: 8px !important;
}

/* ─── V2 table designer ─ */
body[data-ui-version="v2"] .gn-v2-table-designer {
  padding: 0 !important;
  background: var(--gn-bg-app);
  --gn-v2-designer-header-height: 40px;
  --gn-v2-designer-header-padding: 0 8px;
  --gn-v2-designer-cell-padding: 3px 8px;
  --gn-v2-designer-selection-column-width: 44px;
  --gn-v2-designer-row-selection-min-height: 14px;
  --gn-v2-designer-content-font-size: 12px;
}

body[data-ui-version="v2"] .gn-v2-designer-tabs {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--gn-bg-app) !important;
}

body[data-ui-version="v2"] .gn-v2-designer-tabs > .ant-tabs-nav {
  padding: 0 10px;
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs {
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav {
  padding: 0 12px !important;
  min-height: 34px;
  background: var(--gn-bg-panel) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-nav-list {
  width: auto !important;
  min-height: 34px;
  gap: 0;
}

body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-tab {
  height: 34px;
  min-height: 34px;
  padding-inline: 12px !important;
  border-right: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs > .ant-tabs-nav::before {
  display: none !important;
}

body[data-ui-version="v2"] .gn-v2-designer-tabs .ant-tabs-content-holder {
  padding: 10px;
}

body[data-ui-version="v2"] .gn-v2-table-designer .gn-v2-designer-tabs .ant-tabs-content-holder {
  padding: 0 12px 12px !important;
  border-top: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded {
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-toolbar {
  padding: 8px 12px 6px !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs {
  background: var(--gn-bg-panel) !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav {
  padding: 0 12px !important;
  min-height: 30px;
  background: var(--gn-bg-panel) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-nav-list {
  width: auto !important;
  min-height: 30px;
  gap: 0;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav .ant-tabs-tab {
  height: 30px;
  min-height: 30px;
  padding-inline: 10px !important;
  border-right: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs > .ant-tabs-nav::before {
  display: none !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tabs .ant-tabs-content-holder {
  padding: 0 12px 12px !important;
  border-top: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-table-shell,
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-tab-content,
body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-ddl-shell {
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer.is-embedded .gn-v2-designer-actionbar {
  padding-inline: 0 !important;
  background: transparent !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td {
  padding: var(--gn-v2-designer-cell-padding) !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th {
  text-align: left !important;
  font-size: var(--gn-v2-designer-content-font-size);
  line-height: 1.1;
  height: var(--gn-v2-designer-header-height);
  min-height: var(--gn-v2-designer-header-height);
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
  vertical-align: middle !important;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th .ant-table-column-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: var(--gn-v2-designer-header-height);
  text-align: left !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th .ant-table-column-sorters {
  min-height: var(--gn-v2-designer-header-height) !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th.ant-table-selection-column,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td.ant-table-selection-column,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-select-column {
  width: var(--gn-v2-designer-selection-column-width) !important;
  min-width: var(--gn-v2-designer-selection-column-width) !important;
  max-width: var(--gn-v2-designer-selection-column-width) !important;
  padding-inline: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th.ant-table-selection-column .ant-table-selection,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td.ant-table-selection-column .ant-table-selection,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-select-column .table-designer-select-check {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: var(--gn-v2-designer-row-selection-min-height);
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-thead > tr > th:first-child,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td:first-child {
  padding-inline: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-tbody > tr > td {
  vertical-align: middle !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-field .ant-input,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-field .ant-select-selection-item,
body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-field input {
  font-size: var(--gn-v2-designer-content-font-size) !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .table-designer-cell-check .ant-checkbox {
  transform: scale(0.92);
}

body[data-ui-version="v2"] .gn-v2-designer-table-shell,
body[data-ui-version="v2"] .gn-v2-designer-tab-content,
body[data-ui-version="v2"] .gn-v2-designer-ddl-shell {
  border: 0.5px solid var(--gn-br-1) !important;
  border-radius: 8px !important;
  background: var(--gn-bg-panel) !important;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-designer-actionbar {
  min-height: 36px;
  padding: 8px;
  align-items: center;
  border-bottom: 0.5px solid var(--gn-br-1);
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-designer-section-note {
  padding: 0 2px;
  color: var(--gn-fg-4) !important;
  font-family: var(--gn-font-mono);
  font-size: 11.5px !important;
}

body[data-ui-version="v2"] .gn-v2-designer-index-table .ant-tag {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  padding: 1px 7px !important;
}

body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-wrapper,
body[data-ui-version="v2"] .gn-v2-table-designer .ant-table-container {
  border-radius: 0 !important;
}

/* ─── V2 Redis workbench ─ */
body[data-ui-version="v2"] .gn-v2-redis-workbench {
  gap: 10px !important;
  padding: 10px !important;
  background: var(--gn-bg-app) !important;
}

body[data-ui-version="v2"] .gn-v2-redis-sidebar {
  min-width: 320px !important;
  gap: 10px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-header,
body[data-ui-version="v2"] .gn-v2-redis-tree-card,
body[data-ui-version="v2"] .gn-v2-redis-value-header,
body[data-ui-version="v2"] .gn-v2-redis-value-card,
body[data-ui-version="v2"] .gn-v2-redis-empty-value {
  border-radius: 8px !important;
  border: 0.5px solid var(--gn-br-1) !important;
  background: var(--gn-bg-panel) !important;
  box-shadow: var(--gn-shadow-card) !important;
}

body[data-ui-version="v2"] .gn-v2-redis-header {
  padding: 12px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-toolbar {
  align-items: center;
}

body[data-ui-version="v2"] .gn-v2-redis-tree-card {
  padding: 8px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-tree-shell {
  border-radius: 7px !important;
  border: 0.5px solid var(--gn-br-1) !important;
  background: var(--gn-bg-panel-2) !important;
}

body[data-ui-version="v2"] .gn-v2-redis-workbench .ant-tree-checkbox {
  margin-inline-end: 5px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-pane {
  min-width: 360px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-layout {
  gap: 10px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-header {
  padding: 14px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-header strong {
  font-family: var(--gn-font-mono);
  font-size: 20px !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-actions,
body[data-ui-version="v2"] .gn-v2-redis-view-mode,
body[data-ui-version="v2"] .gn-v2-redis-value-subtoolbar,
body[data-ui-version="v2"] .gn-v2-redis-value-actionbar {
  border-radius: 7px !important;
  border: 0.5px solid var(--gn-br-1) !important;
  background: var(--gn-bg-panel-2) !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-subtoolbar {
  min-height: 30px;
  border-width: 0 0 0.5px !important;
  border-radius: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-redis-value-actionbar {
  padding: 8px !important;
  margin-bottom: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-redis-data-section .ant-table-wrapper {
  flex: 1;
  min-height: 0;
}

body[data-ui-version="v2"] .gn-v2-redis-context-menu {
  width: 208px !important;
  min-width: 188px !important;
  padding: 6px !important;
}

/* ─── V2 Table Overview ─ */
body[data-ui-version="v2"] .gn-v2-table-overview {
  background: var(--gn-bg-app) !important;
}

body[data-ui-version="v2"] .gn-v2-table-overview-header {
  min-height: 54px;
  padding: 12px 16px !important;
  background: var(--gn-bg-panel) !important;
  border-bottom: 0.5px solid var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-table-overview-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  color: #fff;
  background: linear-gradient(135deg, var(--gn-accent) 0%, var(--gn-accent-2) 100%);
  box-shadow: inset 0 0.5px 0 rgba(255,255,255,0.3);
}

body[data-ui-version="v2"] .gn-v2-table-overview-title {
  color: var(--gn-fg-1) !important;
  font-family: var(--gn-font-sans);
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0;
}

body[data-ui-version="v2"] .gn-v2-table-overview-summary {
  color: var(--gn-fg-4) !important;
  font-family: var(--gn-font-sans);
  font-weight: 500;
}

body[data-ui-version="v2"] .gn-v2-table-overview-summary strong {
  color: var(--gn-fg-2);
  font-family: var(--gn-font-mono);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

body[data-ui-version="v2"] .gn-v2-table-overview-content {
  padding: 14px 16px 20px !important;
  background: var(--gn-bg-app);
}

body[data-ui-version="v2"] .gn-v2-table-overview-sections {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body[data-ui-version="v2"] .gn-v2-table-overview-section-title {
  color: var(--gn-fg-4) !important;
  font-family: var(--gn-font-mono);
  font-size: var(--gn-font-size-xs, 10px) !important;
  letter-spacing: 0;
  text-transform: none;
}

body[data-ui-version="v2"] .gn-v2-table-overview-section-title span:last-child {
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--gn-bg-active);
  color: var(--gn-fg-3);
  font-size: var(--gn-font-size-xs, 10px);
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-table-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr)) !important;
  gap: 10px !important;
}

body[data-ui-version="v2"] .gn-v2-table-card,
body[data-ui-version="v2"] .gn-v2-table-row {
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 8px !important;
  background: var(--gn-bg-panel) !important;
  box-shadow: var(--gn-shadow-card);
  transition: background 0.08s, border-color 0.08s, box-shadow 0.08s;
}

body[data-ui-version="v2"] .gn-v2-table-card:hover,
body[data-ui-version="v2"] .gn-v2-table-row:hover {
  background: var(--gn-bg-hover) !important;
  border-color: color-mix(in srgb, var(--gn-accent) 45%, var(--gn-br-2)) !important;
  box-shadow: var(--gn-shadow-md);
}

body[data-ui-version="v2"] .gn-v2-table-card-name span {
  font-family: var(--gn-font-mono);
}

body[data-ui-version="v2"] .gn-v2-table-card-meta {
  font-family: var(--gn-font-mono);
  font-size: 11px !important;
}

body[data-ui-version="v2"] .gn-v2-table-size-bar {
  height: 2px;
  margin-top: 10px;
  border-radius: 1px;
  background: var(--gn-bg-active);
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-table-size-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--gn-accent) 0%, var(--gn-info) 100%);
}

body[data-ui-version="v2"] .gn-v2-table-row-list {
  gap: 0 !important;
  background: var(--gn-bg-panel);
  border: 0.5px solid var(--gn-br-1);
  border-radius: 8px;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-table-row {
  border-width: 0 0 0.5px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-table-row:last-child {
  border-bottom: 0 !important;
}

/* ─── V2 AI side panel ─ */
body[data-ui-version="v2"] .gn-v2-ai-panel {
  width: 340px;
  background: var(--gn-bg-panel) !important;
  border-left: 0.5px solid var(--gn-br-1) !important;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-header {
  min-height: 78px;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  background: var(--gn-bg-panel-2) !important;
  border-bottom: 0.5px solid var(--gn-br-1) !important;
  box-sizing: border-box;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-ai-header-top,
body[data-ui-version="v2"] .gn-v2-ai-brand,
body[data-ui-version="v2"] .gn-v2-ai-header-actions,
body[data-ui-version="v2"] .gn-v2-ai-mode-tabs,
body[data-ui-version="v2"] .gn-v2-ai-session-row,
body[data-ui-version="v2"] .gn-v2-ai-suggestion-divider,
body[data-ui-version="v2"] .gn-v2-ai-suggestion-list button,
body[data-ui-version="v2"] .gn-v2-ai-context-row,
body[data-ui-version="v2"] .gn-v2-ai-context-toggle,
body[data-ui-version="v2"] .gn-v2-ai-context-add,
body[data-ui-version="v2"] .gn-v2-ai-input-actions,
body[data-ui-version="v2"] .gn-v2-ai-token-meter,
body[data-ui-version="v2"] .gn-v2-ai-token-bar {
  display: flex;
  align-items: center;
}

body[data-ui-version="v2"] .gn-v2-ai-header-top {
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  width: 100%;
  flex: 0 0 auto;
  height: 44px;
  padding: 0 8px 0 12px;
  border-bottom: 0.5px solid var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-ai-brand {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-ai-header-actions {
  gap: 1px;
  flex: 0 0 auto;
}

body[data-ui-version="v2"] .gn-v2-ai-header-actions .ant-btn {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  border-color: transparent !important;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-logo {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%) !important;
  color: #fff !important;
  box-shadow: inset 0 0.5px 0 rgba(255,255,255,0.3);
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-title {
  color: var(--gn-fg-1) !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-title-stack {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-title-stack small {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--gn-fg-5);
  font-size: 10.5px;
  font-family: var(--gn-font-mono);
}

body[data-ui-version="v2"] .gn-v2-ai-provider-badge {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  height: 17px;
  padding: 0 5px;
  border-radius: 3px;
  background: var(--gn-accent-soft);
  color: var(--gn-accent-2);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0;
}

body[data-ui-version="v2"] .gn-v2-ai-mode-tabs {
  gap: 2px;
  width: 100%;
  flex: 0 0 auto;
  padding: 8px 10px 4px;
}

body[data-ui-version="v2"] .gn-v2-ai-mode-tabs button {
  flex: 1 1 0;
  min-width: 0;
  height: 26px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--gn-fg-4);
  font-size: 11.5px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  white-space: nowrap;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-ai-mode-tabs button span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-ai-mode-tabs button.is-active {
  background: var(--gn-bg-active);
  color: var(--gn-fg-1);
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-messages {
  padding: 8px 14px 12px;
  gap: 10px;
  background: var(--gn-bg-panel);
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-welcome {
  flex: 0 0 auto !important;
  align-items: stretch !important;
  justify-content: flex-start;
  padding: 16px 0 4px !important;
  gap: 14px;
}

body[data-ui-version="v2"] .gn-v2-ai-welcome-title {
  display: flex;
  align-items: center;
  gap: 8px;
}

body[data-ui-version="v2"] .gn-v2-ai-welcome-title > span {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: var(--gn-info-soft);
}

body[data-ui-version="v2"] .gn-v2-ai-context-inline {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--gn-info-soft);
  color: var(--gn-info);
  font-family: var(--gn-font-mono);
  font-size: 11px;
  font-weight: 650;
}

body[data-ui-version="v2"] .gn-v2-ai-quick-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
}

body[data-ui-version="v2"] .gn-v2-ai-quick-card.tone-info .gn-v2-ai-quick-icon {
  background: var(--gn-info-soft);
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-ai-quick-card.tone-success .gn-v2-ai-quick-icon {
  background: var(--gn-accent-soft);
  color: var(--gn-accent-2);
}

body[data-ui-version="v2"] .gn-v2-ai-quick-card.tone-warn .gn-v2-ai-quick-icon {
  background: var(--gn-warn-soft);
  color: var(--gn-warn);
}

body[data-ui-version="v2"] .gn-v2-ai-quick-card.tone-purple .gn-v2-ai-quick-icon {
  background: rgba(168,85,247,0.12);
  color: #9333ea;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .quick-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px !important;
  justify-content: stretch !important;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .quick-action-btn {
  min-height: 66px;
  padding: 10px 11px !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  border-radius: 8px !important;
  background: var(--gn-bg-panel-2) !important;
  color: var(--gn-fg-2) !important;
  border-color: var(--gn-br-2) !important;
  text-align: left !important;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .quick-action-btn:hover {
  background: var(--gn-bg-hover) !important;
  border-color: var(--gn-br-3) !important;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .quick-action-btn strong {
  color: var(--gn-fg-1);
  font-size: 12.5px;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .quick-action-btn span {
  color: var(--gn-fg-4);
  font-size: 11px;
  line-height: 1.35;
}

body[data-ui-version="v2"] .gn-v2-ai-suggestion-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body[data-ui-version="v2"] .gn-v2-ai-suggestion-divider {
  gap: 8px;
  padding: 2px 0;
}

body[data-ui-version="v2"] .gn-v2-ai-suggestion-divider span {
  height: 1px;
  flex: 1;
  background: var(--gn-br-1);
}

body[data-ui-version="v2"] .gn-v2-ai-suggestion-divider small {
  color: var(--gn-fg-5);
  font-size: 10px;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-ai-suggestion-list button {
  width: 100%;
  gap: 8px;
  min-height: 31px;
  padding: 7px 10px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 7px;
  background: transparent;
  color: var(--gn-fg-2);
  text-align: left;
  font-size: 12px;
}

body[data-ui-version="v2"] .gn-v2-ai-suggestion-list button .anticon {
  color: var(--gn-info);
  flex: 0 0 auto;
}

body[data-ui-version="v2"] .gn-v2-ai-insights-list,
body[data-ui-version="v2"] .gn-v2-ai-history-list {
  flex: 1 1 auto;
  min-height: 0;
  padding: 8px 2px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body[data-ui-version="v2"] .gn-v2-ai-insight-card {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 8px;
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-ai-insight-card.tone-info .gn-v2-ai-insight-icon {
  background: var(--gn-info-soft);
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-ai-insight-card.tone-accent .gn-v2-ai-insight-icon {
  background: var(--gn-accent-soft);
  color: var(--gn-accent-2);
}

body[data-ui-version="v2"] .gn-v2-ai-insight-card.tone-warn .gn-v2-ai-insight-icon {
  background: var(--gn-warn-soft);
  color: var(--gn-warn);
}

body[data-ui-version="v2"] .gn-v2-ai-insight-icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
}

body[data-ui-version="v2"] .gn-v2-ai-insight-card strong {
  display: block;
  color: var(--gn-fg-1);
  font-size: 12.5px;
  font-weight: 750;
}

body[data-ui-version="v2"] .gn-v2-ai-insight-card p {
  margin: 4px 0 0;
  color: var(--gn-fg-4);
  font-size: 11.5px;
  line-height: 1.45;
  word-break: break-word;
}

body[data-ui-version="v2"] .gn-v2-ai-history-card {
  width: 100%;
  padding: 9px 10px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 5px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 8px;
  background: transparent;
  color: var(--gn-fg-2);
  text-align: left;
}

body[data-ui-version="v2"] .gn-v2-ai-history-card.is-active {
  background: var(--gn-bg-selected);
  border-color: color-mix(in srgb, var(--gn-accent) 36%, var(--gn-br-1));
}

body[data-ui-version="v2"] .gn-v2-ai-history-card span {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 7px;
}

body[data-ui-version="v2"] .gn-v2-ai-history-card span .anticon {
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-ai-history-card strong {
  overflow: hidden;
  color: var(--gn-fg-1);
  font-size: 12.5px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-ai-history-card small {
  padding-left: 21px;
  color: var(--gn-fg-5);
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
}

body[data-ui-version="v2"] .gn-v2-ai-empty-note {
  padding: 32px 0;
  color: var(--gn-fg-5);
  font-size: 12px;
  text-align: center;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-input-area {
  padding: 10px 12px 12px !important;
  border-top: 0.5px solid var(--gn-br-1) !important;
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-input-wrapper {
  border-radius: 10px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  gap: 4px !important;
}

body[data-ui-version="v2"] .gn-v2-ai-context-row {
  justify-content: space-between;
  gap: 6px;
  min-height: 22px;
}

body[data-ui-version="v2"] .gn-v2-ai-context-toggle,
body[data-ui-version="v2"] .gn-v2-ai-context-add {
  height: 22px;
  border-radius: 6px;
  font-size: 11.5px;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-ai-context-toggle {
  gap: 5px;
  padding: 0 8px;
  border: 0.5px solid rgba(56,189,248,0.3);
  background: var(--gn-info-soft);
  color: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-ai-context-toggle strong {
  min-width: 15px;
  height: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  border-radius: 4px;
  background: var(--gn-info);
  color: #fff;
  font-family: var(--gn-font-mono);
  font-size: 10px;
}

body[data-ui-version="v2"] .gn-v2-ai-context-toggle .anticon-down {
  transition: transform 0.12s ease;
}

body[data-ui-version="v2"] .gn-v2-ai-context-toggle.is-expanded .anticon-down {
  transform: rotate(180deg);
}

body[data-ui-version="v2"] .gn-v2-ai-context-add {
  gap: 4px;
  padding: 0 8px;
  border: 0.5px dashed var(--gn-br-3);
  background: transparent;
  color: var(--gn-fg-4);
}

body[data-ui-version="v2"] .gn-v2-ai-context-detail {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  border: 0.5px solid var(--gn-br-1);
  border-radius: 8px;
  background: var(--gn-bg-panel-2);
}

body[data-ui-version="v2"] .gn-v2-ai-context-detail-title {
  padding: 0 4px;
  color: var(--gn-fg-4);
  font-size: 10px;
  font-weight: 700;
}

body[data-ui-version="v2"] .gn-v2-ai-context-table-chip {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  min-height: 24px;
  border: 0.5px solid var(--gn-br-1) !important;
  border-radius: 6px !important;
  background: var(--gn-bg-panel) !important;
  color: var(--gn-fg-1) !important;
  font-family: var(--gn-font-mono);
  font-size: 11.5px !important;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-thumb {
  position: relative;
  width: 54px;
  height: 54px;
  overflow: hidden;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 7px;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-thumb button {
  position: absolute;
  top: 3px;
  right: 3px;
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 10px;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-file {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: min(100%, 280px);
  min-height: 28px;
  padding: 4px 8px;
  border: 0.5px solid var(--gn-br-2);
  border-radius: 8px;
  background: var(--gn-bg-panel);
  color: var(--gn-fg-1);
  font-size: 11.5px;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-file.has-warning {
  border-color: rgba(217, 119, 6, 0.45);
  background: rgba(217, 119, 6, 0.08);
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-file-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-file-meta {
  color: var(--gn-fg-3);
  flex-shrink: 0;
}

body[data-ui-version="v2"] .gn-v2-ai-attachment-file button {
  width: 16px;
  height: 16px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: var(--gn-bg-subtle);
  color: var(--gn-fg-3);
  line-height: 1;
}

body[data-ui-version="v2"] .gn-v2-ai-input-box {
  min-height: 68px;
  padding: 0;
}

body[data-ui-version="v2"] .gn-v2-ai-input-surface {
  min-height: 68px;
  padding: 6px 6px 6px 10px;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 10px !important;
  background: var(--gn-bg-input) !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-ai-input-box textarea {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12.5px !important;
  line-height: 1.55 !important;
  padding: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-ai-input-box textarea.ant-input:focus,
body[data-ui-version="v2"] .gn-v2-ai-input-box textarea.ant-input:focus-visible {
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-ai-slash-menu {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  z-index: 100;
  max-height: 220px;
  padding: 4px;
  margin-bottom: 4px;
  overflow-y: auto;
  border-radius: 8px;
  box-shadow: var(--gn-shadow-lg);
}

body[data-ui-version="v2"] .gn-v2-ai-input-actions {
  justify-content: flex-end;
  gap: 4px;
  margin-top: 6px;
}

body[data-ui-version="v2"] .gn-v2-ai-input-actions .ant-btn {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-ai-model-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding-top: 0;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-ai-model-spacer {
  flex: 1 1 auto;
  min-width: 4px;
}

body[data-ui-version="v2"] .gn-v2-ai-context-chip,
body[data-ui-version="v2"] .gn-v2-ai-token-meter {
  height: 20px;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
  border-radius: 4px !important;
  border: 0.5px solid var(--gn-br-1) !important;
  background: var(--gn-bg-active) !important;
  color: var(--gn-fg-4) !important;
  font-family: var(--gn-font-mono);
  font-size: 10.5px;
}

body[data-ui-version="v2"] .gn-v2-ai-context-chip {
  flex: 1 1 auto;
  max-width: 180px;
  overflow: hidden;
}

body[data-ui-version="v2"] .gn-v2-ai-context-chip > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-ui-version="v2"] .gn-v2-ai-context-live-dot {
  width: 5px;
  height: 5px;
  flex: 0 0 5px;
  border-radius: 50%;
  background: var(--gn-accent);
}

body[data-ui-version="v2"] .gn-v2-ai-model-select {
  width: 132px !important;
  height: 26px !important;
  flex: 0 0 132px;
}

body[data-ui-version="v2"] .gn-v2-ai-model-select .ant-select-selector {
  display: flex !important;
  align-items: center !important;
  height: 26px !important;
  min-height: 26px !important;
  padding: 0 28px 0 10px !important;
  border: 0.5px solid var(--gn-br-2) !important;
  border-radius: 7px !important;
  background: var(--gn-bg-panel) !important;
  box-shadow: none !important;
  font-family: var(--gn-font-mono);
  font-size: 12px !important;
}

body[data-ui-version="v2"] .gn-v2-ai-model-select.ant-select-focused .ant-select-selector,
body[data-ui-version="v2"] .gn-v2-ai-model-select:hover .ant-select-selector {
  border-color: var(--gn-info) !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.12) !important;
}

body[data-ui-version="v2"] .gn-v2-ai-model-select .ant-select-selection-search {
  left: 10px !important;
  right: 28px !important;
  inset-inline-start: 10px !important;
  inset-inline-end: 28px !important;
  height: 24px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body[data-ui-version="v2"] .gn-v2-ai-model-select .ant-select-selection-search-input {
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gn-fg-2) !important;
  font-family: var(--gn-font-mono) !important;
  font-size: 12px !important;
  line-height: 24px !important;
}

body[data-ui-version="v2"] .gn-v2-ai-model-select .ant-select-selection-item,
body[data-ui-version="v2"] .gn-v2-ai-model-select .ant-select-selection-placeholder {
  display: flex !important;
  align-items: center !important;
  height: 24px !important;
  line-height: 24px !important;
  padding-inline-end: 0 !important;
  background: transparent !important;
  color: var(--gn-fg-2) !important;
}

body[data-ui-version="v2"] .gn-v2-ai-model-select .ant-select-arrow {
  inset-inline-end: 9px !important;
  color: var(--gn-fg-4) !important;
  font-size: 11px;
}

body[data-ui-version="v2"] .gn-v2-ai-token-meter {
  flex: 0 0 auto;
  gap: 5px !important;
}

body[data-ui-version="v2"] .gn-v2-ai-token-meter.is-warn {
  border-color: color-mix(in srgb, var(--gn-warn) 35%, transparent) !important;
  color: var(--gn-warn) !important;
}

body[data-ui-version="v2"] .gn-v2-ai-token-bar {
  width: 32px;
  height: 4px;
  overflow: hidden;
  border-radius: 2px;
  background: var(--gn-bg-active);
}

body[data-ui-version="v2"] .gn-v2-ai-token-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--gn-info);
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-send-btn {
  width: 28px !important;
  height: 28px !important;
  border-radius: 7px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0 !important;
  border: 0.5px solid var(--gn-info) !important;
  background: var(--gn-info) !important;
  background-color: var(--gn-info) !important;
  color: #fff !important;
  opacity: 1 !important;
  cursor: pointer;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-send-btn .anticon,
body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-send-btn svg {
  color: currentColor !important;
  fill: currentColor !important;
  font-size: 13px;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-send-btn:disabled {
  border-color: var(--gn-br-1) !important;
  background: var(--gn-bg-active) !important;
  background-color: var(--gn-bg-active) !important;
  color: var(--gn-fg-5) !important;
  opacity: 1 !important;
  cursor: not-allowed;
}

body[data-ui-version="v2"] .gn-v2-ai-panel .ai-chat-stop-btn {
  border-color: rgba(220,38,38,0.28) !important;
  background: rgba(220,38,38,0.12) !important;
  background-color: rgba(220,38,38,0.12) !important;
  color: var(--gn-danger) !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find {
  display: inline-flex !important;
  align-items: center !important;
  height: 28px !important;
  min-height: 28px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-row {
  display: grid !important;
  grid-template-columns: 180px 28px !important;
  align-items: stretch !important;
  column-gap: 4px !important;
  height: 28px !important;
  min-height: 28px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete .ant-select,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field .ant-input-affix-wrapper {
  width: 180px !important;
  min-width: 180px !important;
  height: 28px !important;
  min-height: 28px !important;
  box-sizing: border-box !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-autocomplete .ant-select {
  display: flex !important;
  align-items: stretch !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-field .ant-input-affix-wrapper {
  display: flex !important;
  align-items: center !important;
  line-height: 28px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn > span,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn .ant-btn-icon,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn .anticon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  line-height: 1 !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn .anticon svg {
  display: block !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn:focus,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn:focus-visible,
body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn:active {
  box-shadow: none !important;
  outline: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-column-quick-find .gn-v2-data-grid-column-quick-find-submit.ant-btn::after {
  display: none !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find {
  gap: 2px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-prefix,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-suffix {
  display: inline-flex !important;
  align-items: center !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input-prefix {
  margin-inline-end: 6px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .ant-input::placeholder {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find {
  max-width: 214px !important;
  overflow: visible !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .gn-v2-data-grid-page-find-row {
  display: grid !important;
  grid-template-columns: 160px 26px 26px !important;
  column-gap: 2px !important;
  align-items: stretch !important;
  height: 26px !important;
  min-height: 26px !important;
  flex: 0 0 auto !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .gn-v2-data-grid-page-find-input,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .gn-v2-data-grid-page-find-input.ant-input-affix-wrapper {
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
  height: 26px !important;
  min-height: 26px !important;
  box-sizing: border-box !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .gn-v2-data-grid-page-find-input.ant-input-affix-wrapper {
  display: flex !important;
  align-items: center !important;
  padding-inline: 8px !important;
  line-height: 26px !important;
}

body[data-ui-version="v2"] .gn-v2-data-grid-page-find .gn-v2-data-grid-page-find-prev.ant-btn,
body[data-ui-version="v2"] .gn-v2-data-grid-page-find .gn-v2-data-grid-page-find-next.ant-btn {
  width: 26px !important;
  min-width: 26px !important;
  max-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}
