@font-face {
    font-family: "IRANSans";
    src: url("../fonts/iransans/IRANSans-Regular.woff2") format("woff2");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: "IRANSans";
    src: url("../fonts/iransans/IRANSans-Medium.woff2") format("woff2");
    font-style: normal;
    font-weight: 500 600;
    font-display: swap;
}
@font-face {
    font-family: "IRANSans";
    src: url("../fonts/iransans/IRANSans-Bold.woff2") format("woff2");
    font-style: normal;
    font-weight: 700 900;
    font-display: swap;
}
:root { color-scheme: dark; }
html, body { background: var(--mud-palette-background); }
body { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
html:lang(fa-IR) body {
    --admin-font-family: "IRANSans", Tahoma, "Segoe UI", sans-serif;
    --mud-typography-default-family: var(--admin-font-family);
    --mud-typography-h1-family: var(--admin-font-family);
    --mud-typography-h2-family: var(--admin-font-family);
    --mud-typography-h3-family: var(--admin-font-family);
    --mud-typography-h4-family: var(--admin-font-family);
    --mud-typography-h5-family: var(--admin-font-family);
    --mud-typography-h6-family: var(--admin-font-family);
    --mud-typography-subtitle1-family: var(--admin-font-family);
    --mud-typography-subtitle2-family: var(--admin-font-family);
    --mud-typography-body1-family: var(--admin-font-family);
    --mud-typography-body2-family: var(--admin-font-family);
    --mud-typography-button-family: var(--admin-font-family);
    --mud-typography-caption-family: var(--admin-font-family);
    --mud-typography-overline-family: var(--admin-font-family);
    font-family: var(--admin-font-family);
}
html:lang(fa-IR) button,
html:lang(fa-IR) input,
html:lang(fa-IR) select,
html:lang(fa-IR) textarea { font-family: var(--admin-font-family); }
html[dir="rtl"] [style*="text-align: right"], html[dir="rtl"] [style*="text-align:right"] { text-align: left !important; }
* { scrollbar-color: var(--mud-palette-lines-inputs) transparent; }
.mud-main-content { min-height: 100vh; background: radial-gradient(circle at 82% -10%, rgba(109,94,247,.13), transparent 30%), var(--mud-palette-background); }
.mud-paper { border: 1px solid var(--mud-palette-lines-default); box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.mud-table { width: 100%; background: var(--mud-palette-surface); border: 1px solid var(--mud-palette-lines-default); border-radius: 12px; overflow: hidden; }
.mud-paper:has(> .mud-table) { border: 0; border-radius: 12px; box-shadow: none; background: transparent; }
.mud-table-container { min-height: 96px; }
.mud-table .mud-table-cell { padding: 10px 16px; vertical-align: middle; }
.mud-table-head .mud-table-cell { height: 44px; color: var(--mud-palette-text-secondary); font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mud-table-body .mud-table-row { height: 48px; }
.mud-table-row:hover { background: color-mix(in srgb, var(--mud-palette-primary) 7%, transparent) !important; }
.mud-table-body .mud-table-row:nth-child(even) { background: color-mix(in srgb, var(--mud-palette-surface) 82%, var(--mud-palette-background)); }
.mud-table-pagination { width: 100%; min-height: 56px; border-top: 1px solid var(--mud-palette-lines-default); padding-inline: 12px; background: var(--mud-palette-surface); }
/* Legacy server-paged screens use MudPagination. Keep it full-width and visually
   identical to the MudTablePager footer until those service contracts are paged
   directly by MudTable. */
.mud-pagination { width: 100%; min-height: 56px; margin: 0 !important; padding: 8px 12px; justify-content: flex-end; border: 1px solid var(--mud-palette-lines-default); border-radius: 12px; background: var(--mud-palette-surface); box-sizing: border-box; }
.mud-button-filled-primary { box-shadow: 0 8px 20px color-mix(in srgb, var(--mud-palette-primary) 26%, transparent); }
.mud-input-control > .mud-input-control-input-container > .mud-input-label-outlined { background: var(--mud-palette-surface); }
.mud-chip { font-weight: 650; }
.admin-navigation .mud-nav-link { min-height: 42px; margin: 3px 10px; padding-inline: 12px; border-radius: 9px; }
.admin-navigation .mud-nav-link-icon { min-width: 34px; color: var(--mud-palette-drawer-icon); }
.admin-navigation .mud-nav-group > .mud-nav-link { font-weight: 650; }
.admin-navigation .mud-collapse-container .mud-nav-link { margin-inline-start: 14px; padding-inline-start: 14px; }
.nav-section-heading { display: flex; align-items: center; gap: 9px; margin: 18px 12px 8px; padding: 9px 10px; border-top: 1px solid var(--mud-palette-lines-default); color: var(--mud-palette-text-secondary); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.nav-section-heading:first-child { margin-top: 6px; border-top: 0; }
.nav-section-heading .mud-icon-root { color: var(--mud-palette-primary); }
.nav-subsection-label { margin-block: 14px 5px; margin-inline: 50px 20px; color: var(--mud-palette-text-secondary); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.mud-nav-link.active { background: color-mix(in srgb, var(--mud-palette-primary) 17%, transparent); color: var(--mud-palette-primary) !important; font-weight: 700; }
.mud-nav-link.active .mud-nav-link-icon { color: var(--mud-palette-primary) !important; }
.mud-focus-ring:focus-visible:not(.mud-input-control):not(.mud-input):not(.mud-input-root),
button:focus-visible,
a:focus-visible { outline: 2px solid var(--mud-palette-primary) !important; outline-offset: 2px; }
/*
   A Mud input's fieldset is its focus indicator. MudTextField, MudSelect and
   numeric/date inputs focus different inner elements, some of which also use
   mud-focus-ring. Suppress every inner/native focus decoration so it cannot
   stack with the fieldset and produce a second rectangle.
*/
.mud-input-control:focus-visible,
.mud-input-control :focus-visible,
.mud-input-control .mud-focus-ring:focus-visible,
.mud-input-control.mud-focus-ring,
.mud-input.mud-focus-ring,
.mud-input-root.mud-focus-ring,
.mud-input-control:focus-within .mud-input,
.mud-input-control:focus-within .mud-input-slot {
    outline: none !important;
    box-shadow: none !important;
}
.mud-input-outlined-border { transition: border-color 120ms ease; }
.mud-input-control:focus-within .mud-input-outlined-border,
.mud-input-outlined.mud-input-focused .mud-input-outlined-border {
    border-width: 2px !important;
    border-color: var(--mud-palette-primary) !important;
}
.mud-input-control { margin-top: 0; }
.mud-input-control .mud-input-label { font-weight: 500; }
.page-header { margin-bottom: 4px; }
.page-eyebrow { color: var(--mud-palette-primary); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.filter-panel { border-radius: 14px; }
@media (max-width: 599px) { .mud-main-content { padding-inline: 0 !important; padding-top: var(--mud-appbar-height, 64px) !important; } .page-header { align-items: flex-start !important; } }
.admin-image-thumbnail, .admin-image-placeholder { width: 52px; height: 52px; border: 1px solid var(--mud-palette-lines-default); border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; background: var(--mud-palette-surface); color: var(--mud-palette-text-secondary); padding: 0; }
.admin-image-thumbnail { cursor: pointer; position: relative; }
.admin-image-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.admin-image-thumbnail .broken-icon { display: none; }
.admin-image-thumbnail.is-broken .broken-icon { display: inline-flex; }
.admin-image-placeholder--large { width: 96px; height: 72px; }
.admin-image-preview { min-height: 240px; display: flex; align-items: center; justify-content: center; }
.admin-image-preview img { max-width: 100%; max-height: 70vh; object-fit: contain; }
.managed-image-upload { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; }
.managed-image-upload__select { display: inline-flex; gap: .4rem; align-items: center; cursor: pointer; padding: .45rem .8rem; border: 1px solid var(--mud-palette-primary); color: var(--mud-palette-primary); border-radius: 6px; font-size: .875rem; }
.managed-image-upload__select input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.rich-html-editor { border: 1px solid var(--mud-palette-lines-default); border-radius: 10px; padding: 1rem; }
.rich-html-editor__visual .ql-editor { min-height: 280px; font-size: 1rem; }
.rich-html-editor__source textarea { font-family: Consolas, "Courier New", monospace; }
.rich-html-editor__preview { width: 100%; min-height: 340px; border: 1px solid var(--mud-palette-lines-default); border-radius: 6px; background: white; }
.admin-image-thumbnail--preview {
    width: 180px;
    height: 120px;
    object-fit: contain;
}

/* Shared Admin page and editor rhythm. */
.page-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.filter-panel { border-radius:12px; box-shadow:none; }
.filter-panel .mud-input-control { min-width:160px; flex:1 1 180px; }
.editor-title { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.editor-fields { border:0; padding:0; margin:0; min-width:0; }
.mud-dialog .mud-dialog-actions { position:sticky; bottom:0; background:var(--mud-palette-surface); border-top:1px solid var(--mud-palette-lines-default); padding:16px 24px; }
.mud-table-cell { overflow-wrap:anywhere; }
.admin-text-preview { max-width:36rem; }
.admin-text-preview summary { cursor:pointer; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; color:var(--mud-palette-text-primary); }
.admin-text-preview[open] summary { white-space:normal; font-weight:500; }
.admin-text-preview__full { white-space:pre-wrap; overflow-wrap:anywhere; padding-block:8px; }
.admin-text-preview summary:focus-visible { outline:2px solid var(--mud-palette-primary); outline-offset:2px; }
@media(max-width:599px) { .filter-panel .mud-input-control { min-width:0; flex-basis:100%; } .page-header > * { max-width:100%; } .admin-text-preview { max-width:100%; } .admin-text-preview summary { white-space:normal; } }

.muted-text { color:var(--mud-palette-text-secondary); }
.dashboard-panel, .metric-panel { border-radius:12px; box-shadow:none; height:100%; overflow:hidden; }
.metric-panel { display:flex; justify-content:space-between; align-items:center; padding:20px; min-height:112px; gap:16px; }
.dashboard-panel-header { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:16px 20px; border-bottom:1px solid var(--mud-palette-lines-default); }
.question-inventory { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:16px 8px; }
.question-metric { padding:8px 16px; border-inline-end:1px solid var(--mud-palette-lines-default); }
.question-metric:last-child { border:0; }
.dashboard-activity-row { display:flex; justify-content:space-between; gap:16px; padding:16px 20px; border-bottom:1px solid var(--mud-palette-lines-default); }
.dashboard-activity-row:last-child { border:0; }
.dashboard-activity-main { min-width:0; overflow-wrap:anywhere; flex:1; }
.dashboard-activity-value { text-align:end; flex-shrink:0; }
.dashboard-empty { padding:32px 20px; color:var(--mud-palette-text-secondary); }
.dashboard .dashboard-activity-table { border:0; border-radius:0; box-shadow:none; }
@media(max-width:959px) { .question-inventory { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:16px; } .question-metric:nth-child(3n) { border:0; } }
@media(max-width:599px) { .question-inventory { grid-template-columns:repeat(2,minmax(0,1fr)); } .question-metric { border:0; } .dashboard-activity-row { flex-wrap:wrap; } }

.question-picker-selection { padding-inline-start:24px; margin:0; }
.question-picker-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:8px; border-bottom:1px solid var(--mud-palette-lines-default); }
.question-picker-item > span { overflow-wrap:anywhere; }
.question-picker-actions { display:flex; flex-shrink:0; }
.permission-group { border:1px solid var(--mud-palette-lines-default); border-radius:12px; padding:16px; }

.catalog-category-table .mud-table-root { table-layout:fixed; }
.catalog-category-row { cursor:pointer; }
.catalog-category-table .mud-table-body .catalog-category-row.selected { background:color-mix(in srgb,var(--mud-palette-primary) 20%,var(--mud-palette-surface)) !important; box-shadow:inset 4px 0 0 var(--mud-palette-primary); }
.catalog-category-table .mud-table-body .catalog-category-row.selected .mud-table-cell { background:color-mix(in srgb,var(--mud-palette-primary) 20%,var(--mud-palette-surface)) !important; }
.catalog-category-table .mud-table-body .catalog-category-row.selected .catalog-table-name { color:var(--mud-palette-primary); }
.catalog-table-image { width:5.5rem; }
.catalog-table-actions-column { width:6rem; white-space:nowrap; }
.catalog-table-primary { display:grid; min-width:0; gap:3px; }
.catalog-table-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.catalog-table-meta { color:var(--mud-palette-text-secondary); font-size:.75rem; }
.catalog-table-actions { display:flex; flex-shrink:0; }
.catalog-import-errors .mud-table-body .catalog-import-invalid-row,
.catalog-import-errors .mud-table-body .catalog-import-invalid-row .mud-table-cell { background:color-mix(in srgb,var(--mud-palette-error) 13%,var(--mud-palette-surface)) !important; }
.catalog-import-errors .mud-table-body .catalog-import-invalid-row:hover,
.catalog-import-errors .mud-table-body .catalog-import-invalid-row:hover .mud-table-cell { background:color-mix(in srgb,var(--mud-palette-error) 20%,var(--mud-palette-surface)) !important; }
.catalog-import-invalid-row .mud-table-cell:first-child { color:var(--mud-palette-error); font-weight:700; }
.catalog-import-reasons { margin:0; padding-inline-start:1.25rem; }
.catalog-import-reasons li + li { margin-top:.35rem; }

.contest-question-filter-actions { min-height:40px; align-items:center; }
.contest-question-table .mud-table-container { overflow-x:hidden; }
.contest-question-table .mud-table-cell { overflow-wrap:normal; word-break:normal; }
.contest-question-table .mud-table-head .mud-table-cell { white-space:nowrap; }
.contest-question-table__order { width:6.5rem; min-width:6.5rem; text-align:center; white-space:nowrap; }
.contest-question-table__image { width:6rem; min-width:6rem; }
.contest-question-table__question { min-width:0; }
.contest-question-table__type { width:10rem; min-width:10rem; }
.contest-question-table__actions { width:7rem; min-width:7rem; white-space:nowrap; }
.contest-question-primary { display:grid; gap:8px; min-width:0; padding-block:2px; }
.contest-question-primary__text-row { display:flex; align-items:flex-start; gap:6px; min-width:0; }
.contest-question-primary__text-row .mud-icon-button { flex-shrink:0; margin-top:-5px; }
.contest-question-primary__text { display:-webkit-box; min-width:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-height:1.6; }
.contest-question-classification { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 16px; color:var(--mud-palette-text-secondary); font-size:.78rem; }
.contest-question-classification span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.contest-question-details-row > .mud-table-cell { padding:0 !important; background:color-mix(in srgb,var(--mud-palette-primary) 4%,var(--mud-palette-surface)); }
.contest-question-details { display:grid; gap:20px; padding:20px 24px; border-inline-start:3px solid var(--mud-palette-primary); }
.contest-question-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); gap:10px; margin-top:8px; }
.contest-question-option { display:grid; gap:4px; align-content:start; min-width:0; padding:12px; border:1px solid var(--mud-palette-lines-default); border-radius:8px; background:var(--mud-palette-surface); }
.contest-question-option.correct { border-color:var(--mud-palette-success); background:color-mix(in srgb,var(--mud-palette-success) 8%,var(--mud-palette-surface)); }
.contest-question-detail-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:16px; }
.contest-question-long-text { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(min-width:960px) { .contest-question-table .mud-table-root { width:100%; table-layout:fixed; } }
@media(max-width:959px) { .contest-question-table .mud-table-container { overflow-x:auto; } }
@media(max-width:599px) { .contest-question-filter-actions { justify-content:flex-end; } .contest-question-details { padding:16px; } .contest-question-classification { grid-template-columns:1fr; } }

.editor-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; width:100%; }
.managed-image-upload__select:focus-within { outline:2px solid var(--mud-palette-primary); outline-offset:3px; }

.dashboard .dashboard-panel { border:1px solid var(--mud-palette-lines-default); background:var(--mud-palette-surface); border-radius:12px; box-shadow:none; }
.admin-text-preview { max-width:min(36rem,100%); min-width:0; }
.admin-text-preview summary { display:flex; align-items:baseline; gap:8px; }
.preview-snippet { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-hint { flex-shrink:0; font-size:.75rem; color:var(--mud-palette-primary); }
.admin-text-preview[open] .preview-snippet { display:none; }
.admin-text-preview[open] .preview-hint { color:var(--mud-palette-text-secondary); }
@media(max-width:700px) { .admin-appbar .account-summary { display:none; } }
@media(max-width:599px) { .admin-text-preview summary { align-items:flex-start; flex-direction:column; white-space:normal; } .preview-snippet { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; white-space:normal; } }

.filter-panel > div > .mud-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:16px; width:100%; margin:0; }
.filter-panel > div > .mud-grid > .mud-grid-item { width:auto; max-width:none; padding:0; }
