.nc-filter-item-copy-btn[data-v-b90e69bb],.nc-filter-item-pin-btn[data-v-b90e69bb],.nc-filter-item-remove-btn[data-v-b90e69bb],.nc-filter-item-reorder-btn[data-v-b90e69bb]{--un-text-opacity:1;color:rgba(var(--rgb-color-gray-600), var(--un-text-opacity))}.nc-filter-item-copy-btn[data-v-b90e69bb]:hover,.nc-filter-item-pin-btn[data-v-b90e69bb]:hover,.nc-filter-item-remove-btn[data-v-b90e69bb]:hover,.nc-filter-item-reorder-btn[data-v-b90e69bb]:hover{--un-text-opacity:1;color:rgba(var(--rgb-color-gray-800), var(--un-text-opacity))}.nc-filter-grid[data-v-b90e69bb]{align-items:center;width:100%}[data-v-b90e69bb] .ant-select-item-option{min-width:100%!important}[data-v-b90e69bb] .ant-select-selector{min-height:2rem!important}.nc-disabled-logical-op[data-v-b90e69bb] .ant-select-arrow{display:none}.nc-filter-wrapper[data-v-b90e69bb]{--un-border-opacity:1;border-width:1px;border-color:rgba(var(--rgb-color-gray-200), var(--un-border-opacity));--un-bg-opacity:1;background-color:rgba(var(--rgb-color-base-white), var(--un-bg-opacity));border-radius:.5rem!important}.nc-filter-wrapper .nc-filter-value-select[data-v-b90e69bb],.nc-filter-wrapper[data-v-b90e69bb]>*{border-style:none!important}.nc-filter-wrapper[data-v-b90e69bb] .nc-filter-field-select>div,.nc-filter-wrapper>div[data-v-b90e69bb]>.ant-select-selector{box-shadow:none!important;border:none!important}.nc-filter-wrapper[data-v-b90e69bb]>:not(:last-child):not(:empty){border-right:1px solid var(--nc-border-gray-medium)!important;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.nc-filter-wrapper .nc-settings-dropdown[data-v-b90e69bb]{border-left:1px solid var(--nc-border-gray-medium)!important;border-radius:0!important}.nc-filter-wrapper[data-v-b90e69bb]>:not(:first-child){border-top-left-radius:0!important;border-bottom-left-radius:0!important}.nc-filter-wrapper[data-v-b90e69bb]>:last-child{position:relative}@media (width>=480px){.nc-filter-wrapper[data-v-b90e69bb]>:last-child:after{background-color:var(--nc-bg-gray-medium);content:"";width:1px;height:100%;position:absolute;top:0;left:-1px}}.nc-filter-wrapper[data-v-b90e69bb] ::-moz-placeholder{letter-spacing:0;font-size:.875rem;line-height:1.25rem}.nc-filter-wrapper[data-v-b90e69bb] ::placeholder{letter-spacing:0;font-size:.875rem;line-height:1.25rem}.nc-filter-wrapper[data-v-b90e69bb] input{font-size:.875rem;line-height:1.25rem}.nc-filter-wrapper[data-v-b90e69bb] .nc-select:not(.nc-disabled-logical-op):not(.ant-select-disabled):hover,.nc-filter-wrapper[data-v-b90e69bb] .nc-select:not(.nc-disabled-logical-op):not(.ant-select-disabled):hover .ant-select-selector,.nc-filter-nested-level-0[data-v-b90e69bb]{--un-bg-opacity:1;background-color:rgba(var(--rgb-color-gray-50), var(--un-bg-opacity))}.nc-filter-nested-level-1[data-v-b90e69bb],.nc-filter-nested-level-3[data-v-b90e69bb]{--un-bg-opacity:1;background-color:rgba(var(--rgb-color-gray-100), var(--un-bg-opacity))}.nc-filter-nested-level-2[data-v-b90e69bb],.nc-filter-nested-level-4[data-v-b90e69bb]{--un-bg-opacity:1;background-color:rgba(var(--rgb-color-gray-200), var(--un-bg-opacity))}.nc-filter-logical-op-level-3[data-v-b90e69bb] .nc-select.ant-select .ant-select-selector,.nc-filter-logical-op-level-5[data-v-b90e69bb] .nc-select.ant-select .ant-select-selector{--un-border-opacity:1;border-color:rgb(217 217 217/var(--un-border-opacity))}.nc-filter-where-label[data-v-b90e69bb]{--un-text-opacity:1;color:rgba(var(--rgb-color-gray-400), var(--un-text-opacity))}[data-v-b90e69bb] .ant-select-disabled.ant-select:not(.ant-select-customize-input) .ant-select-selector{--un-text-opacity:1;color:rgba(var(--rgb-color-gray-400), var(--un-text-opacity));background-color:#0000}[data-v-b90e69bb] .nc-filter-logical-op .nc-select.ant-select .ant-select-selector{--un-shadow:0 0 var(--un-shadow-color,#0000);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}[data-v-b90e69bb] .nc-select-expand-btn{--un-text-opacity:1;color:rgba(var(--rgb-color-gray-500), var(--un-text-opacity))}.menu-filter-dropdown .ant-select[data-v-b90e69bb]:not(.ant-select-disabled),.menu-filter-dropdown input[data-v-b90e69bb]:not(:disabled),.menu-filter-dropdown select[data-v-b90e69bb]:not(:disabled){--un-text-opacity:1;color:rgba(var(--rgb-color-gray-600), var(--un-text-opacity))}.nc-filter-input-wrapper[data-v-b90e69bb] input:not(.ant-select-selection-search-input){padding-left:.5rem!important;padding-right:.5rem!important}.nc-btn-focus[data-v-b90e69bb]:focus{--un-text-opacity:1!important;color:rgba(var(--rgb-color-brand-500), var(--un-text-opacity))!important;--un-shadow:0 0 var(--un-shadow-color,#0000)!important;box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)!important}.nc-filter-disabled-row[data-v-b90e69bb]{opacity:.4}.nc-filter-disabled-row .nc-filter-item-copy-btn[data-v-b90e69bb],.nc-filter-disabled-row .nc-filter-item-remove-btn[data-v-b90e69bb],.nc-filter-disabled-row .nc-filter-item-reorder-btn[data-v-b90e69bb]{pointer-events:auto;opacity:1}.nc-filter-disabled-group[data-v-b90e69bb]>*{opacity:.4}.nc-filter-disabled-group[data-v-b90e69bb] .nc-filter-enabled-checkbox,.nc-filter-disabled-group[data-v-b90e69bb] .nc-filter-item-copy-btn,.nc-filter-disabled-group[data-v-b90e69bb] .nc-filter-item-remove-btn,.nc-filter-disabled-group[data-v-b90e69bb] .nc-filter-item-reorder-btn{pointer-events:auto;opacity:1}.nc-filter-field-select .ant-select-selector .field-selection-tooltip-wrapper{max-width:5rem!important}

/* ---------------------------------------------------------------------------
 * Vazirmatn overlay for NocoDB (nbtx eval lab).
 *
 * Appended to every built CSS chunk so it survives per-route code-splitting and
 * needs no proxy. One variable font file covers weights 100-900.
 *
 * NocoDB's grid is CANVAS, so this reaches only the DOM; the JS font literals
 * the grid feeds to ctx.font are patched separately in the Dockerfile.
 *
 * The * rule is blunt because NocoDB (Tailwind + Vuetify) sets font-family on
 * countless elements. Icon fonts, monospace and KaTeX are restored afterwards
 * and win on specificity, not order.
 * ------------------------------------------------------------------------- */

@font-face {
  font-family: 'Vazirmatn';
  src: url('/_nuxt/vazirmatn.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root { --nc-font: 'Vazirmatn', Inter, sans-serif; }

* {
  font-family: 'Vazirmatn', Inter, -apple-system, BlinkMacSystemFont,
               'Segoe UI', Roboto, sans-serif !important;
}

/* Icon fonts must never be re-fonted (higher specificity than *). */
.codicon, [class*="codicon"] { font-family: codicon !important; }
.material-symbols-outlined, .material-symbols, [class*="material-symbols"],
.material-icons {
  font-family: 'Material Symbols', 'Material Symbols Outlined', 'Material Icons' !important;
}
[class*="mdi"], .mdi { font-family: 'Material Design Icons' !important; }

/* Code stays monospace. */
code, pre, kbd, samp, tt,
[class*="mono"], [class*="monospace"],
.cm-editor, .cm-editor *, .cm-content, .cm-content *,
.monaco-editor, .monaco-editor * {
  font-family: 'JetBrainsMono', 'DM Mono', ui-monospace, SFMono-Regular,
               Menlo, Consolas, 'Liberation Mono', monospace !important;
}

/* KaTeX ships metrics-critical faces; overriding them breaks math layout. */
.katex, .katex * { font-family: KaTeX_Main, 'Times New Roman', serif !important; }
.katex .mathdefault, .katex .mathit { font-family: KaTeX_Math, serif !important; }

/* Preserve NocoDB's user-selectable serif/mono doc typography options. */
.nc-doc-font-serif .nc-doc-editor-content.ProseMirror,
.nc-doc-font-serif .nc-doc-editor-content.ProseMirror * {
  font-family: Georgia, 'Times New Roman', Times, serif !important;
}
.nc-doc-font-mono .nc-doc-editor-content.ProseMirror,
.nc-doc-font-mono .nc-doc-editor-content.ProseMirror * {
  font-family: 'JetBrainsMono', ui-monospace, monospace !important;
}

/* Persian reads better with slightly looser leading than Inter's Latin default. */
body { line-height: 1.6; }
