/* ═══════════════════════════════════════════════════════════════
   app.css — آزمون‌یار
   تمام استایل‌های پروژه + پشتیبانی Dark Mode
   ═══════════════════════════════════════════════════════════════ */

/* Minimal reset (TASK-111, UX-046 step 3). Bootstrap's reboot used to provide these two globally; the framework is
   gone, and everything below was written expecting border-box sizing and no default body margin. MudBlazor's own
   reset covers its components, not our hand-written page styles, so these stay here. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }

/* Visible keyboard focus everywhere (TASK-098, UX-050 fix #2). Mouse clicks never trigger :focus-visible, so this never shows a ring for a pointer click — only for real keyboard/AT navigation. Components below that remove the native outline all pair it with their own border-color/box-shadow replacement; this is the default for everything else. */
:focus-visible { outline: 3px solid var(--mud-palette-primary); outline-offset: 2px; }

/* Reduced motion (TASK-100, UX-050 fix #10): the looping "typing…" dots in the chat surfaces, and the exam-answer
   chat's message entrance, respect the OS setting. One rule here covers every occurrence in this file, since the
   selectors below repeat verbatim further down (the file's own long-standing duplication — see TASK-098). Mirrors
   the pattern BottomNavBar.razor already uses. */
@media (prefers-reduced-motion: reduce) {
    .chk-ai-msg, .chk-ai-dot, .sc-typing-dots span, .pw-typing-dots span {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* Touch targets (TASK-100, UX-050 fix #11): a finger, not a mouse, is doing the tapping. Floors, never shrinks —
   MudBlazor's own icon size and layout inside the button are untouched. */
@media (pointer: coarse) {
    .mud-icon-button {
        min-width: 44px;
        min-height: 44px;
    }
}

html, body {
    font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
    background: var(--pw-bg, #F8FAFC);
    color: var(--pw-text, #0F172A);
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════
   Semantic design tokens — the single source of truth for color.
   Every themeable color in this file resolves to one of these.

   They are DERIVED from MudBlazor's own palette variables, which
   MudThemeProvider rewrites on :root whenever dark mode toggles —
   so the tokens (and everything built on them) flip automatically.
   There is no `.mud-dark` class in this app; do not add rules that
   depend on one. The trailing literal in each var() is the light
   fallback used only if MudBlazor hasn't loaded yet.

   Constant-across-themes things (white text on a purple button,
   brand gradients) are intentionally NOT tokenised.
   ═══════════════════════════════════════════════════════════════ */
:root {
    /* surfaces */
    --pw-bg: var(--mud-palette-background-gray, #F7FAFF);        /* page background */
    --pw-surface: var(--mud-palette-surface, #FFFFFF);           /* cards, sheets, menus */
    --pw-surface-alt: var(--mud-palette-background, #F4F7FC);    /* subtle raised / striped rows */
    --pw-surface-sunken: var(--mud-palette-action-default-hover, rgba(15,23,42,.04)); /* wells, tracks */

    /* text */
    --pw-text: var(--mud-palette-text-primary, #14213D);
    --pw-text-muted: var(--mud-palette-text-secondary, #6E7C99);
    --pw-text-faint: var(--mud-palette-text-disabled, #9AA4B8);

    /* borders */
    --pw-border: var(--mud-palette-divider, #E6ECF5);
    --pw-border-strong: var(--mud-palette-lines-default, #D4DEEC);

    /* brand */
    --pw-primary: var(--mud-palette-primary, #5B2EFF);
    --pw-primary-strong: var(--mud-palette-primary-darken, #4B1DFF);
    --pw-primary-contrast: var(--mud-palette-primary-text, #FFFFFF); /* text ON a primary fill */
    --pw-primary-tint: rgba(var(--mud-palette-primary-rgb, 91,46,255), .10);        /* purple wash bg */
    --pw-primary-tint-border: rgba(var(--mud-palette-primary-rgb, 91,46,255), .24);

    /* status — base (text/icon), tint (background), border */
    --pw-success: var(--mud-palette-success, #1F9D55);
    --pw-success-tint: rgba(var(--mud-palette-success-rgb, 31,157,85), .12);
    --pw-success-border: rgba(var(--mud-palette-success-rgb, 31,157,85), .34);
    --pw-warning: var(--mud-palette-warning, #B9770B);
    --pw-warning-tint: rgba(var(--mud-palette-warning-rgb, 185,119,11), .15);
    --pw-warning-border: rgba(var(--mud-palette-warning-rgb, 185,119,11), .36);
    --pw-error: var(--mud-palette-error, #DB3B3B);
    --pw-error-tint: rgba(var(--mud-palette-error-rgb, 219,59,59), .12);
    --pw-error-border: rgba(var(--mud-palette-error-rgb, 219,59,59), .34);
    --pw-info: var(--mud-palette-info, #1B6BA0);
    --pw-info-tint: rgba(var(--mud-palette-info-rgb, 27,107,160), .12);
    --pw-info-border: rgba(var(--mud-palette-info-rgb, 27,107,160), .34);

    /* effects */
    --pw-shadow: var(--mud-elevation-2, 0 4px 16px rgba(30,75,130,.06));
    --pw-shadow-lg: var(--mud-elevation-8, 0 12px 32px rgba(30,75,130,.12));
    --pw-overlay: var(--mud-palette-overlay-dark, rgba(15,23,42,.35));
}

/* ── MudBlazor theme-aware overrides ── */
/* Cards & Papers — use MudBlazor surface variable */
.mud-card, .mud-paper {
    background: var(--mud-palette-surface) !important;
}

/* These dark-mode overrides are needed because MudBlazor
   components sometimes render inline styles that bypass variables */
.mud-dark .mud-card, .mud-dark .mud-paper,
.mud-dark .mud-card .mud-text, .mud-dark .mud-paper .mud-text {
    background: var(--mud-palette-surface) !important;
    color: var(--mud-palette-text-primary) !important;
}

/* Typography — let MudBlazor handle it */
.mud-dark .mud-typography-body1,
.mud-dark .mud-typography-body2,
.mud-dark .mud-typography-h6,
.mud-dark .mud-typography-caption,
.mud-dark .mud-text { color: var(--mud-palette-text-primary) !important; }

/* Dividers */
.mud-dark .mud-divider { border-color: var(--mud-palette-divider) !important; }

/* Inputs */
.mud-dark .mud-input { color: var(--mud-palette-text-primary) !important; }
.mud-dark .mud-input-outlined-border { border-color: var(--mud-palette-lines-inputs) !important; }
.mud-dark .mud-input-label { color: var(--mud-palette-text-secondary) !important; }

/* Main background */
.mud-dark .main-content-custom,
.mud-dark html, .mud-dark body { background: var(--mud-palette-background) !important; }

/* Sidebar/Drawer */
.mud-dark .mud-drawer { background: var(--mud-palette-background) !important; }

/* ── AppBar — matching sidebar premium purple ── */
.appbar-custom {
    background: linear-gradient(135deg, #5B2EFF 0%, #6A35FF 35%, #4B1DFF 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 20px rgba(91,46,255,0.15) !important;
}
.appbar-custom .mud-icon-button { color: rgba(255,255,255,0.9) !important; }
.appbar-logo-image { width: 34px; height: 34px; object-fit: cover; border-radius: 9px; background: #fff; }
.appbar-logo-text { font-size: 1.25rem; font-weight: 900; color: #FFFFFF; }

/* موبایل: اپ‌بار فقط عنوان صفحه (AppBarTitle) و نشان «در حال پردازش» را نشان می‌دهد؛ منو/تم/خروج در BottomNavBar هستند */
@media (max-width: 960px) {
    .appbar-desktop-only { display: none !important; }
}

/* ── Drawer / Sidebar (premium purple design) ── */
.drawer-nav { padding: 0; height: 100%; display: flex; flex-direction: column; overflow-y: auto; overflow-x: hidden; max-width: 100%; }

/* The drawer must never widen the layout when RTL labels or badges are long. */
.mud-drawer, .mud-drawer-content, .drawer-nav, .drawer-nav .mud-nav-link {
    box-sizing: border-box;
    max-width: 100%;
}
.drawer-nav .mud-nav-link { min-width: 0; overflow: hidden; }
.drawer-nav .mud-nav-link .mud-nav-link-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html, body { overflow-x: hidden; }

/* Profile Header — sticky at top */
.dheader {
    background: linear-gradient(135deg, #5B2EFF 0%, #6A35FF 35%, #4B1DFF 100%);
    padding: 28px 20px 20px; text-align: center; flex-shrink: 0;
    border-radius: 0 0 24px 24px; margin-bottom: 4px;
    position: sticky; top: 0; z-index: 5;
}
.davatar {
    margin: 0 auto 10px; width: 72px !important; height: 72px !important;
    border: 3px solid rgba(255,255,255,0.6); box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.dname { font-size: 1.05rem; font-weight: 800; color: #FFFFFF; margin-bottom: 2px; }
.dphone { font-size: 0.78rem; color: rgba(255,255,255,0.7); display: inline-block; }
/* «حالت مدیر» in the drawer header (white on the purple header) */
.dswitch { margin-top: 10px; display: flex; justify-content: center; }
.dswitch .mud-switch-label, .dswitch .mud-typography { color: #FFFFFF !important; font-weight: 700; }

/* Drawer group headers (MudNavGroup) */
.drawer-nav .mud-nav-group > .mud-nav-link { font-size: 0.8125rem; font-weight: 700; color: var(--mud-palette-text-secondary); }

/* Divider between categories */
.ddivider { border-color: var(--mud-palette-divider) !important; }

/* Active nav link — purple bg + right indicator */
.drawer-nav .mud-nav-link.active {
    background: var(--mud-palette-primary-hover-light) !important; color: var(--mud-palette-primary) !important;
    border-radius: 22px !important; font-weight: 700 !important;
    margin: 2px 10px !important; padding-right: 14px !important;
}
.drawer-nav .mud-nav-link {
    margin: 2px 10px; border-radius: 22px;
    color: var(--mud-palette-text-secondary); font-size: 0.85rem;
}
.drawer-nav .mud-nav-link:hover { background: var(--mud-palette-action-default-hover); color: var(--mud-palette-primary); }

/* ── Drawer Dark Mode ── */
.mud-dark .drawer-nav .mud-nav-link { color: var(--mud-palette-text-primary); }
.mud-dark .drawer-nav .mud-nav-link:hover { background: var(--mud-palette-action-default-hover); color: var(--mud-palette-primary); }
.mud-dark .drawer-nav .mud-nav-link.active {
    background: var(--mud-palette-primary-hover-light) !important; color: var(--mud-palette-primary) !important;
}
.mud-dark .ddivider { border-color: var(--mud-palette-divider) !important; }
.mud-dark .dlogout-area {
    border-top: 1px solid var(--mud-palette-divider);
    background: var(--mud-palette-background);
}

/* ══════════════════════════════════════════════════
   Dark Mode — Theme-Aware Fixes (MudBlazor variables)
   این بخش override های ضروری دارک مد است که از
   متغیرهای MudBlazor استفاده می‌کنند تا با تم حرکت کنند
   ══════════════════════════════════════════════════ */

/* ── Cards & Papers ── */
.mud-dark .mud-card,
.mud-dark .mud-paper { color: var(--mud-palette-text-primary) !important; }

/* ── Profile Page ── */
.mud-dark .view-name { color: var(--mud-palette-text-primary); }
.mud-dark .view-phone { color: var(--mud-palette-text-secondary); }
.mud-dark .view-email { color: var(--mud-palette-primary); }
.mud-dark .detail-item .mud-text { color: var(--mud-palette-text-primary) !important; }
.mud-dark .prof-header .mud-text { color: var(--mud-palette-text-primary) !important; }

/* ── Profile Picture Upload ── */
.mud-dark .picture-preview { border-color: var(--mud-palette-divider); }
.mud-dark .pic-camera-btn { background: var(--mud-palette-primary); color: #FFF; }

/* ── Role chips ── */
.mud-dark .roles-row .mud-chip-outlined { border-color: var(--mud-palette-divider); color: var(--mud-palette-text-primary); }

/* ── Auth Pages / Login ── */
.mud-dark .divider-text .line { background: var(--mud-palette-divider); }
.mud-dark .divider-text .label { color: var(--mud-palette-text-secondary); }
.mud-dark .feat-circle { background: var(--mud-palette-surface); }
.mud-dark .feat-icon { color: var(--mud-palette-primary) !important; }
.mud-dark .feat-label { color: var(--mud-palette-text-secondary); }

/* ── Gradient Buttons (brand colors — keep as-is) ── */
.mud-dark .gradient-btn {
    background: linear-gradient(135deg, var(--mud-palette-primary), #7C4DFF) !important;
    color: #FFF !important;
}

/* ── Premium Card (drawer) ── */
.mud-dark .dprem-btn { background: var(--mud-palette-surface) !important; color: var(--mud-palette-primary) !important; }

/* ── KPI Cards (fn-) ── */
.mud-dark .fn-kpi { background: var(--mud-palette-surface); border-color: var(--mud-palette-divider); box-shadow: 0 4px 18px rgba(0,0,0,0.25); }
.mud-dark .fn-kpi-lbl { color: var(--mud-palette-text-secondary); }
.mud-dark .fn-kpi-val { color: var(--mud-palette-text-primary); }
.mud-dark .fn-kpi-gold { background: linear-gradient(135deg, #3D2E00, #5C4500); }
.mud-dark .fn-kpi-blue { background: linear-gradient(135deg, #0D2137, #1A3A5C); }
.mud-dark .fn-kpi-green { background: linear-gradient(135deg, #0D2818, #1A4A2E); }
.mud-dark .fn-kpi-purple { background: linear-gradient(135deg, rgba(139,92,246,0.15), rgba(139,92,246,0.08)); }

/* ── Chart / Distribution Cards ── */
.mud-dark .fn-chart-card,
.mud-dark .fn-dist-card,
.mud-dark .fn-table-card { background: var(--mud-palette-surface); border-color: var(--mud-palette-divider); box-shadow: 0 4px 18px rgba(0,0,0,0.25); }
.mud-dark .fn-sec-title { color: var(--mud-palette-text-primary); }
.mud-dark .fn-dist-pct { color: var(--mud-palette-text-primary); }
.mud-dark .fn-dist-bar { background: var(--mud-palette-divider); }

/* ── Banner ── */
.mud-dark .fn-banner { background: linear-gradient(135deg, rgba(34,164,71,0.15), rgba(34,164,71,0.05)); border-color: var(--pw-success-border, #1B5E20); }
.mud-dark .fn-banner-text { color: #81C784; }
.mud-dark .fn-banner-title { color: #A5D6A7; }

/* ── Table ── */
.mud-dark .fn-table th { color: var(--mud-palette-primary); border-bottom-color: var(--mud-palette-divider); }
.mud-dark .fn-table td { border-bottom-color: var(--mud-palette-divider); color: var(--mud-palette-text-primary); }
.mud-dark .fn-td-date { color: var(--mud-palette-text-secondary); }
.mud-dark .fn-status { background: var(--mud-palette-action-default-hover); }
.mud-dark .fn-st-ok { background: rgba(34,164,71,0.2); color: #4ADE80; }
.mud-dark .fn-st-pend { background: rgba(245,182,47,0.2); color: #FBBF24; }

/* ── Global Subjects (gs-) ── */
.mud-dark .gs-tree-panel,
.mud-dark .gs-card { background: var(--mud-palette-surface); border-color: var(--mud-palette-divider); box-shadow: 0 4px 18px rgba(0,0,0,0.25); }
.mud-dark .gs-tree-hdr { color: var(--mud-palette-text-primary); border-bottom-color: var(--mud-palette-divider); }
.mud-dark .gs-tree-hdr-icon { color: var(--mud-palette-primary) !important; }
.mud-dark .gs-node:hover { background: var(--mud-palette-action-default-hover); }
.mud-dark .gs-node-name { color: var(--mud-palette-text-primary); }
.mud-dark .gs-nact { color: var(--mud-palette-text-secondary); border-color: var(--mud-palette-divider); background: var(--mud-palette-surface); }
.mud-dark .gs-nact:hover { background: var(--mud-palette-primary-hover-light); color: var(--mud-palette-primary); border-color: var(--mud-palette-primary); }
.mud-dark .gs-nact-del { color: #FCA5A5; border-color: #7F1D1D; }
.mud-dark .gs-nact-del:hover { background: rgba(239,68,68,0.15); border-color: var(--pw-error-border, #EF4444); }
.mud-dark .gs-dlbl { color: var(--mud-palette-text-secondary); }
.mud-dark .gs-dval { color: var(--mud-palette-text-primary); }
.mud-dark .gs-des-role { color: var(--mud-palette-text-secondary); }
.mud-dark .gs-card-ticon { color: var(--mud-palette-primary) !important; }
.mud-dark .gs-ic-folder { background: var(--pw-warning-tint, #3D2E00); }
.mud-dark .gs-danger-card { border-color: #7F1D1D !important; }

/* ── User Management Table (um-) ── */
.mud-dark .um-table th { color: var(--mud-palette-primary); border-bottom-color: var(--mud-palette-divider); }
.mud-dark .um-table td { border-bottom-color: var(--mud-palette-divider); }
.mud-dark .um-uemail { color: var(--mud-palette-text-secondary); }
.mud-dark .um-td-date { color: var(--mud-palette-text-secondary); }

/* ── Chart Header Icons ── */
.mud-dark .chart-header-icon { color: var(--mud-palette-primary) !important; }

/* ── Success Alert ── */
.mud-dark .an-success-alert { background: linear-gradient(135deg, rgba(34,164,71,0.15), rgba(34,164,71,0.05)); border-color: var(--pw-success-border, #1B5E20); }
.mud-dark .success-title { color: #A5D6A7; }
.mud-dark .success-text { color: #81C784; }

/* ── Insight Banner ── */
.mud-dark .an-insight-banner { background: linear-gradient(135deg, rgba(77,141,255,0.12), rgba(45,108,255,0.05)); border-color: #1A3A6C; }
.mud-dark .insight-title { color: #90CAF9; }
.mud-dark .insight-desc { color: #64B5F6; }
.mud-dark .insight-btn { background: linear-gradient(90deg, #3B6CFF, #2D5AEE); }

/* ── Heatmap / Analytics Cards ── */
.mud-dark .an-heatmap-card { background: var(--mud-palette-surface); }
.mud-dark .an-kpi-card { background: var(--mud-palette-surface); border-color: var(--mud-palette-divider); }

/* ── Responsive dark mode adjustments ── */
.mud-dark .profile-loading .mud-text { color: var(--mud-palette-text-secondary); }

/* ── Dropdown selects in dark drawer ── */
.mud-dark .dswitch-select .mud-input { color: var(--mud-palette-text-primary) !important; background: var(--mud-palette-action-default-hover); }

/* ── General dark mode text fixes ── */
.mud-dark .mud-text-secondary { color: var(--mud-palette-text-secondary) !important; }

/* ── Table borders & rows (global) ── */
.mud-dark .fn-table td { border-bottom-color: var(--mud-palette-divider) !important; }
.mud-dark .gs-node:hover { background: var(--mud-palette-action-default-hover) !important; }
.mud-dark .wl-table td { border-bottom-color: var(--mud-palette-divider) !important; color: var(--mud-palette-text-primary) !important; }
.mud-dark .wl-table th { color: var(--mud-palette-primary) !important; border-bottom-color: var(--mud-palette-divider) !important; }
.mud-dark .sp-table td { border-bottom-color: var(--mud-palette-divider) !important; }
.mud-dark .sp-table th { color: var(--mud-palette-primary) !important; border-bottom-color: var(--mud-palette-divider) !important; }
.mud-dark .sm-tree-node:hover { background: var(--mud-palette-action-default-hover) !important; }
.mud-dark .hlp-faq-open { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; }

/* ── Any residual light backgrounds ── */
.mud-dark .an-kpi-card { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; }
.mud-dark .an-heatmap-card { background: var(--mud-palette-surface) !important; }
.mud-dark .fn-kpi { background: var(--mud-palette-surface) !important; }
.mud-dark .fn-chart-card,
.mud-dark .fn-dist-card,
.mud-dark .fn-table-card { background: var(--mud-palette-surface) !important; }
.mud-dark .gs-tree-panel,
.mud-dark .gs-card { background: var(--mud-palette-surface) !important; }
.mud-dark .an-success-alert { background: linear-gradient(135deg, rgba(34,164,71,0.12), rgba(34,164,71,0.04)) !important; border-color: var(--pw-success-border, #1B5E20) !important; }
.mud-dark .an-insight-banner { background: linear-gradient(135deg, rgba(77,141,255,0.1), rgba(45,108,255,0.04)) !important; border-color: #1A3A6C !important; }
.mud-dark .fn-banner { background: linear-gradient(135deg, rgba(34,164,71,0.12), rgba(34,164,71,0.04)) !important; border-color: var(--pw-success-border, #1B5E20) !important; }

/* ── White/light icons on gradient backgrounds stay visible ── */
.mud-dark .gs-ic-folder { background: var(--pw-warning-tint, #3D2E00) !important; }
.mud-dark .gs-ic-leaf { background: rgba(34,164,71,0.15) !important; }
.mud-dark .gs-des-avatar { color: #FFF !important; }

/* ── Section headers and title text ── */
.mud-dark .fn-sec-title,
.mud-dark .gs-card-title,
.mud-dark .an-header-title { color: var(--mud-palette-text-primary) !important; }

/* Premium Card */
.dprem-card {
    margin: 12px 12px 0; padding: 16px; border-radius: 20px;
    background: linear-gradient(135deg, #5B2EFF, #7C4DFF);
    text-align: center; flex-shrink: 0;
    box-shadow: 0 8px 30px rgba(91,46,255,0.3);
}

/* Logout — sticky at bottom */
.dlogout-area {
    margin-top: 8px; padding: 8px 12px 12px; flex-shrink: 0;
    position: sticky; bottom: 0; z-index: 5;
    background: var(--mud-palette-surface);
}

/* ── Main Content ── */
.main-content-custom { background: var(--mud-palette-background); min-height: 100vh; }
.layout-body { padding: 24px 28px; }

/* ── Auth Pages: styled inside LoginLayout + LoginContainer components ── */

/* ── Login Layout (LoginLayout.razor) ── */
.login-layout {
    min-height: 100vh; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--mud-palette-background) 0%, var(--mud-palette-background-grey) 100%);
    font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
    position: relative; transition: background 0.3s;
}
.login-layout.login-dark {
    background: linear-gradient(135deg, var(--mud-palette-background) 0%, #0F172A 100%);
}
.login-theme-toggle { position: absolute; top: 12px; left: 12px; z-index: 10; }

/* ── Login Container — Premium split-panel card ── */
.login-wrapper { min-height: 100vh; display: flex; align-items: center; justify-content: center; }
.login-card {
    background: var(--mud-palette-surface); border-radius: 28px; overflow: hidden;
    box-shadow: 0 20px 60px rgba(90,65,150,0.1), 0 4px 12px rgba(0,0,0,0.04);
    max-width: 960px; width: 100%;
}
.login-form-panel {
    padding: 48px 40px 32px; display: flex; flex-direction: column;
    background: var(--mud-palette-surface);
}
.lang-bar { display: flex; justify-content: flex-end; margin-bottom: 20px; }
.form-zone { flex: 1; display: flex; flex-direction: column; justify-content: center; }

/* Features strip */
.features-strip { margin-top: 32px; }
.divider-text { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.divider-text .line { flex: 1; height: 1px; background: var(--mud-palette-divider); }
.divider-text .label { font-size: 0.75rem; color: var(--mud-palette-text-secondary); white-space: nowrap; font-weight: 500; }
.features-row { display: flex; justify-content: center; gap: 20px; }
.feat-box { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.feat-circle {
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--mud-palette-background-grey); display: flex; align-items: center; justify-content: center;
}
.feat-icon { color: var(--mud-palette-primary) !important; font-size: 20px !important; }
.feat-label { font-size: .75rem; color: var(--mud-palette-text-secondary); font-weight: 500; }

/* Brand (purple) panel */
.login-brand {
    background: linear-gradient(135deg, #5B2EFF 0%, #6A35FF 35%, #4B1DFF 100%);
    padding: 48px 40px; display: flex; flex-direction: column; justify-content: center;
    color: #FFFFFF;
}
.brand-logo { text-align: center; margin-bottom: 24px; }
.brand-logo-image { display: block; width: 88px; height: 88px; margin: 0 auto 10px; object-fit: cover; border-radius: 22px; background: #fff; }
.brand-hero { margin-bottom: 24px; text-align: center; }
.brand-divider { height: 1px; background: rgba(255,255,255,0.2); margin-bottom: 24px; }
.stats-row { display: flex; justify-content: center; align-items: center; gap: 12px; margin-bottom: 28px; flex-wrap: wrap; }
.stat-box { text-align: center; }
.stat-num { display: block; font-size: 1.2rem; font-weight: 800; color: #FFD700; }
.stat-lbl { display: block; font-size: .75rem; color: rgba(255,255,255,0.7); margin-top: 2px; }
.stat-sep { color: rgba(255,255,255,0.3); }
.brand-why { text-align: center; }
.why-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.why-item { display: flex; align-items: center; gap: 6px; font-size: 0.75rem; color: rgba(255,255,255,0.85); }
.why-icon { color: #FFD700 !important; font-size: 16px !important; }

/* ── Login / Onboarding — موبایل (اندروید: MAUI همیشه این عرض را می‌بیند) ── */
@media (max-width: 600px) {
    .login-wrapper { padding: 16px 0; align-items: flex-start; }
    .login-card { border-radius: 20px; }
    .login-form-panel { padding: 28px 18px 22px; }
    .login-brand { padding: 28px 18px; }
    .why-grid { grid-template-columns: 1fr; }
    .stats-row { gap: 8px 14px; margin-bottom: 20px; }
    .brand-hero .mud-typography-h4 { font-size: 1.35rem !important; }
}

/* Dark mode login */
.login-dark .login-card { background: var(--mud-palette-background); box-shadow: 0 20px 60px rgba(0,0,0,0.4); }
.login-dark .login-form-panel { background: var(--mud-palette-background); }
.login-dark .features-strip .line { background: var(--mud-palette-divider); }
.login-dark .features-strip .label { color: var(--mud-palette-text-secondary); }
.login-dark .feat-circle { background: var(--mud-palette-surface); }
.login-dark .feat-icon { color: var(--mud-palette-primary) !important; }
.login-dark .feat-label { color: var(--mud-palette-text-secondary); }
.login-dark .divider-text .line { background: var(--mud-palette-divider); }

/* ── Buttons ── */
.gradient-btn {
    background: linear-gradient(135deg, #5B2EFF, #6A35FF) !important;
    color: #FFFFFF !important; font-weight: 700 !important;
    border-radius: 12px !important;
}

/* ── Profile Page ── */
.profile-page { max-width: 600px; margin: 0 auto; }
.edit-fields { display: flex; flex-direction: column; gap: 12px; }
.edit-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }

/* ── Profile Picture Upload ── */
.picture-upload-section { margin-bottom: 4px; }
.picture-preview-wrapper {
    position: relative; display: inline-block;
    cursor: pointer; user-select: none;
}
.picture-preview-wrapper:hover .pic-camera-btn { transform: scale(1.12); background: var(--mud-palette-primary-darken); }
.pic-disabled { pointer-events: none; opacity: 0.7; cursor: not-allowed; }
.picture-preview {
    width: 100px; height: 100px; border-radius: 50%;
    border: 2px dashed var(--mud-palette-divider);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; position: relative; flex-shrink: 0;
    transition: border-color 0.2s, opacity 0.2s;
}
.picture-preview-wrapper:hover .picture-preview { border-color: var(--mud-palette-primary); }
.picture-preview-uploading { opacity: 0.5; }
.picture-preview-img { width: 100%; height: 100%; object-fit: cover; }
.picture-preview-placeholder { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.picture-upload-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.4);
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
}

/* ── دکمه دایره‌ای دوربین — پایین سمت چپ تصویر ── */
.pic-camera-btn {
    position: absolute; bottom: 0; left: 0;
    width: 32px; height: 32px; border-radius: 50%;
    background: var(--mud-palette-primary);
    color: #FFFFFF; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
    transition: transform 0.2s, background 0.2s;
    border: 2px solid var(--mud-palette-surface);
    z-index: 2;
}

/* ── File input hidden ── */
.file-input-hidden { display: none !important; width: 0; height: 0; position: absolute; }

/* ── Loading ── */
.auth-loading { display: flex; align-items: center; justify-content: center; min-height: 60vh; flex-direction: column; gap: 12px; }

/* ── Responsive ── */
@media (max-width: 960px) { .layout-body { padding: 16px 12px 16px; } .layout-body.has-bottom-nav { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px) + 16px); } }


/* ═══════════ Extracted from Razor files ═══════════ */
/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Components\AuthGuard.razor ── */
.auth-guard-loading {
        display: flex; align-items: center; justify-content: center;
        min-height: 100vh;
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Components\ProfileCard.razor ── */
/* ================================================================
       FONT IMPORT
       ================================================================ */
    /* ================================================================
       CONTAINER — 3-column Flexbox, RTL
       ================================================================ */
    .profile-row {
        display: flex;
        gap: 18px;
        font-family: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
    }

    /* ================================================================
       SHARED CARD
       ================================================================ */
    .pr-card {
        background: var(--mud-palette-surface);
        border-radius: 14px;
        padding: 18px 20px;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
        display: flex;
        align-items: center;
    }

    /* ================================================================
       1. PROFILE CARD  (rightmost, flex: 1.4)
       ================================================================ */
    .pr-card-profile {
        flex: 1.4;
        min-width: 0;
    }

    /* ================================================================
       2. STATS CARD  (center, flex: 0.8)
       ================================================================ */
    .pr-card-stats {
        flex: 0.8;
        justify-content: space-evenly;
    }

    /* ================================================================
       3. ACHIEVEMENTS CARD  (leftmost, flex: 1)
       ================================================================ */
    .pr-card-achievements {
        flex: 1;
        flex-direction: column;
        align-items: stretch;
    }

    /* --- Medals row --- */
    .pr-achv-medals {
        display: flex;
        justify-content: center;
        gap: 18px;
    }

    /* --- Hexagon base --- */
    .pr-medal-hex {
        width: 54px;
        height: 54px;
        clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: transform 0.2s ease;
    }

    /* --- Hexagon colour variants --- */
    .pr-hex-purple {
        background: linear-gradient(135deg, #6C5CE7 0%, #9B59B6 100%);
    }

    /* --- Medal labels --- */
    .pr-medal-label {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        text-align: center;
        white-space: nowrap;
    }

    /* ================================================================
       RESPONSIVE
       ================================================================ */
    @@media (max-width: 1024px) {
        .profile-row {
            flex-wrap: wrap;
        }
        .pr-card-profile {
            flex: 1 1 100%;
        }
        .pr-card-stats {
            flex: 1 1 45%;
        }
        .pr-card-achievements {
            flex: 1 1 45%;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Layout\LoginLayout.razor ── */
.login-layout {
        min-height: 100vh;
        background: linear-gradient(135deg, #F8FAFC 0%, #EEF2FF 100%);
        font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
        position: relative; transition: background 0.3s ease;
    }
    .login-layout.login-dark {
        background: linear-gradient(135deg, #020617 0%, #0F172A 100%);
    }
    .login-theme-toggle { position: absolute; top: 12px; left: 12px; z-index: 10; }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Layout\NavMenu.razor ── */
/* ===== Sidebar Container ===== */
    .sidebar-container {
        display: flex;
        flex-direction: column;
        height: 100vh;
        background-color: var(--mud-palette-surface);
        padding: 0;
        box-sizing: border-box;
        overflow: hidden;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    }

    /* ===== Logo ===== */
    .sidebar-logo {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 24px 20px 16px 20px;
        flex-shrink: 0;
    }

    .logo-icon {
        width: 36px;
        height: 36px;
        flex-shrink: 0;
        object-fit: cover;
        border-radius: 10px;
        background: #fff;
    }

    .logo-text {
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
        white-space: nowrap;
    }

    /* ===== Navigation ===== */
    .sidebar-nav {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: 8px 12px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #D1D5DB transparent;
    }

    .sidebar-nav::-webkit-scrollbar {
        width: 4px;
    }

    .sidebar-nav::-webkit-scrollbar-thumb {
        background-color: #D1D5DB;
        border-radius: 4px;
    }

    /* ===== Nav Items ===== */
    .nav-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 16px;
        border-radius: 10px;
        text-decoration: none;
        color: var(--mud-palette-text-primary);
        font-size: 0.95rem;
        font-weight: 500;
        transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
        position: relative;
        white-space: nowrap;
        cursor: pointer;
    }

    .nav-item:hover {
        background-color: var(--pw-primary-tint, #F0EFFF);
        color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7));
    }

    .nav-item:hover .nav-icon {
        color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7));
    }

    .nav-item.active {
        background-color: var(--mud-palette-primary, #6C5CE7);
        color: #FFFFFF;
        box-shadow: 0 2px 8px rgba(108, 92, 231, 0.35);
    }

    .nav-item.active .nav-icon {
        color: #FFFFFF;
    }

    .nav-item.active .nav-badge {
        background-color: var(--mud-palette-surface);
        color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7));
    }

    /* ===== Nav Icon ===== */
    .nav-icon {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
        color: var(--pw-text-muted, #666666);
        transition: color 0.2s ease;
    }

    /* ===== Nav Label ===== */
    .nav-label {
        flex: 1;
        line-height: 1.4;
    }

    /* ===== Notification Badge ===== */
    .nav-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 11px;
        background-color: var(--mud-palette-primary, #6C5CE7);
        color: #FFFFFF;
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1;
        flex-shrink: 0;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    /* ===== Footer / Bottom Card ===== */
    .sidebar-footer {
        flex-shrink: 0;
        padding: 12px;
    }

    /* ===== Responsive ===== */
    @@media (max-width: 640px) {
        .sidebar-container {
            height: auto;
        }

        .sidebar-logo {
            padding: 16px;
        }

        .nav-item {
            padding: 10px 12px;
            font-size: 0.85rem;
        }

        .motivation-card {
            padding: 16px 12px 20px 12px;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Admin\Analytics.razor ── */
.analytics-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1050px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .analytics-page *, .analytics-page *::before, .analytics-page *::after {
        box-sizing: border-box;
    }

    /* ═══════════ کارت‌های KPI ═══════════ */
    .an-kpi-row {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        margin-bottom: 22px;
    }

    .kpi-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .kpi-icon-wrap {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #FFFFFF;
    }

    .kpi-icon-xp { background: linear-gradient(135deg, #6A35FF, #7A4DFF); }
    .kpi-icon-badge { background: linear-gradient(135deg, #FDBB11, #F59E0B); }
    .kpi-icon-streak { background: linear-gradient(135deg, #FF7A2D, #FF5A5A); }

    .kpi-growth {
        font-size: 0.78rem;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 12px;
    }

    .kpi-growth.up {
        color: var(--mud-palette-success);
        background: rgba(46,190,79,0.1);
    }

    .kpi-value {
        font-size: 1.8rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        line-height: 1;
    }

    .kpi-total {
        font-size: 1rem;
        color: var(--mud-palette-text-disabled);
        font-weight: 600;
    }

    .kpi-label {
        font-size: 0.8rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    .kpi-mini-bar {
        height: 6px;
        background: var(--pw-primary-tint, #ECE7FF);
        border-radius: 3px;
        overflow: hidden;
    }

    .kpi-mini-fill {
        height: 100%;
        border-radius: 3px;
        background: linear-gradient(90deg, #6A35FF, #7A4DFF);
    }

    .kpi-streak-dots {
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
    }

    .chart-card-header {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 16px 20px 0;
    }

    .chart-header-icon {
        color: var(--pw-primary, #6A35FF) !important;
    }

    .chart-title {
        font-size: 0.86rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
    }

    .chart-body {
        padding: 10px 8px 16px;
    }

    .legend-label {
        font-size: .75rem;
        color: var(--mud-palette-text-disabled);
    }

    .legend-cell {
        width: 12px;
        height: 12px;
        border-radius: 3px;
    }

    /* ═══════════ Heatmap ═══════════ */
    .an-heatmap-card {
        background: var(--mud-palette-surface);
        border-radius: 24px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 16px 20px 20px;
        margin-bottom: 22px;
    }

    .an-heatmap-card .chart-card-header {
        padding: 0 0 14px;
    }

    /* ═══════════ CTA پایین ═══════════ */
    .an-bottom-cta {
        position: sticky;
        bottom: 16px;
        z-index: 10;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .an-kpi-row {
            grid-template-columns: repeat(2, 1fr);
        }

        .an-charts-row {
            grid-template-columns: 1fr;
        }

        .an-kpi-card {
            padding: 16px 18px;
        }

        .kpi-value {
            font-size: 1.4rem;
        }

        .heatmap-grid {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        .an-insight-banner {
            flex-direction: column;
            align-items: stretch;
            text-align: center;
        }

        .insight-left {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        .insight-btn {
            align-self: center;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Admin\Financial.razor ── */
.fn-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .fn-page *,.fn-page *::before,.fn-page *::after{box-sizing:border-box}
    .fn-top-left{display:flex;align-items:center;gap:14px}
    .fn-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .fn-top-svg{color:#FFF!important}
    .fn-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.fn-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}

    .fn-segmented{display:flex;gap:0;border: 1px solid var(--mud-palette-divider);border-radius:16px;overflow:hidden}
    .fn-seg-btn{padding:9px 20px;border:none;background: var(--mud-palette-surface);font-family:inherit;font-size:.82rem;font-weight:600;color: var(--mud-palette-text-secondary);cursor:pointer}.fn-seg-btn:hover{background:var(--pw-primary-tint, #F5F2FD)}
    .fn-seg-on{background:linear-gradient(135deg,#6D3BFF,#4A3DFF)!important;color:#FFF!important}

    /* KPI */
    .fn-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
    .fn-kpi{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:18px 20px;display:flex;align-items:center;gap:14px}
    .fn-kpi-icon{width:44px;height:44px;min-width:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
    .fn-kpi-purple{background:linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2))}.fn-kpi-purple .mud-icon-root{color:var(--pw-primary, #6D3BFF)!important}
    .fn-kpi-gold{background:linear-gradient(135deg,#FFF8E1,#FFE082)}.fn-kpi-gold .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}
    .fn-kpi-blue{background:linear-gradient(135deg,var(--mud-palette-info-light),#BBDEFB)}.fn-kpi-blue .mud-icon-root{color:var(--pw-info, #3792FF)!important}
    .fn-kpi-green{background:linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9)}.fn-kpi-green .mud-icon-root{color:var(--pw-success, #22A447)!important}
    .fn-kpi>div{flex:1;display:flex;flex-direction:column;gap:2px}.fn-kpi-lbl{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}.fn-kpi-val{font-size:1.1rem;font-weight:900;color:var(--pw-text, #1B1B1F)}.fn-kpi-val small{font-size:.75rem;color: var(--mud-palette-text-secondary);font-weight:500}
    .fn-kpi-chg{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px}.fn-kpi-chg.up{color:var(--pw-success, #22A447);background:rgba(34,164,71,.1)}

    /* ردیف میانی */
    .fn-mid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
    .fn-chart-card,.fn-dist-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px}
    .fn-sec-title{font-size:.9rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0 0 16px}
    .fn-chart-svg{width:100%;height:auto}
    .fn-chart-labels{display:flex;justify-content:space-around;margin-top:6px;font-size:.75rem;color:var(--mud-palette-text-disabled)}

    .fn-dist-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.8rem}.fn-dist-left{display:flex;align-items:center;gap:8px}.fn-dist-dot{width:10px;height:10px;border-radius:50%}.fn-dist-pct{font-weight:700;color:var(--pw-text, #1B1B1F)}
    .fn-dist-bar{height:8px;background: var(--mud-palette-divider);border-radius:4px;overflow:hidden;margin-bottom:14px}.fn-dist-bar:last-child{margin-bottom:0}
    .fn-dist-fill{height:100%;border-radius:4px}

    /* بنر */
    .fn-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9);border-radius:20px;padding:16px 22px;margin-bottom:20px;border:1px solid var(--pw-success-border, #A5D6A7)}
    .fn-banner-icon{color:var(--pw-success, #22A447)!important}.fn-banner-text{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:var(--pw-success, #2E7D32)}
    .fn-banner-title{font-weight:800;font-size:.9rem}

    /* جدول */
    .fn-table-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px}
    .fn-tbl-scroll{overflow-x:auto}.fn-table{width:100%;min-width:500px;border-collapse:collapse}
    .fn-table th{text-align:right;padding:12px 16px;font-size:.75rem;font-weight:700;color:var(--pw-primary, #6D3BFF);border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .fn-table td{padding:12px 16px;font-size:.8rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-primary-tint-border, #F8F6FC)}
    .fn-td-date{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}.fn-td-desc{font-weight:600}
    .fn-td-amt{font-weight:700}.fn-amt-in{color:var(--pw-success, #22A447)}.fn-amt-out{color:var(--mud-palette-error)}
    .fn-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
    .fn-st-ok{background:var(--mud-palette-success-light);color:var(--pw-success, #22A447)}.fn-st-pend{background:var(--mud-palette-warning-light);color:var(--pw-warning, #F5B62F)}.fn-st-fail{background:var(--mud-palette-error-light);color:var(--mud-palette-error)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.fn-kpi-row{grid-template-columns:repeat(2,1fr)}.fn-mid{grid-template-columns:1fr}}
    @@media(max-width:600px){.fn-kpi-row{grid-template-columns:1fr}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Admin\GlobalSubjects.razor ── */
.gs-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1150px;margin:0 auto;padding:0 4px 40px}
    .gs-page *,.gs-page *::before,.gs-page *::after{box-sizing:border-box}
    .gs-top-left{display:flex;align-items:center;gap:14px}
    .gs-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .gs-top-svg{color:#FFF!important}
    .gs-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.gs-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}
    .gs-btn-primary{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:16px;padding:10px 22px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(109,59,255,.2)}

    .gs-body{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}

    /* درخت */
    .gs-tree-panel{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);overflow:hidden}
    .gs-tree-hdr{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom: 1px solid var(--mud-palette-divider);font-size:.88rem;font-weight:700;color:var(--pw-text, #1B1B1F)}
    .gs-tree-hdr-icon{color:var(--pw-primary, #6D3BFF)!important}.gs-tree-stats{font-size:.75rem;color: var(--mud-palette-text-secondary);font-weight:500;margin-right:auto;display:flex;align-items:center;gap:8px}.gs-dot{width:4px;height:4px;border-radius:50%;background:var(--mud-palette-text-disabled)}
    .gs-tree{padding:8px 0}
    .gs-node{display:flex;align-items:center;gap:8px;padding:9px 20px;cursor:pointer;transition:background .15s;position:relative}.gs-node:hover{background:var(--pw-primary-tint, #F8F6FC)}
    .gs-conn{position:absolute;right:14px;top:50%;width:12px;border-top:1.5px dashed var(--mud-palette-divider)}
    .gs-exp{width:24px;height:24px;border-radius:6px;border:1px solid var(--mud-palette-divider);background: var(--mud-palette-background);display:flex;align-items:center;justify-content:center;cursor:pointer;color: var(--mud-palette-text-secondary);transition:transform .2s;flex-shrink:0}.gs-exp-on{transform:rotate(-90deg)}.gs-exp:disabled{opacity:.25;cursor:default}
    .gs-exp-spc{width:24px;height:24px;flex-shrink:0}
    .gs-node-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .gs-ic-folder{background:var(--pw-warning-tint, #FFF8E1)}.gs-ic-folder .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}
    .gs-ic-leaf{background:var(--mud-palette-success-light)}.gs-ic-leaf .mud-icon-root{color:var(--pw-success, #22A447)!important}
    .gs-node-name{font-size:.84rem;font-weight:600;color: var(--mud-palette-text-primary);flex:1}
    .gs-node-cnt{font-size:.75rem;color:var(--mud-palette-text-disabled);font-weight:600;min-width:30px;text-align:center}
    .gs-node-acts{display:flex;gap:4px}
    .gs-nact{width:28px;height:28px;border-radius:7px;border:1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}.gs-nact:hover{background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));color:var(--pw-primary, #6D3BFF);border-color:var(--pw-primary, #6D3BFF)}
    .gs-nact-del{color:var(--pw-error, #FF4D4F);border-color:var(--pw-error-border, #FFCDD2)}.gs-nact-del:hover{background:var(--mud-palette-error-light);border-color:var(--pw-error-border, #FF4D4F)}

    /* کارت‌های راست */
    .gs-right-col{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px}
    .gs-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px}
    .gs-card-title{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0 0 14px}
    .gs-card-ticon{color:var(--pw-primary, #6D3BFF)!important}

    .gs-detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom: 1px solid var(--mud-palette-divider);font-size:.8rem}
    .gs-detail-item:last-child{border-bottom:none}.gs-dlbl{color:var(--pw-text-muted, #7B7B96)}.gs-dval{font-weight:600;color:var(--pw-text, #1B1B1F)}

    /* طراحان */
    .gs-des-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom: 1px solid var(--mud-palette-divider);cursor:pointer}.gs-des-row:last-child{border-bottom:none}
    .gs-chk{width:18px;height:18px;accent-color:#6D3BFF;cursor:pointer}
    .gs-des-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;font-size:.75rem;font-weight:700;flex-shrink:0}
    .gs-des-name{font-size:.82rem;font-weight:600;color: var(--mud-palette-text-primary);flex:1}.gs-des-role{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}

    /* خطر */
    .gs-danger-card{border-color:var(--pw-error-border, #FFCDD2)!important}
    .gs-danger-icon{color:var(--pw-error, #FF4D4F)!important}
    .gs-danger-desc{font-size:.76rem;color: var(--mud-palette-text-secondary);line-height:1.6;margin:0 0 12px}
    .gs-btn-danger{background:#FF4D4F;color:#FFF;border:none;border-radius:14px;padding:10px 20px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;width:100%}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){
        .gs-body{grid-template-columns:1fr}.gs-right-col{position:static}
        .mobile-only{display:flex;align-items:center;gap:6px;position:fixed;bottom:24px;left:24px;z-index:100;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:50px;padding:14px 22px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(109,59,255,.3)}
    }
    @@media(max-width:600px){.gs-node{padding:8px 12px;gap:6px}.gs-node-name{font-size:.78rem}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Admin\Revenue.razor ── */
.rv-page{
        font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width:1050px;margin:0 auto;padding:0 4px 40px;
    }
    .rv-page *,.rv-page *::before,.rv-page *::after{box-sizing:border-box}

    /* ─── KPI ─── */
    .rv-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
    .kpi-icon-bg{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center}
    .kpi-bg-purple{background:linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2))}.kpi-bg-purple .kpi-icn{color:var(--pw-primary, #5B2EFF)!important}
    .kpi-bg-green{background:linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9)}.kpi-bg-green .kpi-icn{color:var(--mud-palette-success)!important}
    .kpi-bg-blue{background:linear-gradient(135deg,var(--mud-palette-info-light),#BBDEFB)}.kpi-bg-blue .kpi-icn{color:var(--mud-palette-info)!important}
    .kpi-info{display:flex;flex-direction:column;gap:4px}
    .kpi-lbl{font-size:.76rem;color: var(--mud-palette-text-secondary);font-weight:500}
    .kpi-val{font-size:1.2rem;font-weight:900;color:var(--pw-text, #1B1B1F)}
    .kpi-val small{font-size:.75rem;color: var(--mud-palette-text-secondary);font-weight:500}
    .kpi-growth{font-size:.75rem;font-weight:700}.kpi-growth.up{color:var(--mud-palette-success)}
    .rv-table th{text-align:right;padding:14px 16px;font-size:.75rem;font-weight:700;color: var(--mud-palette-primary, var(--pw-primary, #5B2EFF));border-bottom:1px solid var(--mud-palette-divider);white-space:nowrap}
    .rv-table td{padding:14px 16px;font-size:.82rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-border, #F5F2FD)}
    .rv-table tbody tr:hover{background:var(--mud-palette-background-hover)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:850px){
        .rv-kpi-row{grid-template-columns:1fr}
        .rv-header{flex-direction:column;align-items:flex-start}
        .rv-export-btn{align-self:flex-start}
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Admin\Users.razor ── */
.um-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1150px;margin:0 auto;padding:0 4px 40px}
    .um-page *,.um-page *::before,.um-page *::after{box-sizing:border-box}

    .um-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
    .um-top-left{display:flex;align-items:center;gap:14px}
    .um-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .um-top-svg{color:#FFF!important}
    .um-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.um-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}
    .um-btn-primary{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:16px;padding:10px 22px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(109,59,255,.2)}
    .um-btn-sm{font-size:.76rem!important;padding:8px 16px!important;border-radius:12px!important}
    .um-btn-outline{display:flex;align-items:center;gap:6px;background: var(--mud-palette-surface);color:var(--pw-primary, #6D3BFF);border:1px solid var(--mud-palette-divider);border-radius:12px;padding:8px 16px;font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer}

    /* فیلترها */
    .um-filters{display:flex;gap:10px;margin-bottom:18px}
    .um-search-wrap{flex:1;position:relative}.um-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--mud-palette-text-secondary)!important;z-index:2}
    .um-search{width:100%;height:48px;background: var(--mud-palette-surface);border: 1px solid var(--mud-palette-divider);border-radius:16px;padding:0 42px 0 14px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none}.um-search:focus{border-color:var(--pw-primary, #6D3BFF)}
    .um-sel-wrap{position:relative;min-width:150px}.um-select{width:100%;height:48px;background: var(--mud-palette-surface);border: 1px solid var(--mud-palette-divider);border-radius:16px;padding:0 38px 0 14px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none;appearance:none;cursor:pointer}.um-select:focus{border-color:var(--mud-palette-primary)}.um-sel-arrow{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mud-palette-text-secondary)!important;pointer-events:none}

    /* بدنه */
    .um-body{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
    .um-table-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);overflow:hidden}
    .um-tbl-scroll{overflow-x:auto}
    .um-table{width:100%;min-width:600px;border-collapse:collapse}
    .um-table th{text-align:right;padding:14px 16px;font-size:.75rem;font-weight:700;color:var(--pw-primary, #6D3BFF);background: var(--mud-palette-background);border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .um-table td{padding:12px 16px;font-size:.82rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-border, #F5F2FD)}
    .um-table tbody tr{cursor:pointer;transition:background .15s}.um-table tbody tr:hover{background:var(--mud-palette-background-hover)}
    .um-row-sel{background:var(--mud-palette-primary-hover-light)!important}

    .um-user-cell{display:flex;align-items:center;gap:10px}
    .um-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;font-size:.8rem;font-weight:800;flex-shrink:0}
    .um-uname{display:block;font-weight:600;font-size:.84rem}.um-uemail{display:block;font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}
    .um-role,.um-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
    .status-active{background:var(--mud-palette-success-light);color:var(--pw-success, #22A447)}.status-inactive{background:var(--mud-palette-error-light);color:var(--pw-error, #F04444)}
    .um-td-date{font-size:.75rem;color: var(--mud-palette-text-secondary);white-space:nowrap}
    .um-td-acts{display:flex;gap:4px}
    .um-act{width:32px;height:32px;border-radius:8px;border:1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}.um-act:hover{background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));color:var(--pw-primary, #6D3BFF);border-color:var(--pw-primary, #6D3BFF)}
    .um-act-del{color:var(--pw-error, #F04444);border-color:var(--pw-error-border, #FFCDD2)}.um-act-del:hover{background:var(--mud-palette-error-light);border-color:var(--pw-error-border, #F04444)}

    /* صفحه‌بندی */
    .um-pag{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--pw-primary-tint-border, #F0ECFA);flex-wrap:wrap;gap:8px}
    .um-pag-info{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}.um-pag-btns{display:flex;gap:6px}
    .um-pag-btn{background: var(--mud-palette-surface);border: 1px solid var(--mud-palette-divider);border-radius:10px;padding:6px 14px;font-family:inherit;font-size:.76rem;font-weight:600;color:var(--pw-primary, #6D3BFF);cursor:pointer}.um-pag-btn:disabled{opacity:.35;cursor:not-allowed}
    .um-pag-num{width:34px;height:34px;border-radius:10px;border: 1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);font-family:inherit;font-size:.78rem;font-weight:700;color: var(--mud-palette-text-secondary);cursor:pointer}

    /* جزئیات */
    .um-detail-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;position:sticky;top:24px}
    .um-detail-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;font-size:1.5rem;font-weight:800}
    .um-detail-name{font-size:1.05rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0}
    .um-detail-info{display:flex;flex-direction:column;gap:10px;width:100%}
    .um-detail-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--pw-text-muted, #7B7B96)}.um-detail-row .mud-icon-root{color:var(--mud-palette-text-secondary)!important}
    .um-detail-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.um-body{grid-template-columns:1fr}.um-detail-card{position:static}}
    @@media(max-width:600px){.um-filters{flex-direction:column}.um-sel-wrap{min-width:unset}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Dashboard\CreatorDashboard.razor ── */
.creator-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .creator-page *, .creator-page *::before, .creator-page *::after {
        box-sizing: border-box;
    }

    /* ═══════════ هدر ═══════════ */
    .cr-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 22px;
    }

    .cr-header-left {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .cr-title {
        font-size: 1.5rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        margin: 0;
    }

    .cr-subtitle {
        font-size: 0.88rem;
        color: var(--mud-palette-text-secondary);
        margin: 0;
        font-weight: 500;
    }

    .cr-header-right {
        display: flex;
        align-items: center;
        gap: 12px;
        position: relative;
    }

    .cr-notif-btn {
        color: var(--pw-primary, #6A35FF) !important;
    }

    .cr-header-badge-dot {
        position: absolute;
        top: 8px;
        right: 52px;
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #FF4D4D;
        border: 2px solid var(--pw-border, #F7F5FC);
        z-index: 1;
    }

    .cr-avatar-mini {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, #5E2FFF 0%, #7A4DFF 100%);
        color: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.9rem;
        font-weight: 800;
        cursor: pointer;
    }

    /* ═══════════ KPI گرید ═══════════ */
    .cr-kpi-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        margin-bottom: 22px;
    }

    .cr-kpi-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        transition: transform 0.2s, box-shadow 0.2s;
    }

    .cr-kpi-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }

    .kpi-card-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .kpi-icon-bg {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kpi-icon-exams { background: linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2)); }
    .kpi-icon-questions { background: linear-gradient(135deg, var(--mud-palette-info-light), #BBDEFB); }
    .kpi-icon-students { background: linear-gradient(135deg, var(--mud-palette-success-light), #C8E6C9); }
    .kpi-icon-avg { background: linear-gradient(135deg, var(--mud-palette-warning-light), #FFE0B2); }

    .kpi-icon-exams .kpi-icon { color: var(--pw-primary, #6A35FF) !important; }
    .kpi-icon-questions .kpi-icon { color: var(--pw-primary, #4D8DFF) !important; }
    .kpi-icon-students .kpi-icon { color: var(--mud-palette-success) !important; }
    .kpi-icon-avg .kpi-icon { color: var(--mud-palette-warning) !important; }

    .kpi-growth-badge {
        font-size: .75rem;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 999px;
    }

    .kpi-growth-badge.up {
        background: rgba(46,190,79,0.1);
        color: var(--mud-palette-success);
    }

    .kpi-number {
        font-size: 1.6rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        line-height: 1;
    }

    .kpi-label-text {
        font-size: 0.78rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    .kpi-bottom-bar {
        height: 5px;
        background: var(--mud-palette-divider);
        border-radius: 3px;
        overflow: hidden;
    }

    .kpi-bottom-fill {
        height: 100%;
        border-radius: 3px;
        background: linear-gradient(90deg, #5E2FFF 0%, #7A4DFF 100%);
    }

    /* ═══════════ ردیف میانی: کیف پول + نمودار ═══════════ */
    .cr-mid-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-bottom: 22px;
    }

    .cr-wallet-card,
    .cr-chart-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 22px 24px;
    }

    .cr-section-title {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.95rem;
        font-weight: 800;
        color: var(--mud-palette-text-primary);
        margin: 0 0 16px;
    }

    .wallet-mini-card.accent {
        background: linear-gradient(135deg, var(--mud-palette-divider-light), #F5F0FF);
    }

    .wallet-mini-amount small {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    /* نمودار میله‌ای */
    .bar-chart-wrap {
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        height: 180px;
        gap: 12px;
        padding-top: 20px;
    }

    .bar-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        height: 100%;
    }

    .bar-val-tag {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 600;
        white-space: nowrap;
    }

    .bar-fill-wrap {
        flex: 1;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }

    .bar-fill {
        width: 80%;
        max-width: 48px;
        border-radius: 10px 10px 0 0;
        min-height: 8px;
        transition: height 0.4s ease;
    }

    .bar-month-label {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    /* ═══════════ جدول ═══════════ */
    .cr-table-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 22px 24px;
        margin-bottom: 22px;
    }

    .cr-table-header-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 16px;
    }

    .cr-table-header-row .cr-section-title {
        margin-bottom: 0;
    }

    .cr-table-view-all {
        font-size: 0.78rem;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        text-decoration: none;
        font-weight: 600;
    }

    .desktop-only {
        display: block;
    }

    .cr-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .cr-table {
        width: 100%;
        border-collapse: collapse;
    }

    .cr-table th {
        text-align: right;
        padding: 14px 16px;
        font-size: 0.76rem;
        font-weight: 700;
        color: var(--mud-palette-text-secondary);
        border-bottom: 1px solid var(--mud-palette-divider);
        white-space: nowrap;
    }

    .cr-table td {
        padding: 14px 16px;
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        border-bottom: 1px solid var(--mud-palette-divider);
        white-space: nowrap;
    }

    .cr-table tbody tr:hover {
        background: var(--mud-palette-background-hover, var(--mud-palette-background-hover));
    }

    /* ═══════════ CTA پایین ═══════════ */
    .cr-bottom-ctas {
        display: flex;
        gap: 14px;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .cr-kpi-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .cr-mid-row {
            grid-template-columns: 1fr;
        }

        .desktop-only {
            display: none !important;
        }

        .mobile-only {
            display: block;
        }

        .cr-bottom-ctas {
            flex-direction: column;
        }
    }

    @@media (max-width: 600px) {
        .cr-kpi-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }

        .cr-kpi-card {
            padding: 14px;
            border-radius: 22px;
        }

        .kpi-number {
            font-size: 1.3rem;
        }

        .cr-title {
            font-size: 1.2rem;
        }

        .cr-table-card {
            padding: 16px 14px;
        }

        .bar-chart-wrap {
            height: 140px;
            gap: 8px;
        }

        .bar-fill {
            max-width: 36px;
        }}

    /* ═══════════ نسخه موبایل جدول ═══════════ */
    .cr-mobile-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Dashboard\Dashboard.razor ── */
.dashboard {
        font-family: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
        background: var(--mud-palette-background);
        max-width: 1200px;
        margin: 0 auto;
        padding: 24px 20px;
        min-height: 100vh;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .dashboard *, .dashboard *::before, .dashboard *::after { box-sizing: border-box; }
    .card-title-row { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
    .card-title-icon { color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); font-size: 16px; width: 20px; text-align: center; }
    .card-heading { font-size: 1rem; font-weight: 700; color: var(--mud-palette-text-primary); }
    .btn { border: none; border-radius: 8px; font-family: 'Vazirmatn', sans-serif; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
    .btn:hover { opacity: 0.9; }
    .btn-gradient { background: linear-gradient(135deg, #6C5CE7, #00B4D8); color: #FFFFFF; padding: 9px 24px; font-size: 0.85rem; width: fit-content; }
    .btn-purple-sm { background: #6C5CE7; color: #FFFFFF; padding: 5px 16px; font-size: .75rem; border-radius: 6px; }
    .btn-review-start { background: linear-gradient(135deg, #6C5CE7, #00B4D8); color: #FFFFFF; padding: 9px 24px; font-size: 0.85rem; width: 100%; border: none; border-radius: 8px; font-family: 'Vazirmatn', sans-serif; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
    .btn-review-start:hover { opacity: 0.9; }
    .review-count-row { display: flex; align-items: baseline; gap: 10px; }
    .review-big-num { font-size: 3rem; font-weight: 800; color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); line-height: 1; }
    .review-sub { font-size: 0.85rem; color: var(--mud-palette-text-secondary); font-weight: 500; }
    .review-list { display: flex; flex-direction: column; gap: 8px; }
    .review-box { display: flex; align-items: center; gap: 10px; background: var(--mud-palette-background); border-radius: 8px; padding: 9px 14px; }
    .review-box-text { font-size: 0.82rem; color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); font-weight: 500; }
    .msg-view-all { margin-right: auto; font-size: .75rem; color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); text-decoration: none; font-weight: 500; white-space: nowrap; }
    .msg-view-all:hover { text-decoration: underline; }
    .msg-list { display: flex; flex-direction: column; gap: 18px; flex: 1; }
    .msg-item { display: flex; gap: 10px; }
    .msg-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
    .msg-body { display: flex; flex-direction: column; gap: 5px; }
    .msg-text { font-size: 0.84rem; color: var(--mud-palette-text-primary); line-height: 1.7; }
    .msg-time { font-size: .75rem; color: var(--mud-palette-text-secondary); }
    .cal-grid > span { font-size: 0.75rem; padding: 5px 0; border-radius: 6px; }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Dashboard\PremiumDashboard.razor ── */
/* ═══════════ بیس صفحه داشبورد ═══════════ */
    .dashboard-page-content {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
    }

    .dashboard-page-content *, .dashboard-page-content *::before, .dashboard-page-content *::after {
        box-sizing: border-box;
    }

    .stat-mini-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }

    .stat-mini-num {
        font-size: 1.15rem;
        font-weight: 800;
        color: var(--mud-palette-text-primary);
    }

    .stat-mini-lbl {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
    }

    .stat-flame-icon .flame-glow {
        color: var(--pw-error, #FF5A5A) !important;
    }

    .stat-divider-vert {
        width: 1px;
        height: 48px;
        background: var(--pw-primary-tint, #E8E4FF);
        flex-shrink: 0;
    }

    .card-top-icon-row {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .card-icon-circle {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #FFFFFF;
    }

    .card-section-title {
        font-size: 0.9rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
    }

    .btn-cta-blue {
        background: linear-gradient(90deg, #3EA6FF, #2D7CFF);
        color: #FFFFFF;
        border: none;
        border-radius: 12px;
        padding: 12px 20px;
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 700;
        cursor: pointer;
        transition: opacity 0.2s, transform 0.15s;
        text-align: center;
    }

    .btn-cta-blue:hover {
        opacity: 0.92;
        transform: translateY(-1px);
    }

    /* ─── مرور هوشمند ─── */
    .review-big-number-area {
        display: flex;
        align-items: baseline;
        gap: 14px;
    }

    .review-huge-num {
        font-size: 3.5rem;
        font-weight: 900;
        background: linear-gradient(135deg, #6A35FF, #7E4CFF);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        line-height: 1;
    }

    .review-sub-text {
        font-size: 0.85rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    .review-topic-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .review-topic-row {
        display: flex;
        align-items: center;
        gap: 10px;
        background: var(--mud-palette-background);
        padding: 10px 14px;
        border-radius: 12px;
    }

    .review-topic-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .review-topic-name {
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        flex: 1;
        font-weight: 500;
    }

    .review-topic-chip {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        background: var(--pw-primary-tint, #EAE8F0);
        padding: 3px 10px;
        border-radius: 8px;
        font-weight: 500;
        white-space: nowrap;
    }

    .btn-cta-review {
        background: linear-gradient(90deg, #6A35FF, #7E4CFF);
        color: #FFFFFF;
        border: none;
        border-radius: 12px;
        padding: 12px 20px;
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 700;
        cursor: pointer;
        transition: opacity 0.2s, transform 0.15s;
        text-align: center;
    }

    .btn-cta-review:hover {
        opacity: 0.92;
        transform: translateY(-1px);
    }

    .btn-weak-practice {
        background: #6A35FF;
        color: #FFFFFF;
        border: none;
        border-radius: 8px;
        padding: 6px 14px;
        font-family: inherit;
        font-size: .75rem;
        font-weight: 600;
        cursor: pointer;
        align-self: flex-start;
        transition: opacity 0.2s;
    }

    .btn-weak-practice:hover {
        opacity: 0.9;
    }

    /* ─── پیام‌های سیستمی ─── */
    .msg-timeline {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .msg-timeline-item {
        display: flex;
        gap: 10px;
    }

    .msg-timeline-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        flex-shrink: 0;
        margin-top: 5px;
        box-shadow: 0 0 0 3px rgba(0,0,0,0.04);
    }

    .msg-timeline-content {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .msg-timeline-text {
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        line-height: 1.7;
        margin: 0;
    }

    .msg-timeline-time {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
    }

    .btn-cta-outline {
        background: transparent;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        border: 1.5px solid var(--pw-primary-tint-border, #D4C8F0);
        border-radius: 12px;
        padding: 10px 20px;
        font-family: inherit;
        font-size: 0.82rem;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.2s;
        text-align: center;
    }

    .btn-cta-outline:hover {
        background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));
        border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
    }

    /* ═══════════ دکمه CTA پایین ═══════════ */
    .bottom-cta-bar {
        position: sticky;
        bottom: 20px;
        margin: 20px 20px 20px;
        z-index: 20;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .profile-header-card {
            flex-direction: column;
            align-items: stretch;
            gap: 16px;
            padding: 20px;
        }

        .profile-stats-section {
            flex-direction: row;
            justify-content: center;
            gap: 24px;
        }

        .stat-divider-vert {
            width: 1px;
            height: 40px;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Dashboard\UserDashboard.razor ── */
/* ─── فونت + بک‌گراند کلی ─── */
    .dashboard-layout {
        font-family: 'Vazirmatn', 'IRANSans', 'Tahoma', 'Roboto', sans-serif;
        background-color: var(--pw-surface-alt, #F4F7FC);
        min-height: 100vh;
        position: relative;
    }

    .dashboard-main {
        background-color: var(--pw-surface-alt, #F4F7FC);
        min-height: 100vh;
        padding-bottom: 80px;
    }

    .dashboard-container {
        padding-top: 20px;
        padding-bottom: 16px;
    }

    /* ──────────────────────────────────────────
        سایدبار (MudDrawer)
       ────────────────────────────────────────── */
    .dashboard-sidebar {
        background-color: var(--pw-surface, #FFFFFF) !important;
        border-right: none !important;
        box-shadow: 0 0 20px rgba(0,0,0,0.04);
    }

    .dashboard-sidebar .mud-drawer-content {
        background-color: var(--mud-palette-surface);
    }

    .logo-text {
        color: var(--pw-primary, #6A35C0) !important;
        font-weight: 800 !important;
        font-size: 1.5rem !important;
        margin: 0;
    }

    /* ─── آیتم فعال منو ─── */
    .sidebar-nav .mud-nav-link.active,
    .sidebar-nav .nav-link-active.active {
        background-color: #6A3E9D !important;
        color: #FFFFFF !important;
        border-radius: 10px;
    }

    .sidebar-nav .mud-nav-link.active .mud-nav-link-icon,
    .sidebar-nav .nav-link-active.active .mud-nav-link-icon {
        color: #FFFFFF !important;
    }

    /* ─── آیتم‌های غیرفعال ─── */
    .sidebar-nav .mud-nav-link {
        color: var(--pw-text-muted, #757575) !important;
        border-radius: 10px;
        margin-bottom: 2px;
        transition: background-color 0.2s;
    }

    .sidebar-nav .mud-nav-link:hover:not(.active) {
        background-color: var(--pw-primary-tint, #F5F0FA);
    }

    .sidebar-nav .mud-nav-link .mud-nav-link-icon {
        color: var(--pw-text-muted, #9E9E9E) !important;
    }

    /* ─── نشانگر پیام‌ها ─── */
    .nav-item-with-badge {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .msg-badge .mud-badge {
        background-color: #6A35C0 !important;
        min-width: 20px;
        height: 20px;
        font-size: .75rem;
    }

    .dash-card .mud-card-content {
        padding: 20px !important;
    }

    .card-header-row {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
    }

    .card-title {
        font-weight: 700;
        color: var(--pw-text, #212121);
    }

    .profile-card .mud-card-content {
        padding: 24px !important;
    }

    /* بخش XP */
    .xp-section {
        margin-top: 4px;
    }

    .xp-progress-bar .mud-progress-linear-bar {
        background-color: var(--pw-surface, #FFFFFF) !important;
        border-radius: 10px !important;
    }

    .btn-mission-start {
        background-color: #7C4DFF !important;
        border-radius: 10px !important;
        font-weight: 600 !important;
    }

    /* ──────────────────────────────────────────
        کارت مرور امروز
       ────────────────────────────────────────── */
    .review-big-number {
        display: flex;
        align-items: baseline;
        gap: 12px;
        margin: 8px 0 14px 0;
    }

    .review-count {
        font-size: 3.5rem !important;
        font-weight: 800 !important;
        color: var(--pw-primary, #6A35C0) !important;
        line-height: 1 !important;
    }

    .review-subtitle {
        font-size: 0.85rem !important;
    }

    .review-list {
        margin-bottom: 12px;
    }

    .review-list-item {
        padding: 4px 0 !important;
    }

    .review-item-content {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
    }

    .review-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .review-title {
        font-size: 0.84rem;
        color: var(--pw-text, #212121);
        flex: 1;
    }

    .review-chip {
        background-color: var(--pw-surface-alt, #F0F0F0) !important;
        font-size: .75rem !important;
        height: 24px !important;
        white-space: nowrap;
    }

    .btn-review-start {
        border-radius: 10px !important;
        background: linear-gradient(135deg, #6C5CE7, #00B4D8) !important;
        font-weight: 600 !important;
    }

    .weak-progress .mud-progress-linear-bar {
        border-radius: 6px !important;
    }

    .btn-weak-practice {
        background-color: #6A3E9D !important;
        color: #FFFFFF !important;
        border-radius: 8px !important;
        font-size: .75rem !important;
        align-self: flex-start;
    }

    /* ──────────────────────────────────────────
        کارت پیام‌های سیستمی
       ────────────────────────────────────────── */
    .system-messages {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .msg-item {
        display: flex;
        gap: 10px;
    }

    .msg-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        flex-shrink: 0;
        margin-top: 6px;
    }

    .msg-content {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .msg-body-text {
        color: var(--pw-text, #212121) !important;
        line-height: 1.6 !important;
        font-size: 0.84rem !important;
    }

    .btn-rivals-table {
        border-radius: 10px !important;
        font-weight: 600 !important;
    }

    /* ──────────────────────────────────────────
        فوتر بنفش
       ────────────────────────────────────────── */
    .dashboard-footer {
        background-color: #6200EA !important;
        border-radius: 0 !important;
        position: relative;
        width: 100%;
        margin-top: auto;
    }

    /* ──────────────────────────────────────────
        دکمه شناور (FAB) موبایل
       ────────────────────────────────────────── */
    .mobile-fab {
        position: fixed !important;
        bottom: 24px !important;
        left: 24px !important;
        z-index: 1300 !important;
        background-color: #6A35C0 !important;
        box-shadow: 0 4px 16px rgba(106,53,192,0.4) !important;
    }

    /* ──────────────────────────────────────────
        ریسپانسیو (موبایل)
       ────────────────────────────────────────── */
    @@media (max-width: 959px) {
        .profile-main {
            flex-direction: column;
            text-align: center;
        }

        .profile-name-row {
            justify-content: center;
        }

        .profile-avatar-frame {
            margin-bottom: 8px;
        }

        .dashboard-container {
            padding: 12px 8px;
        }

        .hex-medal {
            width: 48px;
            height: 48px;
        }

        .review-count {
            font-size: 2.8rem !important;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\AiGenerate.razor ── */
.ai-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15,23,42,0.48);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        padding: 20px;
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
    }

        .ai-overlay *, .ai-overlay *::before, .ai-overlay *::after {
            box-sizing: border-box;
        }

    .seg-on {
        background: #7C3AED !important;
        color: #FFFFFF !important;
        box-shadow: 0 4px 12px rgba(124,58,237,0.25);
        position: relative;
        z-index: 1;
    }

        .ai-text-input::placeholder {
            color: var(--mud-palette-text-disabled);
        }

    .opt-correct {
        background: var(--mud-palette-success-light);
        border-color: var(--mud-palette-success-light);
    }

    .opt-correct .q-opt-letter {
        background: #16A34A;
        color: #FFFFFF;
    }

    .opt-check-icon {
        color: var(--pw-success, #16A34A) !important;
        flex-shrink: 0;
    }

    /* ═══════════ موبایل ═══════════ */
    @@media (max-width: 768px) {
        .ai-overlay {
            padding: 0;
            align-items: stretch;
        }

        .ai-modal {
            max-width: 100%;
            max-height: 100vh;
            border-radius: 0;
        }

        .ai-header {
            padding: 14px 16px 10px;
        }

        .ai-title {
            font-size: 0.9rem;
        }

        .ai-body {
            padding: 0 16px 8px;
            gap: 14px;
        }

        .ai-settings-row {
            flex-direction: column;
        }

        .ai-field-narrow {
            flex: unset;
        }

        .q-options {
            grid-template-columns: 1fr;
        }

        .ai-bottom-bar {
            padding: 12px 16px 18px;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\CreateQuestion.razor ── */
.cq-overlay {
        position: fixed;
        inset: 0;
        background: rgba(20,20,35,0.45);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        padding: 20px;
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
    }

        .cq-overlay *, .cq-overlay *::before, .cq-overlay *::after {
            box-sizing: border-box;
        }

    /* ─── پنل چپ: AI ─── */
    .cq-left-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: 0 20px 16px;
        border-left: 1px solid var(--pw-primary-tint-border, #ECEBFF);
        min-width: 0;
    }

    .user-msg {
        justify-content: flex-end;
    }

    .user-bubble {
        background: linear-gradient(135deg, #6D3EFF 0%, #5B3DF5 100%);
        border-top-left-radius: 6px;
    }

        .user-bubble p {
            color: #FFFFFF;
        }

    .cq-bubble p {
        font-size: 0.8rem;
        margin: 0;
        line-height: 1.6;
    }

        .cq-chat-input::placeholder {
            color: var(--mud-palette-text-disabled);
        }

        .cq-textarea::placeholder {
            color: var(--mud-palette-text-disabled);
        }

    .cq-radio:checked + .cq-radio-custom {
        border-color: var(--pw-primary, #6D3EFF);
        background: #6D3EFF;
        box-shadow: 0 0 0 3px rgba(109,62,255,0.15), inset 0 0 0 4px #FFFFFF;
    }

        .cq-opt-input::placeholder {
            color: var(--mud-palette-text-disabled);
        }

    .seg-active {
        background: #6D3EFF !important;
        color: #FFFFFF !important;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 850px) {
        .cq-overlay {
            padding: 0;
            align-items: stretch;
        }

        .cq-modal {
            max-width: 100%;
            max-height: 100vh;
            border-radius: 0;
        }

        .cq-header {
            padding: 14px 14px 8px;
        }

        .cq-title {
            font-size: 0.95rem;
        }

        .cq-body {
            flex-direction: column;
            overflow-y: auto;
        }

        .cq-left-panel {
            border-left: none;
            border-bottom: 1px solid var(--pw-primary-tint-border, #ECEBFF);
            padding-bottom: 14px;
        }

        .cq-right-panel {
            padding-top: 8px;
        }

        .cq-opts-grid {
            grid-template-columns: 1fr;
        }

        .cq-suggest-opts {
            grid-template-columns: 1fr;
        }

        .cq-field-row {
            flex-direction: column;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\ExamResults.razor ── */
.er-page {
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 4px 40px
    }

        .er-page *, .er-page *::before, .er-page *::after {
            box-sizing: border-box
        }

    .er-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        flex-wrap: wrap;
        gap: 12px
    }

    .er-top-left {
        display: flex;
        align-items: center;
        gap: 14px
    }

    .er-top-icon {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: linear-gradient(135deg,#6D3BFF,#4A3DFF);
        display: flex;
        align-items: center;
        justify-content: center
    }

    .er-top-svg {
        color: #FFF !important
    }

    .er-title {
        font-size: 1.25rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        margin: 0
    }

    .er-sub {
        font-size: .8rem;
        color: var(--mud-palette-text-secondary);
        margin: 2px 0 0
    }

    .er-top-right {
        display: flex;
        align-items: center;
        gap: 10px
    }

    .er-select-wrap {
        position: relative
    }

    .er-select {
        height: 44px;
        background: var(--mud-palette-surface);
        border: 1px solid var(--mud-palette-divider);
        border-radius: 14px;
        padding: 0 38px 0 14px;
        font-family: inherit;
        font-size: .84rem;
        color: var(--mud-palette-text-primary);
        outline: none;
        appearance: none;
        cursor: pointer
    }

    .er-select:focus {
        border-color: var(--mud-palette-primary);
    }

    .er-sel-arrow {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--mud-palette-text-secondary) !important;
        pointer-events: none
    }

    .er-export-btn {
        display: flex;
        align-items: center;
        gap: 6px;
        background: var(--pw-info-tint, #D9EDFF);
        color: var(--pw-info, #1B6BA0);
        border: none;
        border-radius: 14px;
        padding: 10px 20px;
        font-family: inherit;
        font-size: .82rem;
        font-weight: 700;
        cursor: pointer
    }

    /* KPI */
    .er-kpi-row {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 14px;
        margin-bottom: 20px
    }

    .er-kpi-card {
        background: var(--mud-palette-surface);
        border-radius: 24px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.05);
        padding: 18px 20px;
        display: flex;
        align-items: center;
        gap: 14px
    }

    .er-kpi-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .er-kpi-purple {
        background: linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2))
    }

        .er-kpi-purple .mud-icon-root {
            color: var(--pw-primary, #6D3BFF) !important
        }

    .er-kpi-blue {
        background: linear-gradient(135deg,var(--mud-palette-info-light),#BBDEFB)
    }

        .er-kpi-blue .mud-icon-root {
            color: var(--pw-info, #3792FF) !important
        }

    .er-kpi-green {
        background: linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9)
    }

        .er-kpi-green .mud-icon-root {
            color: var(--pw-success, #22A447) !important
        }

    .er-kpi-orange {
        background: linear-gradient(135deg,var(--mud-palette-warning-light),#FFE0B2)
    }

        .er-kpi-orange .mud-icon-root {
            color: var(--pw-warning, #F5B62F) !important
        }

    .er-kpi-info {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 2px
    }

    .er-kpi-lbl {
        font-size: .75rem;
        color: var(--pw-text-muted, #7B7B96)
    }

    .er-kpi-val {
        font-size: 1.2rem;
        font-weight: 900;
        color: var(--pw-text, #1B1B1F)
    }

    .er-kpi-chg {
        font-size: .75rem;
        font-weight: 700;
        padding: 2px 8px;
        border-radius: 999px
    }

        .er-kpi-chg.up {
            color: var(--pw-success, #22A447);
            background: rgba(34,164,71,.1)
        }

        .er-kpi-chg.down {
            color: var(--mud-palette-error);
            background: rgba(229,57,53,.1)
        }

    /* ردیف میانی */
    .er-mid-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .er-chart-card, .er-table-card {
        background: var(--mud-palette-surface);
        border-radius: 24px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.05);
        padding: 20px 22px
    }

    .er-sec-title {
        font-size: .9rem;
        font-weight: 800;
        color: var(--mud-palette-text-primary);
        margin: 0 0 16px
    }

    /* نمودار */
    .er-bars-wrap {
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        height: 170px;
        gap: 14px;
        padding-top: 14px
    }

    .er-bar-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        height: 100%
    }

    .er-bar-val {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 600
    }

    .er-bar-track {
        flex: 1;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center
    }

    .er-bar-fill {
        width: 80%;
        max-width: 50px;
        border-radius: 10px 10px 0 0;
        min-height: 6px;
        background: linear-gradient(180deg,#A98BFF,#5C3FFF)
    }

    .er-bar-lbl {
        font-size: .75rem;
        color: var(--pw-text-muted, #7B7B96)
    }

    /* جدول */
    .er-tbl-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .er-table {
        width: 100%;
        min-width: 400px;
        border-collapse: collapse
    }

        .er-table th {
            text-align: right;
            padding: 12px 14px;
            font-size: .75rem;
            font-weight: 700;
            color: var(--pw-primary, #6D3BFF);
            border-bottom: 1px solid var(--pw-primary-tint-border, #F0ECFA)
        }

        .er-table td {
            padding: 12px 14px;
            font-size: .8rem;
            color: var(--mud-palette-text-primary);
            border-bottom: 1px solid var(--pw-primary-tint-border, #F8F6FC)
        }

        .er-table tbody tr:hover {
            background: var(--mud-palette-background-hover)
        }

    .er-td-name {
        font-weight: 600
    }

    .er-td-score {
        font-weight: 700;
        color: var(--pw-primary, #6D3BFF)
    }

    .er-td-date {
        font-size: .75rem;
        color: var(--pw-text-muted, #7B7B96)
    }

    .er-status {
        display: inline-block;
        font-size: .75rem;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 999px
    }

    .st-pass {
        background: var(--mud-palette-success-light);
        color: var(--pw-success, #22A447)
    }

    .st-fail {
        background: var(--mud-palette-error-light);
        color: var(--mud-palette-error)
    }

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px) {
        .er-kpi-row {
            grid-template-columns: repeat(2,1fr)
        }

        .er-mid-row {
            grid-template-columns: 1fr
        }
    }

    @@media(max-width:600px) {
        .er-kpi-row {
            grid-template-columns: 1fr
        }

        .er-kpi-card {
            padding: 14px 16px
        }

        .er-top {
            flex-direction: column;
            align-items: flex-start
        }}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\ExamsList.razor ── */
.exams-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .exams-page *, .exams-page *::before, .exams-page *::after {
        box-sizing: border-box;
    }

    /* ═══════════ جستجو ═══════════ */
    .search-bar-wrap {
        display: flex;
        align-items: center;
        background: var(--mud-palette-background-grey);
        border-radius: 14px;
        padding: 0 16px;
        margin-bottom: 18px;
        border: 1px solid transparent;
        transition: border-color 0.2s;
    }

    .search-bar-wrap:focus-within {
        border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        background: var(--mud-palette-surface);
    }

    .search-icon {
        color: var(--pw-primary, #6A35FF) !important;
        flex-shrink: 0;
    }

    .search-input {
        flex: 1;
        border: none;
        background: transparent;
        padding: 14px 12px;
        font-family: inherit;
        font-size: 0.86rem;
        color: var(--mud-palette-text-primary);
        outline: none;
    }

    .search-input::placeholder {
        color: var(--mud-palette-text-secondary);
    }

    .search-clear-btn {
        background: none;
        border: none;
        cursor: pointer;
        color: var(--mud-palette-text-disabled);
        padding: 4px;
    }

    .diff-easy {
        background: var(--mud-palette-success-light);
        color: var(--mud-palette-success);
    }

    .diff-medium {
        background: var(--mud-palette-warning-light);
        color: var(--mud-palette-warning);
    }

    .diff-hard {
        background: var(--mud-palette-error-light);
        color: var(--mud-palette-error);
    }

    .page-nav-btn:hover:not(:disabled) {
        background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));
    }

    .page-nav-btn:disabled {
        opacity: 0.4;
        cursor: not-allowed;
        color: var(--mud-palette-text-disabled);
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .exam-card {
            padding: 18px 20px;
            border-radius: 22px;
        }

        .exam-card-top {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        .exam-badges-row {
            justify-content: center;
        }

        .exam-card-bottom {
            flex-direction: column;
            gap: 12px;
            align-items: center;
        }

        .exam-cta-btn {
            width: 100%;
            justify-content: center;
        }

        .exam-meta-row {
            justify-content: center;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\MyExams.razor ── */
.me-page {
        font-family: 'Vazirmatn','Peyda','Yekan Bakh','Dana','IRANSans','Tahoma',sans-serif;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }
    .me-page *, .me-page *::before, .me-page *::after { box-sizing: border-box; }

    /* ─── هدر ─── */
    .me-top-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 22px;
        flex-wrap: wrap;
        gap: 14px;
    }
    .me-top-left {
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .me-title-icon {
        width: 50px; height: 50px;
        border-radius: 50%;
        background: var(--mud-palette-divider, var(--mud-palette-divider-light));
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .me-title-icon-svg { color: var(--pw-primary, #6A35FF) !important; }
    .me-title-block { display: flex; flex-direction: column; gap: 3px; }
    .me-title { font-size: 1.5rem; font-weight: 900; color: var(--pw-text, #151521); margin: 0; }
    .me-subtitle { font-size: 0.84rem; color: var(--mud-palette-text-secondary); margin: 0; }

    .me-create-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        background: linear-gradient(90deg, #5E2FFF 0%, #7A4DFF 100%);
        color: #FFFFFF;
        border: none;
        border-radius: 18px;
        height: 56px;
        padding: 0 28px;
        font-family: inherit;
        font-size: 0.9rem;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 6px 20px rgba(94,47,255,0.22);
        transition: transform 0.15s, box-shadow 0.15s;
        white-space: nowrap;
    }
    .me-create-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(94,47,255,0.3); }
    .me-create-icon { color: #FFFFFF !important; }

    /* ─── فیلترها ─── */
    .me-filters-row {
        display: flex;
        gap: 12px;
        margin-bottom: 20px;
    }
    .me-search-wrap {
        flex: 1;
        position: relative;
        display: flex;
        align-items: center;
    }
    .me-search-icon {
        position: absolute;
        right: 16px;
        color: var(--mud-palette-text-secondary) !important;
        pointer-events: none;
        z-index: 2;
    }
    .me-search-input {
        width: 100%;
        height: 64px;
        background: var(--mud-palette-surface);
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        border-radius: 20px;
        padding: 0 46px 0 20px;
        font-family: inherit;
        font-size: 0.88rem;
        color: var(--pw-text, #151521);
        outline: none;
        transition: border-color 0.2s;
    }
    .me-search-input:focus { border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); }
    .me-search-input::placeholder { color: var(--mud-palette-text-disabled); }

    .me-select-wrap {
        position: relative;
        min-width: 180px;
    }
    .me-select {
        width: 100%;
        height: 64px;
        background: var(--mud-palette-surface);
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        border-radius: 20px;
        padding: 0 42px 0 20px;
        font-family: inherit;
        font-size: 0.88rem;
        color: var(--pw-text, #151521);
        outline: none;
        appearance: none;
        cursor: pointer;
    }
    .me-select:focus { border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); }
    .me-select-arrow {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--mud-palette-text-secondary) !important;
        pointer-events: none;
    }

    /* ─── پنهان/نمایش ─── */
    .desktop-only { display: block; }

    /* ─── جدول ─── */
    .me-table-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        overflow: hidden;
        margin-bottom: 20px;
    }
    .me-table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .me-table {
        width: 100%;
        min-width: 950px;
        border-collapse: collapse;
    }
    .me-table thead {
        background: var(--mud-palette-primary-hover, var(--mud-palette-primary-hover-light));
    }
    .me-table th {
        text-align: right;
        padding: 16px 18px;
        font-size: 0.78rem;
        font-weight: 700;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        white-space: nowrap;
    }
    .me-table td {
        padding: 16px 18px;
        font-size: 0.84rem;
        color: var(--pw-text, #151521);
        border-bottom: 1px solid var(--mud-palette-divider);
        white-space: nowrap;
    }
    .me-table tbody tr:hover { background: var(--mud-palette-background-hover, var(--mud-palette-background-hover)); }

    /* ─── نشان‌ها ─── */
    .me-badge {
        display: inline-block;
        font-size: .75rem;
        font-weight: 700;
        padding: 4px 12px;
        border-radius: 999px;
    }
    .me-action-btn {
        width: 34px; height: 34px;
        border-radius: 12px;
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        background: var(--mud-palette-surface);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: var(--mud-palette-text-secondary);
        transition: all 0.15s;
    }
    .me-action-btn:hover { background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD)); color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); }

    /* ─── صفحه‌بندی ─── */
    .me-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-bottom: 20px;
    }
    .me-page-btn {
        background: var(--mud-palette-surface);
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        border-radius: 14px;
        padding: 9px 18px;
        font-family: inherit;
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        cursor: pointer;
    }
    .me-page-btn:disabled { opacity: 0.35; cursor: not-allowed; color: var(--mud-palette-text-disabled); }
    .me-page-num {
        width: 40px; height: 40px;
        border-radius: 12px;
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        background: var(--mud-palette-surface);
        font-family: inherit;
        font-size: 0.84rem;
        font-weight: 700;
        color: var(--mud-palette-text-secondary);
        cursor: pointer;
    }

    /* ─── نوک پاورقی ─── */
    .me-footer-tip {
        display: flex;
        align-items: center;
        gap: 10px;
        background: var(--mud-palette-divider, var(--mud-palette-divider-light));
        border-radius: 18px;
        padding: 14px 20px;
        font-size: 0.82rem;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        font-weight: 500;
    }
    .me-tip-icon { color: var(--pw-primary, #6A35FF) !important; flex-shrink: 0; }

    /* ═══════════ نسخه موبایل ═══════════ */
    @@media (max-width: 959px) {
        .desktop-only { display: none !important; }
        .mobile-only { display: block; }

        .me-filters-row {
            flex-direction: column;
        }
        .me-select-wrap {
            min-width: unset;
        }

        .me-mobile-list {
            display: flex;
            flex-direction: column;
            gap: 14px;
            margin-bottom: 20px;
        }
        .me-mob-card {
            background: var(--mud-palette-surface);
            border-radius: 22px;
            border: 1px solid var(--mud-palette-divider);
            box-shadow: 0 4px 18px rgba(0,0,0,0.04);
            padding: 16px 18px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        .mob-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .mob-card-left {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .mob-card-name { font-size: 0.9rem; font-weight: 700; color: var(--pw-text, #151521); }
        .mob-card-date { font-size: .75rem; color: var(--mud-palette-text-secondary); }
        .mob-card-badges { display: flex; gap: 6px; flex-wrap: wrap; }
        .mob-card-stats {
            display: flex;
            gap: 14px;
            font-size: 0.76rem;
            color: var(--mud-palette-text-secondary);
        }
        .mob-card-actions {
            display: flex;
            gap: 6px;
            justify-content: flex-end;
        }
    }

    @@media (max-width: 600px) {
        .me-title { font-size: 1.15rem; }
        .me-create-btn { height: 48px; padding: 0 20px; font-size: 0.82rem; border-radius: 14px; }
        .me-search-input, .me-select { height: 52px; border-radius: 16px; }
        .me-table-card { border-radius: 20px; }}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\QuestionBank.razor ── */
.qb-page {
        font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width:1200px;margin:0 auto;padding:0 4px 40px;
    }
    .qb-page *,.qb-page *::before,.qb-page *::after{box-sizing:border-box}
    .qb-search-input::placeholder{color:var(--mud-palette-text-disabled)}

    /* ─── جدول ─── */
    .desktop-only{display:block}
    .qb-table thead{background:var(--mud-palette-background-grey)}
    .qb-table th{text-align:right;padding:14px 16px;font-size:.75rem;font-weight:700;color:var(--mud-palette-primary);white-space:nowrap}
    .qb-table td{padding:14px 16px;font-size:.82rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-border, #F5F2FD)}
    .qb-table tbody tr:hover{background:var(--mud-palette-background-hover)}
    .qb-pag-btn:disabled{opacity:.35;cursor:not-allowed;color:var(--mud-palette-text-disabled)}

    /* ─── FAB ─── */
    .qb-fab{display:none}

    /* ═══════════ موبایل ═══════════ */
    @@media(max-width:850px){
        .desktop-only{display:none!important}.mobile-only{display:block}
        .qb-filter-card{flex-wrap:wrap}.qb-select-wrap{min-width:unset;flex:1}
        .qb-mob-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
        .qb-mob-card{background: var(--mud-palette-surface);border-radius:20px;border:1px solid var(--mud-palette-divider);box-shadow:0 4px 16px rgba(0,0,0,0.04);padding:16px;display:flex;flex-direction:column;gap:10px}
        .mob-top{display:flex;align-items:center;gap:8px}
        .mob-num{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--mud-palette-primary),#5B3DF5);color:#FFF;display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:800}
        .mob-text{font-size:.84rem;color: var(--mud-palette-text-primary);line-height:1.6;margin:0}
        .mob-meta{display:flex;gap:14px;font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}
        .mob-acts{display:flex;gap:6px;justify-content:flex-end}
        .qb-fab{display:flex;align-items:center;gap:8px;position:fixed;bottom:24px;left:24px;z-index:100;background:linear-gradient(135deg,var(--mud-palette-primary),#5B3DF5);color:#FFF;border:none;border-radius:50px;padding:15px 24px;font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(111,65,255,.35)}
        .qb-fab:hover{transform:translateY(-2px)}
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Exam\SelectQuestions.razor ── */
.sq-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15,10,30,0.55);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        padding: 20px;
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
    }

    .sq-overlay *, .sq-overlay *::before, .sq-overlay *::after { box-sizing: border-box; }
    .sq-search-input::placeholder { color: var(--mud-palette-text-disabled); }

    /* ─── جدول (دسکتاپ) ─── */
    .desktop-only { display: block; }
    .sq-table thead {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--mud-palette-background-grey);
    }
    .sq-table th {
        text-align: right;
        padding: 14px 16px;
        font-size: 0.76rem;
        font-weight: 700;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        white-space: nowrap;
    }
    .sq-table td {
        padding: 14px 16px;
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        border-bottom: 1px solid var(--mud-palette-divider);
    }
    .sq-table tbody tr {
        cursor: pointer;
        transition: background 0.15s;
    }
    .sq-table tbody tr:hover { background: var(--mud-palette-background-hover, var(--mud-palette-background-hover)); }
    .sq-checkbox.checked {
        background: #7C3AED;
        border-color: var(--pw-primary, #7C3AED);
        box-shadow: 0 3px 10px rgba(124,58,237,0.3);
    }
    .sq-confirm-btn:hover:not(:disabled) {
        transform: translateY(-2px);
        box-shadow: 0 12px 28px rgba(124,58,237,0.35);
    }
    .sq-confirm-btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    /* ═══════════ موبایل ═══════════ */
    @@media (max-width: 768px) {
        .sq-overlay { padding: 0; align-items: stretch; }
        .sq-modal {
            max-width: 100%;
            max-height: 100vh;
            border-radius: 0;
        }
        .sq-header { padding: 16px 18px 12px; }
        .sq-header-title { font-size: 1rem; }
        .sq-filters {
            flex-direction: column;
            padding: 0 18px 12px;
        }
        .sq-select-wrap { min-width: unset; }

        .desktop-only { display: none !important; }
        .mobile-only { display: block; }

        .sq-table-wrap { margin: 0 18px; }

        .sq-mobile-list {
            flex: 1;
            overflow-y: auto;
            padding: 0 18px 12px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .sq-mob-card {
            background: var(--mud-palette-surface);
            border: 1px solid var(--mud-palette-divider);
            border-radius: 18px;
            padding: 14px 16px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            cursor: pointer;
            transition: all 0.15s;
        }
        .mob-card-sel {
            background: var(--mud-palette-background-grey);
            border-color: var(--pw-primary, #7C3AED);
        }
        .mob-card-top {
            display: flex;
            gap: 6px;
            align-items: center;
        }
        .mob-card-date { font-size: .75rem; color: var(--mud-palette-text-secondary); margin-right: auto; }
        .mob-card-text { font-size: 0.84rem; color: var(--mud-palette-text-primary); line-height: 1.6; margin: 0; }
        .sq-mob-card .sq-checkbox { align-self: flex-end; }

        .sq-bottom-bar {
            padding: 14px 18px 18px;
            flex-direction: column;
        }
        .sq-cancel-btn, .sq-confirm-btn { width: 100%; justify-content: center; }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Profile\Achievements.razor ── */
.achievements-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .achievements-page *, .achievements-page *::before, .achievements-page *::after {
        box-sizing: border-box;
    }

    .ring-bg {
        fill: none;
        stroke: #ECE7FF;
        stroke-width: 8;
    }

    .ring-fill {
        fill: none;
        stroke: url(#ringGradient);
        stroke-width: 8;
        stroke-linecap: round;
        stroke-dasharray: 264;
        stroke-dashoffset: 174;
        transition: stroke-dashoffset 0.8s ease;
    }

    .ring-pct {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 1rem;
        font-weight: 800;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
    }

    .badge-status-icon.locked {
        color: var(--mud-palette-text-disabled) !important;
    }

    .locked-text {
        color: var(--mud-palette-text-disabled) !important;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .achv-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
        }

        .achv-header-card {
            flex-direction: column;
            gap: 16px;
            text-align: center;
            padding: 22px 20px;
        }

        .achv-header-left {
            flex-direction: column;
        }

        .pinned-cards-row {
            flex-direction: column;
        }

        .achv-filter-tabs {
            gap: 8px;
        }

        .filter-tab {
            padding: 8px 16px;
            font-size: 0.78rem;
        }
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Profile\Profile.razor ── */
.profile-page {
        max-width: 600px; margin: 0 auto;
        font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
    }
    .edit-fields { display: flex; flex-direction: column; gap: 12px; }
    .edit-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }
    .mt-4 { margin-top: 16px; }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Profile\Settings.razor ── */
.st-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .st-page *,.st-page *::before,.st-page *::after{box-sizing:border-box}
    .st-header-left{display:flex;align-items:center;gap:14px}
    .st-header-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .st-header-svg{color:#FFF!important}
    .st-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.st-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}

    /* تب‌ها */
    .st-tabs-scroll{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
    .st-tab{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:14px;border: 1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);font-family:inherit;font-size:.84rem;font-weight:600;color: var(--mud-palette-text-secondary);cursor:pointer;white-space:nowrap}
    .st-tab:hover{border-color:var(--mud-palette-divider);color:var(--pw-primary, #6D3BFF)}.st-tab-on{background:linear-gradient(135deg,#6D3BFF,#4A3DFF)!important;color:#FFF!important;border-color:transparent!important}

    .st-body{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}

    /* فرم */
    .st-form-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:24px 26px;display:flex;flex-direction:column;gap:24px}
    .st-form-section{display:flex;flex-direction:column;gap:16px}
    .st-sec-title{font-size:.9rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0;display:flex;align-items:center;gap:8px}
    .st-stat-icn{color:var(--pw-primary, #6D3BFF)!important}

    .st-field{display:flex;flex-direction:column;gap:6px;flex:1}
    .st-lbl{font-size:.78rem;font-weight:700;color:var(--pw-text-muted, #7B7B96)}
    .st-input{height:46px;background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E7EBF3);border-radius:14px;padding:0 16px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none}.st-input:focus{border-color:var(--pw-primary, #6D3BFF);box-shadow:0 0 0 3px rgba(109,59,255,.08)}
    .st-textarea{background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E7EBF3);border-radius:14px;padding:12px 16px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none;resize:none}.st-textarea:focus{border-color:var(--pw-primary, #6D3BFF)}
    .st-hint{font-size:.75rem;color:var(--mud-palette-text-disabled)}
    .st-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

    .st-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.st-toggle-lbl{font-size:.84rem;font-weight:600;color:var(--pw-text, #1B1B1F)}
    .st-switch{position:relative;display:inline-block;width:48px;height:26px}.st-switch input{opacity:0;width:0;height:0}.st-switch-slider{position:absolute;cursor:pointer;inset:0;background: rgba(139,92,246,0.15);border-radius:26px;transition:.25s}.st-switch-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background: var(--mud-palette-surface);border-radius:50%;transition:.25s}.st-switch input:checked+.st-switch-slider{background:#22A447}.st-switch input:checked+.st-switch-slider::before{transform:translateX(22px)}

    /* دکمه‌ها */
    .st-form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .st-btn-reset{background: var(--mud-palette-surface);color:var(--mud-palette-error);border:1px solid var(--pw-error-border, #FFCDD2);border-radius:14px;padding:10px 22px;font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer}
    .st-btn-save{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:14px;padding:10px 26px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(109,59,255,.2)}

    /* وضعیت */
    .st-status-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
    .st-stat-grid{display:flex;flex-direction:column;gap:12px}
    .st-stat-item{display:flex;align-items:center;gap:12px}
    .st-stat-dot{width:10px;height:10px;border-radius:50%}.st-stat-dot.ok{background:#22A447;box-shadow:0 0 0 4px rgba(34,164,71,.15)}
    .st-stat-item>div{display:flex;flex-direction:column;gap:1px}.st-stat-name{font-size:.78rem;color:var(--pw-text-muted, #7B7B96)}.st-stat-val{font-size:.84rem;font-weight:700;color:var(--pw-success, #22A447)}
    .st-stat-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--mud-palette-text-disabled)}
    .st-success-box{display:flex;align-items:center;gap:8px;background:var(--mud-palette-success-light);border-radius:14px;padding:12px 16px;font-size:.78rem;font-weight:600;color:var(--pw-success, #22A447)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.st-body{grid-template-columns:1fr}.st-status-card{position:static}.st-row-2{grid-template-columns:1fr}}
    @@media(max-width:600px){.st-form-card{padding:16px 14px}.st-form-actions{flex-direction:column}.st-btn-save,.st-btn-reset{width:100%;justify-content:center}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Profile\Wallet.razor ── */
.wl-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:950px;margin:0 auto;padding:0 4px 40px}
    .wl-page *,.wl-page *::before,.wl-page *::after{box-sizing:border-box}.wl-field label{font-size:.76rem;font-weight:700;color:var(--pw-text-muted, #7B7B96)}
    .wl-table th{text-align:right;padding:12px 16px;font-size:.75rem;font-weight:700;color: var(--mud-palette-primary, var(--pw-primary, #5B2EFF));border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .wl-table td{padding:12px 16px;font-size:.8rem;color:var(--pw-text, #17153B);border-bottom:1px solid var(--pw-primary-tint-border, #F8F6FC)}.wl-pag-btn:disabled{opacity:.35;cursor:not-allowed}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:750px){.wl-forms-row{grid-template-columns:1fr}.wl-balance-card{flex-direction:column;align-items:flex-start;padding:22px 20px}.wl-balance-val{font-size:1.4rem}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Student\Leaderboard.razor ── */
.leaderboard-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .leaderboard-page *, .leaderboard-page *::before, .leaderboard-page *::after {
        box-sizing: border-box;
    }

    .podium-change.up {
        color: var(--mud-palette-success);
        background: rgba(46,190,79,0.1);
    }

    .podium-change.down {
        color: var(--pw-error, #FF4D4D);
        background: rgba(255,77,77,0.1);
    }

    .lb-table-row:last-child {
        border-bottom: none;
    }

    .user-avatar-mini {
        width: 32px;
        height: 32px;
        min-width: 32px;
        border-radius: 50%;
        color: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .75rem;
        font-weight: 700;
    }

    .user-name {
        font-size: 0.84rem;
        font-weight: 600;
        color: var(--mud-palette-text-primary);
    }

    .change-badge.up {
        color: var(--mud-palette-success);
        background: rgba(46,190,79,0.1);
    }

    .change-badge.down {
        color: var(--pw-error, #FF4D4D);
        background: rgba(255,77,77,0.1);
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .lb-podium {
            gap: 10px;
        }

        .podium-card {
            max-width: 200px;
            padding: 18px 14px 16px;
            border-radius: 22px;
        }

        .podium-gold {
            max-width: 220px;
            padding: 24px 16px 20px;
        }

        .winner-avatar {
            width: 56px;
            height: 56px;
            font-size: 1.2rem;
        }

        .podium-avatar {
            width: 44px;
            height: 44px;
            font-size: 1rem;
        }

        .lb-table-header,
        .lb-table-row {
            grid-template-columns: 50px 1fr 75px 60px 60px;
            padding: 12px 14px;
            gap: 4px;
        }

        .lb-bottom-card {
            flex-direction: column;
            align-items: stretch;
            padding: 18px 20px;
        }

        .lb-share-btn {
            justify-content: center;
        }
    }

    @@media (max-width: 600px) {

        .user-name {
            font-size: 0.76rem;
        }}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Student\StudentPerformance.razor ── */
.sp-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .sp-page *,.sp-page *::before,.sp-page *::after{box-sizing:border-box}

    /* KPI */
    .sp-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.sp-icn-purple .mud-icon-root{color:var(--pw-primary, #6D3BFF)!important}.sp-icn-green .mud-icon-root{color:var(--pw-success, #22A447)!important}.sp-icn-gold .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}.sp-icn-orange .mud-icon-root{color:#FF8C32!important}
    .sp-kpi>div{flex:1;display:flex;flex-direction:column;gap:2px}
    .sp-table th{text-align:right;padding:12px 14px;font-size:.75rem;font-weight:700;color:var(--pw-primary, #6D3BFF);border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .sp-table td{padding:12px 14px;font-size:.8rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-primary-tint-border, #F8F6FC)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.sp-kpi-row{grid-template-columns:repeat(2,1fr)}.sp-mid{grid-template-columns:1fr}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Student\Subjects.razor ── */
.sm-page{
        font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width:1150px;margin:0 auto;padding:0 4px 40px;
    }
    .sm-page *,.sm-page *::before,.sm-page *::after{box-sizing:border-box}
    .sm-expand-btn.expanded{transform:rotate(-90deg)}.icon-folder .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}.icon-leaf .mud-icon-root{color:var(--pw-success, #67C23A)!important}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){
        .sm-body{grid-template-columns:1fr}
        .sm-detail-panel{position:static}
    }

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Support\Help.razor ── */
.hlp-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .hlp-page *,.hlp-page *::before,.hlp-page *::after{box-sizing:border-box}

    /* FAQ */
    .hlp-faq-item{border:1px solid var(--pw-primary-tint-border, #EAEFFC);border-radius:18px;overflow:hidden;margin-bottom:8px;transition:background .2s}
    .hlp-faq-item:last-child{margin-bottom:0}.hlp-faq-a p{font-size:.8rem;color:var(--pw-text-muted, #55607A);line-height:1.7;margin:0}
    .hlp-step:not(:last-child) .hlp-step-dot-wrap::after{content:"";position:absolute;top:16px;right:7px;width:2px;height:calc(100% + 4px);background:var(--pw-surface-alt, #EAEFFC)}.hlp-ci-purple .mud-icon-root{color:var(--pw-primary, #6D3BFF)!important}.hlp-ci-blue .mud-icon-root{color:var(--pw-info, #3BA6FF)!important}.hlp-ci-green .mud-icon-root{color:var(--pw-success, #22A447)!important}
    .hlp-contact-item>div{display:flex;flex-direction:column;gap:1px}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.hlp-body{grid-template-columns:1fr}.hlp-side{position:static}.hlp-search{width:100%}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Support\Support.razor ── */
.sup-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .sup-page *,.sup-page *::before,.sup-page *::after{box-sizing:border-box}
    .sup-top-left{display:flex;align-items:center;gap:14px}
    .sup-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5B2EFF,#7B4EFF);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(91,46,255,.2)}
    .sup-top-svg{color:#FFF!important}.sup-title{font-size:1.25rem;font-weight:900;color:var(--pw-text, #1B174F);margin:0}.sup-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}

    .sup-body{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
    .sup-main{display:flex;flex-direction:column;gap:16px}

    .sup-card{background: var(--mud-palette-surface);border-radius:24px;border:1px solid var(--pw-primary-tint-border, #E9E7F8);box-shadow:0 4px 20px rgba(0,0,0,0.05);padding:22px 24px}
    .sup-sec-title{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800;color:var(--pw-text, #1B174F);margin:0 0 16px}.sup-sec-icn{color:var(--pw-primary, #5B2EFF)!important}

    /* فرم */
    .sup-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.sup-field label{font-size:.76rem;font-weight:700;color:var(--pw-text-muted, #7B7B96)}
    .sup-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .sup-input{height:46px;background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:14px;padding:0 16px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none}.sup-input:focus{border-color:var(--pw-primary, #5B2EFF)}
    .sup-sel-wrap{position:relative}.sup-select{width:100%;height:46px;background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:14px;padding:0 38px 0 14px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none;appearance:none;cursor:pointer}.sup-select:focus{border-color:var(--mud-palette-primary)}.sup-sel-arrow{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mud-palette-text-secondary)!important;pointer-events:none}
    .sup-textarea{background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:14px;padding:12px 16px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none;resize:none}.sup-textarea:focus{border-color:var(--pw-primary, #5B2EFF)}

    .sup-upload-area{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px;border:2px dashed var(--mud-palette-divider);border-radius:18px;background:var(--pw-surface, #FBFAFF);margin-bottom:14px;cursor:pointer;transition:border-color .2s}.sup-upload-area:hover{border-color:var(--pw-primary, #5B2EFF)}.sup-upload-icon{color:var(--pw-primary, #5B2EFF)!important;font-size:32px!important}
    .sup-upload-area>span{font-size:.82rem;color:var(--pw-text, #1B174F);font-weight:600}.sup-upload-hint{font-size:.75rem!important;color:var(--mud-palette-text-disabled)!important;font-weight:400!important}

    .sup-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(90deg,#5B2EFF,#7B4EFF);color:#FFF;border:none;border-radius:16px;padding:14px 20px;font-family:inherit;font-size:.86rem;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(91,46,255,.25)}
    .sup-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(91,46,255,.35)}
    .sup-notice{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:.75rem;color: var(--mud-palette-text-secondary);justify-content:center}.sup-notice .mud-icon-root{color:var(--mud-palette-text-secondary)!important}

    /* FAQ */
    .sup-faq{border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:16px;overflow:hidden;margin-bottom:8px}.sup-faq:last-child{margin-bottom:0}.sup-faq-open{background:var(--pw-primary-tint, #F2EEFF);border-color:var(--mud-palette-divider)}
    .sup-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:none;border:none;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--pw-text, #1B174F);cursor:pointer;text-align:right}
    .sup-faq-arr{color: var(--mud-palette-text-secondary);transition:transform .25s}.sup-faq-open .sup-faq-arr{transform:rotate(180deg);color:var(--pw-primary, #5B2EFF)}
    .sup-faq-a{padding:0 16px 14px}.sup-faq-a p{font-size:.78rem;color:var(--pw-text-muted, #55607A);line-height:1.7;margin:0}

    /* تیکت‌ها */
    .sup-side{display:flex;flex-direction:column;gap:10px;position:sticky;top:24px}
    .sup-ticket-card{background: var(--mud-palette-surface);border-radius:20px;border:1px solid var(--pw-primary-tint-border, #E9E7F8);padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s}.sup-ticket-card:hover{box-shadow:0 4px 14px rgba(0,0,0,0.06)}
    .sup-ticket-top{display:flex;justify-content:space-between;align-items:center}.sup-ticket-title{font-size:.84rem;font-weight:700;color:var(--pw-text, #1B174F)}.sup-ticket-date{font-size:.75rem;color:var(--mud-palette-text-disabled)}
    .sup-ticket-meta{display:flex;gap:8px}
    .sup-priority,.sup-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
    .prio-normal{background:var(--mud-palette-success-light);color:var(--pw-success, #24A148)}.prio-important{background:var(--mud-palette-warning-light);color:var(--pw-warning, #D38B00)}.prio-urgent{background:var(--mud-palette-error-light);color:var(--pw-error, #FF4B4B)}
    .st-open{background:var(--mud-palette-info-light);color:var(--pw-info, #3BA6FF)}.st-progress{background:var(--mud-palette-warning-light);color:var(--pw-warning, #D38B00)}.st-closed{background:var(--mud-palette-success-light);color:var(--pw-success, #24A148)}

    @@media(max-width:900px){.sup-body{grid-template-columns:1fr}.sup-side{position:static}}
    @@media(max-width:600px){.sup-row-2{grid-template-columns:1fr}.sup-card{padding:16px 14px}}

/* ── E:\Projects\Farup\farup\FarUp.LMS\Farup.LMS.Frontend\Farup.LMS.Frontend.Client\Pages\Support\SupportChat.razor ── */
.sc-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:750px;margin:0 auto;padding:0 4px 40px;display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:600px}
    .sc-page *,.sc-page *::before,.sc-page *::after{box-sizing:border-box}

    /* هدر */
    .sc-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background: var(--mud-palette-surface);border-radius:24px 24px 0 0;border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-bottom:none}
    .sc-top-left{display:flex;align-items:center;gap:14px}
    .sc-back-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}
    .sc-agent-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5B2EFF,#7B4EFF);display:flex;align-items:center;justify-content:center;position:relative}
    .sc-agent-svg{color:#FFF!important}.sc-online-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#24A148;border:2px solid var(--pw-border, #FFF)}
    .sc-title{font-size:1.05rem;font-weight:800;color:var(--pw-text, #1B174F);margin:0}.sc-sub{font-size:.75rem;color: var(--mud-palette-text-secondary);margin:1px 0 0}
    .sc-close-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);display:flex;align-items:center;justify-content:center;background: var(--mud-palette-surface);cursor:pointer;color:var(--pw-text-muted, #7B7B96)}

    /* بدنه چت */
    .sc-chat-body{flex:1;overflow-y:auto;padding:16px 20px;background:var(--pw-surface, #FBFAFF);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-top:none;border-bottom:none;display:flex;flex-direction:column;gap:16px}
    .sc-date-divider{text-align:center}.sc-date-divider span{font-size:.75rem;color:var(--mud-palette-text-disabled);background:var(--pw-surface, #FBFAFF);padding:0 14px}

    .sc-msg{display:flex;gap:10px;max-width:85%}.sc-msg-agent{align-self:flex-start}.sc-msg-user{align-self:flex-end;flex-direction:row-reverse}
    .sc-msg-avatar{width:34px;height:34px;min-width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;align-self:flex-end}
    .sc-msg-bubble{padding:12px 16px;border-radius:20px;position:relative}
    .sc-bubble-agent{background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-bottom-right-radius:6px}
    .sc-bubble-user{background:linear-gradient(90deg,#5B2EFF,#7B4EFF);color:#FFF;border-bottom-left-radius:6px}
    .sc-bubble-user p{color:#FFF}.sc-msg-bubble p{font-size:.82rem;line-height:1.7;margin:0 0 14px}.sc-msg-bubble p:last-child{margin-bottom:0}
    .sc-msg-time{font-size:.75rem;color:var(--mud-palette-text-secondary);display:block;text-align:left;margin-top:6px}.sc-bubble-user .sc-msg-time{color:rgba(255,255,255,.6)}

    .sc-quick-links{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px}
    .sc-quick-link{background:var(--pw-primary-tint, #F2EEFF);color: var(--mud-palette-primary, var(--pw-primary, #5B2EFF));border:1px solid var(--mud-palette-divider);border-radius:12px;padding:9px 14px;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;text-align:right}

    /* تایپ */
    .sc-typing-indicator{display:flex;align-items:flex-end;gap:10px;align-self:flex-start}
    .sc-typing-dots{display:flex;gap:5px;padding:12px 16px;background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:20px;border-bottom-right-radius:6px}
    .sc-typing-dots span{width:8px;height:8px;border-radius:50%;background: rgba(139,92,246,0.15);animation:sc-bounce 1.4s infinite ease-in-out}.sc-typing-dots span:nth-child(1){animation-delay:0s}.sc-typing-dots span:nth-child(2){animation-delay:.2s}.sc-typing-dots span:nth-child(3){animation-delay:.4s}
    @@keyframes sc-bounce{0%,80%,100%{transform:scale(.6)}40%{transform:scale(1)}}

    /* امتیازدهی */
    .sc-rating-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-top:none;font-size:.8rem;color:var(--pw-text-muted, #7B7B96)}
    .sc-rating-emojis{display:flex;gap:6px}.sc-rating-emojis button{width:38px;height:38px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);background: var(--mud-palette-surface);font-size:1.1rem;cursor:pointer;transition:all .15s}
    .sc-rating-emojis button:hover,.sc-emoji-sel{background:var(--pw-primary-tint, #F2EEFF)!important;border-color:var(--pw-primary, #5B2EFF)!important;transform:scale(1.1)}

    /* ورودی */
    .sc-input-bar{display:flex;align-items:center;gap:8px;padding:12px 20px;background: var(--mud-palette-surface);border-radius:0 0 24px 24px;border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-top:none}
    .sc-attach-btn{width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);background: var(--mud-palette-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}
    .sc-chat-input{flex:1;height:44px;background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:22px;padding:0 18px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none}.sc-chat-input:focus{border-color:var(--pw-primary, #5B2EFF)}
    .sc-send-btn{width:44px;height:44px;min-width:44px;border-radius:50%;background:linear-gradient(90deg,#5B2EFF,#7B4EFF);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#FFF;box-shadow:0 4px 14px rgba(91,46,255,.25)}

    @@media(max-width:600px){.sc-page{height:calc(100vh - 80px);border-radius:0}.sc-top{border-radius:0}}



/* â•â•â•â•â•â•â•â•â•â•â• Extracted from Razor files (31 blocks) â•â•â•â•â•â•â•â•â•â•â• */
/* $fileRel */
.auth-guard-loading {
        display: flex; align-items: center; justify-content: center;
        min-height: 100vh;
    }

/* $fileRel */
/* ================================================================
       FONT IMPORT
       ================================================================ */
    /* ================================================================
       CONTAINER — 3-column Flexbox, RTL
       ================================================================ */
    .profile-row {
        display: flex;
        gap: 18px;
        font-family: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
    }

    /* ================================================================
       SHARED CARD
       ================================================================ */
    .pr-card {
        background: var(--mud-palette-surface);
        border-radius: 14px;
        padding: 18px 20px;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
        display: flex;
        align-items: center;
    }

    /* ================================================================
       1. PROFILE CARD  (rightmost, flex: 1.4)
       ================================================================ */
    .pr-card-profile {
        flex: 1.4;
        min-width: 0;
    }

    /* ================================================================
       2. STATS CARD  (center, flex: 0.8)
       ================================================================ */
    .pr-card-stats {
        flex: 0.8;
        justify-content: space-evenly;
    }

    /* ================================================================
       3. ACHIEVEMENTS CARD  (leftmost, flex: 1)
       ================================================================ */
    .pr-card-achievements {
        flex: 1;
        flex-direction: column;
        align-items: stretch;
    }

    /* --- Medals row --- */
    .pr-achv-medals {
        display: flex;
        justify-content: center;
        gap: 18px;
    }

    /* --- Hexagon base --- */
    .pr-medal-hex {
        width: 54px;
        height: 54px;
        clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        transition: transform 0.2s ease;
    }

    /* --- Hexagon colour variants --- */
    .pr-hex-purple {
        background: linear-gradient(135deg, #6C5CE7 0%, #9B59B6 100%);
    }

    /* --- Medal labels --- */
    .pr-medal-label {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        text-align: center;
        white-space: nowrap;
    }

    /* ================================================================
       RESPONSIVE
       ================================================================ */
    @@media (max-width: 1024px) {
        .profile-row {
            flex-wrap: wrap;
        }
        .pr-card-profile {
            flex: 1 1 100%;
        }
        .pr-card-stats {
            flex: 1 1 45%;
        }
        .pr-card-achievements {
            flex: 1 1 45%;
        }
    }

/* $fileRel */
.login-layout {
        min-height: 100vh;
        background: linear-gradient(135deg, #F8FAFC 0%, #EEF2FF 100%);
        font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
        position: relative; transition: background 0.3s ease;
    }
    .login-layout.login-dark {
        background: linear-gradient(135deg, #020617 0%, #0F172A 100%);
    }
    .login-theme-toggle { position: absolute; top: 12px; left: 12px; z-index: 10; }

/* $fileRel */
/* ===== Sidebar Container ===== */
    .sidebar-container {
        display: flex;
        flex-direction: column;
        height: 100vh;
        background-color: var(--mud-palette-surface);
        padding: 0;
        box-sizing: border-box;
        overflow: hidden;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    }

    /* ===== Logo ===== */
    .sidebar-logo {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 24px 20px 16px 20px;
        flex-shrink: 0;
    }

    .logo-icon {
        width: 36px;
        height: 36px;
        flex-shrink: 0;
    }

    .logo-text {
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
        white-space: nowrap;
    }

    /* ===== Navigation ===== */
    .sidebar-nav {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 4px;
        padding: 8px 12px;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #D1D5DB transparent;
    }

    .sidebar-nav::-webkit-scrollbar {
        width: 4px;
    }

    .sidebar-nav::-webkit-scrollbar-thumb {
        background-color: #D1D5DB;
        border-radius: 4px;
    }

    /* ===== Nav Items ===== */
    .nav-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 12px 16px;
        border-radius: 10px;
        text-decoration: none;
        color: var(--mud-palette-text-primary);
        font-size: 0.95rem;
        font-weight: 500;
        transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
        position: relative;
        white-space: nowrap;
        cursor: pointer;
    }

    .nav-item:hover {
        background-color: var(--pw-primary-tint, #F0EFFF);
        color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7));
    }

    .nav-item:hover .nav-icon {
        color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7));
    }

    .nav-item.active {
        background-color: var(--mud-palette-primary, #6C5CE7);
        color: #FFFFFF;
        box-shadow: 0 2px 8px rgba(108, 92, 231, 0.35);
    }

    .nav-item.active .nav-icon {
        color: #FFFFFF;
    }

    .nav-item.active .nav-badge {
        background-color: var(--mud-palette-surface);
        color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7));
    }

    /* ===== Nav Icon ===== */
    .nav-icon {
        width: 22px;
        height: 22px;
        flex-shrink: 0;
        color: var(--pw-text-muted, #666666);
        transition: color 0.2s ease;
    }

    /* ===== Nav Label ===== */
    .nav-label {
        flex: 1;
        line-height: 1.4;
    }

    /* ===== Notification Badge ===== */
    .nav-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        border-radius: 11px;
        background-color: var(--mud-palette-primary, #6C5CE7);
        color: #FFFFFF;
        font-size: 0.75rem;
        font-weight: 700;
        line-height: 1;
        flex-shrink: 0;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    /* ===== Footer / Bottom Card ===== */
    .sidebar-footer {
        flex-shrink: 0;
        padding: 12px;
    }

    /* ===== Responsive ===== */
    @@media (max-width: 640px) {
        .sidebar-container {
            height: auto;
        }

        .sidebar-logo {
            padding: 16px;
        }

        .nav-item {
            padding: 10px 12px;
            font-size: 0.85rem;
        }

        .motivation-card {
            padding: 16px 12px 20px 12px;
        }
    }

/* $fileRel */
.analytics-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1050px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .analytics-page *, .analytics-page *::before, .analytics-page *::after {
        box-sizing: border-box;
    }

    /* ═══════════ کارت‌های KPI ═══════════ */
    .an-kpi-row {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        margin-bottom: 22px;
    }

    .kpi-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .kpi-icon-wrap {
        width: 38px;
        height: 38px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #FFFFFF;
    }

    .kpi-icon-xp { background: linear-gradient(135deg, #6A35FF, #7A4DFF); }
    .kpi-icon-badge { background: linear-gradient(135deg, #FDBB11, #F59E0B); }
    .kpi-icon-streak { background: linear-gradient(135deg, #FF7A2D, #FF5A5A); }

    .kpi-growth {
        font-size: 0.78rem;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 12px;
    }

    .kpi-growth.up {
        color: var(--mud-palette-success);
        background: rgba(46,190,79,0.1);
    }

    .kpi-value {
        font-size: 1.8rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        line-height: 1;
    }

    .kpi-total {
        font-size: 1rem;
        color: var(--mud-palette-text-disabled);
        font-weight: 600;
    }

    .kpi-label {
        font-size: 0.8rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    .kpi-mini-bar {
        height: 6px;
        background: var(--pw-primary-tint, #ECE7FF);
        border-radius: 3px;
        overflow: hidden;
    }

    .kpi-mini-fill {
        height: 100%;
        border-radius: 3px;
        background: linear-gradient(90deg, #6A35FF, #7A4DFF);
    }

    .kpi-streak-dots {
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
    }

    .chart-card-header {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 16px 20px 0;
    }

    .chart-header-icon {
        color: var(--pw-primary, #6A35FF) !important;
    }

    .chart-title {
        font-size: 0.86rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
    }

    .chart-body {
        padding: 10px 8px 16px;
    }

    .legend-label {
        font-size: .75rem;
        color: var(--mud-palette-text-disabled);
    }

    .legend-cell {
        width: 12px;
        height: 12px;
        border-radius: 3px;
    }

    /* ═══════════ Heatmap ═══════════ */
    .an-heatmap-card {
        background: var(--mud-palette-surface);
        border-radius: 24px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 16px 20px 20px;
        margin-bottom: 22px;
    }

    .an-heatmap-card .chart-card-header {
        padding: 0 0 14px;
    }

    /* ═══════════ CTA پایین ═══════════ */
    .an-bottom-cta {
        position: sticky;
        bottom: 16px;
        z-index: 10;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .an-kpi-row {
            grid-template-columns: repeat(2, 1fr);
        }

        .an-charts-row {
            grid-template-columns: 1fr;
        }

        .an-kpi-card {
            padding: 16px 18px;
        }

        .kpi-value {
            font-size: 1.4rem;
        }

        .heatmap-grid {
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
        }

        .an-insight-banner {
            flex-direction: column;
            align-items: stretch;
            text-align: center;
        }

        .insight-left {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        .insight-btn {
            align-self: center;
        }
    }

/* $fileRel */
.fn-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .fn-page *,.fn-page *::before,.fn-page *::after{box-sizing:border-box}
    .fn-top-left{display:flex;align-items:center;gap:14px}
    .fn-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .fn-top-svg{color:#FFF!important}
    .fn-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.fn-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}

    .fn-segmented{display:flex;gap:0;border: 1px solid var(--mud-palette-divider);border-radius:16px;overflow:hidden}
    .fn-seg-btn{padding:9px 20px;border:none;background: var(--mud-palette-surface);font-family:inherit;font-size:.82rem;font-weight:600;color: var(--mud-palette-text-secondary);cursor:pointer}.fn-seg-btn:hover{background:var(--pw-primary-tint, #F5F2FD)}
    .fn-seg-on{background:linear-gradient(135deg,#6D3BFF,#4A3DFF)!important;color:#FFF!important}

    /* KPI */
    .fn-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
    .fn-kpi{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:18px 20px;display:flex;align-items:center;gap:14px}
    .fn-kpi-icon{width:44px;height:44px;min-width:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
    .fn-kpi-purple{background:linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2))}.fn-kpi-purple .mud-icon-root{color:var(--pw-primary, #6D3BFF)!important}
    .fn-kpi-gold{background:linear-gradient(135deg,#FFF8E1,#FFE082)}.fn-kpi-gold .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}
    .fn-kpi-blue{background:linear-gradient(135deg,var(--mud-palette-info-light),#BBDEFB)}.fn-kpi-blue .mud-icon-root{color:var(--pw-info, #3792FF)!important}
    .fn-kpi-green{background:linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9)}.fn-kpi-green .mud-icon-root{color:var(--pw-success, #22A447)!important}
    .fn-kpi>div{flex:1;display:flex;flex-direction:column;gap:2px}.fn-kpi-lbl{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}.fn-kpi-val{font-size:1.1rem;font-weight:900;color:var(--pw-text, #1B1B1F)}.fn-kpi-val small{font-size:.75rem;color: var(--mud-palette-text-secondary);font-weight:500}
    .fn-kpi-chg{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px}.fn-kpi-chg.up{color:var(--pw-success, #22A447);background:rgba(34,164,71,.1)}

    /* ردیف میانی */
    .fn-mid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
    .fn-chart-card,.fn-dist-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px}
    .fn-sec-title{font-size:.9rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0 0 16px}
    .fn-chart-svg{width:100%;height:auto}
    .fn-chart-labels{display:flex;justify-content:space-around;margin-top:6px;font-size:.75rem;color:var(--mud-palette-text-disabled)}

    .fn-dist-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.8rem}.fn-dist-left{display:flex;align-items:center;gap:8px}.fn-dist-dot{width:10px;height:10px;border-radius:50%}.fn-dist-pct{font-weight:700;color:var(--pw-text, #1B1B1F)}
    .fn-dist-bar{height:8px;background: var(--mud-palette-divider);border-radius:4px;overflow:hidden;margin-bottom:14px}.fn-dist-bar:last-child{margin-bottom:0}
    .fn-dist-fill{height:100%;border-radius:4px}

    /* بنر */
    .fn-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9);border-radius:20px;padding:16px 22px;margin-bottom:20px;border:1px solid var(--pw-success-border, #A5D6A7)}
    .fn-banner-icon{color:var(--pw-success, #22A447)!important}.fn-banner-text{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:var(--pw-success, #2E7D32)}
    .fn-banner-title{font-weight:800;font-size:.9rem}

    /* جدول */
    .fn-table-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px}
    .fn-tbl-scroll{overflow-x:auto}.fn-table{width:100%;min-width:500px;border-collapse:collapse}
    .fn-table th{text-align:right;padding:12px 16px;font-size:.75rem;font-weight:700;color:var(--pw-primary, #6D3BFF);border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .fn-table td{padding:12px 16px;font-size:.8rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-primary-tint-border, #F8F6FC)}
    .fn-td-date{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}.fn-td-desc{font-weight:600}
    .fn-td-amt{font-weight:700}.fn-amt-in{color:var(--pw-success, #22A447)}.fn-amt-out{color:var(--mud-palette-error)}
    .fn-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
    .fn-st-ok{background:var(--mud-palette-success-light);color:var(--pw-success, #22A447)}.fn-st-pend{background:var(--mud-palette-warning-light);color:var(--pw-warning, #F5B62F)}.fn-st-fail{background:var(--mud-palette-error-light);color:var(--mud-palette-error)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.fn-kpi-row{grid-template-columns:repeat(2,1fr)}.fn-mid{grid-template-columns:1fr}}
    @@media(max-width:600px){.fn-kpi-row{grid-template-columns:1fr}}

/* $fileRel */
.gs-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1150px;margin:0 auto;padding:0 4px 40px}
    .gs-page *,.gs-page *::before,.gs-page *::after{box-sizing:border-box}
    .gs-top-left{display:flex;align-items:center;gap:14px}
    .gs-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .gs-top-svg{color:#FFF!important}
    .gs-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.gs-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}
    .gs-btn-primary{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:16px;padding:10px 22px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(109,59,255,.2)}

    .gs-body{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}

    /* درخت */
    .gs-tree-panel{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);overflow:hidden}
    .gs-tree-hdr{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom: 1px solid var(--mud-palette-divider);font-size:.88rem;font-weight:700;color:var(--pw-text, #1B1B1F)}
    .gs-tree-hdr-icon{color:var(--pw-primary, #6D3BFF)!important}.gs-tree-stats{font-size:.75rem;color: var(--mud-palette-text-secondary);font-weight:500;margin-right:auto;display:flex;align-items:center;gap:8px}.gs-dot{width:4px;height:4px;border-radius:50%;background:var(--mud-palette-text-disabled)}
    .gs-tree{padding:8px 0}
    .gs-node{display:flex;align-items:center;gap:8px;padding:9px 20px;cursor:pointer;transition:background .15s;position:relative}.gs-node:hover{background:var(--pw-primary-tint, #F8F6FC)}
    .gs-conn{position:absolute;right:14px;top:50%;width:12px;border-top:1.5px dashed var(--mud-palette-divider)}
    .gs-exp{width:24px;height:24px;border-radius:6px;border:1px solid var(--mud-palette-divider);background: var(--mud-palette-background);display:flex;align-items:center;justify-content:center;cursor:pointer;color: var(--mud-palette-text-secondary);transition:transform .2s;flex-shrink:0}.gs-exp-on{transform:rotate(-90deg)}.gs-exp:disabled{opacity:.25;cursor:default}
    .gs-exp-spc{width:24px;height:24px;flex-shrink:0}
    .gs-node-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .gs-ic-folder{background:var(--pw-warning-tint, #FFF8E1)}.gs-ic-folder .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}
    .gs-ic-leaf{background:var(--mud-palette-success-light)}.gs-ic-leaf .mud-icon-root{color:var(--pw-success, #22A447)!important}
    .gs-node-name{font-size:.84rem;font-weight:600;color: var(--mud-palette-text-primary);flex:1}
    .gs-node-cnt{font-size:.75rem;color:var(--mud-palette-text-disabled);font-weight:600;min-width:30px;text-align:center}
    .gs-node-acts{display:flex;gap:4px}
    .gs-nact{width:28px;height:28px;border-radius:7px;border:1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}.gs-nact:hover{background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));color:var(--pw-primary, #6D3BFF);border-color:var(--pw-primary, #6D3BFF)}
    .gs-nact-del{color:var(--pw-error, #FF4D4F);border-color:var(--pw-error-border, #FFCDD2)}.gs-nact-del:hover{background:var(--mud-palette-error-light);border-color:var(--pw-error-border, #FF4D4F)}

    /* کارت‌های راست */
    .gs-right-col{display:flex;flex-direction:column;gap:14px;position:sticky;top:24px}
    .gs-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px}
    .gs-card-title{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0 0 14px}
    .gs-card-ticon{color:var(--pw-primary, #6D3BFF)!important}

    .gs-detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom: 1px solid var(--mud-palette-divider);font-size:.8rem}
    .gs-detail-item:last-child{border-bottom:none}.gs-dlbl{color:var(--pw-text-muted, #7B7B96)}.gs-dval{font-weight:600;color:var(--pw-text, #1B1B1F)}

    /* طراحان */
    .gs-des-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom: 1px solid var(--mud-palette-divider);cursor:pointer}.gs-des-row:last-child{border-bottom:none}
    .gs-chk{width:18px;height:18px;accent-color:#6D3BFF;cursor:pointer}
    .gs-des-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;font-size:.75rem;font-weight:700;flex-shrink:0}
    .gs-des-name{font-size:.82rem;font-weight:600;color: var(--mud-palette-text-primary);flex:1}.gs-des-role{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}

    /* خطر */
    .gs-danger-card{border-color:var(--pw-error-border, #FFCDD2)!important}
    .gs-danger-icon{color:var(--pw-error, #FF4D4F)!important}
    .gs-danger-desc{font-size:.76rem;color: var(--mud-palette-text-secondary);line-height:1.6;margin:0 0 12px}
    .gs-btn-danger{background:#FF4D4F;color:#FFF;border:none;border-radius:14px;padding:10px 20px;font-family:inherit;font-size:.82rem;font-weight:700;cursor:pointer;width:100%}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){
        .gs-body{grid-template-columns:1fr}.gs-right-col{position:static}
        .mobile-only{display:flex;align-items:center;gap:6px;position:fixed;bottom:24px;left:24px;z-index:100;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:50px;padding:14px 22px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(109,59,255,.3)}
    }
    @@media(max-width:600px){.gs-node{padding:8px 12px;gap:6px}.gs-node-name{font-size:.78rem}}

/* $fileRel */
.rv-page{
        font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width:1050px;margin:0 auto;padding:0 4px 40px;
    }
    .rv-page *,.rv-page *::before,.rv-page *::after{box-sizing:border-box}

    /* ─── KPI ─── */
    .rv-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
    .kpi-icon-bg{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center}
    .kpi-bg-purple{background:linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2))}.kpi-bg-purple .kpi-icn{color:var(--pw-primary, #5B2EFF)!important}
    .kpi-bg-green{background:linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9)}.kpi-bg-green .kpi-icn{color:var(--mud-palette-success)!important}
    .kpi-bg-blue{background:linear-gradient(135deg,var(--mud-palette-info-light),#BBDEFB)}.kpi-bg-blue .kpi-icn{color:var(--mud-palette-info)!important}
    .kpi-info{display:flex;flex-direction:column;gap:4px}
    .kpi-lbl{font-size:.76rem;color: var(--mud-palette-text-secondary);font-weight:500}
    .kpi-val{font-size:1.2rem;font-weight:900;color:var(--pw-text, #1B1B1F)}
    .kpi-val small{font-size:.75rem;color: var(--mud-palette-text-secondary);font-weight:500}
    .kpi-growth{font-size:.75rem;font-weight:700}.kpi-growth.up{color:var(--mud-palette-success)}
    .rv-table th{text-align:right;padding:14px 16px;font-size:.75rem;font-weight:700;color: var(--mud-palette-primary, var(--pw-primary, #5B2EFF));border-bottom:1px solid var(--mud-palette-divider);white-space:nowrap}
    .rv-table td{padding:14px 16px;font-size:.82rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-border, #F5F2FD)}
    .rv-table tbody tr:hover{background:var(--mud-palette-background-hover)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:850px){
        .rv-kpi-row{grid-template-columns:1fr}
        .rv-header{flex-direction:column;align-items:flex-start}
        .rv-export-btn{align-self:flex-start}
    }

/* $fileRel */
.um-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1150px;margin:0 auto;padding:0 4px 40px}
    .um-page *,.um-page *::before,.um-page *::after{box-sizing:border-box}

    .um-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
    .um-top-left{display:flex;align-items:center;gap:14px}
    .um-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .um-top-svg{color:#FFF!important}
    .um-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.um-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}
    .um-btn-primary{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:16px;padding:10px 22px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(109,59,255,.2)}
    .um-btn-sm{font-size:.76rem!important;padding:8px 16px!important;border-radius:12px!important}
    .um-btn-outline{display:flex;align-items:center;gap:6px;background: var(--mud-palette-surface);color:var(--pw-primary, #6D3BFF);border:1px solid var(--mud-palette-divider);border-radius:12px;padding:8px 16px;font-family:inherit;font-size:.76rem;font-weight:600;cursor:pointer}

    /* فیلترها */
    .um-filters{display:flex;gap:10px;margin-bottom:18px}
    .um-search-wrap{flex:1;position:relative}.um-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--mud-palette-text-secondary)!important;z-index:2}
    .um-search{width:100%;height:48px;background: var(--mud-palette-surface);border: 1px solid var(--mud-palette-divider);border-radius:16px;padding:0 42px 0 14px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none}.um-search:focus{border-color:var(--pw-primary, #6D3BFF)}
    .um-sel-wrap{position:relative;min-width:150px}.um-select{width:100%;height:48px;background: var(--mud-palette-surface);border: 1px solid var(--mud-palette-divider);border-radius:16px;padding:0 38px 0 14px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none;appearance:none;cursor:pointer}.um-select:focus{border-color:var(--mud-palette-primary)}.um-sel-arrow{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mud-palette-text-secondary)!important;pointer-events:none}

    /* بدنه */
    .um-body{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
    .um-table-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);overflow:hidden}
    .um-tbl-scroll{overflow-x:auto}
    .um-table{width:100%;min-width:600px;border-collapse:collapse}
    .um-table th{text-align:right;padding:14px 16px;font-size:.75rem;font-weight:700;color:var(--pw-primary, #6D3BFF);background: var(--mud-palette-background);border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .um-table td{padding:12px 16px;font-size:.82rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-border, #F5F2FD)}
    .um-table tbody tr{cursor:pointer;transition:background .15s}.um-table tbody tr:hover{background:var(--mud-palette-background-hover)}
    .um-row-sel{background:var(--mud-palette-primary-hover-light)!important}

    .um-user-cell{display:flex;align-items:center;gap:10px}
    .um-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;font-size:.8rem;font-weight:800;flex-shrink:0}
    .um-uname{display:block;font-weight:600;font-size:.84rem}.um-uemail{display:block;font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}
    .um-role,.um-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
    .status-active{background:var(--mud-palette-success-light);color:var(--pw-success, #22A447)}.status-inactive{background:var(--mud-palette-error-light);color:var(--pw-error, #F04444)}
    .um-td-date{font-size:.75rem;color: var(--mud-palette-text-secondary);white-space:nowrap}
    .um-td-acts{display:flex;gap:4px}
    .um-act{width:32px;height:32px;border-radius:8px;border:1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}.um-act:hover{background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));color:var(--pw-primary, #6D3BFF);border-color:var(--pw-primary, #6D3BFF)}
    .um-act-del{color:var(--pw-error, #F04444);border-color:var(--pw-error-border, #FFCDD2)}.um-act-del:hover{background:var(--mud-palette-error-light);border-color:var(--pw-error-border, #F04444)}

    /* صفحه‌بندی */
    .um-pag{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--pw-primary-tint-border, #F0ECFA);flex-wrap:wrap;gap:8px}
    .um-pag-info{font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}.um-pag-btns{display:flex;gap:6px}
    .um-pag-btn{background: var(--mud-palette-surface);border: 1px solid var(--mud-palette-divider);border-radius:10px;padding:6px 14px;font-family:inherit;font-size:.76rem;font-weight:600;color:var(--pw-primary, #6D3BFF);cursor:pointer}.um-pag-btn:disabled{opacity:.35;cursor:not-allowed}
    .um-pag-num{width:34px;height:34px;border-radius:10px;border: 1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);font-family:inherit;font-size:.78rem;font-weight:700;color: var(--mud-palette-text-secondary);cursor:pointer}

    /* جزئیات */
    .um-detail-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;position:sticky;top:24px}
    .um-detail-avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;font-size:1.5rem;font-weight:800}
    .um-detail-name{font-size:1.05rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0}
    .um-detail-info{display:flex;flex-direction:column;gap:10px;width:100%}
    .um-detail-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--pw-text-muted, #7B7B96)}.um-detail-row .mud-icon-root{color:var(--mud-palette-text-secondary)!important}
    .um-detail-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.um-body{grid-template-columns:1fr}.um-detail-card{position:static}}
    @@media(max-width:600px){.um-filters{flex-direction:column}.um-sel-wrap{min-width:unset}}

/* $fileRel */
.creator-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .creator-page *, .creator-page *::before, .creator-page *::after {
        box-sizing: border-box;
    }

    /* ═══════════ هدر ═══════════ */
    .cr-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 22px;
    }

    .cr-header-left {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .cr-title {
        font-size: 1.5rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        margin: 0;
    }

    .cr-subtitle {
        font-size: 0.88rem;
        color: var(--mud-palette-text-secondary);
        margin: 0;
        font-weight: 500;
    }

    .cr-header-right {
        display: flex;
        align-items: center;
        gap: 12px;
        position: relative;
    }

    .cr-notif-btn {
        color: var(--pw-primary, #6A35FF) !important;
    }

    .cr-header-badge-dot {
        position: absolute;
        top: 8px;
        right: 52px;
        width: 9px;
        height: 9px;
        border-radius: 50%;
        background: #FF4D4D;
        border: 2px solid var(--pw-border, #F7F5FC);
        z-index: 1;
    }

    .cr-avatar-mini {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, #5E2FFF 0%, #7A4DFF 100%);
        color: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.9rem;
        font-weight: 800;
        cursor: pointer;
    }

    /* ═══════════ KPI گرید ═══════════ */
    .cr-kpi-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        margin-bottom: 22px;
    }

    .cr-kpi-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        transition: transform 0.2s, box-shadow 0.2s;
    }

    .cr-kpi-card:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }

    .kpi-card-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .kpi-icon-bg {
        width: 42px;
        height: 42px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .kpi-icon-exams { background: linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2)); }
    .kpi-icon-questions { background: linear-gradient(135deg, var(--mud-palette-info-light), #BBDEFB); }
    .kpi-icon-students { background: linear-gradient(135deg, var(--mud-palette-success-light), #C8E6C9); }
    .kpi-icon-avg { background: linear-gradient(135deg, var(--mud-palette-warning-light), #FFE0B2); }

    .kpi-icon-exams .kpi-icon { color: var(--pw-primary, #6A35FF) !important; }
    .kpi-icon-questions .kpi-icon { color: var(--pw-primary, #4D8DFF) !important; }
    .kpi-icon-students .kpi-icon { color: var(--mud-palette-success) !important; }
    .kpi-icon-avg .kpi-icon { color: var(--mud-palette-warning) !important; }

    .kpi-growth-badge {
        font-size: .75rem;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 999px;
    }

    .kpi-growth-badge.up {
        background: rgba(46,190,79,0.1);
        color: var(--mud-palette-success);
    }

    .kpi-number {
        font-size: 1.6rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        line-height: 1;
    }

    .kpi-label-text {
        font-size: 0.78rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    .kpi-bottom-bar {
        height: 5px;
        background: var(--mud-palette-divider);
        border-radius: 3px;
        overflow: hidden;
    }

    .kpi-bottom-fill {
        height: 100%;
        border-radius: 3px;
        background: linear-gradient(90deg, #5E2FFF 0%, #7A4DFF 100%);
    }

    /* ═══════════ ردیف میانی: کیف پول + نمودار ═══════════ */
    .cr-mid-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
        margin-bottom: 22px;
    }

    .cr-wallet-card,
    .cr-chart-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 22px 24px;
    }

    .cr-section-title {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 0.95rem;
        font-weight: 800;
        color: var(--mud-palette-text-primary);
        margin: 0 0 16px;
    }

    .wallet-mini-card.accent {
        background: linear-gradient(135deg, var(--mud-palette-divider-light), #F5F0FF);
    }

    .wallet-mini-amount small {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    /* نمودار میله‌ای */
    .bar-chart-wrap {
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        height: 180px;
        gap: 12px;
        padding-top: 20px;
    }

    .bar-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        height: 100%;
    }

    .bar-val-tag {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 600;
        white-space: nowrap;
    }

    .bar-fill-wrap {
        flex: 1;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center;
    }

    .bar-fill {
        width: 80%;
        max-width: 48px;
        border-radius: 10px 10px 0 0;
        min-height: 8px;
        transition: height 0.4s ease;
    }

    .bar-month-label {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    /* ═══════════ جدول ═══════════ */
    .cr-table-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        padding: 22px 24px;
        margin-bottom: 22px;
    }

    .cr-table-header-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 16px;
    }

    .cr-table-header-row .cr-section-title {
        margin-bottom: 0;
    }

    .cr-table-view-all {
        font-size: 0.78rem;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        text-decoration: none;
        font-weight: 600;
    }

    .desktop-only {
        display: block;
    }

    .cr-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .cr-table {
        width: 100%;
        border-collapse: collapse;
    }

    .cr-table th {
        text-align: right;
        padding: 14px 16px;
        font-size: 0.76rem;
        font-weight: 700;
        color: var(--mud-palette-text-secondary);
        border-bottom: 1px solid var(--mud-palette-divider);
        white-space: nowrap;
    }

    .cr-table td {
        padding: 14px 16px;
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        border-bottom: 1px solid var(--mud-palette-divider);
        white-space: nowrap;
    }

    .cr-table tbody tr:hover {
        background: var(--mud-palette-background-hover, var(--mud-palette-background-hover));
    }

    /* ═══════════ CTA پایین ═══════════ */
    .cr-bottom-ctas {
        display: flex;
        gap: 14px;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .cr-kpi-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .cr-mid-row {
            grid-template-columns: 1fr;
        }

        .desktop-only {
            display: none !important;
        }

        .mobile-only {
            display: block;
        }

        .cr-bottom-ctas {
            flex-direction: column;
        }
    }

    @@media (max-width: 600px) {
        .cr-kpi-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 10px;
        }

        .cr-kpi-card {
            padding: 14px;
            border-radius: 22px;
        }

        .kpi-number {
            font-size: 1.3rem;
        }

        .cr-title {
            font-size: 1.2rem;
        }

        .cr-table-card {
            padding: 16px 14px;
        }

        .bar-chart-wrap {
            height: 140px;
            gap: 8px;
        }

        .bar-fill {
            max-width: 36px;
        }}

    /* ═══════════ نسخه موبایل جدول ═══════════ */
    .cr-mobile-list {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

/* $fileRel */
.dashboard {
        font-family: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
        background: var(--mud-palette-background);
        max-width: 1200px;
        margin: 0 auto;
        padding: 24px 20px;
        min-height: 100vh;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .dashboard *, .dashboard *::before, .dashboard *::after { box-sizing: border-box; }
    .card-title-row { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
    .card-title-icon { color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); font-size: 16px; width: 20px; text-align: center; }
    .card-heading { font-size: 1rem; font-weight: 700; color: var(--mud-palette-text-primary); }
    .btn { border: none; border-radius: 8px; font-family: 'Vazirmatn', sans-serif; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
    .btn:hover { opacity: 0.9; }
    .btn-gradient { background: linear-gradient(135deg, #6C5CE7, #00B4D8); color: #FFFFFF; padding: 9px 24px; font-size: 0.85rem; width: fit-content; }
    .btn-purple-sm { background: #6C5CE7; color: #FFFFFF; padding: 5px 16px; font-size: .75rem; border-radius: 6px; }
    .btn-review-start { background: linear-gradient(135deg, #6C5CE7, #00B4D8); color: #FFFFFF; padding: 9px 24px; font-size: 0.85rem; width: 100%; border: none; border-radius: 8px; font-family: 'Vazirmatn', sans-serif; font-weight: 600; cursor: pointer; transition: opacity 0.2s; }
    .btn-review-start:hover { opacity: 0.9; }
    .review-count-row { display: flex; align-items: baseline; gap: 10px; }
    .review-big-num { font-size: 3rem; font-weight: 800; color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); line-height: 1; }
    .review-sub { font-size: 0.85rem; color: var(--mud-palette-text-secondary); font-weight: 500; }
    .review-list { display: flex; flex-direction: column; gap: 8px; }
    .review-box { display: flex; align-items: center; gap: 10px; background: var(--mud-palette-background); border-radius: 8px; padding: 9px 14px; }
    .review-box-text { font-size: 0.82rem; color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); font-weight: 500; }
    .msg-view-all { margin-right: auto; font-size: .75rem; color: var(--mud-palette-primary, var(--pw-primary, #6C5CE7)); text-decoration: none; font-weight: 500; white-space: nowrap; }
    .msg-view-all:hover { text-decoration: underline; }
    .msg-list { display: flex; flex-direction: column; gap: 18px; flex: 1; }
    .msg-item { display: flex; gap: 10px; }
    .msg-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; margin-top: 6px; }
    .msg-body { display: flex; flex-direction: column; gap: 5px; }
    .msg-text { font-size: 0.84rem; color: var(--mud-palette-text-primary); line-height: 1.7; }
    .msg-time { font-size: .75rem; color: var(--mud-palette-text-secondary); }
    .cal-grid > span { font-size: 0.75rem; padding: 5px 0; border-radius: 6px; }

/* $fileRel */
/* ═══════════ بیس صفحه داشبورد ═══════════ */
    .dashboard-page-content {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
    }

    .dashboard-page-content *, .dashboard-page-content *::before, .dashboard-page-content *::after {
        box-sizing: border-box;
    }

    .stat-mini-box {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }

    .stat-mini-num {
        font-size: 1.15rem;
        font-weight: 800;
        color: var(--mud-palette-text-primary);
    }

    .stat-mini-lbl {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
    }

    .stat-flame-icon .flame-glow {
        color: var(--pw-error, #FF5A5A) !important;
    }

    .stat-divider-vert {
        width: 1px;
        height: 48px;
        background: var(--pw-primary-tint, #E8E4FF);
        flex-shrink: 0;
    }

    .card-top-icon-row {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .card-icon-circle {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #FFFFFF;
    }

    .card-section-title {
        font-size: 0.9rem;
        font-weight: 700;
        color: var(--mud-palette-text-primary);
    }

    .btn-cta-blue {
        background: linear-gradient(90deg, #3EA6FF, #2D7CFF);
        color: #FFFFFF;
        border: none;
        border-radius: 12px;
        padding: 12px 20px;
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 700;
        cursor: pointer;
        transition: opacity 0.2s, transform 0.15s;
        text-align: center;
    }

    .btn-cta-blue:hover {
        opacity: 0.92;
        transform: translateY(-1px);
    }

    /* ─── مرور هوشمند ─── */
    .review-big-number-area {
        display: flex;
        align-items: baseline;
        gap: 14px;
    }

    .review-huge-num {
        font-size: 3.5rem;
        font-weight: 900;
        background: linear-gradient(135deg, #6A35FF, #7E4CFF);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        line-height: 1;
    }

    .review-sub-text {
        font-size: 0.85rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 500;
    }

    .review-topic-list {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .review-topic-row {
        display: flex;
        align-items: center;
        gap: 10px;
        background: var(--mud-palette-background);
        padding: 10px 14px;
        border-radius: 12px;
    }

    .review-topic-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .review-topic-name {
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        flex: 1;
        font-weight: 500;
    }

    .review-topic-chip {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        background: var(--pw-primary-tint, #EAE8F0);
        padding: 3px 10px;
        border-radius: 8px;
        font-weight: 500;
        white-space: nowrap;
    }

    .btn-cta-review {
        background: linear-gradient(90deg, #6A35FF, #7E4CFF);
        color: #FFFFFF;
        border: none;
        border-radius: 12px;
        padding: 12px 20px;
        font-family: inherit;
        font-size: 0.85rem;
        font-weight: 700;
        cursor: pointer;
        transition: opacity 0.2s, transform 0.15s;
        text-align: center;
    }

    .btn-cta-review:hover {
        opacity: 0.92;
        transform: translateY(-1px);
    }

    .btn-weak-practice {
        background: #6A35FF;
        color: #FFFFFF;
        border: none;
        border-radius: 8px;
        padding: 6px 14px;
        font-family: inherit;
        font-size: .75rem;
        font-weight: 600;
        cursor: pointer;
        align-self: flex-start;
        transition: opacity 0.2s;
    }

    .btn-weak-practice:hover {
        opacity: 0.9;
    }

    /* ─── پیام‌های سیستمی ─── */
    .msg-timeline {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .msg-timeline-item {
        display: flex;
        gap: 10px;
    }

    .msg-timeline-dot {
        width: 9px;
        height: 9px;
        border-radius: 50%;
        flex-shrink: 0;
        margin-top: 5px;
        box-shadow: 0 0 0 3px rgba(0,0,0,0.04);
    }

    .msg-timeline-content {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .msg-timeline-text {
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        line-height: 1.7;
        margin: 0;
    }

    .msg-timeline-time {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
    }

    .btn-cta-outline {
        background: transparent;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        border: 1.5px solid var(--pw-primary-tint-border, #D4C8F0);
        border-radius: 12px;
        padding: 10px 20px;
        font-family: inherit;
        font-size: 0.82rem;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.2s;
        text-align: center;
    }

    .btn-cta-outline:hover {
        background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));
        border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
    }

    /* ═══════════ دکمه CTA پایین ═══════════ */
    .bottom-cta-bar {
        position: sticky;
        bottom: 20px;
        margin: 20px 20px 20px;
        z-index: 20;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .profile-header-card {
            flex-direction: column;
            align-items: stretch;
            gap: 16px;
            padding: 20px;
        }

        .profile-stats-section {
            flex-direction: row;
            justify-content: center;
            gap: 24px;
        }

        .stat-divider-vert {
            width: 1px;
            height: 40px;
        }
    }

/* $fileRel */
/* ─── فونت + بک‌گراند کلی ─── */
    .dashboard-layout {
        font-family: 'Vazirmatn', 'IRANSans', 'Tahoma', 'Roboto', sans-serif;
        background-color: var(--pw-surface-alt, #F4F7FC);
        min-height: 100vh;
        position: relative;
    }

    .dashboard-main {
        background-color: var(--pw-surface-alt, #F4F7FC);
        min-height: 100vh;
        padding-bottom: 80px;
    }

    .dashboard-container {
        padding-top: 20px;
        padding-bottom: 16px;
    }

    /* ──────────────────────────────────────────
        سایدبار (MudDrawer)
       ────────────────────────────────────────── */
    .dashboard-sidebar {
        background-color: var(--pw-surface, #FFFFFF) !important;
        border-right: none !important;
        box-shadow: 0 0 20px rgba(0,0,0,0.04);
    }

    .dashboard-sidebar .mud-drawer-content {
        background-color: var(--mud-palette-surface);
    }

    .logo-text {
        color: var(--pw-primary, #6A35C0) !important;
        font-weight: 800 !important;
        font-size: 1.5rem !important;
        margin: 0;
    }

    /* ─── آیتم فعال منو ─── */
    .sidebar-nav .mud-nav-link.active,
    .sidebar-nav .nav-link-active.active {
        background-color: #6A3E9D !important;
        color: #FFFFFF !important;
        border-radius: 10px;
    }

    .sidebar-nav .mud-nav-link.active .mud-nav-link-icon,
    .sidebar-nav .nav-link-active.active .mud-nav-link-icon {
        color: #FFFFFF !important;
    }

    /* ─── آیتم‌های غیرفعال ─── */
    .sidebar-nav .mud-nav-link {
        color: var(--pw-text-muted, #757575) !important;
        border-radius: 10px;
        margin-bottom: 2px;
        transition: background-color 0.2s;
    }

    .sidebar-nav .mud-nav-link:hover:not(.active) {
        background-color: var(--pw-primary-tint, #F5F0FA);
    }

    .sidebar-nav .mud-nav-link .mud-nav-link-icon {
        color: var(--pw-text-muted, #9E9E9E) !important;
    }

    /* ─── نشانگر پیام‌ها ─── */
    .nav-item-with-badge {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .msg-badge .mud-badge {
        background-color: #6A35C0 !important;
        min-width: 20px;
        height: 20px;
        font-size: .75rem;
    }

    .dash-card .mud-card-content {
        padding: 20px !important;
    }

    .card-header-row {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
    }

    .card-title {
        font-weight: 700;
        color: var(--pw-text, #212121);
    }

    .profile-card .mud-card-content {
        padding: 24px !important;
    }

    /* بخش XP */
    .xp-section {
        margin-top: 4px;
    }

    .xp-progress-bar .mud-progress-linear-bar {
        background-color: var(--pw-surface, #FFFFFF) !important;
        border-radius: 10px !important;
    }

    .btn-mission-start {
        background-color: #7C4DFF !important;
        border-radius: 10px !important;
        font-weight: 600 !important;
    }

    /* ──────────────────────────────────────────
        کارت مرور امروز
       ────────────────────────────────────────── */
    .review-big-number {
        display: flex;
        align-items: baseline;
        gap: 12px;
        margin: 8px 0 14px 0;
    }

    .review-count {
        font-size: 3.5rem !important;
        font-weight: 800 !important;
        color: var(--pw-primary, #6A35C0) !important;
        line-height: 1 !important;
    }

    .review-subtitle {
        font-size: 0.85rem !important;
    }

    .review-list {
        margin-bottom: 12px;
    }

    .review-list-item {
        padding: 4px 0 !important;
    }

    .review-item-content {
        display: flex;
        align-items: center;
        gap: 10px;
        width: 100%;
    }

    .review-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        flex-shrink: 0;
    }

    .review-title {
        font-size: 0.84rem;
        color: var(--pw-text, #212121);
        flex: 1;
    }

    .review-chip {
        background-color: var(--pw-surface-alt, #F0F0F0) !important;
        font-size: .75rem !important;
        height: 24px !important;
        white-space: nowrap;
    }

    .btn-review-start {
        border-radius: 10px !important;
        background: linear-gradient(135deg, #6C5CE7, #00B4D8) !important;
        font-weight: 600 !important;
    }

    .weak-progress .mud-progress-linear-bar {
        border-radius: 6px !important;
    }

    .btn-weak-practice {
        background-color: #6A3E9D !important;
        color: #FFFFFF !important;
        border-radius: 8px !important;
        font-size: .75rem !important;
        align-self: flex-start;
    }

    /* ──────────────────────────────────────────
        کارت پیام‌های سیستمی
       ────────────────────────────────────────── */
    .system-messages {
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .msg-item {
        display: flex;
        gap: 10px;
    }

    .msg-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        flex-shrink: 0;
        margin-top: 6px;
    }

    .msg-content {
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .msg-body-text {
        color: var(--pw-text, #212121) !important;
        line-height: 1.6 !important;
        font-size: 0.84rem !important;
    }

    .btn-rivals-table {
        border-radius: 10px !important;
        font-weight: 600 !important;
    }

    /* ──────────────────────────────────────────
        فوتر بنفش
       ────────────────────────────────────────── */
    .dashboard-footer {
        background-color: #6200EA !important;
        border-radius: 0 !important;
        position: relative;
        width: 100%;
        margin-top: auto;
    }

    /* ──────────────────────────────────────────
        دکمه شناور (FAB) موبایل
       ────────────────────────────────────────── */
    .mobile-fab {
        position: fixed !important;
        bottom: 24px !important;
        left: 24px !important;
        z-index: 1300 !important;
        background-color: #6A35C0 !important;
        box-shadow: 0 4px 16px rgba(106,53,192,0.4) !important;
    }

    /* ──────────────────────────────────────────
        ریسپانسیو (موبایل)
       ────────────────────────────────────────── */
    @@media (max-width: 959px) {
        .profile-main {
            flex-direction: column;
            text-align: center;
        }

        .profile-name-row {
            justify-content: center;
        }

        .profile-avatar-frame {
            margin-bottom: 8px;
        }

        .dashboard-container {
            padding: 12px 8px;
        }

        .hex-medal {
            width: 48px;
            height: 48px;
        }

        .review-count {
            font-size: 2.8rem !important;
        }
    }

/* $fileRel */
.ai-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15,23,42,0.48);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        padding: 20px;
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
    }

        .ai-overlay *, .ai-overlay *::before, .ai-overlay *::after {
            box-sizing: border-box;
        }

    .seg-on {
        background: #7C3AED !important;
        color: #FFFFFF !important;
        box-shadow: 0 4px 12px rgba(124,58,237,0.25);
        position: relative;
        z-index: 1;
    }

        .ai-text-input::placeholder {
            color: var(--mud-palette-text-disabled);
        }

    .opt-correct {
        background: var(--mud-palette-success-light);
        border-color: var(--mud-palette-success-light);
    }

    .opt-correct .q-opt-letter {
        background: #16A34A;
        color: #FFFFFF;
    }

    .opt-check-icon {
        color: var(--pw-success, #16A34A) !important;
        flex-shrink: 0;
    }

    /* ═══════════ موبایل ═══════════ */
    @@media (max-width: 768px) {
        .ai-overlay {
            padding: 0;
            align-items: stretch;
        }

        .ai-modal {
            max-width: 100%;
            max-height: 100vh;
            border-radius: 0;
        }

        .ai-header {
            padding: 14px 16px 10px;
        }

        .ai-title {
            font-size: 0.9rem;
        }

        .ai-body {
            padding: 0 16px 8px;
            gap: 14px;
        }

        .ai-settings-row {
            flex-direction: column;
        }

        .ai-field-narrow {
            flex: unset;
        }

        .q-options {
            grid-template-columns: 1fr;
        }

        .ai-bottom-bar {
            padding: 12px 16px 18px;
        }
    }

/* $fileRel */
.cq-overlay {
        position: fixed;
        inset: 0;
        background: rgba(20,20,35,0.45);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        padding: 20px;
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
    }

        .cq-overlay *, .cq-overlay *::before, .cq-overlay *::after {
            box-sizing: border-box;
        }

    /* ─── پنل چپ: AI ─── */
    .cq-left-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        padding: 0 20px 16px;
        border-left: 1px solid var(--pw-primary-tint-border, #ECEBFF);
        min-width: 0;
    }

    .user-msg {
        justify-content: flex-end;
    }

    .user-bubble {
        background: linear-gradient(135deg, #6D3EFF 0%, #5B3DF5 100%);
        border-top-left-radius: 6px;
    }

        .user-bubble p {
            color: #FFFFFF;
        }

    .cq-bubble p {
        font-size: 0.8rem;
        margin: 0;
        line-height: 1.6;
    }

        .cq-chat-input::placeholder {
            color: var(--mud-palette-text-disabled);
        }

        .cq-textarea::placeholder {
            color: var(--mud-palette-text-disabled);
        }

    .cq-radio:checked + .cq-radio-custom {
        border-color: var(--pw-primary, #6D3EFF);
        background: #6D3EFF;
        box-shadow: 0 0 0 3px rgba(109,62,255,0.15), inset 0 0 0 4px #FFFFFF;
    }

        .cq-opt-input::placeholder {
            color: var(--mud-palette-text-disabled);
        }

    .seg-active {
        background: #6D3EFF !important;
        color: #FFFFFF !important;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 850px) {
        .cq-overlay {
            padding: 0;
            align-items: stretch;
        }

        .cq-modal {
            max-width: 100%;
            max-height: 100vh;
            border-radius: 0;
        }

        .cq-header {
            padding: 14px 14px 8px;
        }

        .cq-title {
            font-size: 0.95rem;
        }

        .cq-body {
            flex-direction: column;
            overflow-y: auto;
        }

        .cq-left-panel {
            border-left: none;
            border-bottom: 1px solid var(--pw-primary-tint-border, #ECEBFF);
            padding-bottom: 14px;
        }

        .cq-right-panel {
            padding-top: 8px;
        }

        .cq-opts-grid {
            grid-template-columns: 1fr;
        }

        .cq-suggest-opts {
            grid-template-columns: 1fr;
        }

        .cq-field-row {
            flex-direction: column;
        }
    }

/* $fileRel */
.er-page {
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 4px 40px
    }

        .er-page *, .er-page *::before, .er-page *::after {
            box-sizing: border-box
        }

    .er-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        flex-wrap: wrap;
        gap: 12px
    }

    .er-top-left {
        display: flex;
        align-items: center;
        gap: 14px
    }

    .er-top-icon {
        width: 46px;
        height: 46px;
        border-radius: 50%;
        background: linear-gradient(135deg,#6D3BFF,#4A3DFF);
        display: flex;
        align-items: center;
        justify-content: center
    }

    .er-top-svg {
        color: #FFF !important
    }

    .er-title {
        font-size: 1.25rem;
        font-weight: 900;
        color: var(--mud-palette-text-primary);
        margin: 0
    }

    .er-sub {
        font-size: .8rem;
        color: var(--mud-palette-text-secondary);
        margin: 2px 0 0
    }

    .er-top-right {
        display: flex;
        align-items: center;
        gap: 10px
    }

    .er-select-wrap {
        position: relative
    }

    .er-select {
        height: 44px;
        background: var(--mud-palette-surface);
        border: 1px solid var(--mud-palette-divider);
        border-radius: 14px;
        padding: 0 38px 0 14px;
        font-family: inherit;
        font-size: .84rem;
        color: var(--mud-palette-text-primary);
        outline: none;
        appearance: none;
        cursor: pointer
    }

    .er-select:focus {
        border-color: var(--mud-palette-primary);
    }

    .er-sel-arrow {
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--mud-palette-text-secondary) !important;
        pointer-events: none
    }

    .er-export-btn {
        display: flex;
        align-items: center;
        gap: 6px;
        background: var(--pw-info-tint, #D9EDFF);
        color: var(--pw-info, #1B6BA0);
        border: none;
        border-radius: 14px;
        padding: 10px 20px;
        font-family: inherit;
        font-size: .82rem;
        font-weight: 700;
        cursor: pointer
    }

    /* KPI */
    .er-kpi-row {
        display: grid;
        grid-template-columns: repeat(4,1fr);
        gap: 14px;
        margin-bottom: 20px
    }

    .er-kpi-card {
        background: var(--mud-palette-surface);
        border-radius: 24px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.05);
        padding: 18px 20px;
        display: flex;
        align-items: center;
        gap: 14px
    }

    .er-kpi-icon {
        width: 44px;
        height: 44px;
        min-width: 44px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center
    }

    .er-kpi-purple {
        background: linear-gradient(135deg, var(--mud-palette-divider, var(--mud-palette-divider-light)), rgba(139,92,246,0.2))
    }

        .er-kpi-purple .mud-icon-root {
            color: var(--pw-primary, #6D3BFF) !important
        }

    .er-kpi-blue {
        background: linear-gradient(135deg,var(--mud-palette-info-light),#BBDEFB)
    }

        .er-kpi-blue .mud-icon-root {
            color: var(--pw-info, #3792FF) !important
        }

    .er-kpi-green {
        background: linear-gradient(135deg,var(--mud-palette-success-light),#C8E6C9)
    }

        .er-kpi-green .mud-icon-root {
            color: var(--pw-success, #22A447) !important
        }

    .er-kpi-orange {
        background: linear-gradient(135deg,var(--mud-palette-warning-light),#FFE0B2)
    }

        .er-kpi-orange .mud-icon-root {
            color: var(--pw-warning, #F5B62F) !important
        }

    .er-kpi-info {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 2px
    }

    .er-kpi-lbl {
        font-size: .75rem;
        color: var(--pw-text-muted, #7B7B96)
    }

    .er-kpi-val {
        font-size: 1.2rem;
        font-weight: 900;
        color: var(--pw-text, #1B1B1F)
    }

    .er-kpi-chg {
        font-size: .75rem;
        font-weight: 700;
        padding: 2px 8px;
        border-radius: 999px
    }

        .er-kpi-chg.up {
            color: var(--pw-success, #22A447);
            background: rgba(34,164,71,.1)
        }

        .er-kpi-chg.down {
            color: var(--mud-palette-error);
            background: rgba(229,57,53,.1)
        }

    /* ردیف میانی */
    .er-mid-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px
    }

    .er-chart-card, .er-table-card {
        background: var(--mud-palette-surface);
        border-radius: 24px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.05);
        padding: 20px 22px
    }

    .er-sec-title {
        font-size: .9rem;
        font-weight: 800;
        color: var(--mud-palette-text-primary);
        margin: 0 0 16px
    }

    /* نمودار */
    .er-bars-wrap {
        display: flex;
        align-items: flex-end;
        justify-content: space-around;
        height: 170px;
        gap: 14px;
        padding-top: 14px
    }

    .er-bar-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        height: 100%
    }

    .er-bar-val {
        font-size: .75rem;
        color: var(--mud-palette-text-secondary);
        font-weight: 600
    }

    .er-bar-track {
        flex: 1;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center
    }

    .er-bar-fill {
        width: 80%;
        max-width: 50px;
        border-radius: 10px 10px 0 0;
        min-height: 6px;
        background: linear-gradient(180deg,#A98BFF,#5C3FFF)
    }

    .er-bar-lbl {
        font-size: .75rem;
        color: var(--pw-text-muted, #7B7B96)
    }

    /* جدول */
    .er-tbl-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }

    .er-table {
        width: 100%;
        min-width: 400px;
        border-collapse: collapse
    }

        .er-table th {
            text-align: right;
            padding: 12px 14px;
            font-size: .75rem;
            font-weight: 700;
            color: var(--pw-primary, #6D3BFF);
            border-bottom: 1px solid var(--pw-primary-tint-border, #F0ECFA)
        }

        .er-table td {
            padding: 12px 14px;
            font-size: .8rem;
            color: var(--mud-palette-text-primary);
            border-bottom: 1px solid var(--pw-primary-tint-border, #F8F6FC)
        }

        .er-table tbody tr:hover {
            background: var(--mud-palette-background-hover)
        }

    .er-td-name {
        font-weight: 600
    }

    .er-td-score {
        font-weight: 700;
        color: var(--pw-primary, #6D3BFF)
    }

    .er-td-date {
        font-size: .75rem;
        color: var(--pw-text-muted, #7B7B96)
    }

    .er-status {
        display: inline-block;
        font-size: .75rem;
        font-weight: 700;
        padding: 3px 10px;
        border-radius: 999px
    }

    .st-pass {
        background: var(--mud-palette-success-light);
        color: var(--pw-success, #22A447)
    }

    .st-fail {
        background: var(--mud-palette-error-light);
        color: var(--mud-palette-error)
    }

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px) {
        .er-kpi-row {
            grid-template-columns: repeat(2,1fr)
        }

        .er-mid-row {
            grid-template-columns: 1fr
        }
    }

    @@media(max-width:600px) {
        .er-kpi-row {
            grid-template-columns: 1fr
        }

        .er-kpi-card {
            padding: 14px 16px
        }

        .er-top {
            flex-direction: column;
            align-items: flex-start
        }}

/* $fileRel */
.exams-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .exams-page *, .exams-page *::before, .exams-page *::after {
        box-sizing: border-box;
    }

    /* ═══════════ جستجو ═══════════ */
    .search-bar-wrap {
        display: flex;
        align-items: center;
        background: var(--mud-palette-background-grey);
        border-radius: 14px;
        padding: 0 16px;
        margin-bottom: 18px;
        border: 1px solid transparent;
        transition: border-color 0.2s;
    }

    .search-bar-wrap:focus-within {
        border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        background: var(--mud-palette-surface);
    }

    .search-icon {
        color: var(--pw-primary, #6A35FF) !important;
        flex-shrink: 0;
    }

    .search-input {
        flex: 1;
        border: none;
        background: transparent;
        padding: 14px 12px;
        font-family: inherit;
        font-size: 0.86rem;
        color: var(--mud-palette-text-primary);
        outline: none;
    }

    .search-input::placeholder {
        color: var(--mud-palette-text-secondary);
    }

    .search-clear-btn {
        background: none;
        border: none;
        cursor: pointer;
        color: var(--mud-palette-text-disabled);
        padding: 4px;
    }

    .diff-easy {
        background: var(--mud-palette-success-light);
        color: var(--mud-palette-success);
    }

    .diff-medium {
        background: var(--mud-palette-warning-light);
        color: var(--mud-palette-warning);
    }

    .diff-hard {
        background: var(--mud-palette-error-light);
        color: var(--mud-palette-error);
    }

    .page-nav-btn:hover:not(:disabled) {
        background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD));
    }

    .page-nav-btn:disabled {
        opacity: 0.4;
        cursor: not-allowed;
        color: var(--mud-palette-text-disabled);
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .exam-card {
            padding: 18px 20px;
            border-radius: 22px;
        }

        .exam-card-top {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }

        .exam-badges-row {
            justify-content: center;
        }

        .exam-card-bottom {
            flex-direction: column;
            gap: 12px;
            align-items: center;
        }

        .exam-cta-btn {
            width: 100%;
            justify-content: center;
        }

        .exam-meta-row {
            justify-content: center;
        }
    }

/* $fileRel */
.me-page {
        font-family: 'Vazirmatn','Peyda','Yekan Bakh','Dana','IRANSans','Tahoma',sans-serif;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }
    .me-page *, .me-page *::before, .me-page *::after { box-sizing: border-box; }

    /* ─── هدر ─── */
    .me-top-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 22px;
        flex-wrap: wrap;
        gap: 14px;
    }
    .me-top-left {
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .me-title-icon {
        width: 50px; height: 50px;
        border-radius: 50%;
        background: var(--mud-palette-divider, var(--mud-palette-divider-light));
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .me-title-icon-svg { color: var(--pw-primary, #6A35FF) !important; }
    .me-title-block { display: flex; flex-direction: column; gap: 3px; }
    .me-title { font-size: 1.5rem; font-weight: 900; color: var(--pw-text, #151521); margin: 0; }
    .me-subtitle { font-size: 0.84rem; color: var(--mud-palette-text-secondary); margin: 0; }

    .me-create-btn {
        display: flex;
        align-items: center;
        gap: 8px;
        background: linear-gradient(90deg, #5E2FFF 0%, #7A4DFF 100%);
        color: #FFFFFF;
        border: none;
        border-radius: 18px;
        height: 56px;
        padding: 0 28px;
        font-family: inherit;
        font-size: 0.9rem;
        font-weight: 700;
        cursor: pointer;
        box-shadow: 0 6px 20px rgba(94,47,255,0.22);
        transition: transform 0.15s, box-shadow 0.15s;
        white-space: nowrap;
    }
    .me-create-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(94,47,255,0.3); }
    .me-create-icon { color: #FFFFFF !important; }

    /* ─── فیلترها ─── */
    .me-filters-row {
        display: flex;
        gap: 12px;
        margin-bottom: 20px;
    }
    .me-search-wrap {
        flex: 1;
        position: relative;
        display: flex;
        align-items: center;
    }
    .me-search-icon {
        position: absolute;
        right: 16px;
        color: var(--mud-palette-text-secondary) !important;
        pointer-events: none;
        z-index: 2;
    }
    .me-search-input {
        width: 100%;
        height: 64px;
        background: var(--mud-palette-surface);
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        border-radius: 20px;
        padding: 0 46px 0 20px;
        font-family: inherit;
        font-size: 0.88rem;
        color: var(--pw-text, #151521);
        outline: none;
        transition: border-color 0.2s;
    }
    .me-search-input:focus { border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); }
    .me-search-input::placeholder { color: var(--mud-palette-text-disabled); }

    .me-select-wrap {
        position: relative;
        min-width: 180px;
    }
    .me-select {
        width: 100%;
        height: 64px;
        background: var(--mud-palette-surface);
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        border-radius: 20px;
        padding: 0 42px 0 20px;
        font-family: inherit;
        font-size: 0.88rem;
        color: var(--pw-text, #151521);
        outline: none;
        appearance: none;
        cursor: pointer;
    }
    .me-select:focus { border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); }
    .me-select-arrow {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--mud-palette-text-secondary) !important;
        pointer-events: none;
    }

    /* ─── پنهان/نمایش ─── */
    .desktop-only { display: block; }

    /* ─── جدول ─── */
    .me-table-card {
        background: var(--mud-palette-surface);
        border-radius: 28px;
        border: 1px solid var(--mud-palette-divider);
        box-shadow: 0 4px 18px rgba(0,0,0,0.04);
        overflow: hidden;
        margin-bottom: 20px;
    }
    .me-table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .me-table {
        width: 100%;
        min-width: 950px;
        border-collapse: collapse;
    }
    .me-table thead {
        background: var(--mud-palette-primary-hover, var(--mud-palette-primary-hover-light));
    }
    .me-table th {
        text-align: right;
        padding: 16px 18px;
        font-size: 0.78rem;
        font-weight: 700;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        white-space: nowrap;
    }
    .me-table td {
        padding: 16px 18px;
        font-size: 0.84rem;
        color: var(--pw-text, #151521);
        border-bottom: 1px solid var(--mud-palette-divider);
        white-space: nowrap;
    }
    .me-table tbody tr:hover { background: var(--mud-palette-background-hover, var(--mud-palette-background-hover)); }

    /* ─── نشان‌ها ─── */
    .me-badge {
        display: inline-block;
        font-size: .75rem;
        font-weight: 700;
        padding: 4px 12px;
        border-radius: 999px;
    }
    .me-action-btn {
        width: 34px; height: 34px;
        border-radius: 12px;
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        background: var(--mud-palette-surface);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: var(--mud-palette-text-secondary);
        transition: all 0.15s;
    }
    .me-action-btn:hover { background: var(--mud-palette-primary-hover, var(--pw-primary-tint, #F5F2FD)); color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); border-color: var(--mud-palette-primary, var(--pw-primary, #6A35FF)); }

    /* ─── صفحه‌بندی ─── */
    .me-pagination {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin-bottom: 20px;
    }
    .me-page-btn {
        background: var(--mud-palette-surface);
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        border-radius: 14px;
        padding: 9px 18px;
        font-family: inherit;
        font-size: 0.82rem;
        font-weight: 600;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        cursor: pointer;
    }
    .me-page-btn:disabled { opacity: 0.35; cursor: not-allowed; color: var(--mud-palette-text-disabled); }
    .me-page-num {
        width: 40px; height: 40px;
        border-radius: 12px;
        border: 1px solid var(--pw-primary-tint-border, #ECE8FA);
        background: var(--mud-palette-surface);
        font-family: inherit;
        font-size: 0.84rem;
        font-weight: 700;
        color: var(--mud-palette-text-secondary);
        cursor: pointer;
    }

    /* ─── نوک پاورقی ─── */
    .me-footer-tip {
        display: flex;
        align-items: center;
        gap: 10px;
        background: var(--mud-palette-divider, var(--mud-palette-divider-light));
        border-radius: 18px;
        padding: 14px 20px;
        font-size: 0.82rem;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        font-weight: 500;
    }
    .me-tip-icon { color: var(--pw-primary, #6A35FF) !important; flex-shrink: 0; }

    /* ═══════════ نسخه موبایل ═══════════ */
    @@media (max-width: 959px) {
        .desktop-only { display: none !important; }
        .mobile-only { display: block; }

        .me-filters-row {
            flex-direction: column;
        }
        .me-select-wrap {
            min-width: unset;
        }

        .me-mobile-list {
            display: flex;
            flex-direction: column;
            gap: 14px;
            margin-bottom: 20px;
        }
        .me-mob-card {
            background: var(--mud-palette-surface);
            border-radius: 22px;
            border: 1px solid var(--mud-palette-divider);
            box-shadow: 0 4px 18px rgba(0,0,0,0.04);
            padding: 16px 18px;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }
        .mob-card-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .mob-card-left {
            display: flex;
            align-items: center;
            gap: 8px;
        }
        .mob-card-name { font-size: 0.9rem; font-weight: 700; color: var(--pw-text, #151521); }
        .mob-card-date { font-size: .75rem; color: var(--mud-palette-text-secondary); }
        .mob-card-badges { display: flex; gap: 6px; flex-wrap: wrap; }
        .mob-card-stats {
            display: flex;
            gap: 14px;
            font-size: 0.76rem;
            color: var(--mud-palette-text-secondary);
        }
        .mob-card-actions {
            display: flex;
            gap: 6px;
            justify-content: flex-end;
        }
    }

    @@media (max-width: 600px) {
        .me-title { font-size: 1.15rem; }
        .me-create-btn { height: 48px; padding: 0 20px; font-size: 0.82rem; border-radius: 14px; }
        .me-search-input, .me-select { height: 52px; border-radius: 16px; }
        .me-table-card { border-radius: 20px; }}

/* $fileRel */
.qb-page {
        font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width:1200px;margin:0 auto;padding:0 4px 40px;
    }
    .qb-page *,.qb-page *::before,.qb-page *::after{box-sizing:border-box}
    .qb-search-input::placeholder{color:var(--mud-palette-text-disabled)}

    /* ─── جدول ─── */
    .desktop-only{display:block}
    .qb-table thead{background:var(--mud-palette-background-grey)}
    .qb-table th{text-align:right;padding:14px 16px;font-size:.75rem;font-weight:700;color:var(--mud-palette-primary);white-space:nowrap}
    .qb-table td{padding:14px 16px;font-size:.82rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-border, #F5F2FD)}
    .qb-table tbody tr:hover{background:var(--mud-palette-background-hover)}
    .qb-pag-btn:disabled{opacity:.35;cursor:not-allowed;color:var(--mud-palette-text-disabled)}

    /* ─── FAB ─── */
    .qb-fab{display:none}

    /* ═══════════ موبایل ═══════════ */
    @@media(max-width:850px){
        .desktop-only{display:none!important}.mobile-only{display:block}
        .qb-filter-card{flex-wrap:wrap}.qb-select-wrap{min-width:unset;flex:1}
        .qb-mob-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
        .qb-mob-card{background: var(--mud-palette-surface);border-radius:20px;border:1px solid var(--mud-palette-divider);box-shadow:0 4px 16px rgba(0,0,0,0.04);padding:16px;display:flex;flex-direction:column;gap:10px}
        .mob-top{display:flex;align-items:center;gap:8px}
        .mob-num{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--mud-palette-primary),#5B3DF5);color:#FFF;display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:800}
        .mob-text{font-size:.84rem;color: var(--mud-palette-text-primary);line-height:1.6;margin:0}
        .mob-meta{display:flex;gap:14px;font-size:.75rem;color:var(--pw-text-muted, #7B7B96)}
        .mob-acts{display:flex;gap:6px;justify-content:flex-end}
        .qb-fab{display:flex;align-items:center;gap:8px;position:fixed;bottom:24px;left:24px;z-index:100;background:linear-gradient(135deg,var(--mud-palette-primary),#5B3DF5);color:#FFF;border:none;border-radius:50px;padding:15px 24px;font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;box-shadow:0 10px 30px rgba(111,65,255,.35)}
        .qb-fab:hover{transform:translateY(-2px)}
    }

/* $fileRel */
.sq-overlay {
        position: fixed;
        inset: 0;
        background: rgba(15,10,30,0.55);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1000;
        padding: 20px;
        font-family: 'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
    }

    .sq-overlay *, .sq-overlay *::before, .sq-overlay *::after { box-sizing: border-box; }
    .sq-search-input::placeholder { color: var(--mud-palette-text-disabled); }

    /* ─── جدول (دسکتاپ) ─── */
    .desktop-only { display: block; }
    .sq-table thead {
        position: sticky;
        top: 0;
        z-index: 2;
        background: var(--mud-palette-background-grey);
    }
    .sq-table th {
        text-align: right;
        padding: 14px 16px;
        font-size: 0.76rem;
        font-weight: 700;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
        white-space: nowrap;
    }
    .sq-table td {
        padding: 14px 16px;
        font-size: 0.82rem;
        color: var(--mud-palette-text-primary);
        border-bottom: 1px solid var(--mud-palette-divider);
    }
    .sq-table tbody tr {
        cursor: pointer;
        transition: background 0.15s;
    }
    .sq-table tbody tr:hover { background: var(--mud-palette-background-hover, var(--mud-palette-background-hover)); }
    .sq-checkbox.checked {
        background: #7C3AED;
        border-color: var(--pw-primary, #7C3AED);
        box-shadow: 0 3px 10px rgba(124,58,237,0.3);
    }
    .sq-confirm-btn:hover:not(:disabled) {
        transform: translateY(-2px);
        box-shadow: 0 12px 28px rgba(124,58,237,0.35);
    }
    .sq-confirm-btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    /* ═══════════ موبایل ═══════════ */
    @@media (max-width: 768px) {
        .sq-overlay { padding: 0; align-items: stretch; }
        .sq-modal {
            max-width: 100%;
            max-height: 100vh;
            border-radius: 0;
        }
        .sq-header { padding: 16px 18px 12px; }
        .sq-header-title { font-size: 1rem; }
        .sq-filters {
            flex-direction: column;
            padding: 0 18px 12px;
        }
        .sq-select-wrap { min-width: unset; }

        .desktop-only { display: none !important; }
        .mobile-only { display: block; }

        .sq-table-wrap { margin: 0 18px; }

        .sq-mobile-list {
            flex: 1;
            overflow-y: auto;
            padding: 0 18px 12px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .sq-mob-card {
            background: var(--mud-palette-surface);
            border: 1px solid var(--mud-palette-divider);
            border-radius: 18px;
            padding: 14px 16px;
            display: flex;
            flex-direction: column;
            gap: 10px;
            cursor: pointer;
            transition: all 0.15s;
        }
        .mob-card-sel {
            background: var(--mud-palette-background-grey);
            border-color: var(--pw-primary, #7C3AED);
        }
        .mob-card-top {
            display: flex;
            gap: 6px;
            align-items: center;
        }
        .mob-card-date { font-size: .75rem; color: var(--mud-palette-text-secondary); margin-right: auto; }
        .mob-card-text { font-size: 0.84rem; color: var(--mud-palette-text-primary); line-height: 1.6; margin: 0; }
        .sq-mob-card .sq-checkbox { align-self: flex-end; }

        .sq-bottom-bar {
            padding: 14px 18px 18px;
            flex-direction: column;
        }
        .sq-cancel-btn, .sq-confirm-btn { width: 100%; justify-content: center; }
    }

/* $fileRel */
.achievements-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .achievements-page *, .achievements-page *::before, .achievements-page *::after {
        box-sizing: border-box;
    }

    .ring-bg {
        fill: none;
        stroke: #ECE7FF;
        stroke-width: 8;
    }

    .ring-fill {
        fill: none;
        stroke: url(#ringGradient);
        stroke-width: 8;
        stroke-linecap: round;
        stroke-dasharray: 264;
        stroke-dashoffset: 174;
        transition: stroke-dashoffset 0.8s ease;
    }

    .ring-pct {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 1rem;
        font-weight: 800;
        color: var(--mud-palette-primary, var(--pw-primary, #6A35FF));
    }

    .badge-status-icon.locked {
        color: var(--mud-palette-text-disabled) !important;
    }

    .locked-text {
        color: var(--mud-palette-text-disabled) !important;
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .achv-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 14px;
        }

        .achv-header-card {
            flex-direction: column;
            gap: 16px;
            text-align: center;
            padding: 22px 20px;
        }

        .achv-header-left {
            flex-direction: column;
        }

        .pinned-cards-row {
            flex-direction: column;
        }

        .achv-filter-tabs {
            gap: 8px;
        }

        .filter-tab {
            padding: 8px 16px;
            font-size: 0.78rem;
        }
    }

/* $fileRel */
.profile-page {
        max-width: 600px; margin: 0 auto;
        font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
    }
    .edit-fields { display: flex; flex-direction: column; gap: 12px; }
    .edit-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 8px; }
    .mt-4 { margin-top: 16px; }

/* $fileRel */
.st-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .st-page *,.st-page *::before,.st-page *::after{box-sizing:border-box}
    .st-header-left{display:flex;align-items:center;gap:14px}
    .st-header-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);display:flex;align-items:center;justify-content:center}
    .st-header-svg{color:#FFF!important}
    .st-title{font-size:1.25rem;font-weight:900;color: var(--mud-palette-text-primary);margin:0}.st-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}

    /* تب‌ها */
    .st-tabs-scroll{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}
    .st-tab{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:14px;border: 1px solid var(--mud-palette-divider);background: var(--mud-palette-surface);font-family:inherit;font-size:.84rem;font-weight:600;color: var(--mud-palette-text-secondary);cursor:pointer;white-space:nowrap}
    .st-tab:hover{border-color:var(--mud-palette-divider);color:var(--pw-primary, #6D3BFF)}.st-tab-on{background:linear-gradient(135deg,#6D3BFF,#4A3DFF)!important;color:#FFF!important;border-color:transparent!important}

    .st-body{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}

    /* فرم */
    .st-form-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:24px 26px;display:flex;flex-direction:column;gap:24px}
    .st-form-section{display:flex;flex-direction:column;gap:16px}
    .st-sec-title{font-size:.9rem;font-weight:800;color: var(--mud-palette-text-primary);margin:0;display:flex;align-items:center;gap:8px}
    .st-stat-icn{color:var(--pw-primary, #6D3BFF)!important}

    .st-field{display:flex;flex-direction:column;gap:6px;flex:1}
    .st-lbl{font-size:.78rem;font-weight:700;color:var(--pw-text-muted, #7B7B96)}
    .st-input{height:46px;background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E7EBF3);border-radius:14px;padding:0 16px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none}.st-input:focus{border-color:var(--pw-primary, #6D3BFF);box-shadow:0 0 0 3px rgba(109,59,255,.08)}
    .st-textarea{background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E7EBF3);border-radius:14px;padding:12px 16px;font-family:inherit;font-size:.84rem;color: var(--mud-palette-text-primary);outline:none;resize:none}.st-textarea:focus{border-color:var(--pw-primary, #6D3BFF)}
    .st-hint{font-size:.75rem;color:var(--mud-palette-text-disabled)}
    .st-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

    .st-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.st-toggle-lbl{font-size:.84rem;font-weight:600;color:var(--pw-text, #1B1B1F)}
    .st-switch{position:relative;display:inline-block;width:48px;height:26px}.st-switch input{opacity:0;width:0;height:0}.st-switch-slider{position:absolute;cursor:pointer;inset:0;background: rgba(139,92,246,0.15);border-radius:26px;transition:.25s}.st-switch-slider::before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background: var(--mud-palette-surface);border-radius:50%;transition:.25s}.st-switch input:checked+.st-switch-slider{background:#22A447}.st-switch input:checked+.st-switch-slider::before{transform:translateX(22px)}

    /* دکمه‌ها */
    .st-form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .st-btn-reset{background: var(--mud-palette-surface);color:var(--mud-palette-error);border:1px solid var(--pw-error-border, #FFCDD2);border-radius:14px;padding:10px 22px;font-family:inherit;font-size:.84rem;font-weight:600;cursor:pointer}
    .st-btn-save{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#6D3BFF,#4A3DFF);color:#FFF;border:none;border-radius:14px;padding:10px 26px;font-family:inherit;font-size:.84rem;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(109,59,255,.2)}

    /* وضعیت */
    .st-status-card{background: var(--mud-palette-surface);border-radius:24px;border: 1px solid var(--mud-palette-divider);box-shadow:0 4px 18px rgba(0,0,0,0.05);padding:20px 22px;display:flex;flex-direction:column;gap:16px;position:sticky;top:24px}
    .st-stat-grid{display:flex;flex-direction:column;gap:12px}
    .st-stat-item{display:flex;align-items:center;gap:12px}
    .st-stat-dot{width:10px;height:10px;border-radius:50%}.st-stat-dot.ok{background:#22A447;box-shadow:0 0 0 4px rgba(34,164,71,.15)}
    .st-stat-item>div{display:flex;flex-direction:column;gap:1px}.st-stat-name{font-size:.78rem;color:var(--pw-text-muted, #7B7B96)}.st-stat-val{font-size:.84rem;font-weight:700;color:var(--pw-success, #22A447)}
    .st-stat-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--mud-palette-text-disabled)}
    .st-success-box{display:flex;align-items:center;gap:8px;background:var(--mud-palette-success-light);border-radius:14px;padding:12px 16px;font-size:.78rem;font-weight:600;color:var(--pw-success, #22A447)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.st-body{grid-template-columns:1fr}.st-status-card{position:static}.st-row-2{grid-template-columns:1fr}}
    @@media(max-width:600px){.st-form-card{padding:16px 14px}.st-form-actions{flex-direction:column}.st-btn-save,.st-btn-reset{width:100%;justify-content:center}}

/* $fileRel */
.wl-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:950px;margin:0 auto;padding:0 4px 40px}
    .wl-page *,.wl-page *::before,.wl-page *::after{box-sizing:border-box}.wl-field label{font-size:.76rem;font-weight:700;color:var(--pw-text-muted, #7B7B96)}
    .wl-table th{text-align:right;padding:12px 16px;font-size:.75rem;font-weight:700;color: var(--mud-palette-primary, var(--pw-primary, #5B2EFF));border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .wl-table td{padding:12px 16px;font-size:.8rem;color:var(--pw-text, #17153B);border-bottom:1px solid var(--pw-primary-tint-border, #F8F6FC)}.wl-pag-btn:disabled{opacity:.35;cursor:not-allowed}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:750px){.wl-forms-row{grid-template-columns:1fr}.wl-balance-card{flex-direction:column;align-items:flex-start;padding:22px 20px}.wl-balance-val{font-size:1.4rem}}

/* $fileRel */
.leaderboard-page {
        font-family: 'Vazirmatn', 'Peyda', 'Yekan Bakh', 'Dana', 'IRANSans', 'Tahoma', sans-serif;
        max-width: 1000px;
        margin: 0 auto;
        padding: 0 4px 40px;
    }

    .leaderboard-page *, .leaderboard-page *::before, .leaderboard-page *::after {
        box-sizing: border-box;
    }

    .podium-change.up {
        color: var(--mud-palette-success);
        background: rgba(46,190,79,0.1);
    }

    .podium-change.down {
        color: var(--pw-error, #FF4D4D);
        background: rgba(255,77,77,0.1);
    }

    .lb-table-row:last-child {
        border-bottom: none;
    }

    .user-avatar-mini {
        width: 32px;
        height: 32px;
        min-width: 32px;
        border-radius: 50%;
        color: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .75rem;
        font-weight: 700;
    }

    .user-name {
        font-size: 0.84rem;
        font-weight: 600;
        color: var(--mud-palette-text-primary);
    }

    .change-badge.up {
        color: var(--mud-palette-success);
        background: rgba(46,190,79,0.1);
    }

    .change-badge.down {
        color: var(--pw-error, #FF4D4D);
        background: rgba(255,77,77,0.1);
    }

    /* ═══════════ ریسپانسیو ═══════════ */
    @@media (max-width: 959px) {
        .lb-podium {
            gap: 10px;
        }

        .podium-card {
            max-width: 200px;
            padding: 18px 14px 16px;
            border-radius: 22px;
        }

        .podium-gold {
            max-width: 220px;
            padding: 24px 16px 20px;
        }

        .winner-avatar {
            width: 56px;
            height: 56px;
            font-size: 1.2rem;
        }

        .podium-avatar {
            width: 44px;
            height: 44px;
            font-size: 1rem;
        }

        .lb-table-header,
        .lb-table-row {
            grid-template-columns: 50px 1fr 75px 60px 60px;
            padding: 12px 14px;
            gap: 4px;
        }

        .lb-bottom-card {
            flex-direction: column;
            align-items: stretch;
            padding: 18px 20px;
        }

        .lb-share-btn {
            justify-content: center;
        }
    }

    @@media (max-width: 600px) {

        .user-name {
            font-size: 0.76rem;
        }}

/* $fileRel */
.sp-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .sp-page *,.sp-page *::before,.sp-page *::after{box-sizing:border-box}

    /* KPI */
    .sp-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.sp-icn-purple .mud-icon-root{color:var(--pw-primary, #6D3BFF)!important}.sp-icn-green .mud-icon-root{color:var(--pw-success, #22A447)!important}.sp-icn-gold .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}.sp-icn-orange .mud-icon-root{color:#FF8C32!important}
    .sp-kpi>div{flex:1;display:flex;flex-direction:column;gap:2px}
    .sp-table th{text-align:right;padding:12px 14px;font-size:.75rem;font-weight:700;color:var(--pw-primary, #6D3BFF);border-bottom:1px solid var(--pw-primary-tint-border, #F0ECFA)}
    .sp-table td{padding:12px 14px;font-size:.8rem;color: var(--mud-palette-text-primary);border-bottom:1px solid var(--pw-primary-tint-border, #F8F6FC)}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.sp-kpi-row{grid-template-columns:repeat(2,1fr)}.sp-mid{grid-template-columns:1fr}}

/* $fileRel */
.sm-page{
        font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;
        max-width:1150px;margin:0 auto;padding:0 4px 40px;
    }
    .sm-page *,.sm-page *::before,.sm-page *::after{box-sizing:border-box}
    .sm-expand-btn.expanded{transform:rotate(-90deg)}.icon-folder .mud-icon-root{color:var(--pw-warning, #F5B62F)!important}.icon-leaf .mud-icon-root{color:var(--pw-success, #67C23A)!important}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){
        .sm-body{grid-template-columns:1fr}
        .sm-detail-panel{position:static}
    }

/* $fileRel */
.hlp-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .hlp-page *,.hlp-page *::before,.hlp-page *::after{box-sizing:border-box}

    /* FAQ */
    .hlp-faq-item{border:1px solid var(--pw-primary-tint-border, #EAEFFC);border-radius:18px;overflow:hidden;margin-bottom:8px;transition:background .2s}
    .hlp-faq-item:last-child{margin-bottom:0}.hlp-faq-a p{font-size:.8rem;color:var(--pw-text-muted, #55607A);line-height:1.7;margin:0}
    .hlp-step:not(:last-child) .hlp-step-dot-wrap::after{content:"";position:absolute;top:16px;right:7px;width:2px;height:calc(100% + 4px);background:var(--pw-surface-alt, #EAEFFC)}.hlp-ci-purple .mud-icon-root{color:var(--pw-primary, #6D3BFF)!important}.hlp-ci-blue .mud-icon-root{color:var(--pw-info, #3BA6FF)!important}.hlp-ci-green .mud-icon-root{color:var(--pw-success, #22A447)!important}
    .hlp-contact-item>div{display:flex;flex-direction:column;gap:1px}

    /* ─── ریسپانسیو ─── */
    @@media(max-width:900px){.hlp-body{grid-template-columns:1fr}.hlp-side{position:static}.hlp-search{width:100%}}

/* $fileRel */
.sup-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:1100px;margin:0 auto;padding:0 4px 40px}
    .sup-page *,.sup-page *::before,.sup-page *::after{box-sizing:border-box}
    .sup-top-left{display:flex;align-items:center;gap:14px}
    .sup-top-icon{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5B2EFF,#7B4EFF);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(91,46,255,.2)}
    .sup-top-svg{color:#FFF!important}.sup-title{font-size:1.25rem;font-weight:900;color:var(--pw-text, #1B174F);margin:0}.sup-sub{font-size:.8rem;color: var(--mud-palette-text-secondary);margin:2px 0 0}

    .sup-body{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
    .sup-main{display:flex;flex-direction:column;gap:16px}

    .sup-card{background: var(--mud-palette-surface);border-radius:24px;border:1px solid var(--pw-primary-tint-border, #E9E7F8);box-shadow:0 4px 20px rgba(0,0,0,0.05);padding:22px 24px}
    .sup-sec-title{display:flex;align-items:center;gap:8px;font-size:.92rem;font-weight:800;color:var(--pw-text, #1B174F);margin:0 0 16px}.sup-sec-icn{color:var(--pw-primary, #5B2EFF)!important}

    /* فرم */
    .sup-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.sup-field label{font-size:.76rem;font-weight:700;color:var(--pw-text-muted, #7B7B96)}
    .sup-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .sup-input{height:46px;background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:14px;padding:0 16px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none}.sup-input:focus{border-color:var(--pw-primary, #5B2EFF)}
    .sup-sel-wrap{position:relative}.sup-select{width:100%;height:46px;background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:14px;padding:0 38px 0 14px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none;appearance:none;cursor:pointer}.sup-select:focus{border-color:var(--mud-palette-primary)}.sup-sel-arrow{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mud-palette-text-secondary)!important;pointer-events:none}
    .sup-textarea{background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:14px;padding:12px 16px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none;resize:none}.sup-textarea:focus{border-color:var(--pw-primary, #5B2EFF)}

    .sup-upload-area{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px;border:2px dashed var(--mud-palette-divider);border-radius:18px;background:var(--pw-surface, #FBFAFF);margin-bottom:14px;cursor:pointer;transition:border-color .2s}.sup-upload-area:hover{border-color:var(--pw-primary, #5B2EFF)}.sup-upload-icon{color:var(--pw-primary, #5B2EFF)!important;font-size:32px!important}
    .sup-upload-area>span{font-size:.82rem;color:var(--pw-text, #1B174F);font-weight:600}.sup-upload-hint{font-size:.75rem!important;color:var(--mud-palette-text-disabled)!important;font-weight:400!important}

    .sup-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:linear-gradient(90deg,#5B2EFF,#7B4EFF);color:#FFF;border:none;border-radius:16px;padding:14px 20px;font-family:inherit;font-size:.86rem;font-weight:700;cursor:pointer;box-shadow:0 8px 22px rgba(91,46,255,.25)}
    .sup-submit:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(91,46,255,.35)}
    .sup-notice{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:.75rem;color: var(--mud-palette-text-secondary);justify-content:center}.sup-notice .mud-icon-root{color:var(--mud-palette-text-secondary)!important}

    /* FAQ */
    .sup-faq{border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:16px;overflow:hidden;margin-bottom:8px}.sup-faq:last-child{margin-bottom:0}.sup-faq-open{background:var(--pw-primary-tint, #F2EEFF);border-color:var(--mud-palette-divider)}
    .sup-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:none;border:none;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--pw-text, #1B174F);cursor:pointer;text-align:right}
    .sup-faq-arr{color: var(--mud-palette-text-secondary);transition:transform .25s}.sup-faq-open .sup-faq-arr{transform:rotate(180deg);color:var(--pw-primary, #5B2EFF)}
    .sup-faq-a{padding:0 16px 14px}.sup-faq-a p{font-size:.78rem;color:var(--pw-text-muted, #55607A);line-height:1.7;margin:0}

    /* تیکت‌ها */
    .sup-side{display:flex;flex-direction:column;gap:10px;position:sticky;top:24px}
    .sup-ticket-card{background: var(--mud-palette-surface);border-radius:20px;border:1px solid var(--pw-primary-tint-border, #E9E7F8);padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s}.sup-ticket-card:hover{box-shadow:0 4px 14px rgba(0,0,0,0.06)}
    .sup-ticket-top{display:flex;justify-content:space-between;align-items:center}.sup-ticket-title{font-size:.84rem;font-weight:700;color:var(--pw-text, #1B174F)}.sup-ticket-date{font-size:.75rem;color:var(--mud-palette-text-disabled)}
    .sup-ticket-meta{display:flex;gap:8px}
    .sup-priority,.sup-status{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px}
    .prio-normal{background:var(--mud-palette-success-light);color:var(--pw-success, #24A148)}.prio-important{background:var(--mud-palette-warning-light);color:var(--pw-warning, #D38B00)}.prio-urgent{background:var(--mud-palette-error-light);color:var(--pw-error, #FF4B4B)}
    .st-open{background:var(--mud-palette-info-light);color:var(--pw-info, #3BA6FF)}.st-progress{background:var(--mud-palette-warning-light);color:var(--pw-warning, #D38B00)}.st-closed{background:var(--mud-palette-success-light);color:var(--pw-success, #24A148)}

    @@media(max-width:900px){.sup-body{grid-template-columns:1fr}.sup-side{position:static}}
    @@media(max-width:600px){.sup-row-2{grid-template-columns:1fr}.sup-card{padding:16px 14px}}

/* $fileRel */
.sc-page{font-family:'Vazirmatn','Yekan Bakh','Peyda','Dana','IRANSans','Tahoma',sans-serif;max-width:750px;margin:0 auto;padding:0 4px 40px;display:flex;flex-direction:column;height:calc(100vh - 120px);min-height:600px}
    .sc-page *,.sc-page *::before,.sc-page *::after{box-sizing:border-box}

    /* هدر */
    .sc-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background: var(--mud-palette-surface);border-radius:24px 24px 0 0;border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-bottom:none}
    .sc-top-left{display:flex;align-items:center;gap:14px}
    .sc-back-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}
    .sc-agent-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#5B2EFF,#7B4EFF);display:flex;align-items:center;justify-content:center;position:relative}
    .sc-agent-svg{color:#FFF!important}.sc-online-dot{position:absolute;bottom:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#24A148;border:2px solid var(--pw-border, #FFF)}
    .sc-title{font-size:1.05rem;font-weight:800;color:var(--pw-text, #1B174F);margin:0}.sc-sub{font-size:.75rem;color: var(--mud-palette-text-secondary);margin:1px 0 0}
    .sc-close-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);display:flex;align-items:center;justify-content:center;background: var(--mud-palette-surface);cursor:pointer;color:var(--pw-text-muted, #7B7B96)}

    /* بدنه چت */
    .sc-chat-body{flex:1;overflow-y:auto;padding:16px 20px;background:var(--pw-surface, #FBFAFF);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-top:none;border-bottom:none;display:flex;flex-direction:column;gap:16px}
    .sc-date-divider{text-align:center}.sc-date-divider span{font-size:.75rem;color:var(--mud-palette-text-disabled);background:var(--pw-surface, #FBFAFF);padding:0 14px}

    .sc-msg{display:flex;gap:10px;max-width:85%}.sc-msg-agent{align-self:flex-start}.sc-msg-user{align-self:flex-end;flex-direction:row-reverse}
    .sc-msg-avatar{width:34px;height:34px;min-width:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFF;align-self:flex-end}
    .sc-msg-bubble{padding:12px 16px;border-radius:20px;position:relative}
    .sc-bubble-agent{background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-bottom-right-radius:6px}
    .sc-bubble-user{background:linear-gradient(90deg,#5B2EFF,#7B4EFF);color:#FFF;border-bottom-left-radius:6px}
    .sc-bubble-user p{color:#FFF}.sc-msg-bubble p{font-size:.82rem;line-height:1.7;margin:0 0 14px}.sc-msg-bubble p:last-child{margin-bottom:0}
    .sc-msg-time{font-size:.75rem;color:var(--mud-palette-text-secondary);display:block;text-align:left;margin-top:6px}.sc-bubble-user .sc-msg-time{color:rgba(255,255,255,.6)}

    .sc-quick-links{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px}
    .sc-quick-link{background:var(--pw-primary-tint, #F2EEFF);color: var(--mud-palette-primary, var(--pw-primary, #5B2EFF));border:1px solid var(--mud-palette-divider);border-radius:12px;padding:9px 14px;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;text-align:right}

    /* تایپ */
    .sc-typing-indicator{display:flex;align-items:flex-end;gap:10px;align-self:flex-start}
    .sc-typing-dots{display:flex;gap:5px;padding:12px 16px;background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:20px;border-bottom-right-radius:6px}
    .sc-typing-dots span{width:8px;height:8px;border-radius:50%;background: rgba(139,92,246,0.15);animation:sc-bounce 1.4s infinite ease-in-out}.sc-typing-dots span:nth-child(1){animation-delay:0s}.sc-typing-dots span:nth-child(2){animation-delay:.2s}.sc-typing-dots span:nth-child(3){animation-delay:.4s}
    @@keyframes sc-bounce{0%,80%,100%{transform:scale(.6)}40%{transform:scale(1)}}

    /* امتیازدهی */
    .sc-rating-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background: var(--mud-palette-surface);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-top:none;font-size:.8rem;color:var(--pw-text-muted, #7B7B96)}
    .sc-rating-emojis{display:flex;gap:6px}.sc-rating-emojis button{width:38px;height:38px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);background: var(--mud-palette-surface);font-size:1.1rem;cursor:pointer;transition:all .15s}
    .sc-rating-emojis button:hover,.sc-emoji-sel{background:var(--pw-primary-tint, #F2EEFF)!important;border-color:var(--pw-primary, #5B2EFF)!important;transform:scale(1.1)}

    /* ورودی */
    .sc-input-bar{display:flex;align-items:center;gap:8px;padding:12px 20px;background: var(--mud-palette-surface);border-radius:0 0 24px 24px;border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-top:none}
    .sc-attach-btn{width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid var(--pw-primary-tint-border, #E9E7F8);background: var(--mud-palette-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--pw-text-muted, #7B7B96)}
    .sc-chat-input{flex:1;height:44px;background:var(--pw-surface, #FAFAFE);border:1px solid var(--pw-primary-tint-border, #E9E7F8);border-radius:22px;padding:0 18px;font-family:inherit;font-size:.84rem;color:var(--pw-text, #1B174F);outline:none}.sc-chat-input:focus{border-color:var(--pw-primary, #5B2EFF)}
    .sc-send-btn{width:44px;height:44px;min-width:44px;border-radius:50%;background:linear-gradient(90deg,#5B2EFF,#7B4EFF);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#FFF;box-shadow:0 4px 14px rgba(91,46,255,.25)}

    @@media(max-width:600px){.sc-page{height:calc(100vh - 80px);border-radius:0}.sc-top{border-radius:0}}









/* ═══════════════════════════════════════════════════════════════
   GLOBAL MUD VARIABLE OVERRIDES
   جایگزینی تمام رنگ‌های سخت‌کد شده با متغیرهای MudBlazor
   این block در انتهای فایل قرار دارد تا تمام بخش‌های قبلی
   (شامل بخش‌های minified) را override کند.
   ═══════════════════════════════════════════════════════════════ */

/* ── Text colors → MudBlazor variables ── */
.fn-kpi-lbl, .gs-dlbl, .gs-des-role, .um-uemail, .um-td-date,
.fn-td-date, .gs-nact, .sc-rating-bar, .sc-attach-btn { color: var(--mud-palette-text-secondary) !important; }
.fn-kpi-val, .gs-dval, .gs-tree-hdr, .gs-node-name, .fn-sec-title,
.gs-card-title, .an-header-title { color: var(--mud-palette-text-primary) !important; }

/* ── Background colors → MudBlazor variables ── */
.fn-kpi, .fn-chart-card, .fn-dist-card, .fn-table-card,
.gs-tree-panel, .gs-card, .an-heatmap-card, .an-kpi-card { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; }
.gs-nact { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; }
.gs-node:hover, .sm-tree-node:hover { background: var(--mud-palette-action-default-hover) !important; }
.sc-quick-link { background: var(--mud-palette-primary-hover) !important; color: var(--mud-palette-primary) !important; }
.sc-typing-dots { border-color: var(--mud-palette-divider) !important; }
.sc-chat-input { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; color: var(--mud-palette-text-primary) !important; }
.sc-attach-btn { border-color: var(--mud-palette-divider) !important; background: var(--mud-palette-surface) !important; }
.sc-rating-bar, .sc-input-bar { border-color: var(--mud-palette-divider) !important; }
.sc-rating-emojis button { border-color: var(--mud-palette-divider) !important; background: var(--mud-palette-surface) !important; }
.sc-rating-emojis button:hover, .sc-emoji-sel { background: var(--mud-palette-primary-hover) !important; border-color: var(--mud-palette-primary) !important; }

/* ── Table headers → MudBlazor primary ── */
.fn-table th, .um-table th, .wl-table th, .sp-table th { color: var(--mud-palette-primary) !important; border-bottom-color: var(--mud-palette-divider) !important; }

/* ── Table cells → MudBlazor variables ── */
.fn-table td, .um-table td, .wl-table td, .sp-table td { border-bottom-color: var(--mud-palette-divider) !important; color: var(--mud-palette-text-primary) !important; }

/* ── Icons → MudBlazor primary ── */
.gs-tree-hdr-icon, .gs-card-ticon, .chart-header-icon,
.gs-nact:hover { color: var(--mud-palette-primary) !important; }
.gs-nact:hover { border-color: var(--mud-palette-primary) !important; }
.feat-icon { color: var(--mud-palette-primary) !important; }

/* ── Delete / Danger actions ── */
.gs-nact-del { color: var(--mud-palette-error) !important; border-color: var(--mud-palette-error) !important; }
.gs-danger-card { border-color: var(--mud-palette-error) !important; }

/* ── Avatar gradients → MudBlazor variables ── */
.pr-avatar { background: linear-gradient(135deg, var(--mud-palette-primary), var(--mud-palette-secondary)) !important; }

/* ── SC (Smart Chat) specific ── */
.sc-chat-input:focus { border-color: var(--mud-palette-primary) !important; }

/* ── Status badges ── */
.fn-st-ok { background: var(--mud-palette-success) !important; color: #FFF !important; }
.fn-st-pend { background: var(--mud-palette-warning) !important; color: var(--pw-text, #1B1B1F) !important; }
.fn-st-fail { background: var(--mud-palette-error) !important; color: #FFF !important; }
.fn-amt-in { color: var(--mud-palette-success) !important; }
.fn-amt-out { color: var(--mud-palette-error) !important; }
.status-inactive { color: var(--mud-palette-error) !important; }

/* ── Misc ── */
.fn-dist-pct { color: var(--mud-palette-text-primary) !important; }
.fn-dist-bar { background: var(--mud-palette-divider) !important; }
.gs-tree-hdr { border-bottom-color: var(--mud-palette-divider) !important; }
.gs-des-avatar { color: #FFF !important; }

/* ── Dark mode: SC (Smart Chat) ── */
.mud-dark .sc-quick-link { background: var(--mud-palette-primary-hover) !important; }
.mud-dark .sc-typing-dots { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; }
.mud-dark .sc-typing-dots span { background: var(--mud-palette-primary) !important; }
.mud-dark .sc-rating-bar, .mud-dark .sc-input-bar { border-color: var(--mud-palette-divider) !important; }
.mud-dark .sc-rating-emojis button { border-color: var(--mud-palette-divider) !important; }
.mud-dark .sc-rating-emojis button:hover, .mud-dark .sc-emoji-sel { background: var(--mud-palette-primary-hover) !important; border-color: var(--mud-palette-primary) !important; }
.mud-dark .sc-chat-input { background: var(--mud-palette-surface) !important; border-color: var(--mud-palette-divider) !important; color: var(--mud-palette-text-primary) !important; }
.mud-dark .sc-chat-input:focus { border-color: var(--mud-palette-primary) !important; }
.mud-dark .sc-attach-btn { color: var(--mud-palette-text-secondary) !important; border-color: var(--mud-palette-divider) !important; }

/* ══════════════════════════════════════════════════════════════
   CreateQuestion AI + Excel styles (override duplicate cq- blocks)
   ══════════════════════════════════════════════════════════════ */
.cq-ai-form { display:flex; flex-direction:column; gap:10px; }
.cq-ai-qitem:hover, .cq-ai-qitem.selected { border-color:var(--pw-primary, #6D3EFF); background:var(--mud-palette-primary-hover, var(--pw-surface, #F8F7FF)); }
.cq-ai-opt.correct { background:var(--pw-success-tint, #ECFDF5); color:var(--pw-success, #059669); font-weight:600; }


/* ═══════════════════════════════════════════════════════════════
   Shopping Cart — AppBar Dropdown
   ═══════════════════════════════════════════════════════════════ */
.appbar-cart-btn {
    position: relative;
}
.appbar-cart-has-items::after {
    content: attr(data-count);
    position: absolute;
    top: 4px;
    right: 4px;
    background: #EF4444;
    color: #FFF;
    font-size: .75rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
}

.appbar-cart-menu .mud-popover {
    max-width: 380px !important;
    min-width: 320px !important;
    border-radius: 16px !important;
    padding: 0 !important;
    overflow: hidden;
}

.appbar-cart-popover {
    padding: 0;
}
.appbar-cart-popover-header {
    padding: 14px 16px 10px;
    background: linear-gradient(135deg, var(--mud-palette-primary), var(--mud-palette-primary-lighten));
    color: #FFF;
    border-radius: 0;
}
.appbar-cart-popover-header .mud-text { color: #FFF !important; }

.appbar-cart-popover-items {
    max-height: 240px;
    overflow-y: auto;
    padding: 4px 8px;
}
.appbar-cart-popover-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    transition: background 0.15s;
}
.appbar-cart-popover-item:hover {
    background: var(--mud-palette-action-default-hover);
}
.appbar-cart-popover-item-info {
    flex: 1;
    min-width: 0;
}
.appbar-cart-popover-item-title {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.appbar-cart-popover-item-price {
    display: block;
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}
.appbar-cart-popover-remove {
    flex-shrink: 0;
}
.appbar-cart-popover-footer {
    padding: 10px 16px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.appbar-cart-checkout-btn {
    border-radius: 10px !important;
    font-size: 0.78rem !important;
}

.appbar-cart-empty {
    padding: 32px 16px;
    text-align: center;
    color: var(--mud-palette-text-disabled);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.appbar-cart-empty-icon {
    font-size: 48px !important;
    opacity: 0.4;
}


/* ═══════════════════════════════════════════════════════════════
   Shopping Cart — AppBar Dropdown
   ═══════════════════════════════════════════════════════════════ */
.appbar-cart-btn {
    position: relative;
}
.appbar-cart-has-items::after {
    content: attr(data-count);
    position: absolute;
    top: 4px;
    right: 4px;
    background: #EF4444;
    color: #FFF;
    font-size: .75rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
}

.appbar-cart-menu .mud-popover {
    max-width: 380px !important;
    min-width: 320px !important;
    border-radius: 16px !important;
    padding: 0 !important;
    overflow: hidden;
}

.appbar-cart-popover {
    padding: 0;
}
.appbar-cart-popover-header {
    padding: 14px 16px 10px;
    background: linear-gradient(135deg, var(--mud-palette-primary), var(--mud-palette-primary-lighten));
    color: #FFF;
    border-radius: 0;
}
.appbar-cart-popover-header .mud-text { color: #FFF !important; }

.appbar-cart-popover-items {
    max-height: 240px;
    overflow-y: auto;
    padding: 4px 8px;
}
.appbar-cart-popover-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    transition: background 0.15s;
}
.appbar-cart-popover-item:hover {
    background: var(--mud-palette-action-default-hover);
}
.appbar-cart-popover-item-info {
    flex: 1;
    min-width: 0;
}
.appbar-cart-popover-item-title {
    display: block;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.appbar-cart-popover-item-price {
    display: block;
    font-size: .75rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}
.appbar-cart-popover-remove {
    flex-shrink: 0;
}
.appbar-cart-popover-footer {
    padding: 10px 16px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.appbar-cart-checkout-btn {
    border-radius: 10px !important;
    font-size: 0.78rem !important;
}

.appbar-cart-empty {
    padding: 32px 16px;
    text-align: center;
    color: var(--mud-palette-text-disabled);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.appbar-cart-empty-icon {
    font-size: 48px !important;
    opacity: 0.4;
}

/* ═══════════════════════════════════════════════════════════════
   Checkout Page (chk-)
   ═══════════════════════════════════════════════════════════════ */
.chk-page {
    max-width: 1200px;
    margin: 0 auto;
    font-family: 'Vazirmatn','IRANSans','Tahoma',sans-serif;
}

/* Header */
.chk-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    flex-wrap: wrap;
    gap: 12px;
}

/* Empty State */
.chk-empty {
    text-align: center;
    padding: 60px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Grid Layout */
.chk-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 20px;
    align-items: start;
}

/* Card shared */
.chk-card {
    border-radius: 16px !important;
    overflow: hidden;
    background: var(--mud-palette-surface);
    margin-bottom: 16px;
}

/* Items Card */
.chk-items-list {
    padding: 8px 12px;
}

/* Items Summary */
.chk-items-summary {
    padding: 14px 20px;
}

/* Wallet Card */
.chk-wallet-card .chk-wallet-content {
    padding: 16px 20px 20px;
}

/* Pay Button */
.chk-pay-btn {
    border-radius: 14px !important;
    font-weight: 700 !important;
    height: 52px !important;
    font-size: 1rem !important;
    margin-top: 4px;
    transition: transform 0.2s, box-shadow 0.2s;
}
.chk-pay-btn:not(:disabled):hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(91,46,255,0.3);
}

/* AI Chat */
.chk-ai-card {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 120px);
}
@keyframes chk-ai-fade-in {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }}
.chk-ai-bubble p { margin: 0 0 6px; }
.chk-ai-bubble p:last-child { margin-bottom: 0; }
.chk-ai-bubble ul { margin: 4px 0; padding-right: 16px; }
.chk-ai-bubble li { margin-bottom: 2px; font-size: 0.78rem; }

/* Typing dots */
.chk-ai-typing {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 14px 18px;
}
.chk-ai-dot:nth-child(1) { animation-delay: -0.32s; }
.chk-ai-dot:nth-child(2) { animation-delay: -0.16s; }
@keyframes chk-ai-bounce {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }}
.chk-ai-input .mud-input-outlined-border {
    border-radius: 14px !important;
}

/* Dark mode AI overrides */
.mud-dark .chk-ai-msg-bot .chk-ai-bubble {
    background: var(--mud-palette-surface);
}
.mud-dark .chk-wallet-balance {
    background: linear-gradient(135deg, rgba(139,92,246,0.12), rgba(139,92,246,0.04));
}

/* ═══════════════════════════════════════════════════════════════
   Cart Item Detail Dialog (cid-)
   ═══════════════════════════════════════════════════════════════ */
.cid-hero {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 8px 0;
}

/* Dark mode */
.mud-dark .cid-stat {
    background: var(--mud-palette-surface);
}
.appbar-cart-count-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: #EF4444;
    color: #FFF;
    font-size: .75rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    pointer-events: none;
    z-index: 2;
    border: 2px solid var(--pw-primary, #5B2EFF);
}
.appbar-cart-count-badge { position: absolute; top: 2px; right: 2px; background: #EF4444; color: #FFF; font-size: .75rem; font-weight: 700; min-width: 16px; height: 16px; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 0 4px; line-height: 1; pointer-events: none; z-index: 2; border: 2px solid var(--pw-primary, #5B2EFF); }
.appbar-cart-wrapper { position: relative; display: inline-flex; } .appbar-cart-popover-panel { min-width: 340px !important; max-width: 380px !important; border-radius: 16px !important; overflow: hidden; box-shadow: 0 12px 40px rgba(0,0,0,0.15) !important; margin-top: 4px !important; } .mud-dark .appbar-cart-popover-panel { box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important; } .appbar-cart-count-badge { position: absolute !important; top: 0 !important; right: -2px !important; background: #EF4444 !important; color: #FFF !important; font-size: .75rem !important; font-weight: 700 !important; min-width: 14px !important; height: 14px !important; border-radius: 7px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 3px !important; line-height: 1 !important; pointer-events: none !important; z-index: 3 !important; border: 1.5px solid var(--pw-border, #FFF) !important; }

/* ═══════════════════════════════════════════════════════════════
   Profile Workspace Page (pw-*)
   ═══════════════════════════════════════════════════════════════ */

.pw-page {
    background: var(--pw-surface-alt, #F7FAFF);
    padding: 32px;
    max-width: 1400px;
    margin: 0 auto;
    min-height: 100%;
}
.mud-dark .pw-page { background: var(--mud-palette-background); }
.pw-title { font-size: 28px; font-weight: 700; color: var(--pw-text, #14213D); }
.pw-subtitle { font-size: 14px; color: var(--pw-text-muted, #6E7C99); margin-top: 4px; }
.mud-dark .pw-title { color: var(--mud-palette-text-primary); }
.mud-dark .pw-subtitle { color: var(--mud-palette-text-secondary); }

/* ── Card primitive ── */
.pw-card {
    background: var(--pw-surface, #FFFFFF);
    border-radius: 16px;
    border: 1px solid var(--pw-border, #E6ECF5);
    box-shadow: 0 4px 16px rgba(30, 75, 130, 0.05);
    padding: 24px;
}
.mud-dark .pw-card { background: var(--mud-palette-surface); border-color: var(--mud-palette-divider); box-shadow: none; }
.pw-card-title { font-size: 18px; font-weight: 700; color: var(--pw-text, #14213D); }
.pw-card-subtitle { font-size: 12px; color: var(--pw-text-muted, #6E7C99); margin-top: 4px; margin-bottom: 16px; }
.mud-dark .pw-card-title { color: var(--mud-palette-text-primary); }
.mud-dark .pw-card-subtitle { color: var(--mud-palette-text-secondary); }

/* ── Buttons ── */
.pw-btn-primary, .pw-btn-secondary { height: 44px; border-radius: 10px; }
.pw-credit-actions .mud-button-root, .pw-plan-empty .mud-button-root { height: 44px; border-radius: 10px; }

/* ── Header card ── */
.pw-header-card { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.pw-header-skeleton { display: flex; align-items: center; gap: 16px; width: 100%; }
.pw-header-skeleton-lines { display: flex; flex-direction: column; gap: 8px; }
.pw-header-avatar { width: 64px !important; height: 64px !important; font-size: 24px; }
.pw-header-info { flex: 1; }
.pw-header-name { font-size: 20px; font-weight: 700; color: var(--pw-text, #14213D); }
.pw-header-email { font-size: 13px; color: var(--pw-text-muted, #6E7C99); margin-top: 2px; }
.mud-dark .pw-header-name { color: var(--mud-palette-text-primary); }
.mud-dark .pw-header-email { color: var(--mud-palette-text-secondary); }
.pw-header-edit-btn { height: 44px; border-radius: 10px; }

/* ── Workspace grid ── */
.pw-workspace {
    display: grid;
    grid-template-columns: 1.55fr 1fr;
    gap: 20px;
    align-items: start;
}
.pw-assistant-col { order: 1; min-width: 0; }
.pw-side-col { order: 2; display: flex; flex-direction: column; gap: 20px; min-width: 0; }

@media (max-width: 1200px) {
    .pw-workspace { grid-template-columns: 1fr 1.3fr; }}
@media (max-width: 768px) {
    .pw-page { padding: 16px; }
    .pw-workspace { grid-template-columns: 1fr; }
    .pw-side-col { order: 1; }
    .pw-assistant-col { order: 2; }
    .pw-header-card { flex-wrap: wrap; }}

/* ── Plan card ── */
.pw-plan-segmented {
    display: flex;
    background: var(--pw-surface-alt, #F7FAFF);
    border-radius: 10px;
    padding: 4px;
    gap: 4px;
    margin-top: 12px;
}
.mud-dark .pw-plan-segmented { background: var(--mud-palette-background); }
.pw-plan-seg-item {
    flex: 1;
    text-align: center;
    padding: 10px 8px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--pw-text-muted, #6E7C99);
    transition: background 0.15s, color 0.15s;
}
.pw-plan-seg-active { background: #1677FF; color: #FFFFFF; }
.pw-plan-desc { font-size: 12px; color: var(--pw-text-muted, #6E7C99); margin-top: 10px; }
.mud-dark .pw-plan-desc { color: var(--mud-palette-text-secondary); }

.pw-plan-empty { text-align: center; padding: 24px 8px; background: var(--pw-surface-alt, #F7FAFF); border-radius: 12px; margin-top: 8px; }
.mud-dark .pw-plan-empty { background: var(--mud-palette-background); }
.pw-plan-empty-title { font-size: 16px; font-weight: 700; color: var(--pw-text, #14213D); }
.pw-plan-empty-desc { font-size: 13px; color: var(--pw-text-muted, #6E7C99); margin-top: 6px; }
.mud-dark .pw-plan-empty-title { color: var(--mud-palette-text-primary); }

/* ── Credit sub-section ── */
.pw-credit-section { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--pw-border, #E6ECF5); }
.mud-dark .pw-credit-section { border-color: var(--mud-palette-divider); }
.pw-credit-title { font-size: 14px; font-weight: 700; color: var(--pw-text, #14213D); margin-bottom: 8px; }
.mud-dark .pw-credit-title { color: var(--mud-palette-text-primary); }
.pw-credit-numbers { display: flex; align-items: baseline; gap: 6px; }
.pw-credit-remaining { font-size: 28px; font-weight: 700; color: var(--pw-text, #14213D); }
.pw-credit-total { font-size: 13px; color: var(--pw-text-muted, #6E7C99); }
.mud-dark .pw-credit-remaining { color: var(--mud-palette-text-primary); }
.pw-credit-bar { border-radius: 999px; height: 8px !important; margin-top: 10px; }
.pw-credit-warning { font-size: 12px; color: var(--pw-warning, #B5750E); margin-top: 8px; }
.pw-credit-caption { font-size: 12px; color: var(--pw-text-muted, #6E7C99); margin-top: 8px; }
.pw-credit-actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.pw-credit-actions .mud-button-root { flex: 1; min-width: 140px; }

/* ── Memory card ── */
.pw-memory-list { display: flex; flex-direction: column; gap: 18px; }
.pw-memory-group { display: flex; flex-direction: column; }
.pw-memory-group-header { display: flex; align-items: center; gap: 8px; padding: 0 8px; margin-bottom: 4px; }
.pw-memory-group-title { font-size: 13px; font-weight: 700; color: var(--pw-text, #14213D); }
.mud-dark .pw-memory-group-title { color: var(--mud-palette-text-primary); }
.pw-memory-row {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 8px 10px 8px; margin-inline-start: 28px; border-radius: 10px;
    transition: background 0.15s;
    border-inline-start: 2px solid var(--pw-border, #E6ECF5);
}
.mud-dark .pw-memory-row { border-inline-start-color: var(--mud-palette-divider); }
.pw-memory-row:hover { background: var(--pw-surface-alt, #F7FAFF); }
.mud-dark .pw-memory-row:hover { background: var(--mud-palette-background); }
.pw-memory-icon { font-size: 18px; flex-shrink: 0; }
.pw-memory-body { flex: 1; min-width: 0; }
.pw-memory-label { font-size: 12px; color: var(--pw-text-muted, #6E7C99); }
.pw-memory-value { font-size: 14px; color: var(--pw-text, #14213D); font-weight: 500; margin-top: 2px; overflow-wrap: anywhere; }
.mud-dark .pw-memory-value { color: var(--mud-palette-text-primary); }
.pw-memory-menu { flex-shrink: 0; opacity: 0; transition: opacity 0.15s; }
.pw-memory-row:hover .pw-memory-menu, .pw-memory-menu:focus-within { opacity: 1; }
.pw-memory-empty { font-size: 13px; color: var(--pw-text-muted, #6E7C99); text-align: center; padding: 20px 0; }
.pw-memory-skeleton { display: flex; flex-direction: column; gap: 4px; }

/* ── Assistant panel ── */
.pw-assistant-panel { display: flex; flex-direction: column; min-height: 0; }
/* در صفحهٔ پروفایل: کارت با ارتفاع ثابت تا تاریخچهٔ چت داخل خودش اسکرول شود (نه کل صفحه). */
.pw-card.pw-assistant-panel { height: 640px; }
@media (max-width: 768px) {
    .pw-card.pw-assistant-panel { height: calc(100dvh - 280px); min-height: 420px; }}
/* حالت جاسازی‌شده (شیت دستیار در نوار پایین): پنل کل ارتفاع ظرف را پر می‌کند و کروم کارت را ندارد. */
.pw-assistant-panel--embedded { height: 100%; padding: 0 12px calc(12px + env(safe-area-inset-bottom, 0px)); }
.pw-assistant-panel--embedded .pw-assistant-header { display: none; }
.pw-assistant-header { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.pw-assistant-icon { font-size: 28px; line-height: 1; }

.pw-chat-history {
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 4px;
    min-height: 0;
}
.pw-chat-loading { display: flex; justify-content: center; padding: 24px 0; }
.pw-chat-message { display: flex; }
.pw-chat-user { justify-content: flex-end; }
.pw-chat-assistant { justify-content: flex-start; }
.pw-chat-bubble {
    max-width: 78%;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.7;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.pw-chat-user .pw-chat-bubble { background: #1677FF; color: #FFFFFF; border-bottom-left-radius: 4px; }
.pw-chat-assistant .pw-chat-bubble { background: var(--pw-surface-alt, #F7FAFF); color: var(--pw-text, #14213D); border-bottom-right-radius: 4px; }
.mud-dark .pw-chat-assistant .pw-chat-bubble { background: var(--mud-palette-background); color: var(--mud-palette-text-primary); }

.pw-typing-dots { display: flex; gap: 4px; align-items: center; padding: 4px 0; }
.pw-typing-dots span {
    width: 6px; height: 6px; border-radius: 50%;
    background: #6E7C99; display: inline-block;
    animation: pw-typing-bounce 1.2s infinite ease-in-out;
}
.pw-typing-dots span:nth-child(2) { animation-delay: 0.15s; }
.pw-typing-dots span:nth-child(3) { animation-delay: 0.3s; }
@keyframes pw-typing-bounce {
    0%, 60%, 100% { opacity: 0.3; transform: translateY(0); }
    30% { opacity: 1; transform: translateY(-3px); }}

/* ── Memory proposal card ── */
.pw-proposal-card {
    background: var(--pw-surface-alt, #F7FAFF);
    border: 1px solid var(--pw-border, #E6ECF5);
    border-radius: 12px;
    padding: 14px 16px;
    margin: 0 0 0 0;
    max-width: 78%;
}
.mud-dark .pw-proposal-card { background: var(--mud-palette-background); border-color: var(--mud-palette-divider); }
.pw-proposal-title { font-size: 13px; font-weight: 700; color: var(--pw-text, #14213D); margin-bottom: 6px; }
.mud-dark .pw-proposal-title { color: var(--mud-palette-text-primary); }
.pw-proposal-value { font-size: 14px; color: var(--pw-text, #14213D); }
.mud-dark .pw-proposal-value { color: var(--mud-palette-text-primary); }
.pw-proposal-diff { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.pw-proposal-old { color: var(--pw-text-muted, #6E7C99); text-decoration: line-through; }
.pw-proposal-new { color: var(--pw-text, #14213D); font-weight: 600; }
.mud-dark .pw-proposal-new { color: var(--mud-palette-text-primary); }
.pw-proposal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.pw-proposal-confirmed { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--pw-success, #23B26D); font-weight: 600; }
.pw-proposal-dismissed { font-size: 13px; color: var(--pw-text-muted, #6E7C99); }

/* ── Chat composer ── */
.pw-chat-composer {
    display: flex; align-items: center; gap: 6px;
    border: 1px solid var(--pw-border, #E6ECF5); border-radius: 14px;
    padding: 4px 6px 4px 10px;
    min-height: 52px; margin-top: 12px; flex-shrink: 0;
}
.mud-dark .pw-chat-composer { border-color: var(--mud-palette-divider); }
.pw-composer-input { flex: 1; }
.pw-composer-input .mud-input { padding: 0; }
.pw-composer-input .mud-input-outlined-border { border: none !important; }
.pw-composer-attach, .pw-composer-memory-toggle, .pw-composer-send { flex-shrink: 0; }

/* ── Plan comparison dialog ── */
.pw-compare-table-wrap { overflow-x: auto; }
.pw-compare-table { width: 100%; border-collapse: collapse; text-align: center; }
.pw-compare-table th, .pw-compare-table td { padding: 10px 12px; border-bottom: 1px solid var(--pw-border, #E6ECF5); font-size: 13px; white-space: nowrap; }
.mud-dark .pw-compare-table th, .mud-dark .pw-compare-table td { border-color: var(--mud-palette-divider); }
.pw-compare-table thead th { font-weight: 700; color: var(--pw-text, #14213D); font-size: 14px; }
.mud-dark .pw-compare-table thead th { color: var(--mud-palette-text-primary); }
.pw-compare-table td:first-child { text-align: right; color: var(--pw-text-muted, #6E7C99); font-weight: 500; }

/* ── Add credit dialog ── */
.pw-credit-desc { font-size: 13px; color: var(--pw-text-muted, #6E7C99); margin-bottom: 16px; }
.pw-bundle-list { display: flex; flex-direction: column; gap: 10px; }
.pw-bundle-item {
    display: flex; justify-content: space-between; align-items: center;
    border: 1px solid var(--pw-border, #E6ECF5); border-radius: 10px;
    padding: 14px 16px; cursor: pointer; transition: border-color 0.15s, background 0.15s;
}
.pw-bundle-item:hover { border-color: var(--pw-info-border, #1677FF); }
.pw-bundle-selected { border-color: var(--pw-info-border, #1677FF); background: var(--pw-surface-alt, #F7FAFF); }
.mud-dark .pw-bundle-item { border-color: var(--mud-palette-divider); }
.mud-dark .pw-bundle-selected { background: var(--mud-palette-background); }
.pw-bundle-pages { font-weight: 700; color: var(--pw-text, #14213D); }
.mud-dark .pw-bundle-pages { color: var(--mud-palette-text-primary); }
.pw-bundle-price { color: var(--pw-text-muted, #6E7C99); font-size: 13px; }

/* ── Payment redirect state ── */
.pw-payment-redirect { display: flex; flex-direction: column; align-items: center; padding: 40px 0; color: var(--pw-text-muted, #6E7C99); }