/*
 * زبان طراحی دلوین (۲۵ مهر ۱۴۰۵) — برگرفته از مرکز مشاوره (طرح Watch.dc)؛ رنگ اصلی = رنگ سازمانی مدرسه.
 * همه‌ی قاعده‌ها زیر html.dd (کلاس را assets/js/delvin-design.js می‌گذارد؛ فعلاً فقط دمو).
 * سه لایه: (۱) نشانه‌های رنگ و فاصله، (۲) بازرنگ کیت dk-*، (۳) پوسته‌ی صفحه‌های قدیمی (نمونه: حضور و غیاب).
 * رنگ‌های وضعیت (حاضر/غایب/تأخیر، قبول/مردود) عمداً از رنگ مدرسه پیروی نمی‌کنند.
 */

/* ───────── ۱. نشانه‌ها ───────── */
html.dd {
    --dd-brand: #0E8F89;           /* با JS از رنگ سازمانی بازنویسی می‌شود */
    --dd-brand-rgb: 14, 143, 137;
    --dd-brand-ink: #0A6F6A;
    --dd-brand-soft: #E3F4F2;
    --dd-on-brand: #ffffff;
    --dd-brand-btn: #0E8F89;       /* زمینه‌ی دکمه‌ی پررنگ (خوانایی متن ≥ ۴٫۵) */
    --dd-ink: #1D2A30;
    --dd-muted: #53646B;
    --dd-line: rgba(20, 45, 55, .09);
    --dd-surface: #ffffff;
    --dd-ground: #F3F6F7;
    --dd-sunken: #EEF2F3;
    --dd-hero: #16252B;
    --dd-hero-sub: #9FB8BF;
    --dd-hero-line: #3A5159;
    --dd-r: 22px;
    --dd-r-sm: 14px;
    --dd-r-xs: 11px;
    --dd-shadow: 0 10px 30px rgba(20, 40, 50, .12);
    --dd-shadow-sm: 0 2px 12px rgba(20, 40, 50, .06);
    /* زمینه‌ی گرادیانی پشت صفحه (مثل مرکز مشاوره)؛ گوشه‌ی بالا ته‌رنگ رنگ مدرسه را می‌گیرد */
    /* ⚠️ ارتفاع ثابت (۶۸۰px) + رنگ پایه = رنگ انتهای گرادیان: وگرنه گرادیان به ارتفاع صفحه کش می‌آمد و فهرست
       کوتاهِ کلاس‌ها تیره‌تر از برگه‌ی بلندِ کلاس دیده می‌شد (بازخورد صاحب پروژه) */
    --dd-stage: linear-gradient(170deg, var(--dd-brand-soft) 0%, #E6EDF0 45%, #D9E3E7 100%) top / 100% 680px no-repeat, #D9E3E7;

    /* کیت روی همین نشانه‌ها سوار است ⇒ بازنویسی نشانه‌های dk بیشتر کار را می‌کند */
    --dk-accent: var(--dd-brand);
    --dk-accent-rgb: var(--dd-brand-rgb);
    --dk-radius: var(--dd-r);
    --dk-radius-sm: 13px;
    --dk-line: var(--dd-line);
    --dk-text: var(--dd-ink);
    --dk-muted: var(--dd-muted);
    --dk-surface: var(--dd-surface);
    --dk-sunken: var(--dd-sunken);
    --dk-shadow: var(--dd-shadow-sm);
}
html.dd[data-theme="dark"], html.dd [data-theme="dark"] {
    --dd-ink: #E6EEF0;
    --dd-muted: #9FB3B9;
    --dd-line: rgba(255, 255, 255, .08);
    --dd-surface: #1A262B;
    --dd-ground: #111A1E;
    --dd-sunken: #22323A;
    --dd-hero: #0C1519;
    --dd-hero-line: #2C4148;
    /* important: delvin-design.js این دو را روی html می‌نویسد و نسخه‌ی روشن در تیره می‌ماند */
    --dd-brand-soft: rgba(var(--dd-brand-rgb), .2) !important;
    --dd-brand-ink: var(--dd-brand-lite, #7fd0cb) !important;
    --dd-shadow: 0 10px 30px rgba(0, 0, 0, .38);
    --dd-shadow-sm: 0 2px 12px rgba(0, 0, 0, .28);
    --dd-stage: linear-gradient(170deg, #16252B 0%, #142025 60%, #101A1F 100%) top / 100% 680px no-repeat, #101A1F;
}

/* ───────── ۲. کیت (dk-*) ───────── */
html.dd .dk-page { gap: 18px; }
html.dd .dk-head h2 { font-size: 1.75rem; font-weight: 900; letter-spacing: -.2px; }
html.dd .dk-head p { color: var(--dd-muted); }
/* سربرگ تیره، با کارت‌های آماری که رویش می‌نشینند (مثل دیدبان).
   ⚠️ صفحه‌های کیت ظرف اختصاصی خودشان را دارند (rsx، mcd، …) نه dk-page ⇒ «اولین فرزندِ ظرفش»،
   به‌جز سربرگ داخل پنل و برگه. مرورگرِ بی‌:not پیچیده کل قاعده را نادیده می‌گیرد = سربرگ ساده (بی‌خطر). */
html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):not(.dk-card .dk-head) {
    background: var(--dd-hero); color: #fff; border-radius: var(--dd-r); padding: 22px 26px;
    border-top: 3px solid var(--dd-brand); margin-bottom: 4px;
}
html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):not(.dk-card .dk-head) h2 { color: #fff; }
html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):not(.dk-card .dk-head) p { color: var(--dd-hero-sub); }
html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):not(.dk-card .dk-head) .dk-btn:not(.dk-btn--primary) {
    background: transparent; color: #fff; border-color: var(--dd-hero-line);
}
@supports selector(:has(a)) {
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):has(+ .dk-stats) { padding-bottom: 70px; }
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head) + .dk-stats { margin-top: -66px; padding: 0 14px; position: relative; }
}
html.dd .dk-panel, html.dd .dk-card, html.dd .dk-stat { border-radius: var(--dd-r); border-color: var(--dd-line); }
html.dd .dk-stat { box-shadow: var(--dd-shadow); padding: 16px 20px; min-height: 96px; }
html.dd .dk-stat-icon { width: 48px; height: 48px; border-radius: 16px; }
html.dd .dk-stat-val { font-size: 1.9rem; font-weight: 900; }
html.dd .dk-stat-lbl { font-size: .8rem; font-weight: 700; color: var(--dd-muted); }
html.dd .dk-panel { padding: 20px; }
html.dd .dk-panel-title h3 { font-size: 1.12rem; font-weight: 900; }
html.dd .dk-btn { min-height: 42px; border-radius: 13px; font-weight: 800; }
html.dd .dk-btn--primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd .dk-btn--primary:hover { opacity: 1; filter: brightness(.94); }
html.dd .dk-btn--sm { min-height: 34px; border-radius: 11px; }
/* زبانه‌ها = کلید چندحالته‌ی قرصی */
html.dd .dk-tabs { background: var(--dd-sunken); padding: 4px; border-radius: 15px; gap: 4px; width: fit-content; max-width: 100%; }
html.dd .dk-tab { border: 0; background: transparent; border-radius: 11px; min-height: 36px; color: var(--dd-muted); font-weight: 800; }
html.dd .dk-tab[aria-selected="true"] { background: var(--dd-surface); color: var(--dd-ink); box-shadow: 0 1px 4px rgba(0, 0, 0, .1); }
html.dd .dk-tab[aria-selected="true"] .dk-tab-count { background: var(--dd-brand-soft); color: var(--dd-brand-ink); }
html.dd .dk-input { border-radius: 12px; min-height: 44px; }
html.dd .dk-input:focus { border-color: var(--dd-brand); box-shadow: 0 0 0 3px rgba(var(--dd-brand-rgb), .16); outline: none; }
html.dd .dk-table th { color: var(--dd-muted); font-size: .78rem; font-weight: 800; }
html.dd .dk-table tbody tr:hover td { background: var(--dd-ground); }
html.dd .dk-sheet { border-radius: 26px; }
html.dd .dk-badge { font-weight: 800; }

