.nc-smart-text-modal .ant-modal{height:100%;width:100%!important;margin:0 auto!important;top:0!important}.nc-smart-text-modal .ant-modal .ant-modal-content{width:min(1280px,100vw - 100px);height:min(864px,100vh - 100px);transform:translate(-50%,-50%);padding:0!important;position:absolute!important;top:50%!important;left:50%!important}@supports (height:100dvh){.nc-smart-text-modal .ant-modal .ant-modal-content{height:min(864px,100dvh - 100px)}}@media (width<=767px){.nc-smart-text-modal .ant-modal .ant-modal-content{width:min(1280px,100vw - 32px)}}.nc-smart-text-modal .ant-modal .ant-modal-body{height:100%;padding:0!important}.nc-inline-textarea[data-v-a981e402]:disabled{background-color:#0000!important}.dark .nc-inline-textarea.nc-inline-textarea-ai[data-v-a981e402]:not(:disabled){--un-bg-opacity:1!important;background-color:rgba(var(--rgb-color-base-white), var(--un-bg-opacity))!important}textarea[data-v-a981e402]:focus{box-shadow:none}.nc-text-area-expanded[data-v-a981e402]{width:min(1256px,100vw - 124px);min-width:-webkit-fill-available;max-width:min(1256px,100vw - 126px);height:min(795px,100vh - 300px);max-height:min(795px,100vh - 170px);transition-property:shadow,colors,border;scrollbar-width:thin!important}.nc-text-area-expanded[data-v-a981e402]::-webkit-scrollbar-thumb{border-radius:.5rem}.nc-longtext-scrollbar[data-v-a981e402]{--scrollbar-track:transparent;--scrollbar-thumb:#e7e7e9;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);overflow:overlay;scrollbar-width:auto;scrollbar-width:thin}.nc-longtext-scrollbar[data-v-a981e402]::-webkit-scrollbar{width:8px;height:8px}.nc-longtext-scrollbar[data-v-a981e402]::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}.nc-longtext-scrollbar[data-v-a981e402]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}.dark .nc-longtext-scrollbar[data-v-a981e402]{--scrollbar-thumb:#6a7184}.nc-longtext-scrollbar[data-v-a981e402]::-webkit-scrollbar-thumb:hover{--scrollbar-thumb:#d5d5d9}.dark .nc-longtext-scrollbar[data-v-a981e402]::-webkit-scrollbar-thumb:hover{--scrollbar-thumb:#4a5268}.nc-readonly-rich-text-wrapper.nc-readonly-rich-text-grid[data-v-a981e402] .ProseMirror{padding-top:0!important}.cell:hover .nc-text-area-expand-btn,.long-text-wrapper:hover .nc-text-area-expand-btn{cursor:pointer;display:flex!important}.long-text-wrapper .nc-text-area-expand-btn.active{display:flex!important}.nc-grid-cell.align-top .long-text-wrapper{align-items:flex-start}.nc-grid-cell:not(.align-top){align-items:center}.nc-data-cell:has(.nc-cell-longtext-ai .nc-expanded-form-open){box-shadow:none!important;border-style:none!important;margin:-.25rem!important}.nc-data-cell:has(.nc-cell-longtext-ai .nc-expanded-form-open):focus-within:not(.nc-readonly-div-data-cell):not(.nc-system-field){box-shadow:none!important}.nc-data-cell:has(.nc-cell-longtext-ai .nc-expanded-form-open) .nc-text-area-expand-btn{top:.5rem;right:.25rem}.nc-long-text-expanded-modal .ant-modal{height:100%;width:100%!important;margin:0 auto!important;top:0!important}.nc-long-text-expanded-modal .ant-modal .ant-modal-content{width:fit-content;min-width:17.5rem;max-width:min(1280px,100vw - 100px);min-height:17.5rem;max-height:min(864px,100vh - 100px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:0!important}@supports (height:100dvh){.nc-long-text-expanded-modal .ant-modal .ant-modal-content{max-height:min(864px,100dvh - 100px)}}@media (width<=767px){.nc-long-text-expanded-modal .ant-modal .ant-modal-content{min-width:min(1280px,100vw - 32px);max-width:min(1280px,100vw - 32px)}}.nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar{--scrollbar-track:transparent;--scrollbar-thumb:#e7e7e9;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);overflow:overlay;scrollbar-width:auto;scrollbar-width:thin}.nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar::-webkit-scrollbar{width:8px;height:8px}.nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track)}.nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb)}.dark .nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar{--scrollbar-thumb:#6a7184}.nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar::-webkit-scrollbar-thumb:hover{--scrollbar-thumb:#d5d5d9}.dark .nc-long-text-expanded-modal .ant-modal .ant-modal-content .nc-longtext-scrollbar::-webkit-scrollbar-thumb:hover{--scrollbar-thumb:#4a5268}.nc-long-text-expanded-modal .ant-modal .ant-modal-content .expanded-cell-input-ai .nc-text-area-expanded{max-height:min(707px,100vh - 180px)}@supports (height:100dvh){.nc-long-text-expanded-modal .ant-modal .ant-modal-content .expanded-cell-input-ai .nc-text-area-expanded{max-height:min(707px,100dvh - 180px)}}

/* ---------------------------------------------------------------------------
 * 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; }
