/* ============================================================================
   NativeTables — frontend styles
   Pixel-ported from Table 2.0 (snippet #25 finals) + dark rules (snippet #5).
   Light = unscoped. Dark = html[data-theme="dark"] prefix (site contract).
   Uses the site's --pa-* variables with hard fallbacks so the plugin also
   stands alone if the dark-mode snippet is ever removed.
   ========================================================================== */

/* ------------------------------------------------------------ shell */
.ntbl-wrap { position: relative; width: 100%; }
/* Outer frame — matches the old semantic-ui .ui.table border */
.ntbl-box { border: 1px solid rgba(34,36,38,.15); border-radius: 4px; background: #ffffff; margin: 0; width: fit-content; min-width: 100%; box-sizing: border-box; }
html[data-theme="dark"] .ntbl-box { border-color: var(--pa-border, #363a3f); background: var(--pa-bg-primary, #111113); }
.ntbl-scroll { width: 100%; overflow: visible; }
.ntbl-table tbody tr:last-child td { border-bottom: none; }
/* Kill theme (Astra) default table chrome — borders/margins/spacing */
.ntbl-wrap table.ntbl-table { margin: 0 !important; border: none !important; border-spacing: 0 !important; }
.ntbl-wrap .ntbl-table thead, .ntbl-wrap .ntbl-table tbody, .ntbl-wrap .ntbl-table tr { border: none !important; background: transparent; }
.ntbl-table {
  width: 100%; min-width: var(--ntbl-min-width, 1260px);
  border-collapse: collapse; border-spacing: 0; table-layout: fixed;
  font-family: Helvetica, Arial, sans-serif;
  background: var(--pa-bg-primary, #ffffff);
}
.ntbl-table * { box-sizing: border-box; }
@media (max-width: 920px) {
  /* On mobile the frame stays viewport-width and the table scrolls INSIDE it
     (both axes) — required for sticky header (top) and sticky first column
     (left), which only work relative to the scrolling frame. */
  .ntbl-box { width: auto; min-width: 0; }
  .ntbl-scroll { overflow: auto; max-height: 80vh; }
  /* Inside-frame sticking needs no admin-bar offset; higher specificity so
     these beat the base rules that appear later in the file. */
  .ntbl-sticky .ntbl-scroll .ntbl-table thead tr.ntbl-header th { top: 0; }
  .ntbl-sticky .ntbl-scroll .ntbl-table thead tr.nt-funded-tier th { top: 0; }
}

/* ------------------------------------------------------------ header */
.ntbl-table thead th {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 10.5px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
  color: #64748b; background: #f8fafc;
  border: none; border-bottom: 1px solid #e2e8f0;
  padding: 8px 5px; text-align: center; vertical-align: middle;
}
.ntbl-table thead th:first-child { text-align: left; }
.ntbl-table thead th.nt-sort-col { color: #1d4ed8; }
.ntbl-table thead th.ntbl-c-discount { color: #1d4ed8; }
th.ntbl-c-goal, th.ntbl-c-days, th.ntbl-c-payday { padding-left: 3px; padding-right: 3px; }
.dc-head { display: inline-flex; justify-content: center; gap: 35px; }
.gm-head { display: inline-flex; justify-content: center; gap: 38px; }

.ntbl-table thead th.ntbl-sortable { cursor: pointer; user-select: none; }
.ntbl-th-inner { display: inline-flex; align-items: center; }
.ntbl-sort-ic { width: 0; display: inline-block; }
/* Sorted-column arrow lives in the header cell's top-right corner: always
   visible (corners stay empty even on full-width two-line labels) and never
   shifts the label. th is a containing block via sticky or the rule below. */
.ntbl-table thead th.ntbl-sortable { position: relative; }
.ntbl-sorted-asc  .ntbl-sort-ic::after,
.ntbl-sorted-desc .ntbl-sort-ic::after {
  position: absolute; top: 50%; transform: translateY(-50%); right: 3px; line-height: 1;
}
.ntbl-sorted-asc  .ntbl-sort-ic::after { content: "\25B4"; font-size: 12px; }
.ntbl-sorted-desc .ntbl-sort-ic::after { content: "\25BE"; font-size: 12px; }

/* sticky header (server adds .ntbl-sticky on wrap) */
.ntbl-sticky .ntbl-table thead tr.ntbl-header th {
  position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 20;
}
.ntbl-sticky .ntbl-table thead tr.nt-funded-tier th { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 19; }

/* sticky first column */
.ntbl-sticky-col .ntbl-table thead th:first-child,
.ntbl-sticky-col .ntbl-table tbody td:first-child { position: sticky; left: 0; z-index: 1; }
.ntbl-sticky.ntbl-sticky-col .ntbl-table thead tr.ntbl-header th:first-child { z-index: 21; }

html[data-theme="dark"] .ntbl-table thead th {
  color: var(--pa-text-secondary, #b0b4ba);
  background: var(--pa-table-header-bg, #18191b);
  border-bottom: 1px solid var(--pa-border, #363a3f);
}
html[data-theme="dark"] .ntbl-table thead th.nt-sort-col,
html[data-theme="dark"] .ntbl-table thead th.ntbl-c-discount { color: #70b8ff; }

/* ------------------------------------------------------------ FUNDED tier */
.ntbl-table tr.nt-funded-tier th { background: #f8fafc; border: none; padding: 0; }
.ntbl-table tr.nt-funded-tier th.nt-funded-span { padding: 2px 0 0; }
.nt-funded-span .nt-funded-label { display: block; text-align: center; font-size: 10px; font-weight: 700;
  letter-spacing: 1.5px; color: #1e3a8a; line-height: 1; margin-bottom: 3px; }
.nt-funded-span .nt-funded-bracket { display: block; width: 100%; height: 5px;
  border-left: 2px solid #93c5fd; border-right: 2px solid #93c5fd; border-top: 2px solid #93c5fd;
  border-radius: 4px 4px 0 0; }
/* group fences */
.ntbl-table tr.ntbl-header th.ntbl-c-roiadj, .ntbl-table tr.ntbl-header th.ntbl-c-firmsite { border-left: 2px solid #93c5fd; }
.ntbl-table tbody td.ntbl-c-roiadj, .ntbl-table tbody td.ntbl-c-firmsite { border-left: 2px solid #dbeafe; }

html[data-theme="dark"] .ntbl-table tr.nt-funded-tier th { background: var(--pa-table-header-bg, #18191b); }
html[data-theme="dark"] .nt-funded-span .nt-funded-label { color: #70b8ff; }
html[data-theme="dark"] .nt-funded-span .nt-funded-bracket { border-color: #205d9e; }
html[data-theme="dark"] .ntbl-table tr.ntbl-header th.ntbl-c-roiadj,
html[data-theme="dark"] .ntbl-table tr.ntbl-header th.ntbl-c-firmsite { border-left: 2px solid #205d9e; }
html[data-theme="dark"] .ntbl-table tbody td.ntbl-c-roiadj,
html[data-theme="dark"] .ntbl-table tbody td.ntbl-c-firmsite { border-left: 2px solid #0d2847; }

@media (max-width: 767px) {
  .ntbl-table tr.nt-funded-tier { display: none; }
  .ntbl-table tr.ntbl-header th.ntbl-c-roiadj, .ntbl-table tr.ntbl-header th.ntbl-c-firmsite,
  .ntbl-table tbody td.ntbl-c-roiadj, .ntbl-table tbody td.ntbl-c-firmsite { border-left: none; }
}

/* ------------------------------------------------------------ body cells */
.ntbl-table tbody td {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px; font-weight: 400; color: #334155; font-variant-numeric: tabular-nums;
  border: none; border-bottom: 1px solid #f1f5f9;
  background: #ffffff; padding: 9px 6px; vertical-align: middle; text-align: center;
  overflow-wrap: break-word;
}
.ntbl-table tbody td:first-child { text-align: left; background: #ffffff; }
.ntbl-table tbody tr:nth-child(even) td,
.ntbl-table tbody tr:nth-child(even) td:first-child { background: #fafbfd; }
.ntbl-table tbody tr:hover td,
.ntbl-table tbody tr:hover td:first-child { background: #edf0f4; }
.ntbl-table tbody td.nt-sort-col,
.ntbl-table tbody tr:nth-child(even) td.nt-sort-col { background: #f0f6ff; font-size: 14px; font-weight: 600; color: #2b3566; }
.ntbl-table tbody td.nt-sort-col .split-label { font-size: 14px; font-weight: 600; color: #2b3566; }
.ntbl-table tbody tr:hover td.nt-sort-col,
.ntbl-table tbody tr:nth-child(even):hover td.nt-sort-col { background: #edf0f4; }
.ntbl-table tbody td.nt-muted, .ntbl-table tbody td.nt-zero { color: #cbd5e1; }
.nt-muted-inline, .split-dash, .dt-dash, .gmll-cell .gmll-dash { color: #cbd5e1; }
td.ntbl-c-discount { padding: 8px 4px; }
td.ntbl-c-goal, td.ntbl-c-days, td.ntbl-c-payday { padding-left: 3px; padding-right: 3px; }
tr.ntbl-empty td { padding: 22px 10px; text-align: center; color: #64748b; font-size: 13px; }
@media (max-width: 767px) { .ntbl-table tbody td { padding: 8px 5px; } }

html[data-theme="dark"] .ntbl-table tbody td {
  color: #d3d6da !important; background: var(--pa-bg-primary, #111113);
  border-bottom: 1px solid #212225;
}
html[data-theme="dark"] .ntbl-table tbody td:first-child { background: var(--pa-bg-primary, #111113); }
html[data-theme="dark"] .ntbl-table tbody tr:nth-child(even) td,
html[data-theme="dark"] .ntbl-table tbody tr:nth-child(even) td:first-child { background: var(--pa-table-row-alt, #151517); }
html[data-theme="dark"] .ntbl-table tbody td.ntbl-c-discount,
html[data-theme="dark"] .ntbl-table tbody td.ntbl-c-firmsite,
html[data-theme="dark"] .ntbl-table tbody tr:nth-child(even) td.ntbl-c-discount,
html[data-theme="dark"] .ntbl-table tbody tr:nth-child(even) td.ntbl-c-firmsite { background: #1c1d20; }
html[data-theme="dark"] .ntbl-table tbody td.nt-sort-col,
html[data-theme="dark"] .ntbl-table tbody tr:nth-child(even) td.nt-sort-col { color: #c2e6ff !important; background: #1c1d20; }
html[data-theme="dark"] .ntbl-table tbody td.nt-sort-col .split-label { color: #c2e6ff !important; }
html[data-theme="dark"] .ntbl-table tbody tr:hover td,
html[data-theme="dark"] .ntbl-table tbody tr:hover td:first-child,
html[data-theme="dark"] .ntbl-table tbody tr:hover td.nt-sort-col,
html[data-theme="dark"] .ntbl-table tbody tr:hover td.ntbl-c-discount,
html[data-theme="dark"] .ntbl-table tbody tr:hover td.ntbl-c-firmsite { background: var(--pa-table-hover, #212225); }
html[data-theme="dark"] .ntbl-table tbody td.nt-muted,
html[data-theme="dark"] .ntbl-table tbody td.nt-zero,
html[data-theme="dark"] .nt-muted-inline,
html[data-theme="dark"] .dt-dash, html[data-theme="dark"] .gmll-cell .gmll-dash,
html[data-theme="dark"] .split-dash { color: #5a6169 !important; }

/* ------------------------------------------------------------ firm cell */
.ntbl-table .table-firm-prod { display: flex; align-items: center; gap: 10px; min-width: 180px; text-decoration: none; background: transparent; }
.ntbl-table .table-firm-prod img { width: 26px; height: 26px; display: block; flex-shrink: 0; }
.ntbl-table .table-firm-prod .text-prod { flex: 1; min-width: 0; }
.ntbl-table .table-firm-prod .text-prod p { margin: 0; line-height: 1.25; }
.ntbl-table .firm-name-prod { font-size: 14px; font-weight: 500; color: #3a466f; }
.ntbl-table .table-firm-prod:hover .firm-name-prod { color: #2563eb; }
.ntbl-table .firm-plan-prod { margin-top: 2px; font-size: 13px; font-weight: 400; color: #5c6b80; }
.ntbl-table .firm-rank-prod { display: inline-flex; align-items: center; justify-content: center;
  width: 15px; height: 15px; border-radius: 50%; background: #045cb4; color: #fff;
  font-size: 9px; font-weight: 800; vertical-align: 1px; cursor: help; }
.ntbl-table .firm-rank-prod:empty { display: none; }
.ntbl-table .firm-pilltop-prod { display: inline-block; font-size: 10px; font-weight: 600; letter-spacing: .3px;
  text-transform: uppercase; color: #475569; background: #eef2f7; border: 1px solid #d8e0ea;
  padding: 1px 6px; border-radius: 999px; white-space: nowrap; vertical-align: 1px; cursor: help; }
.ntbl-table .firm-pill-prod { display: inline-block; font-size: 10px; font-weight: 600; letter-spacing: .3px;
  text-transform: uppercase; color: #64748b; background: #f8fafc; border: 1px solid #e2e8f0;
  padding: 1px 6px; border-radius: 999px; white-space: nowrap; vertical-align: 1px; cursor: help; }
.ntbl-table .firm-pill-prod:empty, .ntbl-table .firm-pilltop-prod:empty { display: none; }
@media (max-width: 767px) { .ntbl-table .table-firm-prod { min-width: 148px; } }

html[data-theme="dark"] .ntbl-table .firm-name-prod { color: #edeef0 !important; }
html[data-theme="dark"] .ntbl-table .table-firm-prod:hover .firm-name-prod { color: #70b8ff !important; }
html[data-theme="dark"] .ntbl-table .firm-plan-prod { color: #949aa2 !important; }
html[data-theme="dark"] .ntbl-table .firm-rank-prod { color: #fff !important; background: #045cb4; }
html[data-theme="dark"] .ntbl-table .firm-pilltop-prod { color: #b0b4ba !important; background: #212225; border: 1px solid #43484e; }
html[data-theme="dark"] .ntbl-table .firm-pill-prod { color: #b0b4ba !important; background: #18191b; border: 1px solid #363a3f; }

/* ------------------------------------------------------------ price/allin */
td.ntbl-c-price .price-term, td.ntbl-c-allin .allin-term {
  display: block; font-size: 9px; font-weight: 400; color: #64748b; letter-spacing: .2px;
  line-height: 1.2; margin-top: 1px; }
td.ntbl-c-price .price-actfee, td.ntbl-c-allin .allin-1m {
  display: inline-block; font-size: 10px; font-weight: 700; color: #475569; background: #f1f5f9;
  border-radius: 3px; padding: 2px 6px; line-height: 1.2; margin-top: 3px; white-space: nowrap; cursor: help; }
html[data-theme="dark"] td.ntbl-c-price .price-term,
html[data-theme="dark"] td.ntbl-c-allin .allin-term { color: var(--pa-text-secondary, #b0b4ba) !important; }
html[data-theme="dark"] td.ntbl-c-price .price-actfee,
html[data-theme="dark"] td.ntbl-c-allin .allin-1m { color: #b0b4ba !important; background: #212225; }

/* ------------------------------------------------------------ DDT badge */
.ddt-cell-prod { display: flex; flex-direction: column; align-items: center; gap: 1px; }
.ddt-tag-prod { display: inline-block; font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 5px; }
.ddt-cell-prod[data-ddt="EOD"] .ddt-tag-prod::before, .ddt-cell-prod[data-ddt="EOD^"] .ddt-tag-prod::before { content: "EOD"; }
.ddt-cell-prod[data-ddt="EOD"] .ddt-tag-prod, .ddt-cell-prod[data-ddt="EOD^"] .ddt-tag-prod { color: #475569; background: #eef2f7; }
.ddt-cell-prod[data-ddt="Intra"] .ddt-tag-prod::before { content: "Intra"; }
.ddt-cell-prod[data-ddt="Intra"] .ddt-tag-prod { color: #9a3412; background: #fff3e8; }
.ddt-cell-prod[data-ddt="Static"] .ddt-tag-prod::before { content: "Static"; }
.ddt-cell-prod[data-ddt="Static"] .ddt-tag-prod { color: #1d4ed8; background: #eff6ff; }
.ddt-change-prod { display: none; }
.ddt-cell-prod[data-ddt="EOD^"] .ddt-change-prod { display: block; font-size: 10px; font-weight: 700; color: #b45309; line-height: 1.1; text-align: center; }
.ddt-cell-prod[data-ddt="EOD^"] .ddt-change-prod::before { content: "\2193"; display: block; font-weight: 800; line-height: 1; }
.ddt-cell-prod[data-ddt="EOD^"] .ddt-change-prod::after { content: "Intra"; }

html[data-theme="dark"] .ddt-cell-prod[data-ddt="EOD"] .ddt-tag-prod,
html[data-theme="dark"] .ddt-cell-prod[data-ddt="EOD^"] .ddt-tag-prod { color: #b0b4ba !important; background: #212225; }
html[data-theme="dark"] .ddt-cell-prod[data-ddt="Intra"] .ddt-tag-prod { color: #fdba74 !important; background: #3a2517; }
html[data-theme="dark"] .ddt-cell-prod[data-ddt="Static"] .ddt-tag-prod { color: #70b8ff !important; background: #1c1d20; }
html[data-theme="dark"] .ddt-cell-prod[data-ddt="EOD^"] .ddt-change-prod { color: #e8a25a !important; }

/* ------------------------------------------------------------ goal / split */
.goal-mll-cell { display: flex; align-items: center; justify-content: center; gap: 11px; }
.goal-mll-cell .gm-goal, .goal-mll-cell .gm-mll { font-variant-numeric: tabular-nums; white-space: nowrap; }
.gmll-cell { display: flex; justify-content: center; cursor: help; }
.split-cell { display: flex; align-items: center; justify-content: center; gap: 4px; }
.split-donut { width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
  -webkit-mask: radial-gradient(circle, transparent 7px, #000 7.75px, #000 10.25px, transparent 11px);
          mask: radial-gradient(circle, transparent 7px, #000 7.75px, #000 10.25px, transparent 11px); }
.split-label { font-size: 13px; font-weight: 400; color: #334155; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; }
html[data-theme="dark"] .split-label { color: #d3d6da !important; }
@media (max-width: 767px) {
  .split-cell { gap: 5px; }
  .split-donut { width: 16px; height: 16px;
    -webkit-mask: radial-gradient(circle, transparent 5px, #000 5.6px, #000 7.4px, transparent 8px);
            mask: radial-gradient(circle, transparent 5px, #000 5.6px, #000 7.4px, transparent 8px); }
}

/* ------------------------------------------------------------ deal ticket */
.deal-ticket-wrap { position: relative; display: inline-block; margin-top: 7px; }
.ntbl-table .deal-ticket {
  display: grid; grid-template-columns: 84px 96px; align-items: stretch;
  height: 44px; box-sizing: border-box; padding: 0;
  background: #f8fbff; border: 2px dashed #93c5fd; border-radius: 6px;
  overflow: visible; position: relative; cursor: pointer; white-space: nowrap;
  font-family: inherit; -webkit-tap-highlight-color: transparent;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.dt-left { display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1px; padding: 7px 0; box-sizing: border-box; overflow: hidden; }
.dt-pct { font-size: 14px; font-weight: 700; color: #00008b; line-height: 1.1; }
.dt-note { font-size: 9px; font-weight: 600; color: #475569; }
.dt-right { display: flex; align-items: center; justify-content: center; padding: 9px 0;
  border-left: 1px solid #dbeafe; position: relative; border-radius: 0 6px 6px 0;
  margin: -2px -2px -2px 0; box-sizing: border-box; overflow: hidden; transition: background 120ms ease; }
.dt-code { font-size: 17px; font-weight: 700; color: #1d4ed8; font-family: 'Courier New', monospace; line-height: 1.1; }
.dt-code.dt-code-m { font-size: 12.5px; }
.dt-code.dt-code-s { font-size: 11px; }
.dt-scissors { position: absolute; top: -9px; right: 10px; background: #ffffff; padding: 0 4px;
  display: inline-flex; transform: scaleX(-1); line-height: 0; }
.dt-scissors::after { content: ""; width: 14px; height: 14px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%232563eb" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="3"/><circle cx="6" cy="18" r="3"/><line x1="20" y1="4" x2="8.12" y2="15.88"/><line x1="14.47" y1="14.48" x2="20" y2="20"/><line x1="8.12" y1="8.12" x2="12" y2="12"/></svg>') center/contain no-repeat; display: inline-block; }
tr:nth-child(even) .dt-scissors { background: #fafbfd; }
tr:hover .dt-scissors { background: #edf0f4; }
td.nt-sort-col .dt-scissors { background: #f0f6ff; }
.dt-hover { display: none; }
.dt-hover::before { content: ""; width: 9px; height: 9px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="none" stroke="%23ffffff" stroke-width="1.4"><path d="M8.5 3.5 V2.5 A1.5 1.5 0 0 0 7 1 H2.5 A1.5 1.5 0 0 0 1 2.5 V7 A1.5 1.5 0 0 0 2.5 8.5 H3.5"/><rect x="4.5" y="4.5" width="6.5" height="6.5" rx="1.2"/></svg>') center/contain no-repeat; display: inline-block; }
.ntbl-table .dt-copy { font-size: 9px; font-weight: 700; letter-spacing: .6px; color: #ffffff; }
.ntbl-table .deal-ticket:hover .dt-hover .dt-copy { color: #ffffff !important; }
.ntbl-table .deal-ticket:hover { border-color: #045cb4; box-shadow: 0 1px 4px rgba(4,92,180,.3);
  background: linear-gradient(90deg, #f8fbff 84px, #045cb4 84px); }
.ntbl-table .deal-ticket:hover .dt-right { background: #045cb4; flex-direction: column; justify-content: center; gap: 0; padding: 3px 0; }
.ntbl-table .deal-ticket:hover .dt-code { display: block; color: #ffffff !important; line-height: 1.1; }
.ntbl-table .deal-ticket:hover .dt-hover { display: inline-flex; align-items: center; gap: 3px; line-height: 1; }
.ntbl-table .deal-ticket:hover .dt-scissors { opacity: 0; }
.ntbl-table .deal-ticket:focus, .ntbl-table .deal-ticket:active { outline: none; }
.ntbl-table .deal-ticket.dt-nocode { visibility: hidden; }

html[data-theme="dark"] .ntbl-table .deal-ticket { background: #212225; border-color: #43484e; }
html[data-theme="dark"] .dt-scissors { background: #18191b; }
html[data-theme="dark"] tr:nth-child(even) .dt-scissors { background: #1b1d21; }
html[data-theme="dark"] tr:hover .dt-scissors { background: #23262c; }
html[data-theme="dark"] .dt-right { border-left-color: #43484e; }
html[data-theme="dark"] .dt-code { color: #70b8ff !important; }
html[data-theme="dark"] .dt-note { color: #b0b4ba !important; }
html[data-theme="dark"] .dt-pct { color: #70b8ff !important; }
html[data-theme="dark"] .ntbl-table .deal-ticket:hover { background: linear-gradient(90deg, #212225 84px, #045cb4 84px); border-color: #045cb4; }
html[data-theme="dark"] .ntbl-table .deal-ticket:hover .dt-right { background: #045cb4; }

/* copied toast */
.ntbl-tooltip { position: fixed; top: 90px; left: 50%; transform: translate(-50%);
  background-color: #fc0; color: #334155; padding: 10px 20px; border-radius: 16px;
  font-size: 18px; font-weight: 700; display: none; z-index: 9999;
  box-shadow: 0 2px 6px rgb(0 0 0 / .3); font-family: Helvetica, Arial, sans-serif; }

/* ------------------------------------------------------------ claim button */
.ntbl-table .deal-button { display: inline-block; font-size: 13px; font-weight: 600; font-family: inherit;
  color: #fff !important; background: #045cb4; border: none; padding: 6px 12px; border-radius: 7px;
  text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: transparent; line-height: normal; }
.ntbl-table .deal-button:hover { background: #2563eb; }
.ntbl-table .deal-button:focus, .ntbl-table .deal-button:active { outline: none; box-shadow: none; }

/* ============================================================ FILTER BAR */
/* Header-colored slab inside the frame — matches the old filter row
   (semantic thead th #f9fafb; dark: --pa-table-header-bg). */
.ntbl-fbar { display: block; background: #f9fafb; border: none;
  border-bottom: none; border-radius: 4px 4px 0 0;
  padding: 13px 11px 4px; margin: 0 !important;
  text-align: left; position: relative; z-index: 900; width: 100%; max-width: 100%;
  font-family: Helvetica, Arial, sans-serif; box-sizing: border-box; }
html[data-theme="dark"] .ntbl-fbar { background: var(--pa-table-header-bg, #18191b); }
.ntbl-fbar .ntbl-tier1 { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; padding: 12px 4px 10px; }
.ntbl-fbar .ntbl-tier2 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 10px 4px 6px;
  background: transparent; border-top: 1px solid #e2e8f0; }
.ntbl-fbar .ntbl-group { display: inline-flex; align-items: center; flex-direction: row; flex-wrap: nowrap;
  gap: 8px; margin: 0; padding: 0; width: auto; flex: 0 0 auto; }
.ntbl-fbar .ntbl-flabel { font-size: 10px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase;
  color: #64748b; display: inline-flex; margin: 0 8px 0 0; line-height: 1; white-space: nowrap; flex: 0 0 auto; }

/* segmented track */
.ntbl-fbar .ntbl-track { display: inline-flex; background: #e8edf3; border-radius: 8px; padding: 3px;
  overflow-x: auto; scrollbar-width: none; flex: 0 0 auto; min-width: max-content; width: auto; }
.ntbl-fbar .ntbl-track::-webkit-scrollbar { display: none; }
.ntbl-fbar .ntbl-track .ntbl-choice { font-size: 12px; font-weight: 600; color: #52627a;
  padding: 5px 12px; border-radius: 6px; margin: 0; border: none; background: transparent;
  cursor: pointer; white-space: nowrap; transition: background 150ms ease, color 150ms ease;
  display: inline-flex; align-items: center; }
.ntbl-fbar .ntbl-track .ntbl-choice:hover { color: #334155; }
.ntbl-fbar .ntbl-track .ntbl-choice.active,
.ntbl-fbar .ntbl-track .ntbl-choice:has(input:checked) { background: #045cb4 !important; color: #ffffff !important; font-weight: 700 !important; }
.ntbl-fbar .ntbl-choice input { position: absolute; opacity: 0; pointer-events: none; }

/* quick pills */
.ntbl-fbar .ntbl-quick { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: wrap; }
.ntbl-fbar .ntbl-pillgroup .ntbl-choice { font-size: 12px; font-weight: 600; color: #334155;
  border: 1px solid #cbd5e1; background: #ffffff; border-radius: 999px; padding: 5px 11px; margin: 0 4px 0 0;
  cursor: pointer; white-space: nowrap; display: inline-flex; align-items: center; }
.ntbl-fbar .ntbl-pillgroup .ntbl-choice:hover { border-color: #94a3b8; }
.ntbl-fbar .ntbl-pillgroup .ntbl-choice.active,
.ntbl-fbar .ntbl-pillgroup .ntbl-choice:has(input:checked) { background: #045cb4 !important; color: #ffffff !important; border-color: #045cb4 !important; font-weight: 700 !important; }
.ntbl-pill-star::before { content: "\2B50\FE0E"; margin-right: 5px; }
.ntbl-pill-bolt::before { content: "\26A1\FE0E"; margin-right: 5px; }
.ntbl-fbar .ntbl-choice:has(input:focus-visible), .ntbl-reset:focus-visible { outline: 2px solid #045cb4; outline-offset: 2px; }

html[data-theme="dark"] .ntbl-fbar .ntbl-tier2 { border-top-color: #43484e; }
html[data-theme="dark"] .ntbl-fbar .ntbl-track { background: #212225; }
html[data-theme="dark"] .ntbl-fbar .ntbl-track .ntbl-choice { color: #b0b4ba; }
html[data-theme="dark"] .ntbl-fbar .ntbl-track .ntbl-choice:hover { color: #d3d6da; }
html[data-theme="dark"] .ntbl-fbar .ntbl-track .ntbl-choice.active,
html[data-theme="dark"] .ntbl-fbar .ntbl-track .ntbl-choice:has(input:checked) { background: #045cb4 !important; color: #fff !important; }
html[data-theme="dark"] .ntbl-fbar .ntbl-pillgroup .ntbl-choice { color: #d3d6da; background: #212225; border-color: #43484e; }
html[data-theme="dark"] .ntbl-fbar .ntbl-pillgroup .ntbl-choice.active,
html[data-theme="dark"] .ntbl-fbar .ntbl-pillgroup .ntbl-choice:has(input:checked) { background: #045cb4 !important; color: #fff !important; border-color: #045cb4 !important; }
html[data-theme="dark"] .ntbl-fbar .ntbl-flabel { color: #a9b8d0; }
html[data-theme="dark"] .ntbl-fbar .ntbl-choice:has(input:focus-visible) { outline-color: #3b9eff; }

/* tier-2 dropdown chips */
.ntbl-fbar .ntbl-tier2 .ntbl-ddgrp { border: 1px solid #cbd5e1; border-radius: 8px; background: #ffffff;
  padding: 0; height: 33px; box-sizing: border-box; position: relative; cursor: pointer; overflow: visible; }
.ntbl-fbar .ntbl-ddbtn { display: inline-flex; align-items: center; gap: 6px; height: 100%; width: 100%;
  background: none; border: none; padding: 7px 12px 7px 13px; margin: 0; cursor: pointer; font-family: inherit; }
.ntbl-fbar .ntbl-ddbtn::after { content: ""; width: 10px; height: 6px; flex: 0 0 auto;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 6" fill="none" stroke="%2364748b" stroke-width="1.6" stroke-linecap="round"><path d="M1 1l4 4 4-4"/></svg>') center/contain no-repeat; }
.ntbl-fbar .ntbl-tier2 .ntbl-flabel { text-transform: none; font-size: 12px; letter-spacing: 0;
  color: #64748b; font-weight: 600; margin: 0; line-height: 1; }
.ntbl-fbar .ntbl-val { font-size: 12px; font-weight: 600; color: #045cb4; white-space: nowrap; line-height: 1; }
.ntbl-fbar .ntbl-val:empty { display: none; }

/* dropdown panel */
.ntbl-fbar .ntbl-dd-panel { position: absolute; width: max-content; min-width: 100%; max-width: 340px;
  left: 0; top: calc(100% + 4px); z-index: 100000; border: 1px solid #cbd5e1; border-radius: 8px;
  box-shadow: 0 6px 18px rgba(15,23,42,.14); background: #ffffff; overflow: hidden auto;
  list-style: none; margin: 0; padding: 4px 0; max-height: 260px; }
.ntbl-fbar .ntbl-dd-panel[hidden] { display: none; }
.ntbl-fbar .ntbl-opt { list-style: none; margin: 0; padding: 8px 14px; font-size: 12.5px; color: #334155;
  border: none; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 300px; }
.ntbl-fbar .ntbl-opt:hover { background: #f1f5f9; }
.ntbl-fbar .ntbl-opt.selected { background: #eff6ff; color: #045cb4; font-weight: 700; }
.ntbl-fbar [data-multi="1"] .ntbl-opt { position: relative; padding-left: 32px; }
.ntbl-fbar [data-multi="1"] .ntbl-opt.selected::before { content: ""; position: absolute; left: 12px; top: 50%;
  transform: translateY(-50%); width: 11px; height: 11px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="none" stroke="%23045cb4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 6.5l3 3 5-7"/></svg>') center/contain no-repeat; }

html[data-theme="dark"] .ntbl-fbar .ntbl-tier2 .ntbl-ddgrp { background: #212225; border-color: #363a3f; }
html[data-theme="dark"] .ntbl-fbar .ntbl-tier2 .ntbl-flabel { color: #a9b8d0; }
html[data-theme="dark"] .ntbl-fbar .ntbl-val { color: #70b8ff; }
html[data-theme="dark"] .ntbl-fbar .ntbl-dd-panel { background: #212225; border-color: #205d9e; }
html[data-theme="dark"] .ntbl-fbar .ntbl-opt { color: #d3d6da; }
html[data-theme="dark"] .ntbl-fbar .ntbl-opt:hover { background: #0d2847; }
html[data-theme="dark"] .ntbl-fbar .ntbl-opt.selected { background: #212225; color: #70b8ff; }
html[data-theme="dark"] .ntbl-fbar [data-multi="1"] .ntbl-opt.selected::before {
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="none" stroke="%2393c5fd" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 6.5l3 3 5-7"/></svg>') center/contain no-repeat; }

/* countries slot */
.ntbl-fbar .ntbl-countries-slot { border: none; background: transparent; padding: 0; height: auto; cursor: default; }

/* tier-3 chips + meta */
.ntbl-fbar .ntbl-tier3 { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 7px 4px 9px;
  border-top: 1px solid #f1f5f9; }
.ntbl-fbar .ntbl-chipswrap { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.ntbl-fbar .ntbl-chipgroup { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px;
  padding-right: 9px; border-right: 1px solid #e2e8f0; }
.ntbl-fbar .ntbl-chipgroup:last-of-type { border-right: none; }
.ntbl-fbar .ntbl-chiplabel { font-size: 9.5px; font-weight: 700; letter-spacing: .5px; color: #94a3b8;
  text-transform: uppercase; margin-left: 4px; }
.ntbl-fbar .ntbl-chip { display: inline-flex; align-items: center; gap: 5px; border-radius: 999px;
  background: #f3f6fa; border: none; color: #334155; font-size: 11.5px; font-weight: 600; padding: 3px 9px; }
.ntbl-fbar .ntbl-chip .ntbl-x { cursor: pointer; color: #3b82f6; font-size: 13.5px; font-weight: 600; line-height: 1; }
.ntbl-fbar .ntbl-chip .ntbl-x:hover { color: #1d4ed8; }
.ntbl-fbar .ntbl-clearall { font-size: 11.5px; color: #64748b; text-decoration: underline; cursor: pointer; margin-left: 8px; }
.ntbl-fbar .ntbl-meta { display: inline-flex; align-items: center; gap: 12px; margin-left: auto; font-size: 11px; color: #94a3b8; }
.ntbl-fbar .ntbl-count { color: #475569; }
.ntbl-fbar .ntbl-count b { color: #334155; font-weight: 700; }
.ntbl-fbar .ntbl-reset { color: #64748b !important; text-decoration: underline !important; font-size: 11px; cursor: pointer; }

html[data-theme="dark"] .ntbl-fbar .ntbl-tier3 { border-top-color: #212225; }
html[data-theme="dark"] .ntbl-fbar .ntbl-chipgroup { border-right-color: #43484e; }
html[data-theme="dark"] .ntbl-fbar .ntbl-chipgroup:last-of-type { border-right: none; }
html[data-theme="dark"] .ntbl-fbar .ntbl-chip { background: #1e2a41; color: #d3d6da; }
html[data-theme="dark"] .ntbl-fbar .ntbl-chip .ntbl-x { color: #70b8ff; }
html[data-theme="dark"] .ntbl-fbar .ntbl-chiplabel { color: #b0b4ba; }
html[data-theme="dark"] .ntbl-fbar .ntbl-meta { color: #b0b4ba; }
html[data-theme="dark"] .ntbl-fbar .ntbl-count { color: #c6cbd2; }
html[data-theme="dark"] .ntbl-fbar .ntbl-count b { color: #edeef0; }
html[data-theme="dark"] .ntbl-fbar .ntbl-reset { color: #b0b4ba !important; }

/* ------------------------------------------------------------ country btn */
.ntbl-country-btn { display: inline-flex; align-items: center; gap: 6px; font-family: Helvetica, Arial, sans-serif;
  font-size: 14px; font-weight: 700; line-height: 1.2; color: #475569; background: #fff;
  border: 1px solid #cbd5e1; border-radius: 999px; padding: 6px 10px; cursor: pointer; white-space: nowrap; }
.ntbl-country-btn:hover { background: #045cb4; color: #ffffff; border-color: #045cb4; }
.ntbl-country-btn.active { background: #045cb4; border-color: #045cb4; color: #fff; }
.ntbl-country-btn .ntbl-x { font-weight: 700; margin-left: 2px; }
.ntbl-country-btn.active .ntbl-x { color: rgb(255 255 255 / .85); }
.ntbl-country-btn.active .ntbl-x:hover { color: #fff; }
html[data-theme="dark"] .ntbl-country-btn { background: #212225; border-color: #43484e; color: #d3d6da; }
html[data-theme="dark"] .ntbl-country-btn:hover { background: #045cb4; color: #fff; border-color: #045cb4; }
html[data-theme="dark"] .ntbl-country-btn.active { background: #045cb4; border-color: #045cb4; color: #fff; }

/* country overlay */
#ntbl-overlay { position: fixed; inset: 0; z-index: 99999; background: rgb(15 23 42 / .55);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
  display: flex; align-items: center; justify-content: center; padding: 24px; }
#ntbl-overlay .ntbl-panel { background: #fff; border-radius: 14px; box-shadow: 0 24px 70px rgb(2 6 23 / .45);
  width: min(1150px, 96vw); height: min(720px, 92vh); display: flex; flex-direction: column;
  overflow: hidden; font-family: Helvetica, Arial, sans-serif; }
#ntbl-overlay .ntbl-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px 12px;
  border-bottom: 1px solid #e2e8f0; position: relative; }
#ntbl-overlay .ntbl-head h3 { margin: 0; font-size: 17px; font-weight: 700; color: #1e3a8a; }
#ntbl-overlay .ntbl-sub { font-size: 12px; color: #64748b; margin-top: 3px; }
#ntbl-overlay .ntbl-headleft { display: flex; align-items: center; gap: 16px; }
#ntbl-overlay .ntbl-brand { height: 24px; width: auto; display: block; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
#ntbl-overlay .ntbl-close { border: none; background: none; font-size: 26px; line-height: 1; color: #64748b; cursor: pointer; padding: 4px 8px; }
#ntbl-overlay .ntbl-close:hover { color: #dc2626; }
#ntbl-overlay .ntbl-body { display: flex; flex: 1; min-height: 0; }
#ntbl-overlay .ntbl-side { width: 265px; flex-shrink: 0; display: flex; flex-direction: column; border-right: 1px solid #e2e8f0; }
#ntbl-overlay .ntbl-search { margin: 12px; padding: 8px 12px; font-size: 13px; border: 1px solid #e2e8f0; border-radius: 8px;
  outline: none; color: #334155; background: #f8fafc; }
#ntbl-overlay .ntbl-search:focus { border-color: #93c5fd; background: #fff; }
#ntbl-overlay .ntbl-list { flex: 1; overflow-y: auto; padding: 0 6px 12px; }
#ntbl-overlay .ntbl-list button { display: flex; align-items: center; gap: 9px; width: 100%; border: none; background: none;
  text-align: left; cursor: pointer; font-family: inherit; font-size: 13px; color: #334155; padding: 7px 10px; border-radius: 7px; }
#ntbl-overlay .ntbl-list button:hover { background: #f0f6ff; color: #1d4ed8; }
#ntbl-overlay .ntbl-flag { font-size: 17px; line-height: 1; }
#ntbl-overlay .ntbl-mapwrap { flex: 1; min-width: 0; position: relative; background: #f8fafc; }
#ntbl-map { position: absolute; inset: 10px; }
#ntbl-overlay .ntbl-foot { padding: 11px 26px; border-top: 1px solid #e2e8f0; font-size: 13.5px; line-height: 1.5; color: #334155; text-align: center; }
.jvm-tooltip { z-index: 100001 !important; font-family: Helvetica, Arial, sans-serif !important; font-size: 12.5px !important;
  font-weight: 600 !important; background: #1e3a8a !important; color: #ffffff !important; border-radius: 6px !important;
  padding: 5px 10px !important; box-shadow: 0 4px 14px rgb(2 6 23 / .35) !important; }

html[data-theme="dark"] #ntbl-overlay .ntbl-panel { background: #0f1a2e; }
html[data-theme="dark"] #ntbl-overlay .ntbl-head { border-bottom-color: #1e293b; }
html[data-theme="dark"] #ntbl-overlay .ntbl-head h3 { color: #70b8ff; }
html[data-theme="dark"] #ntbl-overlay .ntbl-sub { color: #b0b4ba; }
html[data-theme="dark"] #ntbl-overlay .ntbl-side { border-right-color: #1e293b; }
html[data-theme="dark"] #ntbl-overlay .ntbl-search { background: #18191b; border-color: #1e293b; color: #cbd5e1; }
html[data-theme="dark"] #ntbl-overlay .ntbl-list button { color: #cbd5e1; }
html[data-theme="dark"] #ntbl-overlay .ntbl-list button:hover { background: #16294a; color: #70b8ff; }
html[data-theme="dark"] #ntbl-overlay .ntbl-mapwrap { background: #0b1526; }
html[data-theme="dark"] #ntbl-overlay .ntbl-foot { border-top-color: #1e293b; color: #cbd5e1; }
html[data-theme="dark"] #ntbl-overlay .ntbl-brand { filter: brightness(0) invert(1); }
html[data-theme="dark"] .jvm-tooltip { background: #0090ff !important; }

@media (max-width: 920px) { #ntbl-overlay .ntbl-brand { display: none; } }
@media (max-width: 767px) {
  #ntbl-overlay { padding: 8px; }
  #ntbl-overlay .ntbl-panel { height: 94vh; }
  #ntbl-overlay .ntbl-body { flex-direction: column; }
  #ntbl-overlay .ntbl-side { width: 100%; border-right: none; border-bottom: 1px solid #e2e8f0; max-height: 45%; }
  #ntbl-overlay .ntbl-mapwrap { min-height: 220px; }
}

/* ------------------------------------------------------------ pager */
.ntbl-footer { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding: 10px 4px; }
/* freshness line (left side of the footer) */
.ntbl-updated { margin-right: auto; font-size: 11px; color: #94a3b8; font-family: Helvetica, Arial, sans-serif; }
html[data-theme="dark"] .ntbl-updated { color: #7a828c !important; }
/* server-rendered prose summary below the table */
.ntbl-summary { margin: 10px 4px 0; font-size: 13px; line-height: 1.55; color: #475569; font-family: Helvetica, Arial, sans-serif; }
html[data-theme="dark"] .ntbl-summary { color: #b0b4ba !important; }
/* deep-link row highlight (#anchor) */
.ntbl-table tbody tr.ntbl-hl td,
.ntbl-table tbody tr.ntbl-hl:nth-child(even) td,
.ntbl-table tbody tr.ntbl-hl td:first-child { background: #fff7d6; transition: background 600ms ease; }
html[data-theme="dark"] .ntbl-table tbody tr.ntbl-hl td,
html[data-theme="dark"] .ntbl-table tbody tr.ntbl-hl:nth-child(even) td,
html[data-theme="dark"] .ntbl-table tbody tr.ntbl-hl td:first-child { background: #3a3410; }
.ntbl-pager { display: inline-flex; gap: 4px; font-family: Helvetica, Arial, sans-serif; }
.ntbl-pager button { min-width: 30px; height: 30px; padding: 0 8px; border: 1px solid #e2e8f0; border-radius: 6px;
  background: #ffffff; color: #334155; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.ntbl-pager button:hover { border-color: #94a3b8; }
.ntbl-pager button.active { background: #045cb4; border-color: #045cb4; color: #fff; }
.ntbl-pager button:disabled { opacity: .45; cursor: default; }
html[data-theme="dark"] .ntbl-pager button { background: var(--pa-bg-tertiary, #212225); color: #d3d6da; border-color: #43484e; }
html[data-theme="dark"] .ntbl-pager button.active { background: #045cb4; border-color: #045cb4; color: #fff; }

/* ------------------------------------------------------------ mobile fbar */
@media (max-width: 900px) {
  .ntbl-fbar .ntbl-tier1 { flex-direction: column; align-items: stretch; gap: 10px; padding: 10px 4px 8px; }
  .ntbl-fbar .ntbl-tier1 .ntbl-group { width: 100%; }
  .ntbl-fbar .ntbl-tier1 .ntbl-flabel { flex: 0 0 74px; }
  .ntbl-fbar .ntbl-track { flex: 1 1 auto; min-width: 0; max-width: none; overflow-x: auto; }
  .ntbl-fbar .ntbl-quick { margin-left: 0; width: 100%; }
  .ntbl-fbar .ntbl-tier2 { gap: 6px; }
  .ntbl-fbar .ntbl-ddbtn { padding: 5px 8px; }
  .ntbl-fbar .ntbl-meta { width: 100%; justify-content: flex-end; }
  .ntbl-fbar .ntbl-tier3 .ntbl-meta { width: auto; }
  .ntbl-fbar .ntbl-dd-panel { position: fixed; left: 14px; right: 14px; top: 22vh; width: auto;
    min-width: 0; max-width: none; max-height: 55vh; overflow-y: auto; }
}

/* ============================================================ RANKINGS */
/* firm cell */
.ntbl-table .ntbl-rkfirm { display: flex; align-items: center; gap: 10px; text-align: left; }
.ntbl-table .ntbl-rkfirm > a { flex-shrink: 0; display: flex; }
.ntbl-table .ntbl-rkfirm img { width: 24px; height: 24px; display: block; }
.ntbl-table .ntbl-rkfirm .text { flex: 1; min-width: 0; }
.ntbl-table .ntbl-rkfirm .text p { margin: 0; line-height: 1.35; }
.ntbl-table .ntbl-rkfirm .text p a { font-size: 14px; font-weight: 500; color: #3a466f; text-decoration: none; }
.ntbl-table .ntbl-rkfirm .text p a:hover { color: #2563eb; }
html[data-theme="dark"] .ntbl-table .ntbl-rkfirm .text p a { color: #d3d6da !important; }
html[data-theme="dark"] .ntbl-table .ntbl-rkfirm .text p a:hover { color: #70b8ff !important; }

/* location cell */
.ntbl-table .ntbl-loc { display: flex; align-items: center; justify-content: center; gap: 5px; }
.ntbl-table .ntbl-loc img { width: 18px; height: auto; display: block; }

/* discount cell */
.ntbl-table .ntbl-disc { font-family: Helvetica, Arial, sans-serif; text-align: center; }
.ntbl-table .ntbl-disc-amount { font-size: 13px; font-weight: 700; color: #00008b; }
.ntbl-table .ntbl-disc-ends { font-size: 10px; color: #64748b; }
html[data-theme="dark"] .ntbl-table .ntbl-disc-amount { color: #ffd166 !important; }
html[data-theme="dark"] .ntbl-table .ntbl-disc-ends { color: #d3d6da !important; }

/* coupon ticket */
.ntbl-table .ntbl-rkt { position: relative; display: inline-flex; flex-direction: column; align-items: center;
  gap: 2px; padding: 6px 16px; background: #f8fbff; border: 1px solid #93c5fd; border-radius: 8px;
  overflow: hidden; cursor: pointer; max-width: 100%; font-family: inherit; -webkit-tap-highlight-color: transparent; }
.ntbl-table .ntbl-rkt-code { font-family: 'Courier New', monospace; font-size: 12px; font-weight: 700;
  color: #1d4ed8; margin: 0; line-height: 1.25; white-space: normal; word-break: break-word; }
.ntbl-table .ntbl-rkt-copy { font-size: 9px; letter-spacing: .5px; text-transform: uppercase; color: #64748b; }
.ntbl-table .ntbl-rkt-notch { position: absolute; width: 12px; height: 12px; border: 1px solid #93c5fd;
  border-radius: 50%; background: #ffffff; top: 50%; transform: translateY(-50%); }
.ntbl-table .ntbl-rkt-notch-l { left: -7px; }
.ntbl-table .ntbl-rkt-notch-r { right: -7px; }
.ntbl-table tbody tr:nth-child(even) .ntbl-rkt-notch { background: #fafbfd; }
.ntbl-table tbody tr:hover .ntbl-rkt-notch { background: #edf0f4; }
.ntbl-table .ntbl-rkt:hover { background: #eff6ff; border-color: #60a5fa; }
.ntbl-table .ntbl-rkt:focus, .ntbl-table .ntbl-rkt:active { background: #f8fbff; border-color: #93c5fd; outline: none; }
html[data-theme="dark"] .ntbl-table .ntbl-rkt { background: #212225; border-color: #43484e; }
html[data-theme="dark"] .ntbl-table .ntbl-rkt:hover { background: #0d2847; border-color: #205d9e; }
html[data-theme="dark"] .ntbl-table .ntbl-rkt-code { color: #70b8ff !important; }
html[data-theme="dark"] .ntbl-table .ntbl-rkt-copy { color: #b0b4ba !important; }
html[data-theme="dark"] .ntbl-table .ntbl-rkt-notch { background: #18191b !important; border-color: #43484e !important; }
html[data-theme="dark"] .ntbl-table tbody tr:nth-child(even) .ntbl-rkt-notch { background: var(--pa-table-row-alt, #151517) !important; }
html[data-theme="dark"] .ntbl-table tbody tr:hover .ntbl-rkt-notch { background: var(--pa-table-hover, #212225) !important; }

/* raw sheet HTML helpers (platform icon rows, acct/dd type stacks) */
.ntbl-table .icon-row { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; row-gap: 4px; justify-content: flex-start; }
.ntbl-table .icon-row img { width: 24px; height: 24px; display: block; }

/* per-column alignment (config columns[].align) */
.ntbl-table th.ntbl-al-c, .ntbl-table td.ntbl-al-c { text-align: center !important; }
.ntbl-table th.ntbl-al-l, .ntbl-table td.ntbl-al-l { text-align: left !important; }
.ntbl-table th.ntbl-al-r, .ntbl-table td.ntbl-al-r { text-align: right !important; }