/* ───────── ۳. پوسته‌ی صفحه‌های قدیمی — نمونه: حضور و غیاب (pages/academic/attendance.js) ───────── */
html.dd .attendance-container .card-box,
html.dd .attendance-container .class-card-btn,
html.dd .attendance-container .attendance-sheet,
html.dd .attendance-container .lesson-btn {
    background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm);
}
/* بنر بالا ⇒ سربرگ تیره، و کارت تاریخ و آمار رویش */
html.dd .attendance-container .attendance-banner {
    background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); padding: 24px 28px 76px; margin-bottom: 0;
}
html.dd .attendance-container .attendance-banner h2 { color: #fff !important; font-size: 1.85rem !important; font-weight: 900 !important; }
html.dd .attendance-container .attendance-banner p { color: var(--dd-hero-sub) !important; }
html.dd .attendance-container .attendance-banner .banner-icon { background: rgba(var(--dd-brand-rgb), .28); color: #fff; border-radius: 16px; }
html.dd .attendance-container .attendance-header {
    margin: -60px 16px 1.5rem; position: relative; z-index: 1; box-shadow: var(--dd-shadow); padding: 16px 20px;
}
html.dd .attendance-container .date-navigator { background: var(--dd-sunken); border: 0; border-radius: 16px; padding: 6px 8px; }
html.dd .attendance-container .date-navigator .nav-btn { background: var(--dd-surface); border-radius: 12px; border: 1px solid var(--dd-line); }
html.dd .attendance-container .date-display .full-date { color: var(--dd-ink); font-weight: 900; }
html.dd .attendance-container .date-navigator .btn-outline { border-radius: 12px !important; border-color: var(--dd-line); color: var(--dd-brand-ink); background: var(--dd-surface); }
html.dd .attendance-container .stat-pill { border-radius: 16px; padding: 10px 16px; min-width: 150px; border-width: 1px; }
html.dd .attendance-container .stat-pill .stat-icon { width: 42px; height: 42px; border-radius: 13px; }
html.dd .attendance-container .stat-pill .stat-value { font-size: 1.55rem; }
/* کارت کلاس‌ها */
html.dd .attendance-container .classes-grid { gap: 14px; }
html.dd .attendance-container .class-card-btn { padding: 18px 20px; gap: 8px; }
html.dd .attendance-container .class-card-btn:hover { border-color: rgba(var(--dd-brand-rgb), .45); box-shadow: var(--dd-shadow); }
html.dd .attendance-container .class-card-btn.done,
html.dd .attendance-container .class-card-btn.pending { border-right-width: 1px; border-inline-start: 4px solid; }
html.dd .attendance-container .class-card-btn.done { border-inline-start-color: #1F9D55; }
html.dd .attendance-container .class-card-btn.pending { border-inline-start-color: #E0A100; }
html.dd .attendance-container .cc-title { font-weight: 900; color: var(--dd-ink); }
html.dd .attendance-container .status-badge-custom, html.dd .attendance-container .no-class-badge { border-radius: 999px; padding: 4px 10px; font-weight: 800; }
/* برگه‌ی کلاس */
html.dd .attendance-container .attendance-sheet { overflow: hidden; }
html.dd .attendance-container .sheet-toolbar { background: var(--dd-surface); border: 0; border-bottom: 1px solid var(--dd-line); border-radius: 0; box-shadow: none; }
html.dd .attendance-container .sheet-toolbar .btn { border-radius: 12px !important; font-weight: 800; }
html.dd .attendance-container .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd .attendance-container .lesson-selector { background: var(--dd-ground); }
html.dd .attendance-container .lesson-btn { border-radius: 16px; box-shadow: none; }
html.dd .attendance-container .lesson-btn.active { background: var(--dd-brand-btn) !important; border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd .attendance-container .att-btn-group { background: var(--dd-sunken); border: 0; border-radius: 13px; }
html.dd .attendance-container .att-btn { border-radius: 10px; font-weight: 800; }
html.dd .attendance-container .table thead th { color: var(--dd-muted); font-size: .78rem; font-weight: 800; background: var(--dd-ground); border-bottom: 1px solid var(--dd-line); }
html.dd .attendance-container .table td { border-color: var(--dd-line); }
html.dd .attendance-container .table-modern-input { border-radius: 11px; border-color: var(--dd-line); }
html.dd .attendance-container .table-modern-input:focus { border-color: var(--dd-brand); box-shadow: 0 0 0 3px rgba(var(--dd-brand-rgb), .14); }
@media (max-width: 767.98px) {
    html.dd .attendance-container .attendance-banner { padding: 18px 18px 70px; }
    html.dd .attendance-container .attendance-banner h2 { font-size: 1.4rem !important; }
    html.dd .attendance-container .attendance-header { margin: -56px 8px 1rem; }
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head) { padding: 18px; }
    html.dd .dk-head h2 { font-size: 1.4rem; }
}

/* ───────── صحنه: زمینه‌ی گرادیانی پشت صفحه (پسند صاحب پروژه از مرکز مشاوره، ۲۵ مهر ۱۴۰۵) ───────── */
html.dd .attendance-container { padding: 22px; }
@supports selector(:has(a)) {
    html.dd :has(> .dk-head:first-child):not(.dk-panel):not(.dk-sheet):not(.dk-card):not(.dk-sheet-body) {
        padding: 22px;
    }
}
/* ریزه‌کاری‌ها: آیکون سربرگ با رنگ مدرسه؛ کارت «امروز کلاس ندارد» قاب نقطه‌چین */
html.dd .attendance-container .attendance-banner .banner-icon { background: var(--dd-brand-btn); color: var(--dd-on-brand); box-shadow: 0 6px 18px rgba(var(--dd-brand-rgb), .35); }
html.dd .attendance-container .class-card-btn.disabled { background: transparent; border: 1.5px dashed rgba(20, 45, 55, .22); box-shadow: none; }
html.dd[data-theme="dark"] .attendance-container .class-card-btn.disabled { border-color: rgba(255, 255, 255, .16); }
@media (max-width: 767.98px) {
    html.dd .attendance-container { padding: 12px; border-radius: 18px; }
    @supports selector(:has(a)) {
        html.dd :has(> .dk-head:first-child):not(.dk-panel):not(.dk-sheet):not(.dk-card):not(.dk-sheet-body) { padding: 12px; border-radius: 18px; }
    }
}

/* ───────── ۴. پوسته‌ی مشترک (۹ آبان ۱۴۰۵): منو، نوار بالا، پیشخوان دسکتاپ و گوشی ───────── */
html.dd .sidebar { background: var(--dd-hero) !important; border-inline-start: 0; box-shadow: none; }
html.dd .sidebar-header { background: transparent !important; border-bottom: 1px solid rgba(255, 255, 255, .08); border-top: 3px solid var(--dd-brand); }
html.dd .sidebar .nav-item, html.dd .sidebar .nav-section-header {
    margin: 3px 10px; border-radius: var(--dd-r-sm); background: transparent !important; color: #DCE6E9 !important; border: 0 !important;
}
html.dd .sidebar .nav-item:hover, html.dd .sidebar .nav-section-header:hover { background: rgba(255, 255, 255, .07) !important; color: #fff !important; }
html.dd .sidebar .nav-section-body { background: rgba(0, 0, 0, .16) !important; border-radius: var(--dd-r-sm); margin: 2px 10px; padding: 3px 0; }
html.dd .sidebar .nav-section-body .nav-item { margin: 2px 6px; }
html.dd .sidebar .nav-item.active, html.dd .sidebar .nav-section-body .nav-item.active {
    background: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; font-weight: 800;
}
html.dd .sidebar .nav-item.active svg, html.dd .sidebar .nav-item.active i { color: var(--dd-on-brand) !important; stroke: var(--dd-on-brand); }
html.dd .sidebar .nav-section-body .nav-item.active::before { display: none; }
html.dd .sidebar .nav-section:not(.collapsed) > .nav-section-header { background: rgba(255, 255, 255, .17) !important; color: #fff !important; }
html.dd .sidebar .nav-section:not(.collapsed) > .nav-section-header svg { color: #fff !important; }
/* فشرده‌سازی ردیف‌های اصلی منو (زیرمنوها دست‌نخورده) */
html.dd .sidebar .nav-section { margin-bottom: 0; border-bottom: 0; }
html.dd .sidebar:not(.collapsed) .nav-section-header { padding: 8px 16px !important; margin: 3px 10px; }
html.dd .sidebar:not(.collapsed) #dynamic-menu-items > .nav-item { padding: 8px 16px; margin: 3px 10px; }
html.dd .sidebar:not(.collapsed) #dynamic-menu-items > .nav-item, html.dd .sidebar:not(.collapsed) .nav-section-header { box-sizing: border-box; min-height: 40px; }
html.dd .sidebar:not(.collapsed) #dynamic-menu-items > .nav-item { gap: 8px; font-size: .9rem; font-weight: 600; }
html.dd .sidebar:not(.collapsed) #dynamic-menu-items > .nav-item svg { width: 18px; height: 18px; flex-shrink: 0; }
html.dd .sidebar:not(.collapsed) .nav-section-body .nav-item { box-sizing: border-box; min-height: 38px; margin: 1px 6px; padding: 6px 26px 6px 12px !important; gap: 8px; font-size: .84rem !important; font-weight: 600; }
html.dd .sidebar:not(.collapsed) .nav-section-body .nav-item svg { width: 16px !important; height: 16px !important; flex-shrink: 0; }
html.dd .sidebar:not(.collapsed) .nav-section:not(.collapsed) > .nav-section-body { padding: 4px 0 !important; }
/* زیرمنوی بسته نباید جا بگیرد؛ پدینگ آن فاصله‌ی سرمنوها را زیاد می‌کرد */
html.dd .sidebar:not(.collapsed) .nav-section.collapsed > .nav-section-body { padding: 0 !important; margin: 0 10px; }
html.dd .sidebar-footer { background: transparent !important; border-top: 1px solid rgba(255, 255, 255, .08); }
html.dd .topbar { background: var(--dd-surface) !important; border-bottom: 1px solid var(--dd-line); box-shadow: none; }

html.dd .dv2 { padding: 22px; gap: 16px; }
html.dd .dv2-hero { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
html.dd .dv2-card, html.dd .dv2-kpi { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
html.dd .dv2-chip { border-radius: 999px; }
html.dd .dv2-shortcuts .shortcut-btn { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: 18px; box-shadow: var(--dd-shadow-sm); }

html.dd #app-content { background: var(--dd-stage); }
html.dd .stat-card-modern { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }

/* ───────── ۵. نمرات کلاسی (۹ آبان ۱۴۰۵) ───────── */
@supports selector(:has(a)) {
    html.dd :has(> .grade-header), html.dd :has(> .table-container > .table-header .table-title) { padding: 22px; }
}
html.dd .grade-header { background: var(--dd-hero) !important; color: #fff; border: 0 !important; border-top: 3px solid var(--dd-brand) !important;
    border-radius: var(--dd-r) !important; padding: 22px 26px; box-shadow: var(--dd-shadow); }
html.dd .grade-header h2 { color: #fff !important; }
html.dd .grade-header p, html.dd .grade-header .header-info * { color: var(--dd-hero-sub); }
html.dd .grade-header .header-info h2 { color: #fff !important; }
html.dd .grade-header .header-icon { background: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; border-radius: var(--dd-r-sm); }
html.dd .grade-class-card { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); transition: transform .15s, box-shadow .15s; }
html.dd .grade-class-card:hover { transform: translateY(-2px); box-shadow: var(--dd-shadow); border-color: var(--dd-brand); }
html.dd .grade-class-card .card-icon-bg { background: var(--dd-brand-soft) !important; color: var(--dd-brand-ink) !important; border-radius: var(--dd-r-sm); }
html.dd .grade-class-card .card-stats { border-radius: 999px; }

html.dd .table-container:has(> .table-header .table-title) { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); overflow: hidden; }
html.dd .table-container > .table-header:has(.table-title) { background: var(--dd-hero); border-top: 3px solid var(--dd-brand); padding: 18px 22px; }
html.dd .table-header:has(.table-title) .table-title { color: #fff; }
html.dd .table-header:has(.table-title) p { color: var(--dd-hero-sub) !important; }
/* قانون هدر: همیشه چیزی سفید روی لبه‌ی هدر تیره سوار است (الگوی حضور و غیاب)؛
   کارت‌های کلاس یا نوار ابزار، وگرنه هدر تیره در دل صفحه سنگین می‌شود. */
html.dd .grade-header + .classes-grid { position: relative; z-index: 1; margin-top: -48px; padding: 0 18px; }
html.dd .table-header:has(.table-title) .table-actions {
    flex: 1 0 100%; position: relative; z-index: 2; margin: 14px 0 -32px; padding: 10px 12px; justify-content: flex-start;
    background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow);
}
html.dd .table-header:has(.table-title) .btn { border-radius: var(--dd-r-xs); box-shadow: none; }
html.dd .table-header:has(.table-title) .btn-primary, html.dd .table-header:has(.table-title) .btn-success {
    background: var(--dd-brand-btn) !important; border-color: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; }
html.dd .table-header:has(.table-title) select { border-radius: var(--dd-r-xs); border: 1px solid var(--dd-line); }

/* مودال‌ها: گوشه، سربرگ و فیلدهای یکدست */
html.dd .modal { border-radius: var(--dd-r); overflow: hidden; box-shadow: var(--dd-shadow); }
html.dd .modal-header, html.dd .modal-footer { border-color: var(--dd-line); }
html.dd .modal .form-control, html.dd .modal select, html.dd .modal input[type="text"], html.dd .modal textarea { border-radius: var(--dd-r-xs); border: 1px solid var(--dd-line); }
html.dd .modal .btn { border-radius: var(--dd-r-xs); }
html.dd .modal table thead tr, html.dd .modal table th { background: var(--dd-sunken); }

/* نمرات: فرم گروهی و ریز نمرات */
.gsd-print { display: none; }
.gsd-count { display: none; }
html.dd .gsd-print { display: inline-flex; align-items: center; gap: 6px; }
html.dd .bulk-raw-print { display: none; }
html.dd #bulk-grade-entry-form .mp-box { grid-column: auto !important; margin-top: 0 !important; align-self: end; }
html.dd #main-content { background: linear-gradient(170deg, var(--dd-brand-soft) 0%, #E6EDF0 45%, #D9E3E7 100%) fixed; min-height: 100vh; }
html.dd[data-theme="dark"] #main-content { background: linear-gradient(170deg, #16252B 0%, #142025 60%, #101A1F 100%) fixed; }
.gsd-tools { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.gsd-chip { height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-sunken); color: var(--dd-ink); font: inherit; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.gsd-chip.on { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
.gsd-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.gsd-table th { position: sticky; top: 0; z-index: 1; background: var(--dd-sunken); padding: 8px 10px; text-align: right; font-size: 12px; color: var(--dd-muted); }
.gsd-table td { padding: 7px 10px; border-top: 1px solid var(--dd-line); vertical-align: middle; }
.gsd-table td.c, .gsd-table th.c { text-align: center; white-space: nowrap; }
.gsd-table td.a { white-space: nowrap; text-align: center; }
.gsd-table td.a .btn { padding: 2px 6px; border-radius: 8px; margin: 0 1px; }
.gsd-table small { display: block; color: var(--dd-muted); }
.gsd-table tr.abs td { background: rgba(239, 68, 68, .07); }
html.dd tr.exam-done { opacity: .5; }
html.dd tr.exam-done:hover { opacity: .85; }
/* قانون نوار ابزار: «بازگشت» سمت راست کنار منو، بقیه‌ی دکمه‌ها سمت چپ */
html.dd .table-actions .btn:has(.feather-arrow-right) { order: -1; margin-inline-end: auto; }

/* گوشی: ابزار نمره و نمرات مدرسه */
.m-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 8px 10px 0; align-items: stretch; }
.m-tools > div { margin: 0 !important; display: flex; min-width: 0; }
.m-tools button { width: 100%; height: 100%; min-height: 52px; justify-content: center; padding: 4px 6px !important; border-radius: 12px !important; font-size: .74rem !important; font-weight: 800; }
.m-tools .m-tool-mmp { padding: 4px 6px !important; border-radius: 12px !important; align-items: center; }
.m-tools .m-tool-mmp label { gap: 6px !important; }
.m-tools .m-tool-mmp span { font-size: .74rem !important; line-height: 1.25; }
.m-tools .m-tool-mmp small { display: block; font-size: .58rem; font-weight: 600; white-space: nowrap; }
.m-tools + #mmp-wrap { margin: 8px 10px 0 !important; }
@media (max-width: 767.98px) {
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):has(+ .dk-stats) { padding: 16px 18px 44px; }
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head) + .dk-stats { margin-top: -30px; padding: 0 8px; gap: 8px; }
    html.dd .dk-stat { padding: 10px 12px; min-height: 66px; gap: 8px; }
    html.dd .dk-stat-icon { width: 36px; height: 36px; border-radius: 11px; }
    html.dd .dk-stat-val { font-size: 1.25rem; }
    html.dd .dk-stat-lbl { font-size: .72rem; }
}

/* تکالیف: فیلتر گرد داخل نوار سفید */
html.dd .table-actions .filter-bar { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 0; margin: 0; background: transparent; border: 0; box-shadow: none; }
html.dd .table-actions .filter-bar .form-group { margin: 0; max-width: none !important; flex: 1 1 130px; }
html.dd .table-actions .filter-bar .form-group:last-child { flex: 0 0 auto; }
html.dd .table-actions .filter-bar label { display: none; }
html.dd .table-actions .filter-bar .form-control { height: 40px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-sunken); padding-inline: 14px; }
html.dd .table-actions .filter-bar .btn { height: 40px !important; border-radius: 999px; }
html.dd .table-actions > .btn-primary { height: 40px; border-radius: 999px; }

/* تکالیف: مودال ثبت؛ جای هر فیلد صریح است تا ردیف‌ها به هم نریزند */
html.dd #create-assignment-form { display: grid; gap: 12px; align-items: stretch;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-areas:
        "gr gr gr gr co co co co ty ty ty ty"
        "ti ti ti ti ti ti ti ti cl cl cl cl"
        "tg tg tg tg tg tg tg tg tg tg tg tg"
        "de de de de de de fi fi fi fi fi fi"
        "du du du sc sc sc la la la mx mx mx"; }
html.dd #create-assignment-form > div[style*="grid-template-columns"] { display: contents !important; }
html.dd #create-assignment-form .form-group { margin: 0 !important; min-width: 0; }
html.dd #create-assignment-form .fg-gr { grid-area: gr; }
html.dd #create-assignment-form .fg-co { grid-area: co; }
html.dd #create-assignment-form .fg-ty { grid-area: ty; }
html.dd #create-assignment-form .fg-ti { grid-area: ti; }
html.dd #create-assignment-form .fg-cl { grid-area: cl; }
html.dd #create-assignment-form .fg-de { grid-area: de; }
html.dd #create-assignment-form .fg-fi { grid-area: fi; padding: 10px 12px !important; }
html.dd #create-assignment-form .fg-du { grid-area: du; }
html.dd #create-assignment-form #max-score-wrapper { grid-area: mx; }
html.dd #create-assignment-form #target-students-wrapper { grid-area: tg; margin: 0 !important; }
html.dd #create-assignment-form .form-group:has(#modal-weight) { display: none !important; }
html.dd #create-assignment-form .fg-sc, html.dd #create-assignment-form .fg-la {
    position: relative; min-height: 62px; padding: 8px 12px; border: 1px solid var(--dd-line); border-radius: var(--dd-r-xs); background: var(--dd-sunken); cursor: pointer;
    display: flex !important; flex-wrap: wrap; align-items: center; align-content: center; justify-content: flex-start; gap: 2px 8px !important; }
html.dd #create-assignment-form .fg-sc { grid-area: sc; }
html.dd #create-assignment-form .fg-la { grid-area: la; }
html.dd #create-assignment-form .fg-sc label::after, html.dd #create-assignment-form .fg-la label::after { content: ''; position: absolute; inset: 0; }
html.dd #create-assignment-form .fg-sc:has(input:checked), html.dd #create-assignment-form .fg-la:has(input:checked) { border-color: var(--dd-brand); background: var(--dd-brand-soft); }
@media (max-width: 767.98px) {
    html.dd #create-assignment-form { display: block; }
    html.dd #create-assignment-form .form-group { margin-bottom: 10px !important; }
}

/* ───────── قاب ثابت همه‌ی صفحه‌ها (دسکتاپ) ─────────
   با کلیک روی منو هیچ چیزی نباید جابه‌جا شود: فاصله‌ی بالا و کنار، ارتفاع هدر،
   اندازه‌ی عنوان و جای کادر سفید شناور برای همه یک عدد است. */
@media (min-width: 768px) {
    html.dd { --dd-gutter: 24px; --dd-hero-h: 168px; --dd-lift: 60px; --dd-inset: 18px; --dd-float-h: 104px; }
    html.dd #main-content .page-content { padding: var(--dd-gutter) !important; }
    html.dd .attendance-container, html.dd :has(> .grade-header), html.dd :has(> .table-container > .table-header .table-title) { padding: 0 !important; margin: 0 !important; }
    html.dd .attendance-container .attendance-banner, html.dd .grade-header {
        box-sizing: border-box; height: var(--dd-hero-h); min-height: 0; padding: 22px 26px !important; margin: 0 !important; align-items: flex-start; border-radius: var(--dd-r) !important;
    }
    html.dd .attendance-container .attendance-banner h2, html.dd .grade-header h2, html.dd .table-header:has(.table-title) .table-title { font-size: 1.5rem !important; font-weight: 900 !important; line-height: 1.4; margin: 0; }
    html.dd .attendance-container .attendance-banner p, html.dd .grade-header p, html.dd .table-header:has(.table-title) p { font-size: .9rem !important; margin: 4px 0 0 !important; }
    html.dd .attendance-container .attendance-banner .banner-icon, html.dd .grade-header .header-icon { width: 54px; height: 54px; flex-shrink: 0; }
    html.dd .attendance-container .attendance-header { margin: calc(-1 * var(--dd-lift)) var(--dd-inset) var(--dd-gutter); box-sizing: border-box; min-height: var(--dd-float-h); }
    html.dd .grade-header + .classes-grid { margin-top: calc(-1 * var(--dd-lift)); padding: 0 var(--dd-inset); }
    /* هدر جدول: زمینه‌ی تیره جدا از محتوا، تا نوار سفید با هر ارتفاعی جای ثابت داشته باشد */
    html.dd .table-container:has(> .table-header .table-title) { position: relative; }
    html.dd .table-container > .table-header:has(.table-title) { display: block; position: relative; background: transparent !important; border-top: 0 !important; padding: 22px 26px 0; }
    html.dd .table-container > .table-header:has(.table-title)::before {
        content: ''; position: absolute; inset: 0 0 auto 0; height: var(--dd-hero-h); background: var(--dd-hero); border-top: 3px solid var(--dd-brand); box-sizing: border-box; }
    html.dd .table-header:has(.table-title) > * { position: relative; }
    html.dd .table-header:has(.table-title) > :first-child { height: 56px; }
    html.dd .table-header:has(.table-title) .table-actions {
        margin: calc(var(--dd-hero-h) - var(--dd-lift) - 22px - 56px) calc(var(--dd-inset) - 26px) 0; display: flex !important; box-sizing: border-box; min-height: var(--dd-float-h); align-items: center; padding: 14px 18px; }
    html.dd .table-header:has(.table-title) + div, html.dd .table-header:has(.table-title) + #assignment-table-content { padding-top: 14px; }
    @supports selector(:has(a)) {
        html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):has(+ .dk-stats) { box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; }
        html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head) + .dk-stats { margin-top: calc(-1 * var(--dd-lift)); padding: 0 var(--dd-inset); }
    }
}
html.dd .table-actions .filter-bar > .form-control { flex: 1 1 150px; min-width: 0 !important; width: auto; }
/* بعد از کادر سفید خط اضافه‌ای نباشد: جدول زیر آن یکدست ادامه پیدا می‌کند */
html.dd .table-container > .table-header:has(.table-title) ~ div > :first-child:not(button),
html.dd .table-container > .table-header:has(.table-title) ~ div > div > table { border: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
html.dd .table-container > .table-header:has(.table-title) ~ div thead tr { background: transparent !important; }
html.dd .table-container > .table-header:has(.table-title) { border-bottom: 0 !important; }

/* انضباطی: همان قاب ثابت؛ تب و فیلتر در کادر سفید شناور */
.ds-float { display: contents; }
@media (min-width: 768px) {
    html.dd .ds { background: transparent !important; padding: 0 !important; border-radius: 0; gap: var(--dd-gutter); }
    html.dd .ds-h { box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin: 0; align-items: flex-start; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r); }
    html.dd .ds-h h1 { color: #fff; font-size: 1.5rem; font-weight: 900; line-height: 1.4; margin: 0; }
    html.dd .ds-h .ds-muted { color: var(--dd-hero-sub); font-size: .9rem; margin-top: 4px; }
    html.dd .ds-h .ds-btn.dark { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .18); }
    html.dd .ds-float { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; box-sizing: border-box; position: relative; z-index: 1;
        min-height: var(--dd-float-h); margin: calc(-1 * var(--dd-lift) - var(--dd-gutter)) var(--dd-inset) 0; padding: 14px 18px;
        background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .ds-float .ds-tabs { background: var(--dd-sunken); }
    html.dd .ds-float .ds-filters { flex: 1 1 320px; justify-content: flex-end; }
    html.dd .ds-float .ds-filters select, html.dd .ds-float .ds-filters input { background: var(--dd-sunken) !important; }
}

/* صفحه‌های کیت: همان قاب ثابت + فهرست در کارت سفید */
@media (min-width: 768px) {
    html.dd :has(> .dk-head:first-child):not(.dk-panel):not(.dk-sheet):not(.dk-card):not(.dk-sheet-body) { padding: 0 !important; }
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head):not(.dk-card .dk-head) { align-items: flex-start; margin: 0; }
    html.dd .dk-head:first-child:not(.dk-panel .dk-head):not(.dk-sheet .dk-head) + .dk-stats .dk-stat { min-height: var(--dd-float-h); box-sizing: border-box; }
}
html.dd .dk-filters { background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow-sm); padding: 12px 16px; }
html.dd #ga-list { background: var(--dd-surface); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); padding: 6px 10px; overflow: hidden; }
html.dd #ga-list thead tr { background: transparent; }
/* مودال ریز نمرات کلاس */
.ga-sr { display: grid; grid-template-columns: minmax(0, 1fr) 44px 92px 92px; gap: 6px; align-items: center; padding: 8px 4px; border-bottom: 1px solid var(--dd-line, #e5e7eb); cursor: pointer; font-size: 13px; }
.ga-sr span:not(:first-child) { text-align: center; }
.ga-sr.ga-sh { cursor: default; font-size: 11.5px; color: var(--dd-muted, #64748b); padding-top: 2px; }
.ga-sd { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 4px; background: var(--dd-sunken, #f1f5f9); border-radius: 10px; margin: 4px 0; }
.ga-sd[hidden] { display: none; }
.ga-sg { display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; }
@media (max-width: 767.98px) { html.dd .dk-filters { background: transparent; box-shadow: none; padding: 0; } }

/* دفتر کلاسی */
html.dd .ss-day td { background: var(--dd-sunken) !important; font-weight: 800; font-size: 13px; padding: 8px 14px !important; color: var(--dd-ink); }
html.dd .ss-day.today td { background: var(--dd-brand-soft) !important; color: var(--dd-brand-ink); }
html.dd .ss-day small { font-weight: 700; margin-inline-start: 6px; }
html.dd #session-table-content .btn-icon { width: 32px; height: 32px; padding: 0; border-radius: 10px; background: var(--dd-sunken) !important; border: 1px solid var(--dd-line) !important; color: var(--dd-ink) !important; display: inline-flex; align-items: center; justify-content: center; }
html.dd #session-table-content .btn-icon svg { width: 15px; height: 15px; }
html.dd #session-table-content td { padding-top: 8px; padding-bottom: 8px; vertical-align: middle; }
.ss-kind { font-size: 11.5px; font-weight: 800; padding: 2px 10px; border-radius: 999px; background: var(--dd-sunken); color: var(--dd-muted); }
.ss-kind.on { background: var(--dd-brand-soft); color: var(--dd-brand-ink); }
.ss-none { color: #B45309; font-weight: 700; }
.ss-pill { font-size: 11.5px; font-weight: 800; padding: 2px 10px; border-radius: 999px; }
.ss-pill.p-g { background: #d1fae5; color: #065f46; } .ss-pill.p-r { background: #fee2e2; color: #991b1b; } .ss-pill.p-y { background: #fef3c7; color: #92400e; }
/* مودال ثبت گزارش: سه ستون فشرده */
html.dd #create-session-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
html.dd #create-session-form .form-grid { display: contents; }
html.dd #create-session-form .form-group { margin: 0; order: 1; }
html.dd #create-session-form .alert { grid-column: 1 / -1; order: 0; margin: 0 !important; background: var(--dd-sunken); border: 0; border-radius: var(--dd-r-xs); }
html.dd #create-session-form .form-group:has([name="topic"]), html.dd #create-session-form .form-group:has([name="description"]) { grid-column: 1 / -1; order: 2; }

/* قرارداد شهریه: فیلترها یکدست و فشرده */
html.dd .filter-box-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 14px 22px 10px; background: transparent; border: 0; }
html.dd .filter-box-grid .filter-row { display: contents; }
html.dd .filter-box-grid .form-group { margin: 0; min-width: 0; }
html.dd .filter-box-grid .filter-label { display: none; }
html.dd .filter-box-grid .form-control, html.dd .filter-box-grid .search-box input { height: 40px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-sunken); padding-inline: 14px; }
html.dd .filter-box-grid .btn { height: 40px; width: 100%; border-radius: 999px; }
html.dd .filter-box-grid .search-box input { padding-inline-start: 38px; }
html.dd .table-actions .btn { height: 42px; padding-inline: 14px; font-size: .84rem; white-space: nowrap; }
/* قانون نوار ابزار: بی‌دکمه‌ی بازگشت هم همه‌ی دکمه‌ها سمت چپ */
@media (min-width: 768px) { html.dd .table-header:has(.table-title) .table-actions { justify-content: flex-end; } }

/* وضعیت مالی: «ثبت پرداخت دستی» جدا لازم نیست؛ هر ردیف دکمه‌ی پرداخت دارد */
html.dd [onclick="showSelectStudentModal()"] { display: none !important; }
html.dd [onclick="toggleCashReport()"] { background: var(--dd-surface) !important; color: var(--dd-ink) !important; border: 1px solid var(--dd-line) !important; }
html.dd .table-actions .filter-bar .search-box { flex: 1 1 260px; }
html.dd .table-actions .filter-bar .search-box input { height: 40px; border-radius: 999px; background: var(--dd-sunken); border: 1px solid var(--dd-line); }

/* اقساط: همان فیلتر قرارداد؛ جدول‌های مالی یکدست و فشرده */
html.dd .inst-filter-box-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding: 14px 22px 10px; background: transparent; border: 0; }
html.dd .inst-filter-row { display: contents; }
html.dd .inst-filter-box-grid .form-group { margin: 0; min-width: 0; }
html.dd .inst-filter-box-grid label { display: none; }
html.dd .inst-filter-box-grid .form-control, html.dd .inst-filter-box-grid input { height: 40px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-sunken); padding-inline: 14px; }
html.dd .inst-filter-box-grid input[type="text"], html.dd .inst-filter-box-grid input[type="search"] { padding-inline-start: 38px; }
html.dd .inst-filter-box-grid .btn { height: 40px; width: 100%; border-radius: 999px; }
html.dd .table-container table td { padding-top: 10px; padding-bottom: 10px; vertical-align: middle; }
html.dd .table-container table td .btn { min-height: 0; height: 34px; padding: 0 10px; border-radius: 10px; }
html.dd .table-container table td .btn svg { width: 16px; height: 16px; }

/* کلاس آنلاین: همان قاب ثابت؛ دکمه‌ها در کادر سفید شناور */
@media (min-width: 768px) {
    html.dd .admin-online-wrapper { padding: 0 !important; }
    html.dd .admin-online-wrapper .hero-banner { position: relative; display: block; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) + var(--dd-gutter)); background: var(--dd-hero) !important; border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r); color: #fff; box-shadow: none; }
    html.dd .admin-online-wrapper .hero-banner h2 { color: #fff !important; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .admin-online-wrapper .hero-banner p { color: var(--dd-hero-sub) !important; font-size: .9rem; margin: 4px 0 0; }
    html.dd .admin-online-wrapper .hero-actions { position: absolute; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 14px 18px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .admin-online-wrapper .btn-hero { background: var(--dd-sunken) !important; color: var(--dd-ink) !important; border: 1px solid var(--dd-line) !important; border-radius: var(--dd-r-xs); height: 42px; box-shadow: none; }
    html.dd .admin-online-wrapper .floating-filters-card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin-bottom: var(--dd-gutter) !important; }
    html.dd .admin-online-wrapper .filters-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    html.dd .admin-online-wrapper .filter-item label { display: none; }
    html.dd .admin-online-wrapper .filter-item select, html.dd .admin-online-wrapper .filter-item input { height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-surface); }
}

/* یکدست: کلاس آنلاین هم مثل جدول‌ها روی کارت سفید؛ دکمه‌ی اعمال فقط یک خانه */
html.dd .filter-box-grid .form-group:has(.btn), html.dd .inst-filter-box-grid .form-group:has(.btn) { grid-column: auto !important; }
html.dd .filter-box-grid .btn, html.dd .inst-filter-box-grid .btn { font-size: .84rem; padding-inline: 10px; }
@media (min-width: 768px) {
    html.dd .admin-online-wrapper { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); padding-bottom: 22px !important; min-height: 60vh; }
    html.dd .admin-online-wrapper .hero-banner { border-radius: var(--dd-r) var(--dd-r) 0 0; margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) + 14px); }
    html.dd .admin-online-wrapper > *:not(.hero-banner):not(style) { margin-inline: 22px; }
    html.dd .admin-online-wrapper .floating-filters-card { margin-inline: 22px !important; margin-bottom: 14px !important; }
    html.dd .admin-online-wrapper .filter-item select, html.dd .admin-online-wrapper .filter-item input { background: var(--dd-sunken); }
}
/* فاصله‌ی ثابت کادر سفید تا فیلتر، در همه‌ی صفحه‌ها */
@media (min-width: 768px) {
    html.dd { --dd-after-float: 16px; }
    html.dd .filter-box-grid, html.dd .inst-filter-box-grid { padding-top: var(--dd-after-float); }
    html.dd .admin-online-wrapper .hero-banner { margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); }
}
@media (min-width: 768px) {
    html.dd .admin-online-wrapper .floating-filters-card { margin-top: 0 !important; transform: none !important; position: static !important; }
    html.dd .admin-online-wrapper .filters-grid { margin: 0 !important; }
}
@media (min-width: 768px) { html.dd .admin-online-wrapper { gap: 0 !important; } }

/* جلسه و همایش: قاب ثابت و مودال عریض */
.om-modal.om-two { width: min(1060px, 100%); }
.om-two .om-modal-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.4rem; align-items: start; }
.om-col { display: grid; gap: .8rem; min-width: 0; }
@media (max-width: 767.98px) { .om-two .om-modal-body { grid-template-columns: 1fr; } }
@media (min-width: 768px) {
    html.dd .om-wrap { gap: 0; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); padding-bottom: 22px; min-height: 60vh; }
    html.dd .om-hero { position: relative; display: block; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .om-hero h2 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .om-hero p { color: var(--dd-hero-sub); font-size: .9rem; margin: 4px 0 0; }
    html.dd .om-hero > :last-child:not(:first-child) { position: absolute; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 14px 18px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .om-wrap > .om-stats, html.dd .om-wrap > .om-grid-cards { margin-inline: 22px; }
    html.dd .om-wrap > .om-grid-cards { margin-top: 16px; }
}

/* آزمون آنلاین: قاب ثابت، تب آرشیو، فیلتر و گروه کلاس */
.oe-tabs { display: flex; gap: 4px; background: var(--dd-sunken); padding: 4px; border-radius: 999px; }
.oe-tabs button { height: 36px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: var(--dd-ink); font: inherit; font-size: .84rem; font-weight: 700; cursor: pointer; }
.oe-tabs button.on { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
#oeTools { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; padding: var(--dd-after-float, 16px) 22px 10px; }
#oeTools input, #oeTools select { height: 40px; box-sizing: border-box; width: 100%; padding: 0 14px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-sunken); color: var(--dd-ink); font: inherit; font-size: .86rem; }
.oe-groups { padding: 6px 22px 22px; display: grid; gap: 10px; }
.oe-group { border: 1px solid var(--dd-line); border-radius: 16px; overflow: hidden; }
.oe-group summary { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; background: var(--dd-sunken); cursor: pointer; font-size: .92rem; }
.oe-group summary span { font-size: .78rem; color: var(--dd-muted); }
.oe-group .exam-grid-modern { padding: 4px 12px 12px; }
.oe-class { padding: 12px 16px 6px; font-size: .86rem; font-weight: 800; color: var(--dd-brand-ink); }
.oe-class span { color: var(--dd-muted); font-weight: 600; }
#oeTools [hidden] { display: none; }
.oe-empty { padding: 40px; text-align: center; color: var(--dd-muted); }
@media (min-width: 768px) {
    html.dd .oe-card { background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); min-height: 60vh; }
    html.dd .oe-card .exams-header-card { position: relative; display: block; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px); background: var(--dd-hero) !important; border: 0 !important; border-top: 3px solid var(--dd-brand) !important; border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .oe-card .exams-header-icon { display: none; }
    html.dd .oe-card .exams-header-text h1 { color: #fff !important; font-size: 1.5rem !important; font-weight: 900; margin: 0; }
    html.dd .oe-card .exams-header-text p { color: var(--dd-hero-sub) !important; font-size: .9rem; margin: 4px 0 0; }
    html.dd .oe-float { position: absolute; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 18px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .oe-float .exams-create-btn { background: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; border-radius: var(--dd-r-xs); height: 42px; box-shadow: none; }
    /* طراحی آزمون: هدر ثابت، بازگشت زیر عنوان، کارت اول سوار روی هدر */
    html.dd .exam-builder-wrapper > .d-flex:first-child { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 !important; padding: 22px 26px; flex-direction: column; align-items: flex-start !important; justify-content: flex-start !important; gap: 8px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r); }
    html.dd .exam-builder-wrapper > .d-flex:first-child h2 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .exam-builder-wrapper > .d-flex:first-child .btn { background: rgba(255, 255, 255, .1); color: #fff; border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--dd-r-xs); padding: 4px 14px; }
    html.dd .exam-builder-wrapper > .d-flex:first-child + * { position: relative; z-index: 1; margin: calc(-1 * var(--dd-lift)) var(--dd-inset) 0; box-shadow: var(--dd-shadow); border-radius: 18px; }
}

/* برنامه‌ی ویژه: قاب ثابت؛ بازگشت راست و بقیه‌ی دکمه‌ها چپِ نوار سفید */
@media (min-width: 768px) {
    html.dd .op { display: block; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); min-height: 60vh; padding-bottom: 22px; }
    html.dd .op > .op-hero.dk-panel { position: relative; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .op-hero .dk-head { position: static; margin: 0; padding: 0; background: transparent; border: 0; }
    html.dd .op-hero .dk-head h2 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .op-hero .dk-head p { color: var(--dd-hero-sub); font-size: .9rem; margin: 4px 0 0; }
    html.dd .op-hero .op-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 6px 0 0; color: var(--dd-hero-sub); font-size: .86rem; opacity: 1; }
    html.dd .op-hero .op-meta b { color: #fff; }
    html.dd .op-hero .dk-head-actions, html.dd .op-hero .op-bar-actions { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; display: flex; flex-wrap: wrap; align-items: center; align-content: center; justify-content: flex-end; gap: 8px; padding: 14px 18px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .op-hero .op-bar-actions { padding-inline-start: 240px; }
    html.dd .op-hero .op-bar { position: absolute; z-index: 2; inset-inline-start: calc(var(--dd-inset) + 18px); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); height: var(--dd-float-h); width: auto; margin: 0; padding: 0; display: flex; align-items: center; gap: 10px; background: transparent; border-radius: 0; cursor: default; }
    html.dd .op > :not(.op-hero) { margin-inline: 22px; }
    html.dd .op > .op-intro.dk-panel { padding: 12px 16px; margin-bottom: 12px; background: var(--dd-sunken); border: 0; border-radius: 14px; box-shadow: none; font-size: .84rem; line-height: 1.9; }
    html.dd .op-notes { display: grid; gap: 8px; margin-bottom: 12px; }
    html.dd .op-notes > * { margin: 0; }
    html.dd .op > .dk-stats { margin-bottom: 12px; }
    html.dd .op .dk-stat { box-shadow: none; border: 1px solid var(--dd-line); min-height: 0; padding: 12px 16px; }
    html.dd .op > .op-box.dk-panel { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
    html.dd .op .dk-filters { background: transparent; border: 0; box-shadow: none; padding: 0; margin: 10px 0; }
    html.dd .op .dk-filters .dk-input, html.dd .op .dk-filters .dk-btn { border-radius: 999px; min-height: 42px; }
    html.dd .op .dk-filters .dk-input { background: var(--dd-sunken); border-color: var(--dd-line); }
}

/* کارتابل نامه‌ها: قاب ثابت، تب‌ها چپِ نوار سفید، بانک الگوها فشرده */
html.dd .auto-wrap { --auto-primary: var(--dd-brand-btn); --auto-primary-hover: var(--dd-brand-ink); --auto-primary-light: var(--dd-brand-soft); }
html.dd .auto-wrap .auto-btn-primary { background: var(--dd-brand-btn); color: var(--dd-on-brand); box-shadow: none; }
@media (min-width: 768px) {
    html.dd .auto-wrap { position: relative; box-sizing: border-box; padding: 0; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); min-height: 60vh; }
    html.dd .auto-hero { display: block; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .auto-hero h1 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .auto-hero p { color: var(--dd-hero-sub); font-size: .9rem; margin: 4px 0 0; }
    html.dd .auto-top-nav { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 6px; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd #tab-view-mailroom, html.dd #tab-view-templates, html.dd #tab-view-config { padding: 0 22px 22px; }
    html.dd .auto-stats { gap: 10px; margin-bottom: 14px; }
    html.dd .auto-stat-item { padding: 12px 16px; border-color: var(--dd-line); border-radius: 14px; box-shadow: none; background: var(--dd-surface); }
    html.dd .auto-grid { gap: 14px; }
    html.dd .auto-grid > * { border: 1px solid var(--dd-line); border-radius: 16px; box-shadow: none; }
    html.dd .auto-filter-bar .auto-input, html.dd .auto-filter-bar .auto-select { height: 40px; min-height: 40px; border-radius: 999px; background: var(--dd-sunken); border-color: var(--dd-line); }
    html.dd .sec-config-card { padding: 0; border: 0; box-shadow: none; background: transparent; }
    html.dd #templates-grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; margin: 0; }
    html.dd #templates-grid-container > .col-md-4 { width: auto; max-width: none; flex: none; padding: 0; margin: 0; }
    html.dd #templates-grid-container > .col-12 { grid-column: 1 / -1; width: auto; max-width: none; }
    html.dd .template-card { box-sizing: border-box; height: 100%; display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--dd-line); border-radius: 14px; box-shadow: none; }
    html.dd .template-card:hover { transform: none; box-shadow: var(--dd-shadow-sm); }
    html.dd .template-card > .d-flex { display: flex; justify-content: space-between; align-items: center; margin: 0 !important; }
    html.dd .template-card .badge { padding: 2px 10px; border-radius: 999px; border: 0 !important; font-size: .72rem; font-weight: 700; background: var(--dd-brand-soft) !important; color: var(--dd-brand-ink) !important; }
    html.dd .template-card .badge.bg-light { background: var(--dd-sunken) !important; color: var(--dd-muted) !important; }
    html.dd .template-card .badge:empty { display: none; }
    html.dd .template-card h6 { margin: 0 !important; font-size: .92rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    html.dd .template-card p { margin: 0 !important; min-height: 0 !important; font-size: .78rem; color: var(--dd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    html.dd .template-card > .d-flex:last-child { margin-top: auto !important; padding-top: 8px; border-top: 1px solid var(--dd-line); font-size: .76rem; color: var(--dd-muted); }
    html.dd .template-card .auto-btn { height: 32px; padding: 0 12px !important; }
    html.dd .template-card .auto-btn svg { width: 15px; height: 15px; }
}

/* مودال ارسال اعلان: مقصد از همان ابتدا در ستون چپ دیده شود */
@media (min-width: 768px) {
    html.dd .nf-grid { grid-template-columns: 1fr 1fr 1.1fr !important; grid-template-rows: auto 1fr auto auto; grid-template-areas: "title title aud" "msg msg aud" "cat pri aud" "sms sms aud"; gap: 12px 14px; }
    html.dd .nf-grid > hr { display: none; }
    html.dd .nf-grid > .form-group { margin: 0; }
    html.dd .nf-title { grid-area: title !important; }
    html.dd .nf-title label { display: block; margin-bottom: 6px; }
    html.dd .nf-title input { display: block; width: 100%; }
    html.dd .nf-msg { grid-area: msg !important; }
    html.dd .nf-msg textarea { min-height: 170px; }
    html.dd .nf-cat { grid-area: cat !important; }
    html.dd .nf-pri { grid-area: pri !important; }
    html.dd .nf-sms { grid-area: sms !important; }
    html.dd .nf-aud { grid-area: aud !important; display: flex; flex-direction: column; gap: 12px; align-self: stretch; padding: 16px; background: var(--dd-brand-soft); border: 1px solid var(--dd-brand); border-radius: 16px; }
    html.dd .nf-aud .form-group { margin: 0; }
    html.dd .nf-aud label.required { display: block; margin-bottom: 8px; color: var(--dd-brand-ink) !important; font-size: 1rem !important; }
    html.dd .nf-aud select, html.dd .nf-aud input[type="text"] { background: var(--dd-surface); }
    html.dd .nf-aud #multi-select-container { max-height: 260px !important; background: var(--dd-surface) !important; }
}
html.dd #notif-filter-type { height: 40px !important; border-radius: 999px; background: var(--dd-sunken); border-color: var(--dd-line); }

/* لیست اعلان‌ها: ردیف تک‌خطی با تیتر زمانی */
@media (min-width: 768px) {
    html.dd .notification-list { gap: 0; }
    html.dd .notif-bucket { padding: 12px 10px 4px; font-size: .76rem; font-weight: 800; color: var(--dd-muted); }
    html.dd .notification-item { align-items: center; gap: 10px; min-height: 46px; padding: 6px 10px; border: 0 !important; border-bottom: 1px solid var(--dd-line) !important; border-radius: 0; background: transparent; box-shadow: none; opacity: 1; }
    html.dd .notification-item:hover { transform: none; box-shadow: none; background: var(--dd-sunken); }
    html.dd .notification-item.is-unread { background: var(--dd-brand-soft); }
    html.dd .notif-icon { width: 30px; height: 30px; border-radius: 9px; }
    html.dd .notif-icon svg { width: 14px; height: 14px; }
    html.dd .notif-content { display: grid; grid-template-columns: 240px minmax(0, 1fr) 130px 120px; gap: 12px; align-items: center; min-width: 0; }
    html.dd .notification-item:has(.read-status) .notif-content { grid-template-columns: 200px minmax(0, 1fr) 390px 120px; }
    html.dd .notif-header { display: contents; }
    html.dd .notif-title { grid-column: 1; grid-row: 1; min-width: 0; font-size: .86rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    html.dd .is-unread .notif-title { font-weight: 800; }
    html.dd .notif-message { grid-column: 2; grid-row: 1; display: block; font-size: .8rem; color: var(--dd-muted); opacity: 1; line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    html.dd .notif-meta { grid-column: 3; grid-row: 1; margin: 0; justify-content: flex-start; white-space: nowrap; overflow: hidden; }
    html.dd .notif-meta .badge { background: var(--dd-sunken) !important; border: 0 !important; border-radius: 999px; padding: 2px 10px; font-weight: 600; }
    html.dd .notif-date { grid-column: 4; grid-row: 1; font-size: .74rem; font-family: inherit; text-align: end; white-space: nowrap; }
    html.dd .notif-actions { width: 28px; justify-content: center; }
}
@media (min-width: 768px) {
    html.dd .table-actions > .filter-bar-notif { margin: 0; margin-inline-end: auto; padding: 0; background: transparent; border: 0; border-radius: 0; }
}

/* badge در style.css شناور است و از ردیف بیرون می‌زند */
html.dd .notif-meta .badge, html.dd .template-card .badge, html.dd .auto-nav-badge, html.dd .auto-sidebar .badge { position: static; }

/* تیره: کارتابل نامه‌ها (مودال‌ها و کاغذ نامه عمداً روشن می‌مانند) */
html.dd[data-theme="dark"] .auto-wrap { --auto-primary: var(--dd-brand-ink); --auto-primary-hover: var(--dd-brand-ink); }
html.dd[data-theme="dark"] .auto-hero, html.dd[data-theme="dark"] .auto-top-nav,
html.dd[data-theme="dark"] #tab-view-mailroom, html.dd[data-theme="dark"] #tab-view-templates, html.dd[data-theme="dark"] #tab-view-config { --auto-border: var(--dd-line); --auto-bg: var(--dd-sunken); --auto-card: var(--dd-surface); --auto-text-main: var(--dd-ink); --auto-text-muted: var(--dd-muted); color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-wrap .auto-btn-primary { color: var(--dd-on-brand); background: var(--dd-brand-btn); }
html.dd[data-theme="dark"] .auto-top-nav, html.dd[data-theme="dark"] .auto-stat-item, html.dd[data-theme="dark"] .auto-sidebar, html.dd[data-theme="dark"] .auto-content, html.dd[data-theme="dark"] .template-card, html.dd[data-theme="dark"] .auto-btn-outline-primary, html.dd[data-theme="dark"] .auto-file-upload-box { background: var(--dd-surface); border-color: var(--dd-line); }
html.dd[data-theme="dark"] .auto-btn-outline-primary { border-color: var(--dd-brand-ink); color: var(--dd-brand-ink); }
html.dd[data-theme="dark"] .auto-stat-item h3, html.dd[data-theme="dark"] .template-card h6, html.dd[data-theme="dark"] .sec-section-title, html.dd[data-theme="dark"] #tab-view-templates h5, html.dd[data-theme="dark"] #tab-view-config h4, html.dd[data-theme="dark"] #tab-view-config label { color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-stat-item p, html.dd[data-theme="dark"] .auto-main-tab, html.dd[data-theme="dark"] .auto-hint { color: var(--dd-muted); }
html.dd[data-theme="dark"] .auto-stat-item > div:last-child { background: var(--dd-sunken) !important; color: var(--dd-brand-ink) !important; }
html.dd[data-theme="dark"] .auto-main-tab.active { background: var(--dd-brand-soft); color: var(--dd-brand-ink); }
html.dd[data-theme="dark"] .auto-main-tab:hover, html.dd[data-theme="dark"] .auto-nav-btn:hover, html.dd[data-theme="dark"] .auto-table tr:hover { background: var(--dd-sunken); }
html.dd[data-theme="dark"] .auto-input, html.dd[data-theme="dark"] .auto-select, html.dd[data-theme="dark"] .auto-textarea { background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-filter-bar { background: transparent; border-color: var(--dd-line); }
html.dd[data-theme="dark"] .auto-table th { background: var(--dd-sunken); color: var(--dd-muted); border-color: var(--dd-line); }
html.dd[data-theme="dark"] .auto-table td { color: var(--dd-ink); border-color: var(--dd-line); }
html.dd[data-theme="dark"] .auto-table a, html.dd[data-theme="dark"] .auto-sidebar [class*="nav"] { color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-sidebar hr { border-color: var(--dd-line); }
html.dd[data-theme="dark"] #tab-view-mailroom .auto-btn-secondary, html.dd[data-theme="dark"] #tab-view-templates .auto-btn-secondary { background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-nav-badge { background: var(--dd-sunken); color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-nav-badge.is-unread { background: #ef4444; color: #fff; }
html.dd[data-theme="dark"] .sec-section-box { background: var(--dd-sunken); border-color: var(--dd-line); }
html.dd[data-theme="dark"] .sec-section-box .auto-input, html.dd[data-theme="dark"] .sec-section-box .auto-file-upload-box { background: var(--dd-surface); }

/* تیره: لیست اعلان */
html.dd[data-theme="dark"] .notif-meta .badge { color: var(--dd-muted) !important; }
html.dd[data-theme="dark"] .notif-title { color: var(--dd-ink); }
html.dd[data-theme="dark"] .notif-date { color: var(--dd-muted); }
html.dd[data-theme="dark"] .nf-aud select, html.dd[data-theme="dark"] .nf-aud input[type="text"] { color: var(--dd-ink); }
html.dd[data-theme="dark"] .nf-aud #multi-select-container { color: var(--dd-ink); }

/* کارتابل: نشان‌ها در جای خود؛ تیره‌ی مودال‌ها (کاغذ نامه سفید می‌ماند) */
html.dd .auto-wrap .badge, html.dd .auto-modal-box .badge { position: static; }
html.dd[data-theme="dark"] .auto-modal-box { --auto-border: var(--dd-line); --auto-bg: var(--dd-sunken); --auto-card: var(--dd-surface); --auto-text-main: var(--dd-ink); --auto-text-muted: var(--dd-muted); --auto-primary: var(--dd-brand-ink); --auto-primary-hover: var(--dd-brand-ink); --auto-primary-light: var(--dd-brand-soft); background: var(--dd-surface); color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-modal-box h5, html.dd[data-theme="dark"] .auto-modal-box h6, html.dd[data-theme="dark"] .auto-modal-box label, html.dd[data-theme="dark"] .auto-modal-box strong { color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-modal-box .text-muted { color: var(--dd-muted) !important; }
html.dd[data-theme="dark"] .auto-modal-box hr { border-color: var(--dd-line); }
html.dd[data-theme="dark"] .auto-modal-box [style*="#f8fafc"], html.dd[data-theme="dark"] .composer-control-panel { background: var(--dd-sunken) !important; }
html.dd[data-theme="dark"] .auto-modal-box [style*="#e2e8f0"] { border-color: var(--dd-line) !important; }
html.dd[data-theme="dark"] .auto-modal-box [style*="color:#475569"], html.dd[data-theme="dark"] .auto-modal-box [style*="color:#334155"] { color: var(--dd-muted) !important; }
html.dd[data-theme="dark"] .auto-modal-box [style*="#f1f5f9"], html.dd[data-theme="dark"] .auto-table [style*="#f1f5f9"] { background: var(--dd-sunken) !important; color: var(--dd-muted) !important; }
html.dd[data-theme="dark"] .auto-modal-box [style*="#fffbeb"] { color: #7c5a00; }
html.dd[data-theme="dark"] .auto-modal-box .bg-light { background: var(--dd-sunken) !important; color: var(--dd-ink) !important; border-color: var(--dd-line) !important; }
html.dd[data-theme="dark"] .auto-modal-box .auto-btn-secondary, html.dd[data-theme="dark"] .auto-sidebar button:not(.auto-btn-primary):not(.auto-nav-btn) { background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-modal-box .auto-btn-secondary:hover { background: var(--dd-hero); color: var(--dd-ink); }
html.dd[data-theme="dark"] .receiver-select-wrap { background: var(--dd-surface); border-color: var(--dd-line); }
html.dd[data-theme="dark"] .receiver-tab-btn { color: var(--dd-muted); }
html.dd[data-theme="dark"] .receiver-tab-btn.active { background: transparent; color: var(--dd-brand-ink); border-bottom-color: var(--dd-brand-ink); }
html.dd[data-theme="dark"] .receiver-item { background: transparent; border-color: var(--dd-line); color: var(--dd-ink); }
html.dd[data-theme="dark"] .receiver-item:hover { background: var(--dd-sunken); }
html.dd[data-theme="dark"] .receiver-item.selected { background: var(--dd-brand-soft); border-color: var(--dd-brand); }
html.dd[data-theme="dark"] .receiver-avatar { background: var(--dd-sunken); color: var(--dd-ink); }
html.dd[data-theme="dark"] .quick-note-chip { background: transparent; border-color: var(--dd-line); color: var(--dd-ink); }
html.dd[data-theme="dark"] .quick-note-chip:hover { background: var(--dd-brand-soft); color: var(--dd-brand-ink); }
html.dd[data-theme="dark"] .auto-paper-stage { background: #0F181C; }
html.dd[data-theme="dark"] .auto-paper { background: #fff; color: #0f172a; --auto-text-main: #0f172a; --auto-text-muted: #64748b; --auto-border: #e2e8f0; }
html.dd[data-theme="dark"] .auto-paper *:not([class*="stamp"]) { color: #0f172a; }
html.dd[data-theme="dark"] .auto-paper .auto-input, html.dd[data-theme="dark"] .auto-paper .auto-select, html.dd[data-theme="dark"] .auto-paper .auto-textarea { background: #fff; border-color: #e2e8f0; color: #0f172a; }

/* تیره: ستون پوشه‌ها، شماره‌ی نامه و صفحه‌بندی */
html.dd[data-theme="dark"] .auto-sidebar .auto-nav-btn { color: var(--dd-ink); }
html.dd[data-theme="dark"] .auto-sidebar .auto-nav-btn.active { background: var(--dd-brand-soft); color: var(--dd-brand-ink); border-color: var(--dd-brand); }
html.dd[data-theme="dark"] .auto-sidebar .auto-nav-btn.active span { color: inherit; }
html.dd[data-theme="dark"] .auto-chip { background: var(--dd-sunken); color: var(--dd-ink); border-color: var(--dd-line); }
html.dd[data-theme="dark"] .auto-state-draft { background: var(--dd-sunken); color: var(--dd-muted); }
html.dd[data-theme="dark"] .auto-table a { color: var(--dd-brand-ink); }
html.dd[data-theme="dark"] #auto-pager button[style*="background:#fff"], html.dd[data-theme="dark"] #auto-pager button[style*="#f8fafc"] { background: var(--dd-sunken) !important; color: var(--dd-ink) !important; border-color: var(--dd-line) !important; }
html.dd[data-theme="dark"] #auto-pager button[style*="#2563eb"] { background: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; border-color: var(--dd-brand-btn) !important; }

/* دسته‌بندی اعلان‌ها: تنظیمات پیامک داخل نوار سفید */
html.dd #notification-categories-container .table-title { color: #fff !important; }
@media (min-width: 768px) {
    html.dd .table-actions:has(> .sms-panel) { flex-wrap: nowrap; align-items: center; gap: 14px; }
    html.dd #notification-categories-container .table-actions > .sms-panel { flex: 1; min-width: 0; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; display: grid; gap: 8px; }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-panel-header { display: flex; justify-content: space-between; align-items: center; margin: 0; padding: 0; border: 0; }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-panel-title { margin: 0; font-size: .92rem; font-weight: 800; color: var(--dd-ink); }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-toggle-label { margin: 0; font-size: .8rem; color: var(--dd-ink); }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; }
    html.dd #notification-categories-container .table-actions > .sms-panel .form-group { display: flex; align-items: center; gap: 8px; margin: 0; min-width: 0; }
    html.dd #notification-categories-container .table-actions > .sms-panel .form-group label { margin: 0; flex: none; font-size: .78rem; color: var(--dd-muted); white-space: nowrap; }
    html.dd #notification-categories-container .table-actions > .sms-panel input[type="text"], html.dd #notification-categories-container .table-actions > .sms-panel input[type="password"] { flex: 1; min-width: 0; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--dd-line); background: var(--dd-sunken); color: var(--dd-ink); font-size: .82rem; }
    html.dd .table-actions:has(> .sms-panel) > .btn { flex: none; }
    html.dd #notification-categories-container .table-header + .sms-info { margin: 0 22px 12px; padding: 10px 14px; background: var(--dd-sunken); border: 0; border-radius: 12px; color: var(--dd-muted); font-size: .8rem; }
    html.dd #notification-categories-container .table-header + .sms-info strong { color: var(--dd-ink); }
}
@media (min-width: 768px) {
    html.dd #notification-categories-container .table-actions > .sms-panel .form-group { flex-direction: row; }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-panel-header { justify-content: flex-start; gap: 14px; }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-toggle-label { display: inline-flex; align-items: center; gap: 8px; padding: 3px 12px 3px 8px; background: var(--dd-sunken); border-radius: 999px; cursor: pointer; font-weight: 600; }
    html.dd #notification-categories-container .table-actions > .sms-panel .sms-toggle-label strong { font-weight: 700; font-size: .78rem; }
    html.dd #notification-categories-container #global-sms-toggle { appearance: none; -webkit-appearance: none; position: relative; flex: none; width: 34px; height: 20px; margin: 0; border: 0; border-radius: 999px; background: var(--dd-muted); cursor: pointer; transition: background .15s; }
    html.dd #notification-categories-container #global-sms-toggle::after { content: ""; position: absolute; top: 2px; inset-inline-start: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: inset-inline-start .15s; }
    html.dd #notification-categories-container #global-sms-toggle:checked { background: var(--dd-brand-btn); }
    html.dd #notification-categories-container #global-sms-toggle:checked::after { inset-inline-start: 16px; }
    html.dd #notification-categories-container #global-sms-toggle:focus-visible { outline: 2px solid var(--dd-brand); outline-offset: 2px; }
}

/* پیام‌رسان: فقط رنگ مدرسه و فرم‌های گرد؛ ساختار تمام‌ارتفاع دست نخورده */
@media (min-width: 768px) {
    html.dd .dv { --brand: var(--dd-brand-btn); --brand-2: var(--dd-brand-btn); --brand-soft: var(--dd-brand-soft); --navy: var(--dd-hero); --out: var(--dd-brand-soft); }
    html.dd[data-theme="dark"] .dv { --ground: var(--dd-ground); --panel: var(--dd-surface); --panel-2: var(--dd-sunken); --line: var(--dd-line); --ink: var(--dd-ink); --ink-2: var(--dd-muted); --ink-3: var(--dd-muted); --brand: var(--dd-brand-ink); --brand-2: var(--dd-brand-btn); --navy: var(--dd-hero); --in: var(--dd-sunken); --chat-bg: var(--dd-ground); }
    html.dd .dv-newbtn, html.dd .dv-folder .n { color: var(--dd-on-brand); }
    html.dd .dv-folder[aria-pressed="true"] { background: rgba(255, 255, 255, .13); }
    html.dd .dv-seg button.on { color: var(--dd-on-brand); box-shadow: none; }
    html.dd[data-theme="dark"] .dv-seg button.on, html.dd[data-theme="dark"] .dv-pick.on .dv-pick-mark { background: var(--dd-brand-btn); }
    html.dd .dv-badge { color: var(--dd-on-brand); background: var(--dd-brand-btn); }
    html.dd .dv-badge.muted { background: var(--ink-3); color: var(--panel); }
    html.dd .dv-search { border-radius: 999px; }
    html.dd .dv-composer input[type=text], html.dd .dv-composer textarea { border-radius: 22px; }
    html.dd .dv-tag { font-size: .58rem; font-weight: 600; line-height: 1.5; padding: 0 5px; }
}

/* امتحان تشریحی: رنگ‌های طرح تازه در روشن و تیره، قاب ثابت */
html.dd #descriptive-exams-container, html.dd .exam-modal { --primary: var(--dd-brand-btn); --primary-dark: var(--dd-brand-btn); --primary-light: var(--dd-brand-soft); --bg-primary: var(--dd-surface); --bg-secondary: var(--dd-sunken); --bg-card: var(--dd-surface); --bg-hover: var(--dd-sunken); --text-primary: var(--dd-ink); --text-secondary: var(--dd-muted); --text-muted: var(--dd-muted); --border-color: var(--dd-line); --border-light: var(--dd-line); }
html.dd #descriptive-exams-container .exam-btn-primary, html.dd .exam-modal .exam-btn-primary { background: var(--dd-brand-btn); color: var(--dd-on-brand); box-shadow: none; }
html.dd[data-theme="dark"] #descriptive-exams-container .stat-icon { background: var(--dd-sunken); }
html.dd #descriptive-exams-container .exam-table thead tr { background: var(--dd-sunken); }
html.dd #descriptive-exams-container .exam-table th { color: var(--dd-muted); }
@media (min-width: 768px) {
    html.dd #descriptive-exams-container { position: relative; box-sizing: border-box; min-height: 60vh; padding: 0; border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd #descriptive-exams-container .exam-header { box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd #descriptive-exams-container .exam-header h1 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd #descriptive-exams-container .exam-header p { color: var(--dd-hero-sub); font-size: .9rem; margin: 4px 0 0; opacity: 1; }
    html.dd #descriptive-exams-container .exam-tabs { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 6px; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd #descriptive-exams-container .exam-tab { height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--dd-sunken); color: var(--dd-ink); font-size: .84rem; font-weight: 700; box-shadow: none; transform: none; }
    html.dd #descriptive-exams-container .exam-tab.active { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd #descriptive-exams-container .stats-grid { gap: 10px; margin: 0 22px 14px; }
    html.dd #descriptive-exams-container .stat-card { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 12px 16px; border-radius: 14px; box-shadow: none; transform: none; }
    html.dd #descriptive-exams-container .stat-icon { grid-row: 1 / 3; width: 44px; height: 44px; margin: 0; border-radius: 13px; }
    html.dd #descriptive-exams-container .stat-value { font-size: 1.5rem; font-weight: 900; line-height: 1.2; }
    html.dd #descriptive-exams-container .stat-label { margin: 0; font-size: .78rem; }
    html.dd #descriptive-exams-container .exam-tab-content { padding: 0 22px 22px; }
    html.dd #descriptive-exams-container .exam-card { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
    html.dd #descriptive-exams-container .exam-card-title { font-size: 1.05rem; font-weight: 900; margin: 0; }
    html.dd #descriptive-exams-container .exam-card-header { margin: 0 0 12px; padding: 0; border: 0; gap: 10px; }
    html.dd #descriptive-exams-container .filter-bar { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; align-items: end; margin: 0 0 14px !important; padding: 0; background: transparent; border: 0; border-radius: 0; }
    html.dd #descriptive-exams-container .filter-group { min-width: 0; margin: 0; }
    html.dd #descriptive-exams-container .filter-group label { margin-bottom: 4px; font-size: .76rem; color: var(--dd-muted); }
    html.dd #descriptive-exams-container .filter-group select:not([multiple]), html.dd #descriptive-exams-container .filter-group input { height: 40px; padding-block: 0; border-radius: 999px; background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
    html.dd #descriptive-exams-container .filter-group select[multiple] { border-radius: 14px; background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
    html.dd #descriptive-exams-container .filter-group > .exam-btn { width: 100%; height: 40px; margin: 0 !important; padding-inline: 10px; justify-content: center; white-space: nowrap; }
    /* شماره صندلی: انتخاب امتحان کنار عنوان، مشخصات در یک خط */
    html.dd #seat-numbers-tab .exam-card-header { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
    html.dd #seat-numbers-tab .exam-card-header .filter-group { display: flex; flex-direction: column-reverse; gap: 8px; width: 100% !important; }
    html.dd #selected-exam-info { margin: 0 !important; }
    html.dd #selected-exam-info .alert { margin: 0 !important; padding: 8px 14px !important; background: var(--dd-sunken) !important; border: 0 !important; border-radius: 12px !important; color: var(--dd-ink) !important; font-size: .8rem; }
    html.dd #selected-exam-info br { display: none; }
    html.dd #selected-exam-info strong { margin-inline-end: 10px; }
    /* دکمه‌های تکراری: همان دکمه‌ی بالا کافی است */
    html.dd #header-templates-list > div:first-child > .exam-btn-primary, html.dd #seat-numbers-list .exam-empty-state .exam-btn { display: none; }
    html.dd #header-templates-list > div:first-child:not(:has(> :not(.exam-btn-primary))) { display: none; }
}

/* امتحان تشریحی: چیپ آیین‌نامه و دکمه‌های کارت آیین‌نامه */
html.dd .ep-chips { display: flex; flex-wrap: wrap; gap: 6px; min-height: 40px; align-items: center; }
html.dd .ep-chips button { min-height: 36px; padding: 0 14px; border: 1px solid var(--dd-line); border-radius: 999px; background: var(--dd-sunken); color: var(--dd-ink); font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
html.dd .ep-chips button.on { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd #descriptive-exams-container #instructions-list .exam-btn-sm, html.dd #descriptive-exams-container #instructions-tab .exam-btn-sm { height: 32px; padding: 0 14px; font-size: .78rem; }
html.dd #descriptive-exams-container .exam-btn-secondary { background: var(--dd-sunken); color: var(--dd-ink); border: 1px solid var(--dd-line); }

/* نشان‌های داخل جدول و مودال در ردیف خودشان؛ آیکن و دکمه‌ی یکدست نوار شناور */
html.dd td .badge, html.dd .modal-content .badge, html.dd .modal-body .badge { position: static; transform: none; width: auto; height: auto; min-width: 0; }
html.dd td .badge-secondary, html.dd td .badge-outline { display: inline-flex; padding: 2px 10px; border-radius: 999px; background: var(--dd-sunken); color: var(--dd-ink); font-size: .74rem; font-weight: 700; }
html.dd .table-actions .btn svg { width: 16px; height: 16px; }
html.dd .table-actions .btn-outline { border-color: var(--dd-line); }
html.dd td .btn-icon { width: 34px; height: 34px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; }
html.dd td .btn-icon svg { width: 15px; height: 15px; }
html.dd td .btn-icon.btn-danger { background: rgba(239, 68, 68, .12); border: 0; color: #ef4444; }
html.dd td .btn-icon.btn-outline { background: var(--dd-sunken); border: 0; color: var(--dd-ink); }

/* فیلتر با جستجو: آیکن داخل کادر و همه در یک ردیف */
@media (min-width: 768px) {
    html.dd .table-actions:has(.search-box) { flex-wrap: nowrap; }
    html.dd .table-actions .filter-bar:has(.search-box) { flex-wrap: nowrap; min-width: 0; }
    html.dd .table-actions .filter-bar .form-group { min-width: 0; }
}
html.dd .table-actions .filter-bar .search-box { position: relative; width: auto; }
html.dd .table-actions .filter-bar .search-box svg { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--dd-muted); pointer-events: none; }
html.dd .table-actions .filter-bar .search-box input { width: 100%; padding-inline: 38px 14px; }
/* فیلتر سؤال‌ها همان لحظه اعمال می‌شود؛ دکمه‌ی «اعمال» لازم نیست */
html.dd .table-actions .filter-bar:has(#metric-search) .form-group:last-child { display: none; }
html.dd td .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd td .btn-sm svg { width: 15px; height: 15px; }
/* form-group ستونی است و flex-basis ۲۶۰ پیکسلِ search-box را ارتفاع می‌کرد */
html.dd .table-actions .filter-bar .form-group > .search-box { flex: none; }
html.dd .table-actions .filter-bar .form-group:has(> .search-box) { flex: 1 1 260px; }
html.dd[data-theme="dark"] [role="alert"][style*="#FFF1E6"] { background: rgba(245, 158, 11, .12) !important; border-color: rgba(245, 158, 11, .3) !important; color: #F2C46D !important; }

/* کاربران (دانش‌آموز، اولیا، پرسنل): قاب ثابت */
@media (min-width: 768px) {
    html.dd .uc-page { position: relative; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); min-height: 60vh; }
    html.dd .uc-page .users-container-box { margin: 0; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none; }
    html.dd .uc-hero { box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .uc-hero h3 { color: #fff !important; font-size: 1.5rem !important; font-weight: 900; margin: 0; letter-spacing: 0 !important; }
    html.dd .uc-hero p { color: var(--dd-hero-sub); font-size: .9rem; margin: 4px 0 0; }
    html.dd .uc-float { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px; display: flex; align-items: center; justify-content: flex-end; gap: 8px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .uc-float > div:first-child { flex: 1 1 260px; min-width: 0; max-width: none !important; margin-inline-end: auto; }
    html.dd .uc-float #user-search { box-sizing: border-box; height: 42px; border-radius: 999px !important; border: 1px solid var(--dd-line) !important; background: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .uc-float .btn { flex: none; height: 42px; padding: 0 14px !important; border-radius: var(--dd-r-xs) !important; background: var(--dd-sunken) !important; border: 1px solid var(--dd-line) !important; color: var(--dd-ink) !important; font-size: .84rem; font-weight: 700; white-space: nowrap; box-shadow: none !important; }
    html.dd .uc-float .btn svg { width: 16px !important; height: 16px !important; }
    html.dd .uc-float .btn-primary { background: var(--dd-brand-btn) !important; border-color: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; }
    html.dd .uc-filters { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; margin: 0 22px 12px; }
    html.dd .uc-filters select { box-sizing: border-box; width: 100% !important; height: 40px; border-radius: 999px !important; border: 1px solid var(--dd-line) !important; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd #student-stats-wrapper { margin: 0 22px 12px !important; padding: 0 !important; border: 0 !important; }
    html.dd .uc-page > .users-container-box:last-child { padding: 0 22px 22px !important; }
}

/* مودال کاربر: بخش‌های خنثی، انتخاب فایل و تیره */
html.dd .modal-body .dynamic-fields { background: var(--dd-sunken) !important; border-radius: 14px !important; padding: 14px !important; }
html.dd .modal-body .dynamic-fields input:not([type="checkbox"]):not([readonly]), html.dd .modal-body .dynamic-fields select { background: var(--dd-surface); }
html.dd .modal-body #student_number_input { background: var(--dd-line) !important; }
html.dd .modal-body input[type="file"] { padding: 6px 10px; height: auto; }
html.dd .modal-body input[type="file"]::file-selector-button { height: 32px; padding: 0 14px; margin-inline-end: 10px; border: 0; border-radius: 999px; background: var(--dd-brand-soft); color: var(--dd-brand-ink); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
html.dd[data-theme="dark"] .modal-body [data-user-id], html.dd[data-theme="dark"] [data-user-id] [style*="background: #f7fafc"] { background: var(--dd-surface) !important; }
html.dd[data-theme="dark"] [data-user-id] [style*="background: white"], html.dd[data-theme="dark"] .modal-body [style*="#fffaf0"], html.dd[data-theme="dark"] .modal-body [style*="#fff5f5"] { background: var(--dd-sunken) !important; border-color: var(--dd-line) !important; color: var(--dd-ink); }
html.dd[data-theme="dark"] [data-user-id] [style*="color: #"] { color: var(--dd-ink) !important; }

/* کارت‌های رنگی آمار پایه‌ها مثل قبل می‌مانند */
@media (min-width: 768px) { html.dd #student-stats-wrapper .stats-card { min-width: 105px; } }

/* تیره: مودال جزئیات کاربر و اتصال ولی (رنگ‌های ثابت داخل کد) */
html.dd[data-theme="dark"] .modal-body { color-scheme: dark; }
html.dd[data-theme="dark"] .modal-body:has([data-user-id], #parent-search-input) :is([style*="background: white"], [style*="background: #fff"], [style*="#fffaf0"], [style*="background: #f7fafc"], [style*="background: #edf2f7"], [style*="background: #EDF2F7"], [style*="background: #e2e8f0"], [style*="background: #f0fff4"], [style*="background: #ebf8ff"], [style*="background: #faf5ff"]) { background: var(--dd-sunken) !important; border-color: var(--dd-line) !important; }
html.dd[data-theme="dark"] .modal-body:has([data-user-id]) [style*="linear-gradient(to bottom, #f8fafc"] { background: var(--dd-ground) !important; border-color: var(--dd-line) !important; }
html.dd[data-theme="dark"] .modal-body:has([data-user-id], #parent-search-input) :is([style*="color: #2d3748"], [style*="color: #2D3748"], [style*="color: #4a5568"], [style*="color: #4A5568"], [style*="color: #718096"], [style*="color: #475569"], [style*="color: #a0aec0"]) { color: var(--dd-ink) !important; }
html.dd[data-theme="dark"] .modal-body:has(#parent-search-input) label { color: var(--dd-ink); }

/* قاب ثابت در برابر استایل قدیمی چسبیده به هدر (display:flex، padding، margin) و ظرف‌های غیر table-container */
html.dd :is(.table-container, .enrollment-wrapper, .ledger-container) > .table-header .table-title { color: #fff !important; font-size: 1.5rem !important; font-weight: 900 !important; }
@media (min-width: 768px) {
    html.dd .table-container:has(> .table-header .table-title) { padding: 0 !important; }
    html.dd :is(.table-container, .enrollment-wrapper, .ledger-container) > .table-header:has(.table-title) { display: block !important; position: relative; margin: 0 !important; padding: 22px 26px 0 !important; background: transparent !important; border: 0 !important; }
    html.dd :has(> .enrollment-wrapper), html.dd :has(> .ledger-container) { padding: 0 !important; margin: 0 !important; }
    html.dd :is(.enrollment-wrapper, .ledger-container):has(> .table-header .table-title) { position: relative; box-sizing: border-box; max-width: none !important; min-height: 60vh; margin: 0 !important; padding: 0 0 22px !important; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); overflow: hidden; }
    html.dd :is(.enrollment-wrapper, .ledger-container) > .table-header:has(.table-title)::before { content: ''; position: absolute; inset: 0 0 auto 0; height: var(--dd-hero-h); background: var(--dd-hero); border-top: 3px solid var(--dd-brand); box-sizing: border-box; }
    html.dd .ledger-container > :not(.table-header) { margin-inline: 22px; }
    html.dd .ledger-container > .advanced-filter-box { margin-top: var(--dd-after-float); }
    /* انتخاب واحد: فیلتر شعبه و ترم خودِ نوار سفید است و دکمه‌های لیست سمت چپش می‌نشینند */
    html.dd .enrollment-wrapper > :not(.table-header):not(.filter-bar) { margin-inline: 22px; }
    html.dd .enrollment-wrapper > .table-header { box-sizing: border-box; height: calc(var(--dd-hero-h) + var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); }
    html.dd .enrollment-wrapper > .filter-bar { position: absolute; z-index: 2; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0 !important; padding: 14px 18px !important; align-items: center; flex-wrap: nowrap !important; background: var(--dd-surface) !important; border: 0 !important; border-radius: 18px !important; box-shadow: var(--dd-shadow) !important; }
    html.dd .enrollment-wrapper:has(#ce-page-actions:not(:empty)) > .filter-bar { padding-inline-end: 340px !important; }
    html.dd .enrollment-wrapper > .filter-bar .form-control { height: 40px; min-width: 0 !important; border-radius: 999px; border: 1px solid var(--dd-line); background-color: var(--dd-sunken); color: var(--dd-ink); padding-inline: 14px; }
    html.dd .enrollment-wrapper > .filter-bar .btn { height: 40px; border-radius: 999px; }
    html.dd .enrollment-wrapper .table-header .table-actions { position: absolute; z-index: 3; margin: 0 !important; inset-inline: auto var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); min-height: var(--dd-float-h); padding: 0 18px; background: transparent; box-shadow: none; pointer-events: none; }
    html.dd .enrollment-wrapper .table-header .table-actions > * { pointer-events: auto; }
    html.dd .enrollment-wrapper .table-header .table-actions:empty { display: none !important; }
}
html.dd[data-theme="dark"] .ledger-container { color: var(--dd-ink); }

/* تخصیص به کلاس: قاب ثابت؛ فیلترها یا دکمه‌ها در یک ردیف نوار سفید */
@media (min-width: 768px) {
    html.dd .enroll-container-box:has(> .enroll-header-banner) { position: relative; box-sizing: border-box; min-height: 60vh; margin: 0; padding: 0 0 22px; background: var(--dd-surface) !important; border: 1px solid var(--dd-line) !important; border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .enroll-header-banner { box-sizing: border-box; display: block; height: var(--dd-hero-h); margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; background: var(--dd-hero) !important; border: 0 !important; border-top: 3px solid var(--dd-brand) !important; border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .enroll-header-banner > div:first-child > div:first-child { display: none !important; }
    html.dd #app-enroll-title { color: #fff !important; font-size: 1.5rem !important; letter-spacing: 0 !important; }
    html.dd #app-enroll-subtitle, html.dd #app-enroll-subtitle span { color: var(--dd-hero-sub) !important; background: transparent; padding: 0; font-size: .9rem !important; margin-top: 4px; }
    html.dd .enr-filters, html.dd #app-enroll-actions:not(:empty) { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px; display: flex; flex-wrap: nowrap !important; align-items: center; gap: 8px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .enr-filters > div { flex: 1 1 240px !important; min-width: 0 !important; }
    html.dd .enr-filters input { box-sizing: border-box; height: 40px; border-radius: 999px !important; border: 1px solid var(--dd-line) !important; background: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .enr-filters select { flex: 1 1 150px; width: auto !important; min-width: 0 !important; height: 40px; border-radius: 999px !important; border: 1px solid var(--dd-line) !important; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd #app-enroll-actions > div { flex: 1; align-items: center; gap: 8px !important; min-width: 0; }
    html.dd #app-enroll-actions > div > .btn:first-child { margin-inline-end: auto; }
    html.dd .enr-bulk { display: flex; gap: 8px; }
    html.dd #app-enroll-actions .btn { height: 42px; padding: 0 14px; border-radius: var(--dd-r-xs); border: 1px solid var(--dd-line) !important; font-size: .84rem; font-weight: 700; white-space: nowrap; box-shadow: none; }
    html.dd #app-enroll-actions .btn-light { background: var(--dd-sunken); color: var(--dd-ink); }
    html.dd #app-enroll-actions .enr-bulk .btn-light { color: #dc2626; }
    html.dd #app-enroll-actions .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn) !important; color: var(--dd-on-brand); }
    html.dd #app-enroll-cards-view { padding: 0 22px; }
    html.dd #app-enroll-cards-view > hr { display: none; }
    html.dd #app-enroll-cards-view .stat-card { border: 1px solid var(--dd-line) !important; border-radius: 14px; box-shadow: none; padding: 12px 16px; min-height: 0; background: var(--dd-surface); }
    html.dd #app_enroll_cards_container { margin-top: 12px !important; gap: 12px !important; }
    html.dd #app-enroll-list-view { margin: 0 !important; padding: 0 22px; }
    html.dd #app-enroll-list-view .enroll-container-box { margin: 0; border: 0 !important; box-shadow: none; background: transparent !important; }
    html.dd .enroll-container-box:has(> #app_enroll_pagination) { margin: 8px 0 0; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none; }
}

/* کد صفحه‌ی تخصیص همه‌چیز را !important کرده؛ قاب ثابت باید بر آن غلبه کند */
@media (min-width: 768px) {
    html.dd .enroll-container-box:has(> .enroll-header-banner) { margin: 0 !important; padding: 0 0 22px !important; border-radius: var(--dd-r) !important; box-shadow: var(--dd-shadow-sm) !important; }
    html.dd .enroll-header-banner { display: block !important; margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)) !important; padding: 22px 26px !important; border-radius: var(--dd-r) var(--dd-r) 0 0 !important; box-shadow: none !important; }
    html.dd #app-enroll-list-view .enroll-container-box { margin: 0 !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
    html.dd .enroll-container-box:has(> #app_enroll_pagination) { margin: 8px 0 0 !important; padding: 0 !important; box-shadow: none !important; }
}

/* نشان وضعیت موفق در جدول سبز است، نه قرمز پیش‌فرض badge */
html.dd td .badge-success { background: rgba(16, 185, 129, .14); color: #059669; }
html.dd[data-theme="dark"] td .badge-success { color: #34d399; }

/* ارتقای سال: قاب ثابت؛ مبدأ و مقصد فشرده و لیست انتخاب خوانا */
.prom-count { display: none; }
@media (min-width: 768px) {
    html.dd .promotion-wrapper { position: relative; display: block; min-height: 60vh; padding-bottom: 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .promo-header { box-sizing: border-box; display: block; height: var(--dd-hero-h); margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; color: #fff !important; }
    html.dd .promo-header h2 { color: #fff !important; font-size: 1.5rem !important; font-weight: 900 !important; }
    html.dd .promo-header p { color: var(--dd-hero-sub) !important; opacity: 1 !important; margin-top: 4px !important; }
    html.dd .promo-header .header-icon-box { display: none; }
    html.dd .promo-box { margin: 0 22px 12px; padding: 0; background: transparent; border: 0; box-shadow: none; }
    html.dd .wizard-container { grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; margin: 0; }
    html.dd .wizard-step { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; padding: 12px 14px; background: var(--dd-sunken); border: 0; border-top: 0 !important; border-radius: 14px; box-shadow: none; }
    html.dd .wizard-step.source { box-shadow: inset 0 3px 0 #f59e0b; }
    html.dd .wizard-step.target { box-shadow: inset 0 3px 0 #10b981; }
    html.dd .wizard-step .step-title { grid-column: 1 / -1; margin: 0; font-size: .9rem; font-weight: 800; color: var(--dd-ink); }
    html.dd .wizard-step .step-title svg { width: 16px; height: 16px; }
    html.dd .wizard-step > div:not(.step-title) { margin: 0 !important; min-width: 0; }
    html.dd .wizard-step .form-label-sm { margin-bottom: 4px; font-size: .76rem; color: var(--dd-muted); }
    html.dd .promo-select { height: 40px; padding-block: 0; border-radius: 999px; border: 1px solid var(--dd-line); background-color: var(--dd-surface); color: var(--dd-ink); box-shadow: none; }
    html.dd .wizard-arrow { width: 36px; height: 36px; margin: 0; padding: 0; background: var(--dd-sunken); color: var(--dd-ink); box-shadow: none; }
    html.dd .action-area { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .action-area .btn { height: 42px; margin-inline-start: auto; padding: 0 16px !important; border-radius: var(--dd-r-xs); background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); box-shadow: none; }
    html.dd .action-area .btn svg { width: 16px; height: 16px; }
    html.dd .prom-count { display: block; font-size: .9rem; font-weight: 800; color: var(--dd-ink); }
    html.dd #prom-students-list { margin: 0 22px !important; }
    html.dd #prom-students-list .app-card { margin: 0; background: transparent; border: 1px solid var(--dd-line) !important; border-radius: 14px; box-shadow: none; }
    html.dd #prom-students-list .app-card > div:first-child { padding: 10px 14px !important; background: var(--dd-sunken) !important; }
    html.dd #prom-students-list h4 .badge { position: static; margin-inline-start: 6px; padding: 2px 10px; border-radius: 999px; background: var(--dd-brand-soft); color: var(--dd-brand-ink); }
    html.dd #prom-students-list tbody tr { cursor: pointer; }
    html.dd #prom-students-list tbody td { padding-block: 7px; vertical-align: middle; }
    html.dd #prom-students-list tbody tr:has(.prom-check:checked) td { background: var(--dd-brand-soft); }
    html.dd #prom-students-list tbody tr:has(.prom-check:not(:checked)) td { opacity: .5; }
    html.dd #prom-students-list input[type="checkbox"] { accent-color: var(--dd-brand-btn); }
}

/* عملکرد پرسنل: قاب ثابت، انتخاب روز، کارنامه */
@media (min-width: 768px) {
    html.dd .sp-page { position: relative; min-height: 60vh; padding-bottom: 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .sp-hero { box-sizing: border-box; height: var(--dd-hero-h); margin-bottom: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .sp-hero h2 { margin: 0; color: #fff; font-size: 1.5rem; font-weight: 900; }
    html.dd .sp-hero p { margin: 4px 0 0; color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .sp-float { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px; display: flex; align-items: center; gap: 8px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .sp-daynav { display: flex; align-items: center; gap: 8px; margin-inline-end: auto; }
    html.dd .sp-weekday { min-width: 76px; text-align: center; font-size: .9rem; font-weight: 800; color: var(--dd-ink); }
    html.dd .sp-float .btn { height: 42px; padding: 0 14px; background: var(--dd-sunken); border: 1px solid var(--dd-line); border-radius: var(--dd-r-xs); color: var(--dd-ink); font-size: .84rem; font-weight: 700; white-space: nowrap; }
    html.dd .sp-float .btn svg { width: 16px; height: 16px; }
    html.dd .sp-float input, html.dd .sp-float select, html.dd .sp-filters input, html.dd .sp-filters select { box-sizing: border-box; height: 40px; padding: 0 14px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); font: inherit; font-size: .86rem; }
    html.dd .sp-float input { width: 130px; text-align: center; font-weight: 700; }
    html.dd .sp-float select { width: 170px; }
    html.dd .sp-filters { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 8px; margin: 0 22px 12px; }
    html.dd .sp-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 0 22px 12px; }
    html.dd .sp-kpi { display: flex; align-items: center; gap: 10px; padding: 10px 16px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: 14px; color: var(--dd-ink); font: inherit; cursor: pointer; }
    html.dd .sp-kpi b { font-size: 1.4rem; font-weight: 900; }
    html.dd .sp-kpi span { font-size: .8rem; color: var(--dd-muted); }
    html.dd .sp-kpi.on { border-color: var(--dd-brand); background: var(--dd-brand-soft); }
    html.dd .sp-page .staff-game-grid { gap: 10px; margin: 0 22px 12px; }
    html.dd .sp-page .staff-game-card { padding: 10px 16px; background: var(--dd-sunken); border: 0; border-radius: 14px; box-shadow: none; }
    html.dd .sp-page .staff-game-info h4 { margin: 0; font-size: .9rem; color: var(--dd-ink); }
    html.dd .sp-page .staff-game-info p, html.dd .sp-page .staff-game-stat .lbl { margin: 0; font-size: .76rem; color: var(--dd-muted); }
    html.dd .sp-page .staff-game-stat .num { font-size: 1.1rem; font-weight: 900; color: var(--dd-ink); }
    html.dd .sp-table { margin: 0 22px; }
    html.dd .sp-table .staff-table { width: 100%; }
    html.dd .sp-table td { padding-block: 8px; vertical-align: middle; color: var(--dd-ink); border-color: var(--dd-line); }
    html.dd .sp-table th { color: var(--dd-muted); border-color: var(--dd-line); background: transparent; }
    html.dd .sp-table tr.is-absent td { background: rgba(239, 68, 68, .07); }
    html.dd .sp-person { display: flex; align-items: center; gap: 10px; }
    html.dd .sp-person img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
    html.dd .sp-person small { display: block; font-size: .74rem; color: var(--dd-muted); }
    html.dd .sp-role { padding: 2px 10px; border-radius: 999px; background: var(--dd-sunken); font-size: .76rem; font-weight: 700; }
    html.dd .sp-ltr { direction: ltr; text-align: right; font-size: .78rem; }
    html.dd .sp-table .staff-att-btn { background: var(--dd-surface); border-color: var(--dd-line); color: var(--dd-ink); }
    html.dd .sp-table .staff-att-btn svg { width: 15px; height: 15px; }
    html.dd .sp-open { background: var(--dd-sunken); color: var(--dd-ink); border: 1px solid var(--dd-line); border-radius: 10px; }
}
html.dd .sp-empty { padding: 28px; text-align: center; color: var(--dd-muted); }
html.dd .sp-rep { display: grid; gap: 16px; color: var(--dd-ink); }
html.dd .sp-rep section { display: grid; gap: 8px; align-content: start; }
html.dd .sp-rep h5 { margin: 0; font-size: .92rem; font-weight: 800; color: var(--dd-ink); }
html.dd .sp-rep-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
html.dd .sp-rep-head h4 { margin: 0; font-size: 1.1rem; font-weight: 900; color: var(--dd-ink); }
html.dd .sp-rep-head p { margin: 2px 0 0; font-size: .8rem; color: var(--dd-muted); }
html.dd .sp-ranges, html.dd .sp-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
html.dd .sp-ranges button, html.dd .sp-chips button { height: 34px; padding: 0 12px; border: 1px solid var(--dd-line); border-radius: 999px; background: var(--dd-sunken); color: var(--dd-ink); font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; }
html.dd .sp-ranges button.on, html.dd .sp-chips button.on { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd .sp-ranges input { box-sizing: border-box; width: 104px; height: 34px; padding: 0 10px; border: 1px solid var(--dd-line); border-radius: 999px; background: var(--dd-sunken); color: var(--dd-ink); font: inherit; font-size: .78rem; text-align: center; }
html.dd .sp-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
html.dd .sp-tiles div { padding: 10px 14px; background: var(--dd-sunken); border-radius: 12px; }
html.dd .sp-tiles b { display: block; font-size: 1.3rem; font-weight: 900; }
html.dd .sp-tiles span { font-size: .76rem; color: var(--dd-muted); }
html.dd .sp-chart { position: relative; height: 240px; }
html.dd .sp-two { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
html.dd .sp-cal { display: flex; flex-wrap: wrap; gap: 3px; }
html.dd .sp-cal span, html.dd .sp-cal-key span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 5px; background: var(--dd-sunken); font-size: .68rem; font-weight: 800; color: #fff; }
html.dd .sp-cal .present, html.dd .sp-cal-key .present { background: #1baf7a; }
html.dd .sp-cal .late, html.dd .sp-cal-key .late { background: #c98500; }
html.dd .sp-cal .absent, html.dd .sp-cal-key .absent { background: #e34948; }
html.dd .sp-cal-key { display: flex; align-items: center; gap: 5px; font-size: .74rem; color: var(--dd-muted); }
html.dd .sp-bar { display: grid; grid-template-columns: 100px 1fr 40px; align-items: center; gap: 8px; font-size: .8rem; }
html.dd .sp-bar i { height: 8px; border-radius: 4px; background: var(--dd-sunken); overflow: hidden; }
html.dd .sp-bar u { display: block; height: 100%; border-radius: 4px; background: var(--dd-brand-btn); }
html.dd .sp-bar b { text-align: end; }
html.dd .sp-log-day { padding: 8px 0 2px; font-size: .78rem; font-weight: 800; color: var(--dd-muted); }
html.dd .sp-log { display: grid; grid-template-columns: 48px minmax(120px, auto) minmax(0, 1fr); gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--dd-line); font-size: .82rem; }
html.dd .sp-log time { color: var(--dd-muted); }
html.dd .sp-log b { font-weight: 700; }
html.dd .sp-log span { color: var(--dd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.dd .sp-pager { display: flex; justify-content: center; align-items: center; gap: 10px; padding-top: 8px; font-size: .8rem; }
html.dd .sp-table .staff-att-btn.active { color: #fff; }
html.dd .sp-table .staff-att-btn.active.present { background: #059669; border-color: #059669; }
html.dd .sp-table .staff-att-btn.active.late { background: #d97706; border-color: #d97706; }
html.dd .sp-table .staff-att-btn.active.absent { background: #dc2626; border-color: #dc2626; }

/* انتخاب روز: یک گروه یکپارچه در چپ؛ ترم مثل بقیه‌ی فیلترها در راست */
@media (min-width: 768px) {
    html.dd .sp-float select { order: -1; margin-inline-end: auto; }
    html.dd .sp-daynav { margin: 0; gap: 2px; padding: 3px; background: var(--dd-sunken); border-radius: 999px; }
    html.dd .sp-daynav .btn { height: 36px; padding: 0 12px; background: transparent; border: 0; border-radius: 999px; }
    html.dd .sp-daynav .btn:hover:not(:disabled) { background: var(--dd-surface); }
    html.dd .sp-daynav .btn:disabled { opacity: .4; }
    html.dd .sp-weekday { min-width: 0; padding-inline-start: 6px; }
    html.dd .sp-daynav input { width: 112px; height: 36px; padding: 0 8px; background: var(--dd-surface); border: 0; }
    html.dd .sp-float > .btn { border-radius: 999px; height: 42px; }
}

/* تقویم اجرایی: زیرعنوان، فلش ماه، ستون‌های برابر و حالت تیره */
html.dd .table-header:has(.table-title) small { display: block; margin-top: 4px; color: var(--dd-hero-sub) !important; font-size: .9rem; }
html.dd .planner-container .calendar-week-header, html.dd .planner-container .calendar-cells-grid { grid-template-columns: repeat(7, minmax(0, 1fr)); }
html.dd .planner-container .calendar-week-header { background: var(--dd-sunken); color: var(--dd-muted); border-radius: 12px; }
html.dd .planner-container .calendar-day-cell { box-sizing: border-box; min-width: 0; height: 125px; min-height: 0; background: var(--dd-surface); border-color: var(--dd-line); border-radius: 12px; }
html.dd .planner-container .calendar-day-cell.empty-day-cell { background: transparent; border-style: dashed; opacity: .6; }
html.dd .planner-container .calendar-day-cell:not(.empty-day-cell):hover { border-color: var(--dd-brand); box-shadow: var(--dd-shadow-sm); }
html.dd .planner-container .calendar-day-cell.today-cell { background: var(--dd-brand-soft) !important; border: 2px solid var(--dd-brand) !important; box-shadow: none !important; }
html.dd .planner-container .day-number { color: var(--dd-ink); }
html.dd .planner-container .today-badge { background: var(--dd-brand-btn); color: var(--dd-on-brand); border-radius: 999px; }
html.dd .planner-container .task-count-badge { background: var(--dd-sunken); color: var(--dd-muted); }
html.dd .planner-container .day-tasks-list { min-height: 0; flex: 1; }
html.dd .planner-container .task-badge-item { display: block; flex: none; min-width: 0; line-height: 1.5; }
html.dd .table-actions .btn-outline-primary { background: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); }
html.dd .table-actions .filter-bar:has(#current-month-label) > div:first-child { flex: none; gap: 2px !important; padding: 3px !important; background: var(--dd-sunken) !important; border: 0 !important; border-radius: 999px !important; }
html.dd #current-month-label { color: var(--dd-ink); }
html.dd .table-actions .filter-bar .btn.btn-icon { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px !important; height: 36px !important; padding: 0 !important; background: var(--dd-surface); border: 0; border-radius: 50%; color: var(--dd-ink); }
html.dd .table-actions .filter-bar:has(#current-month-label) > .btn.btn-icon { width: 40px !important; height: 40px !important; background: var(--dd-sunken); border: 1px solid var(--dd-line); }
html.dd .table-actions .filter-bar .btn.btn-icon svg { width: 16px; height: 16px; }
html.dd .table-actions .filter-bar:has(#current-month-label) > select { flex: 0 1 200px; height: 40px !important; border-radius: 999px; background-color: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); }
html.dd .table-actions .filter-bar:has(#current-month-label) #planner-search { height: 40px !important; border-radius: 999px; background: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); }
@media (min-width: 768px) { html.dd .table-actions:has(#current-month-label) { flex-wrap: nowrap; } html.dd .table-actions .filter-bar:has(#current-month-label) { flex-wrap: nowrap !important; min-width: 0; } html.dd .table-actions:has(#current-month-label) > .btn { flex: none; } }

/* تیره: رنگ‌های ثابت قدیمی داخل مودال‌ها (پس‌زمینه‌ی روشن و متن تیره) */
html.dd[data-theme="dark"] .modal-body [style*="background: #f8fafc"], html.dd[data-theme="dark"] .modal-body [style*="background:#f8fafc"], html.dd[data-theme="dark"] .modal-body [style*="background: #f1f5f9"], html.dd[data-theme="dark"] .modal-body [style*="background:#f1f5f9"], html.dd[data-theme="dark"] .modal-body [style*="background: #f7fafc"] { background: var(--dd-sunken) !important; border-color: var(--dd-line) !important; color: var(--dd-ink); }
html.dd[data-theme="dark"] .modal-body [style*="color: #475569"], html.dd[data-theme="dark"] .modal-body [style*="color:#475569"], html.dd[data-theme="dark"] .modal-body [style*="color: #334155"], html.dd[data-theme="dark"] .modal-body [style*="color:#334155"], html.dd[data-theme="dark"] .modal-body [style*="color: #64748b"], html.dd[data-theme="dark"] .modal-body [style*="color:#64748b"] { color: var(--dd-muted) !important; }
html.dd[data-theme="dark"] .modal-footer .btn-secondary, html.dd[data-theme="dark"] .modal-footer .btn-warning, html.dd[data-theme="dark"] .modal-footer .btn-light { background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }

/* فیلترهای داخل نوار سفید: استایل چسبیده‌ی قدیمی (کادر، فاصله، برچسب) خنثی و هم‌اندازه */
html.dd .table-actions .filter-bar { margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; align-items: center !important; gap: 8px !important; }
html.dd .table-actions .filter-bar .form-group > label { display: none !important; }
html.dd .table-actions .filter-bar .form-group .form-control { box-sizing: border-box; width: 100% !important; min-width: 0 !important; height: 40px !important; }
@media (min-width: 768px) { html.dd .table-actions:has(#salary-filter-year), html.dd .table-actions .filter-bar:has(#salary-filter-year) { flex-wrap: nowrap; min-width: 0; } html.dd .table-actions:has(#salary-filter-year) > .btn { flex: none; } }
html.dd .table-actions .filter-bar .form-group:has(#salary-filter-year), html.dd .table-actions .filter-bar .form-group:has(#salary-filter-month) { position: relative; flex: 0 0 104px; }
html.dd .form-group:has(#salary-filter-year)::before, html.dd .form-group:has(#salary-filter-month)::before { position: absolute; inset-inline-start: 14px; top: 50%; transform: translateY(-50%); font-size: .76rem; color: var(--dd-muted); pointer-events: none; }
html.dd .form-group:has(#salary-filter-year)::before { content: 'سال'; }
html.dd .form-group:has(#salary-filter-month)::before { content: 'ماه'; }
html.dd #salary-filter-year, html.dd #salary-filter-month { padding-inline: 40px 8px; text-align: end; }

/* حساب‌های قفل‌شده: همان قاب برنامه ویژه */
@media (min-width: 768px) {
    html.dd .la { display: block; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); min-height: 60vh; padding-bottom: 22px; }
    html.dd .la > .la-hero.dk-panel { position: relative; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .la-hero .dk-head { position: static; margin: 0; padding: 0; background: transparent; border: 0; }
    html.dd .la-hero .dk-head h2 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .la-hero .dk-head p { color: var(--dd-hero-sub); font-size: .9rem; margin: 4px 0 0; }
    html.dd .la-hero .dk-head-actions { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 14px 18px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .la > :not(.la-hero) { margin-inline: 22px; }
    html.dd .la > .la-intro.dk-panel { padding: 12px 16px; margin-bottom: 12px; background: var(--dd-sunken); border: 0; border-radius: 14px; box-shadow: none; font-size: .84rem; line-height: 1.9; }
    html.dd .la > .la-box.dk-panel { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
}

/* مرکز مشاوره: هدر هم‌خانواده‌ی بقیه و کارت‌های سوار روی لبه‌ی آن (فقط صفحه‌های شاخص‌دار) */
@media (min-width: 768px) {
    html.dd .cc:has(> .cc-h + .cc-caps), html.dd .cm:has(> .cm-h) { position: relative; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .cc > .cc-h:has(+ .cc-caps), html.dd .cm > .cm-h { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 -22px; padding: 22px 26px; align-items: flex-start; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .cc > .cc-h:has(+ .cc-caps) :is(h1, h2), html.dd .cm > .cm-h h1 { margin: 0; color: #fff; font-size: 1.5rem; font-weight: 900; }
    html.dd .cc > .cc-h:has(+ .cc-caps) :is(.cc-date, .cc-muted), html.dd .cm > .cm-h .cm-muted { color: var(--dd-hero-sub) !important; }
    html.dd .cm > .cm-h a { color: #fff !important; text-decoration: none; }
    html.dd .cc > .cc-caps { position: relative; z-index: 1; margin: calc(-1 * var(--dd-lift) - 18px) calc(var(--dd-inset) - 22px) 0; }
    html.dd .cc > .cc-caps .cc-cap { min-height: 104px; background: var(--dd-surface); box-shadow: var(--dd-shadow); }
    html.dd .cm > .cm-h + * { position: relative; z-index: 1; margin: calc(-1 * var(--dd-lift) - 18px) calc(var(--dd-inset) - 22px) 0; }
    /* گزارش ماهانه: کارت کلاس‌ها تمام عرض را پر می‌کنند */
    html.dd .cm-grid { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
    html.dd .cm > .cm-h + .cm-grid .cm-cls { background: var(--dd-surface); box-shadow: var(--dd-shadow); }
    /* دیدبان: مشاوران یک ردیف چندستونی زیر شاخص‌ها؛ دانش‌آموزان در خطر دو ستونی و فشرده */
    html.dd .cw-split { grid-template-columns: minmax(0, 1fr); }
    html.dd .cw-split > .cw-panel:last-child { order: -1; }
    html.dd #cc-wt-team { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 8px; }
    html.dd #cc-wt-team .cw-row { margin: 0; }
    html.dd #cc-wt-team .cw-pbar { width: 64px; }
    html.dd #cc-wt-risk { display: grid; grid-template-columns: repeat(auto-fill, minmax(460px, 1fr)); gap: 8px; }
    html.dd #cc-wt-risk .cc-wt-row { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin: 0; padding: 10px 12px; }
    html.dd #cc-wt-risk .cc-wt-why { flex-wrap: nowrap; overflow: hidden; }
    html.dd #cc-wt-risk .cc-wt-why span { white-space: nowrap; }
    html.dd #cc-wt-risk .cc-wt-side { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
}

/* کارت‌های شیشه‌ای گزارش ماهانه روی لبه‌ی هدر دو رنگ می‌شدند؛ زمینه‌ی کامل می‌گیرند */
html.dd .cm .cm-card { background: var(--dd-surface); backdrop-filter: none; -webkit-backdrop-filter: none; }
html.dd .cm > .cm-h + * .cm-card { box-shadow: var(--dd-shadow); }
html.dd .cr-h a { color: var(--dd-brand-ink); }

/* کارت‌های تشویقی: همان هدر مرکز مشاوره با شاخص‌های سوار روی لبه */
@media (min-width: 768px) {
    html.dd .rw:has(> .rw-h + .rw-caps) { position: relative; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .rw > .rw-h { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 -22px; padding: 22px 26px; align-items: flex-start; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .rw > .rw-h h2 { color: #fff; font-size: 1.5rem; font-weight: 900; letter-spacing: 0; }
    html.dd .rw > .rw-h .rw-muted { margin-top: 4px; color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .rw > .rw-caps { position: relative; z-index: 1; margin: calc(-1 * var(--dd-lift) - 18px) calc(var(--dd-inset) - 22px) 0; }
    html.dd .rw > .rw-caps .rw-cap { min-height: 104px; background: var(--dd-surface); box-shadow: var(--dd-shadow); }
}
html.dd .rw .rw-card { background: var(--dd-surface); backdrop-filter: none; -webkit-backdrop-filter: none; }

/* سلامت و بهداشت: هدر و نوار ثابت در هر چهار تب */
@media (min-width: 768px) {
    html.dd .hc:has(> .hc-top) { position: relative; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); min-height: 60vh; }
    html.dd .hc > .hc-top { box-sizing: border-box; display: block; height: var(--dd-hero-h); margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float) - 18px); padding: 22px 26px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .hc > .hc-top > div:first-child { display: flex; flex-direction: column-reverse; gap: 4px; }
    html.dd .hc > .hc-top h1 { color: #fff; font-size: 1.5rem; font-weight: 900; }
    html.dd .hc > .hc-top .hc-sub { color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .hc > .hc-top > .hc-act { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px; flex-wrap: nowrap; justify-content: flex-end; gap: 8px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .hc > .hc-top .hc-nav { margin-inline-end: auto; flex-wrap: nowrap; }
    html.dd .hc > .hc-top .hc-nav .hc-chip { height: 40px; background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); white-space: nowrap; }
    html.dd .hc > .hc-top .hc-nav .hc-chip svg { width: 15px; height: 15px; }
    html.dd .hc > .hc-top .hc-nav .hc-chip[aria-pressed="true"] { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .hc > .hc-top .hc-btn { height: 42px; border-radius: var(--dd-r-xs); white-space: nowrap; }
    html.dd .hc > .hc-top .hc-search, html.dd .hc > .hc-top .hc-date { height: 40px; min-width: 0; border-radius: 999px; background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
    html.dd .hc > .hc-top .hc-search { width: 260px; }
    html.dd .hc .hc-chip[aria-pressed="true"] { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .hc .hc-btn.pri { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .hc .hc-legend { background: var(--dd-sunken); border: 0; }
    html.dd .hc .hc-cap, html.dd .hc .hc-card, html.dd .hc .hc-box, html.dd .hc .hc-tbl { border-radius: 16px; box-shadow: none; }
    html.dd .hc .hc-cap { padding: 12px 16px; }
}
@media (min-width: 768px) {
    html.dd .hc [data-act="r-print"], html.dd .hc [data-act="r-xls"] { position: absolute; z-index: 2; top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px + (var(--dd-float-h) - 40px) / 2); height: 40px; }
    html.dd .hc [data-act="r-xls"] { inset-inline-end: calc(var(--dd-inset) + 18px); }
    html.dd .hc [data-act="r-print"] { inset-inline-end: calc(var(--dd-inset) + 112px); }
}
/* داخل کارت سفید صفحه، کارت‌ها زمینه‌ی خودشان را دارند تا گم نشوند */
@media (min-width: 768px) {
    html.dd .hc .hc-card { background: var(--dd-sunken); border-color: transparent; }
    html.dd .hc .hc-box { background: var(--dd-surface); border-color: var(--dd-line); }
    html.dd .hc .hc-card.alert { border-color: #F0B3BF; }
    html.dd .hc .hc-card:hover { border-color: var(--dd-brand); }
}

/* مشاوره‌ی فردی: هدر زیر شاخص‌ها جا مانده بود؛ همان قاب مرکز مشاوره */
@media (min-width: 768px) {
    html.dd .cc:has(> .cc-top + .cc-caps) { position: relative; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .cc > .cc-top { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 -22px; padding: 22px 26px; align-items: flex-start; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .cc > .cc-top > div:first-child { display: flex; flex-direction: column-reverse; gap: 4px; }
    html.dd .cc > .cc-top h1 { color: #fff; font-size: 1.5rem; font-weight: 900; }
    html.dd .cc > .cc-top .cc-sub { color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .cc:has(> .cc-top + .cc-caps) > .cc-caps { margin-top: calc(-1 * var(--dd-lift) - 16px); }
}

/* سرویس مدارس: تب‌ها در نوار سفید (دکمه‌های هر تب را JS عوض می‌کند، پس تب‌ها جابه‌جا نمی‌شوند) */
@media (min-width: 768px) {
    html.dd .table-container:has(#admin-top-actions) > .delvin-tabs-nav { position: absolute; z-index: 3; inset-inline-start: calc(var(--dd-inset) + 18px); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); min-height: var(--dd-float-h); margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 6px !important; border: 0 !important; overflow: visible !important; }
    html.dd .delvin-tabs-nav .tab-btn { height: 40px; padding: 0 14px; border: 0; border-radius: 999px !important; background: var(--dd-sunken); color: var(--dd-ink); font-size: .82rem; white-space: nowrap; }
    html.dd .delvin-tabs-nav .tab-btn:hover { background: var(--dd-sunken); color: var(--dd-brand-ink); }
    html.dd .delvin-tabs-nav .tab-btn.active { background: var(--dd-brand-btn); border: 0; color: var(--dd-on-brand); }
    html.dd .delvin-tabs-nav .tab-btn svg { width: 15px; height: 15px; }
    html.dd #admin-top-actions { padding-inline-start: 680px; flex-wrap: nowrap; }
    html.dd #transport-tab-content { padding: var(--dd-after-float) 22px 22px; }
}
html.dd #transport-tab-content .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd #transport-tab-content select { height: 40px; padding-inline: 14px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); }
/* قانون «اولین فرزند بعد از هدر بی‌گوشه» تب اول را هم صاف می‌کرد */
html.dd .table-container > .table-header:has(.table-title) ~ div.delvin-tabs-nav > .tab-btn:first-child { border-radius: 999px !important; }

/* کارتابل چک‌ها: قاب ثابت؛ تب‌ها راست و دکمه‌ها چپِ نوار سفید */
@media (min-width: 768px) {
    html.dd .tr-page { position: relative; min-height: 60vh; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .tr-page .treasury-header { box-sizing: border-box; display: block; height: var(--dd-hero-h); margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .tr-page .treasury-header h1 { font-size: 1.5rem !important; font-weight: 900 !important; color: #fff; }
    html.dd .tr-page .treasury-header p { margin-top: 4px !important; color: var(--dd-hero-sub); opacity: 1 !important; font-size: .9rem; }
    html.dd .tr-float { position: absolute; z-index: 3; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 10px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .tr-float .custom-tabs { margin: 0; padding: 0; border: 0; gap: 6px; overflow: visible; }
    html.dd .tr-float .tab-btn { height: 40px; padding: 0 14px; border: 0; border-radius: 999px; background: var(--dd-sunken); color: var(--dd-ink) !important; font-size: .84rem; font-weight: 700; box-shadow: none; }
    html.dd .tr-float .tab-btn svg { width: 16px; height: 16px; }
    html.dd .tr-float .tab-btn.active, html.dd .tr-float .tab-btn.active.tab-outgoing, html.dd .tr-float .tab-btn.active.tab-archive { background: var(--dd-brand-btn); color: var(--dd-on-brand) !important; box-shadow: none; }
    html.dd .tr-float > div:last-child { display: flex; align-items: center; gap: 8px; }
    html.dd .tr-float .btn { height: 42px; padding: 0 14px; background: var(--dd-sunken); border: 1px solid var(--dd-line); border-radius: var(--dd-r-xs); color: var(--dd-ink) !important; font-size: .84rem; font-weight: 700; white-space: nowrap; }
    html.dd .tr-float .btn svg { width: 16px; height: 16px; }
    html.dd .tr-page .stat-grid { gap: 10px; margin: 0 0 14px; padding: 0; }
    html.dd .tr-page .stat-card-glass { padding: 12px 16px; gap: 2px; border-radius: 14px; box-shadow: none; transform: none; }
    html.dd .tr-page .main-grid { gap: 14px !important; margin-top: 0 !important; }
    html.dd .tr-page .filter-box { padding: 0; margin-bottom: 12px; background: transparent !important; border: 0 !important; }
    html.dd .tr-page .filter-box label { margin-bottom: 3px; font-size: .74rem; color: var(--dd-muted); }
    html.dd .tr-page .filter-box .form-control { box-sizing: border-box; height: 40px; border: 1px solid var(--dd-line) !important; border-radius: 999px; background-color: var(--dd-sunken) !important; color: var(--dd-ink) !important; padding-inline: 14px; }
    html.dd .tr-page .filter-box .btn { height: 40px; border-radius: 999px; background: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); }
    html.dd .tr-page .alert-card-warning { border-radius: 14px; overflow: hidden; }
}
@media (min-width: 768px) {
    html.dd .tr-page .filter-box { grid-template-columns: repeat(5, minmax(0, 1fr)) 44px; }
    html.dd .tr-page .filter-box > * { min-width: 0; }
    html.dd .tr-page .filter-box .form-control { width: 100%; min-width: 0 !important; }
    html.dd .tr-page .filter-box .btn { width: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
    html.dd .tr-page .filter-box .btn svg { width: 16px; height: 16px; }
}
@media (min-width: 768px) {
    html.dd .tr-page > .alert-card-warning.is-empty { display: none; }
    html.dd .tr-page > .alert-card-warning { margin: 0 0 14px !important; background: rgba(245, 158, 11, .1); border: 1px solid rgba(245, 158, 11, .35); border-radius: 14px; }
    html.dd .tr-page > .alert-card-warning .card-body { display: flex; align-items: center; gap: 14px; padding: 8px 14px !important; background: transparent; }
    html.dd .tr-page > .alert-card-warning h5 { margin: 0 !important; white-space: nowrap; color: var(--dd-ink); }
    html.dd .tr-page > .alert-card-warning #due-tomorrow-list { display: flex; flex: 1; align-items: center; justify-content: space-between; gap: 12px; }
    html.dd .tr-page > .alert-card-warning #due-tomorrow-list small { display: none; }
    html.dd .tr-page > .alert-card-warning #due-tomorrow-list span { font-size: 1.1rem !important; }
    html.dd .tr-page > .alert-card-warning .btn { width: auto !important; margin: 0 !important; flex: none; }
}

/* تراکنش‌ها: قاب ثابت؛ فیلترها خودِ نوار سفیدند و دکمه‌ها سمت چپش */
@media (min-width: 768px) {
    html.dd .transactions-module { position: relative; box-sizing: border-box; min-height: 60vh; margin: 0 !important; padding: 0 0 22px !important; background: var(--dd-surface) !important; border: 1px solid var(--dd-line) !important; border-radius: var(--dd-r) !important; box-shadow: var(--dd-shadow-sm) !important; }
    html.dd .transactions-module > .module-header { box-sizing: border-box; display: block !important; height: var(--dd-hero-h); margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)) !important; padding: 22px 26px !important; background: var(--dd-hero); border: 0 !important; border-top: 3px solid var(--dd-brand) !important; border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .transactions-module .title-section h2 { color: #fff !important; font-size: 1.5rem !important; font-weight: 900 !important; }
    html.dd .transactions-module .title-section h2 svg { display: none; }
    html.dd .transactions-module .title-section::after { content: 'ثبت و پیگیری واریز، برداشت و انتقال‌های صندوق و بانک'; display: block; margin-top: 4px; color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .transactions-module > .filters-bar { position: absolute; z-index: 2; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0 !important; padding: 14px 18px 14px 340px !important; display: flex; align-items: center; flex-wrap: nowrap !important; gap: 8px !important; background: var(--dd-surface) !important; border: 0 !important; border-radius: 18px !important; box-shadow: var(--dd-shadow) !important; }
    html.dd .transactions-module > .filters-bar > * { min-width: 0 !important; }
    html.dd .transactions-module > .filters-bar input, html.dd .transactions-module > .filters-bar select { box-sizing: border-box; width: 100%; height: 40px !important; padding-inline: 14px !important; border: 1px solid var(--dd-line) !important; border-radius: 999px !important; background-color: var(--dd-sunken) !important; color: var(--dd-ink) !important; }
    html.dd .transactions-module .action-buttons { position: absolute; z-index: 3; inset-inline-end: calc(var(--dd-inset) + 18px); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); min-height: var(--dd-float-h); align-items: center; }
    html.dd .transactions-module .action-buttons .btn { height: 42px !important; padding: 0 14px; border-radius: var(--dd-r-xs); font-size: .84rem; font-weight: 700; white-space: nowrap; box-shadow: none; }
    html.dd .transactions-module .action-buttons .btn-outline { background: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); }
    html.dd .transactions-module .action-buttons .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .transactions-module .action-buttons .btn svg { width: 16px; height: 16px; }
    html.dd .transactions-module > .table-container { margin: 0 22px !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
}

/* درآمد و هزینه: قاب ثابت */
@media (min-width: 768px) {
    html.dd .fn-page { position: relative; min-height: 60vh; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .fn-hero { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .fn-hero h2 { color: #fff; font-size: 1.5rem !important; font-weight: 900 !important; }
    html.dd .fn-hero p { color: var(--dd-hero-sub) !important; font-size: .9rem !important; }
    html.dd .fn-float { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 8px; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .fn-float > div { margin: 0 !important; }
    html.dd .fn-float > div:last-child { margin-inline-start: auto !important; }
    html.dd .fn-float .btn { height: 42px; padding: 0 14px; border: 1px solid var(--dd-line); border-radius: var(--dd-r-xs) !important; background: var(--dd-sunken); color: var(--dd-ink); font-size: .84rem; font-weight: 700; white-space: nowrap; box-shadow: none; }
    html.dd .fn-float .btn svg { width: 16px; height: 16px; }
    html.dd .fn-float > div:last-child .btn-primary, html.dd .fn-float > div:first-child:not(:last-child) .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .fn-page :is(.income-header-card, .financial-header-card) { padding: 0 !important; margin: 0 0 14px !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
    html.dd .fn-page .form-grid { gap: 8px !important; }
    html.dd .fn-page .form-grid .form-group { margin: 0; min-width: 0; }
    html.dd .fn-page .form-grid label { margin-bottom: 3px; font-size: .74rem; color: var(--dd-muted); }
    html.dd .fn-page .form-grid .form-control { box-sizing: border-box; height: 40px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); }
}

/* اسناد حسابداری: فیلترها زیاد و برچسب‌دارند؛ زیر نوار سفید در یک شبکه می‌مانند */
html.dd .table-container > .advanced-filters { margin: var(--dd-after-float, 16px) 22px 10px !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; display: grid !important; grid-template-columns: minmax(0, 2fr) repeat(6, minmax(0, 1fr)) 44px !important; gap: 8px; align-items: end; }
html.dd .table-container > .advanced-filters .filter-row { display: contents !important; }
html.dd .table-container > .advanced-filters .form-group { flex: none !important; width: auto !important; margin: 0 !important; min-width: 0 !important; }
html.dd .table-container > .advanced-filters label { margin-bottom: 3px !important; font-size: .74rem !important; font-weight: 600 !important; color: var(--dd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html.dd .table-container > .advanced-filters .form-control { box-sizing: border-box; width: 100%; height: 40px !important; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); font-size: .84rem; }
html.dd .table-container > .advanced-filters .btn { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
@media (max-width: 1280px) { html.dd .table-container > .advanced-filters { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }

/* دفتر کل: فیلترها یک شبکه‌ی گرد و هم‌ارتفاع زیر نوار، بی‌کادر اضافه */
html.dd .ledger-container > .advanced-filter-box { padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 2fr) repeat(3, minmax(0, 1fr)) minmax(0, 1fr) 44px; gap: 8px; align-items: end; }
html.dd .ledger-container > .advanced-filter-box .filter-row { display: contents !important; }
html.dd .ledger-container > .advanced-filter-box .form-group { flex: none !important; margin: 0 !important; min-width: 0 !important; }
html.dd .ledger-container > .advanced-filter-box label { margin-bottom: 3px !important; font-size: .74rem !important; color: var(--dd-muted); white-space: nowrap; }
html.dd .ledger-container > .advanced-filter-box .form-control { box-sizing: border-box; width: 100%; height: 40px !important; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); font-size: .84rem; }
html.dd .ledger-container > .advanced-filter-box > .btn, html.dd .ledger-container > .advanced-filter-box .filter-row > .btn { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
html.dd .ledger-container > .advanced-filter-box .form-group .btn { width: 40px; height: 40px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
html.dd .ledger-container > .advanced-filter-box .quick-filters { grid-column: 1 / -1; margin: 4px 0 0; padding: 0; border: 0; }
@media (max-width: 1280px) { html.dd .ledger-container > .advanced-filter-box { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* گزارشات مالی: تب‌ها در نوار سفید، دوره و ترم در ردیف زیر آن، گزارش در یک کارت */
html.dd .reports-container { --rep-card-bg: var(--dd-surface); --rep-bg: var(--dd-sunken); --rep-border: var(--dd-line); --rep-text: var(--dd-ink); --rep-text-muted: var(--dd-muted); --rep-hover: var(--dd-sunken); --tbl-head-bg: var(--dd-sunken); --primary: var(--dd-brand-btn); }
html.dd .reports-container .kpi-icon { inset-inline: auto 1rem; }
@media (min-width: 768px) {
    html.dd .reports-container { position: relative; display: block; min-height: 60vh; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .reports-header-box { box-sizing: border-box; display: block; height: var(--dd-hero-h); margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float) + 56px); padding: 22px 26px; background: var(--dd-hero); border: 0; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .reports-header-box .header-info h2 { color: #fff; font-size: 1.5rem; font-weight: 900; margin: 0; }
    html.dd .reports-header-box .header-info span { display: block; margin-top: 4px; color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .reports-container .nav-tabs-wrapper { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; overflow-x: auto; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .reports-container .nav-tab { height: 40px; padding: 0 14px; display: inline-flex; align-items: center; gap: 6px; flex: none; background: var(--dd-sunken); border: 0; border-radius: 999px; color: var(--dd-ink); font-size: .82rem; font-weight: 700; white-space: nowrap; }
    html.dd .reports-container .nav-tab svg { width: 15px; height: 15px; }
    html.dd .reports-container .nav-tab.active { background: var(--dd-brand-btn); border: 0; color: var(--dd-on-brand); }
    html.dd .reports-header-box .filters-group { position: absolute; inset-inline: 22px; top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px + var(--dd-float-h) + var(--dd-after-float)); min-height: 42px; gap: 8px; }
    html.dd .reports-header-box .date-picker-wrapper { height: 40px; padding: 0 14px; border-radius: 999px; }
    html.dd .reports-header-box .filter-select-wrapper { display: flex; align-items: center; gap: 8px; color: var(--dd-muted); font-size: .8rem; }
    html.dd .reports-header-box .term-select { height: 40px; padding: 0 14px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .reports-header-box .btn-action { height: 40px; border-radius: var(--dd-r-xs); box-shadow: none; }
    html.dd .reports-header-box .btn-action.primary { margin-inline-start: auto; background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .reports-header-box .btn-action svg { width: 16px; height: 16px; }
    html.dd .reports-container .kpi-grid { gap: 10px; }
    html.dd .reports-container .kpi-card, html.dd .reports-container .section-box { border-radius: 14px; box-shadow: none; }
}
/* کارت آمار گزارش: عنوان و عدد راست، آیکن وسط‌چین سمت چپ بدون تداخل */
html.dd .reports-container .kpi-card { position: relative; padding: 12px 16px; padding-inline-end: 66px; }
html.dd .reports-container .kpi-title { font-size: .8rem; }
html.dd .reports-container .kpi-value { margin-top: 4px; font-size: 1.35rem; font-weight: 900; text-align: right; white-space: nowrap; }
html.dd .reports-container .kpi-icon { top: 50%; bottom: auto; inset-inline: auto 14px; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 12px; }
html.dd .reports-container .kpi-icon svg { width: 18px; height: 18px; }

/* منابع آموزشی: قاب ثابت و جزئیات منبع */
.rsx tbody tr, .rsx .dk-card { cursor: pointer; }
.rsx-det { display: grid; gap: 14px; }
.rsx-prev { border-radius: 14px; overflow: hidden; background: #0f181c; }
.rsx-prev img, .rsx-prev video { display: block; width: 100%; max-height: 420px; object-fit: contain; }
.rsx-prev audio { display: block; width: 100%; }
.rsx-prev iframe { display: block; width: 100%; height: 460px; border: 0; background: #fff; }
.rsx-desc { margin: 0; line-height: 1.9; white-space: pre-wrap; }
.rsx-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin: 0; }
.rsx-facts div { padding: 8px 12px; border-radius: 12px; background: var(--dd-sunken, rgba(120, 140, 150, .12)); }
.rsx-facts dt { font-size: .74rem; font-weight: 600; opacity: .7; }
.rsx-facts dd { margin: 2px 0 0; font-size: .86rem; font-weight: 700; }
@media (min-width: 768px) {
    html.dd .rsx { position: relative; display: block; min-height: 60vh; padding: 0 22px 22px !important; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .rsx > .dk-head { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; align-items: flex-start; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .rsx > .dk-head h2 { font-size: 1.5rem; }
    html.dd .rsx > .dk-filters .dk-filters-body { flex: 1; min-width: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; align-items: center; }
    html.dd .rsx > .dk-filters { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; justify-content: center; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .rsx:has(.rsx-bar .dk-btn) > .dk-filters { padding-inline-end: 160px; }
    html.dd .rsx > .dk-filters .dk-field { margin: 0; min-width: 0; }
    html.dd .rsx > .dk-filters label { display: none; }
    html.dd .rsx > .dk-filters .dk-input { box-sizing: border-box; width: 100%; height: 40px; min-height: 40px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .rsx .rsx-bar .dk-btn { position: absolute; z-index: 2; inset-inline-end: calc(var(--dd-inset) + 18px); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px + (var(--dd-float-h) - 42px) / 2); height: 42px; border-radius: var(--dd-r-xs); }
    html.dd .rsx .rsx-bar { margin-bottom: 6px; }

    /* کتابخانه: همان هدر مرکز مشاوره */
    html.dd .lb:has(> .lb-h + .lb-caps) { position: relative; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .lb > .lb-h { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 -22px; padding: 22px 26px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .lb > .lb-h h2 { color: #fff; font-size: 1.5rem; font-weight: 900; letter-spacing: 0; }
    html.dd .lb > .lb-h .lb-muted { margin-top: 4px; color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .lb > .lb-caps { position: relative; z-index: 1; margin: calc(-1 * var(--dd-lift) - 18px) calc(var(--dd-inset) - 22px) 0; }
    html.dd .lb > .lb-caps .lb-cap { min-height: 104px; background: var(--dd-surface); box-shadow: var(--dd-shadow); }
}
html.dd .lb .lb-card { background: var(--dd-surface); backdrop-filter: none; -webkit-backdrop-filter: none; }

@media (min-width: 768px) {
    /* قانون عمومی dk-head فاصله‌ی زیر هدر را صفر می‌کرد و جدول زیر نوار می‌رفت */
    html.dd .rsx > .dk-head { margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)) !important; border-radius: var(--dd-r) var(--dd-r) 0 0 !important; }
    /* ثبت امانت: سه بخش کنار هم، بدون اسکرول */
    html.dd .lb :has(> .lb-card #ld-go) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr); gap: 12px; align-items: stretch; }
    html.dd .lb :has(> .lb-card #ld-go) > .lb-card { margin: 0; padding: 14px 16px; border-radius: 16px; box-shadow: none; border-color: var(--dd-line); }
    html.dd .lb :has(> .lb-card #ld-go) > .lb-card h3 { margin-bottom: 8px; font-size: .95rem; }
    html.dd .lb :has(> .lb-card #ld-go) .lb-pick { max-height: 200px; overflow-y: auto; }
    html.dd .lb :has(> .lb-card #ld-go) > .lb-card > div[style*="margin-top"] { margin-top: 8px !important; }
}

@media (min-width: 768px) {
    /* قاب بیرونی لبه‌به‌لب می‌ماند؛ فاصله فقط روی محتوای زیر هدر است */
    html.dd .rsx > .dk-head { margin-inline: 0 !important; }
    html.dd .rsx > .rsx-bar, html.dd .rsx > #rsx-list, html.dd .rsx > #rsx-more { margin-inline: 22px; }
    html.dd .rsx .rsx-bar > .rsx-mini { display: none; }
    html.dd .rsx .rsx-bar { margin: 0; }
}

/* دستیار برنامه هفتگی: قاب ثابت؛ مرحله‌ها در نوار سفید */
@media (min-width: 768px) {
    html.dd .scheduler-container { position: relative; box-sizing: border-box; max-width: none; min-height: 60vh; margin: 0; padding: 0; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .scheduler-header { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; text-align: right; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .scheduler-header .table-title { margin: 0 !important; color: #fff; font-size: 1.5rem !important; font-weight: 900; }
    html.dd .scheduler-header .ss-emoji { display: none; }
    html.dd .scheduler-header p { margin: 4px 0 0; color: var(--dd-hero-sub) !important; font-size: .9rem !important; }
    html.dd .scheduler-container .steps-nav { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; justify-content: flex-start; align-items: center; gap: 8px; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); backdrop-filter: none; }
    html.dd .scheduler-container .step-line { display: none; }
    html.dd .scheduler-container .step-item { flex-direction: row; gap: 8px; height: 42px; margin: 0; padding: 0 16px 0 8px; opacity: 1; transform: none; background: var(--dd-sunken); border-radius: 999px; color: var(--dd-ink); font-size: .84rem; font-weight: 700; }
    html.dd .scheduler-container .step-item .step-icon { width: 28px; height: 28px; margin: 0; border: 0; background: var(--dd-surface); color: var(--dd-muted); box-shadow: none; }
    html.dd .scheduler-container .step-item.active { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .scheduler-container .step-item.active .step-icon { background: rgba(255, 255, 255, .2); color: var(--dd-on-brand); box-shadow: none; }
    html.dd .scheduler-container .step-content { min-height: 0; padding: 0 22px 22px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
    html.dd .scheduler-container .step-content .btn-primary { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
}

/* دستیار برنامه: لیست معلمان ستون باریک کنار جدول روزها */
@media (min-width: 768px) {
    html.dd .row:has(#ss-teacher-select) { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 16px; margin: 0; align-items: start; }
    html.dd .row:has(#ss-teacher-select) > [class*="col-md"] { width: auto; max-width: none; flex: none; padding: 0 !important; border: 0 !important; }
    html.dd #ss-teacher-select { box-sizing: border-box; width: 100%; height: 300px !important; border: 1px solid var(--dd-line); border-radius: 14px !important; background: var(--dd-sunken); color: var(--dd-ink); }
    html.dd #ss-teacher-select option { padding: 6px 8px; border-radius: 8px; }
    html.dd #ss-teacher-select option:checked { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .row:has(#ss-teacher-select) .form-group { margin: 0; }
    html.dd .row:has(#ss-teacher-select) .card { margin-top: 8px !important; background: var(--dd-sunken) !important; border: 0 !important; color: var(--dd-ink); }
    html.dd .row:has(#ss-teacher-select) .card-body { padding: 10px 12px !important; }
    html.dd .scheduler-container .avail-grid { margin-top: 0; gap: 6px; }
}
@media (min-width: 768px) {
    html.dd #ss-teacher-search { box-sizing: border-box; width: 100%; height: 40px !important; border: 1px solid var(--dd-line); border-radius: 999px !important; background: var(--dd-sunken); color: var(--dd-ink); }
    html.dd #ss-teacher-select { height: 380px !important; }
}

/* مجوزها: هدر فقط در طرح تازه */
.pm-hero { display: none; }
@media (min-width: 768px) {
    /* لاگ تغییرات: هدر جای نوار را نگه می‌دارد؛ تب‌ها نوار سفیدند و فیلترها زیر آن */
    html.dd .table-container:has(> .audit-tabs) > .table-header { box-sizing: border-box; height: calc(var(--dd-hero-h) + var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); }
    html.dd .table-container > .audit-tabs { position: absolute; z-index: 2; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; align-items: center; background: var(--dd-surface); border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .audit-tab { height: 40px; padding: 0 18px; background: var(--dd-sunken); border: 0; color: var(--dd-ink); }
    html.dd .audit-tab.active { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .table-container:has(> .audit-tabs) > .filter-bar { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)) 120px auto auto; gap: 8px; margin: 0; padding: 0 22px 12px; background: transparent; border: 0; }
    html.dd .table-container:has(> .audit-tabs) > .filter-bar .input-group { min-width: 0; }
    html.dd .table-container:has(> .audit-tabs) > .filter-bar .form-control { box-sizing: border-box; height: 40px; padding-inline: 14px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .table-container:has(> .audit-tabs) > .filter-bar .btn { height: 40px; padding: 0 12px; border-radius: 999px; white-space: nowrap; }
    html.dd .table-container:has(> .audit-tabs) > .filter-bar .btn svg { width: 15px; height: 15px; }

    html.dd .pm-page { position: relative; background: var(--dd-surface); border-color: var(--dd-line) !important; border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); overflow: visible !important; }
    html.dd .pm-hero { display: block; box-sizing: border-box; height: var(--dd-hero-h); padding: 22px 26px; background: var(--dd-hero); border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0; }
    html.dd .pm-hero h2 { margin: 0; color: #fff; font-size: 1.5rem; font-weight: 900; }
    html.dd .pm-hero p { margin: 4px 0 0; color: var(--dd-hero-sub); font-size: .9rem; }
    html.dd .pm-page > .tabs-header { position: absolute; z-index: 2; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); padding: 14px 18px !important; display: flex; align-items: center; gap: 6px !important; background: var(--dd-surface) !important; border: 0 !important; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .pm-page > .tabs-header .tab-btn { height: 40px; padding: 0 16px !important; background: var(--dd-sunken) !important; border: 0 !important; border-radius: 999px !important; color: var(--dd-ink) !important; font-size: .84rem; }
    html.dd .pm-page > .tabs-header .tab-btn.active { background: var(--dd-brand-btn) !important; color: var(--dd-on-brand) !important; }
    html.dd .pm-page > .tab-content { margin-top: calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 0 22px 22px !important; }
    html.dd .pm-page .filter-banner { margin: 0 0 12px !important; padding: 0 !important; display: flex; align-items: center; gap: 8px !important; background: transparent !important; border: 0 !important; }
    html.dd .pm-page .filter-banner .form-control { box-sizing: border-box; height: 40px !important; padding-inline: 14px 36px; border: 1px solid var(--dd-line); border-radius: 999px !important; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .pm-page .filter-banner select.form-control { padding-inline: 14px; }
    html.dd .pm-page .filter-banner .btn { height: 40px !important; }
    html.dd .pm-page .filter-banner .btn-primary { border-radius: 999px !important; background: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); }
    html.dd .pm-page .filter-banner .btn-success { position: absolute; z-index: 3; inset-inline-end: calc(var(--dd-inset) + 18px); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px + (var(--dd-float-h) - 42px) / 2); height: 42px !important; border-radius: var(--dd-r-xs) !important; background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); box-shadow: none; }
    html.dd .pm-page .table-responsive { border: 0 !important; border-radius: 0 !important; }
}
@media (min-width: 768px) { html.dd .pm-page > .tabs-header .tab-btn { opacity: 1 !important; } }

/* کارنامه‌ی ماهانه: همان قاب منابع آموزشی */
@media (min-width: 768px) {
    html.dd .mcd { position: relative; display: block; min-height: 60vh; padding: 0 !important; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .mcd > .dk-head { box-sizing: border-box; height: var(--dd-hero-h); margin: 0 0 calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)) !important; padding: 22px 26px; align-items: flex-start; border-top: 3px solid var(--dd-brand); border-radius: var(--dd-r) var(--dd-r) 0 0 !important; box-shadow: none; }
    html.dd .mcd > .dk-head h2 { font-size: 1.5rem; }
    html.dd .mcd > .dk-filters { position: absolute; z-index: 1; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; justify-content: center; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .mcd > .dk-filters .dk-filters-body { flex: 1; min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; align-items: center; }
    html.dd .mcd > .dk-filters .dk-field { margin: 0; min-width: 0; }
    html.dd .mcd > .dk-filters label { display: none; }
    html.dd .mcd > .dk-filters .dk-input { box-sizing: border-box; width: 100%; height: 40px; min-height: 40px; border: 1px solid var(--dd-line); border-radius: 999px; background-color: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .mcd > :not(.dk-head):not(.dk-filters) { margin-inline: 22px; margin-block-end: 12px; }
}

/* اقساط: همه‌ی فیلترها در نوار سفید؛ فیلترها همان لحظه اعمال می‌شوند و دکمه‌ی اعمال لازم نیست */
@media (min-width: 768px) {
    html.dd .table-actions:has(> .inst-filter-box-grid) { flex-wrap: nowrap; }
    html.dd .table-actions > .inst-filter-box-grid { flex: 1; min-width: 0; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0; padding: 0; border: 0; background: transparent; }
    html.dd .table-actions > .inst-filter-box-grid .form-group:has(.btn) { display: none !important; }
    html.dd .table-actions > .inst-filter-box-grid .form-control, html.dd .table-actions > .inst-filter-box-grid input { box-sizing: border-box; width: 100%; min-width: 0; }
    html.dd .table-actions:has(> .inst-filter-box-grid) > .btn { flex: none; }
}

/* پشتیبانی: قاب ثابت؛ تب‌ها راست و «ثبت تیکت» چپ نوار سفید */
@media (min-width: 768px) {
    html.dd .sup-wrap { position: relative; box-sizing: border-box; min-height: 60vh; padding: 0 22px 22px; background: var(--dd-surface); border: 1px solid var(--dd-line); border-radius: var(--dd-r); box-shadow: var(--dd-shadow-sm); }
    html.dd .sup-wrap .sup-header-card { box-sizing: border-box; display: block; height: var(--dd-hero-h); margin: 0 -22px calc(var(--dd-float-h) - var(--dd-lift) - 3px + var(--dd-after-float)); padding: 22px 26px; background: var(--dd-hero) !important; border: 0 !important; border-top: 3px solid var(--dd-brand) !important; border-radius: var(--dd-r) var(--dd-r) 0 0; box-shadow: none; }
    html.dd .sup-wrap .sup-icon-box { display: none; }
    html.dd .sup-wrap .sup-header-text h2 { margin: 0; color: #fff !important; font-size: 1.5rem; font-weight: 900; }
    html.dd .sup-wrap .sup-header-text p { margin: 4px 0 0; color: var(--dd-hero-sub) !important; font-size: .9rem; }
    html.dd .sup-wrap .sup-header-actions { position: absolute; z-index: 3; inset-inline-end: calc(var(--dd-inset) + 18px); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); min-height: var(--dd-float-h); display: flex; align-items: center; }
    html.dd .sup-wrap .sup-btn-action-primary { height: 42px; border-radius: var(--dd-r-xs); background: var(--dd-brand-btn); color: var(--dd-on-brand); box-shadow: none; }
    html.dd .sup-wrap .sup-nav-tabs-wrapper { position: absolute; z-index: 2; inset-inline: var(--dd-inset); top: calc(var(--dd-hero-h) - var(--dd-lift) - 3px); box-sizing: border-box; min-height: var(--dd-float-h); margin: 0; padding: 14px 18px; display: flex; align-items: center; background: var(--dd-surface); border: 0; border-radius: 18px; box-shadow: var(--dd-shadow); }
    html.dd .sup-wrap .sup-nav-tabs { display: flex; gap: 6px; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
    html.dd .sup-wrap .sup-nav-tab { height: 40px; padding: 0 16px; background: var(--dd-sunken); border: 0; border-radius: 999px; color: var(--dd-ink); font-size: .84rem; font-weight: 700; box-shadow: none; }
    html.dd .sup-wrap .sup-nav-tab.active { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .sup-wrap .sup-empty { background: var(--dd-sunken); border: 0; border-radius: 14px; color: var(--dd-muted); }
}

/* کارت‌های تشویقی در گوشی: شاخص‌ها یک ردیف، تب و چیپ منظم، ردیف کارت‌ها جمع‌وجور */
@media (max-width: 767.98px) {
    html.dd .rw { gap: 12px; padding: 12px; background: transparent; border-radius: 0; color: var(--dd-ink); }
    html.dd .rw-h h2 { font-size: 1.3rem; letter-spacing: 0; }
    html.dd .rw .rw-card { padding: 14px; border: 1px solid var(--dd-line); border-radius: 16px; box-shadow: var(--dd-shadow-sm); }
    html.dd .rw .rw-card h3 { margin-bottom: 10px; font-size: 1rem; }
    html.dd .rw-caps { display: flex; gap: 8px; }
    html.dd .rw-cap { flex: 1 1 0; min-width: 0; display: block; padding: 10px 8px; text-align: center; }
    html.dd .rw-cap .rw-tube { display: none; }
    html.dd .rw-cap b { font-size: 1.35rem; }
    html.dd .rw-cap br { display: none; }
    html.dd .rw-cap span { display: block; margin-top: 2px; font-size: .68rem; line-height: 1.4; color: var(--dd-muted); }
    html.dd .rw-tabs { width: 100%; background: var(--dd-surface); border: 1px solid var(--dd-line); scrollbar-width: none; }
    html.dd .rw-tabs::-webkit-scrollbar, html.dd .rw-card .rw-chips::-webkit-scrollbar { display: none; }
    html.dd .rw-tab { flex: none; height: 36px; padding: 0 14px; color: var(--dd-ink); font-size: .8rem; }
    html.dd .rw-tab.on { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .rw-card .rw-chips { flex-wrap: nowrap; width: 100%; overflow-x: auto; scrollbar-width: none; }
    html.dd .rw-card .rw-chips:has(.rw-type) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
    html.dd .rw-card > .rw-bar { flex-wrap: wrap; gap: 8px; }
    html.dd .rw-chip { flex: none; height: 34px; padding: 0 12px; background: var(--dd-sunken); color: var(--dd-ink); font-size: .78rem; font-weight: 700; white-space: nowrap; }
    html.dd .rw-chip.on { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .rw-type { justify-content: center; height: 42px; padding: 0 8px; border: 0; border-radius: 12px; font-size: .8rem; font-weight: 800; opacity: 1; box-shadow: none; white-space: nowrap; }
    html.dd .rw-type:not(.on) { background: var(--dd-sunken) !important; color: var(--dd-ink); }
    html.dd .rw-in { background: var(--dd-sunken); border-color: var(--dd-line); color: var(--dd-ink); }
    html.dd .rw-st { padding: 8px; background: var(--dd-sunken); border-radius: 12px; }
    html.dd .rw-st.on { background: var(--dd-brand-soft); border-color: var(--dd-brand); }
    html.dd #rw-give { width: 100%; justify-content: center; height: 46px; background: var(--dd-brand-btn); color: var(--dd-on-brand); }
    html.dd .rw-row { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: start; gap: 6px 10px; padding: 10px 0; }
    html.dd .rw-row:has(> .rw-chk) { grid-template-columns: 22px 36px minmax(0, 1fr) auto; }
    html.dd .rw-row-m b { font-size: .86rem; }
    html.dd .rw-row-m span { font-size: .74rem; color: var(--dd-muted); }
    html.dd .rw-ico { width: 36px; height: 36px; border-radius: 12px; font-size: 1rem; }
    html.dd .rw-pill { height: 22px; padding: 0 9px; font-size: .68rem; flex: none; }
    html.dd .rw-row > .rw-btn { grid-column: 1 / -1; justify-self: end; height: 30px; padding: 0 12px; border-radius: 10px; font-size: .74rem; }
}

/* نوار تولد امروز در لیست دانش‌آموزان دسکتاپ */
.bd-box { margin: 0 0 10px; padding: 10px 12px; border-radius: 14px; background: var(--dd-sunken, #f1f5f9); }
.bd-h { font-size: .84rem; font-weight: 800; color: var(--dd-ink, #1d2a30); }
.bd-row { display: flex; gap: 14px; margin-top: 8px; overflow-x: auto; }
.bd-item { flex: 0 0 76px; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0; border: 0; background: transparent; color: var(--dd-ink, #1d2a30); font-family: inherit; cursor: pointer; }
.bd-item img { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--dd-brand, #0e8f89); }
.bd-item span { width: 100%; font-size: .72rem; font-weight: 700; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-item .dv-ava-ph { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--dd-brand-soft, #e3f4f2); color: var(--dd-brand-ink, #0a6f6a); font-weight: 800; }
/* تولد امروز در دسکتاپ: یک خط باریک با چیپ نام، نه کادر بلند */
@media (min-width: 768px) {
    .bd-box { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; padding: 6px 12px; border-radius: 999px; }
    .bd-h { flex: none; }
    .bd-row { gap: 6px; margin: 0; scrollbar-width: none; }
    .bd-item { flex: none; flex-direction: row; gap: 6px; height: 32px; padding: 0 12px 0 4px; border-radius: 999px; background: var(--dd-surface, #fff); }
    .bd-item:hover { box-shadow: 0 0 0 1px var(--dd-brand, #0e8f89); }
    .bd-item img, .bd-item .dv-ava-ph { width: 24px; height: 24px; box-shadow: none; font-size: .72rem; }
    .bd-item span { width: auto; font-size: .76rem; }
}

/* منابع آموزشی در گوشی: کارت جمع‌وجور و دکمه‌ها در یک ردیف */
@media (max-width: 767.98px) {
    html.dd .rsx .dk-card { padding: 12px 14px; border-radius: 16px; }
    html.dd .rsx .dk-card-title { font-size: .92rem; font-weight: 800; line-height: 1.6; }
    html.dd .rsx .dk-card-sub { font-size: .76rem; color: var(--dd-muted); }
    html.dd .rsx .rsx-tag { background: var(--dd-sunken); color: var(--dd-ink); }
    html.dd .rsx .dk-card-actions { display: flex; gap: 6px; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--dd-line); }
    html.dd .rsx .dk-card-actions .dk-btn { flex: 1; min-width: 0; justify-content: center; height: 34px; padding: 0 6px; font-size: .76rem; background: var(--dd-sunken); border: 0; border-radius: 10px; }
}

/* کارت‌های تشویقی: تب‌ها و گزینه‌ها با رنگ و قاب طرح تازه */
html.dd .rw .rw-tabs { background: var(--dd-surface); border: 1px solid var(--dd-line); box-shadow: var(--dd-shadow-sm); backdrop-filter: none; -webkit-backdrop-filter: none; }
html.dd .rw .rw-tab { color: var(--dd-muted); font-weight: 800; transition: background .15s, color .15s; }
html.dd .rw .rw-tab:hover { background: var(--dd-sunken); color: var(--dd-ink); }
html.dd .rw .rw-tab.on, html.dd .rw .rw-tab.on:hover { background: var(--dd-brand-btn); color: var(--dd-on-brand); }
html.dd .rw .rw-chip { background: var(--dd-sunken); border: 1px solid var(--dd-line); color: var(--dd-ink); font-weight: 700; transition: border-color .15s, background .15s; }
html.dd .rw .rw-chip:hover { border-color: var(--dd-brand); }
html.dd .rw .rw-chip.on, html.dd .rw .rw-chip.on:hover { background: var(--dd-brand-btn); border-color: var(--dd-brand-btn); color: var(--dd-on-brand); }
