/* Weekly Timetable Studio 2 — design tokens respect light and dark themes. */
.simple-timetable-page{--wm2-ink:var(--ink,#203744);--wm2-muted:var(--muted,#6b8290);--wm2-line:var(--line,#dce7eb);--wm2-canvas:var(--soft,#f7fafb);--wm2-paper:var(--white,#fff);--wm2-accent:#0c8878}
.simple-timetable-page>.simple-timetable-hero{border:1px solid var(--wm2-line);border-radius:20px;padding:22px 26px!important;margin-bottom:18px;background:linear-gradient(115deg,rgba(23,142,123,.08),transparent 55%),var(--wm2-paper);box-shadow:none}
.simple-timetable-page>.simple-timetable-hero h3{font-size:clamp(1.3rem,2vw,1.7rem);font-weight:800;letter-spacing:-.035em}
.simple-timetable-page>.simple-timetable-hero p{max-width:60ch;line-height:1.9;color:var(--wm2-muted)}
.simple-timetable-page .weekly-matrix-card{width:100%;max-width:none;min-width:0;border:1px solid var(--wm2-line);border-radius:22px;padding:18px;box-shadow:0 8px 30px rgba(15,56,72,.055);background:var(--wm2-paper);overflow:visible}
.simple-timetable-page .weekly-matrix-head{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--wm2-line)}
.simple-timetable-page .weekly-matrix-head h3{font-weight:800;font-size:1.14rem}
.simple-timetable-page .weekly-matrix-head p{font-size:12px;line-height:1.9;max-width:90ch;color:var(--wm2-muted)}
.simple-timetable-page .weekly-matrix-actions{display:flex;align-items:end;flex-wrap:wrap;gap:9px}
.simple-timetable-page .weekly-matrix-actions label{display:grid;gap:6px;min-width:160px;font-size:12px}
.simple-timetable-page .weekly-matrix-actions select{min-height:41px;padding:8px 12px;border-radius:11px;border:1px solid var(--wm2-line);color:var(--wm2-ink);background:var(--wm2-paper)}
.simple-timetable-page .weekly-matrix-actions>.btn{min-height:41px;border-radius:11px;font-size:12px;white-space:nowrap}
.wm2-host{min-height:100px;min-width:0}
.wm2-studio{border:1px solid var(--wm2-line);background:var(--wm2-canvas);border-radius:20px;padding:17px;color:var(--wm2-ink);min-width:0}
.wm2-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 12px 20px}
.wm2-eyebrow{font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.15em;color:var(--wm2-accent);direction:ltr;display:inline-block}
.wm2-heading{font-size:clamp(19px,2.3vw,27px);font-weight:850;color:var(--wm2-ink);margin:6px 0 8px}
.wm2-subtitle{color:var(--wm2-muted);font-size:12px;line-height:1.9;margin:0}
.wm2-intro-mark{border:1px solid rgba(13,136,120,.23);background:rgba(13,136,120,.075);border-radius:12px;padding:10px 14px;text-align:center;min-width:135px}
.wm2-intro-mark span{display:block;font-size:12px;font-weight:800;color:var(--wm2-accent)}
.wm2-intro-mark small{display:block;font-size:10px;color:var(--wm2-muted);margin-top:5px}
.wm2-toolbar{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:12px;background:var(--wm2-paper);border:1px solid var(--wm2-line);border-radius:16px;padding:10px;margin-bottom:13px}
.wm2-day-tabs{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.wm2-day-tab,.wm2-view-toggle{font:700 12px/1.4 inherit;cursor:pointer;border:1px solid transparent;border-radius:10px;color:var(--wm2-muted);background:transparent;padding:11px 13px;min-height:40px}
.wm2-day-tab:hover,.wm2-day-tab.is-active{color:var(--wm2-accent);background:rgba(12,136,120,.09);border-color:rgba(12,136,120,.16)}
.wm2-day-tab:focus-visible,.wm2-view-toggle:focus-visible,.wm2-session:focus-visible{outline:3px solid rgba(12,136,120,.48);outline-offset:2px}
.wm2-options{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.wm2-search{font-size:11px;color:var(--wm2-muted);display:grid;gap:4px}
.wm2-search-input{border-radius:10px;padding:9px 12px;min-width:150px;max-width:210px;min-height:39px;font:inherit;border:1px solid var(--wm2-line);background:var(--wm2-paper);color:var(--wm2-ink)}
.wm2-view-toggle{color:var(--wm2-accent);border-color:rgba(12,136,120,.26);font-size:12px;white-space:nowrap}
.wm2-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.wm2-stat{background:var(--wm2-paper);border:1px solid var(--wm2-line);border-radius:14px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.wm2-stat strong{font-size:20px;color:var(--wm2-ink);font-weight:850;font-variant-numeric:tabular-nums}
.wm2-stat span{font-size:11px;color:var(--wm2-muted)}
.wm2-board{min-width:0}
.wm2-class-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(248px,1fr);gap:12px;overflow-x:auto;padding:3px 2px 16px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}
.wm2-class-column{background:var(--wm2-paper);border:1px solid var(--wm2-line);border-radius:17px;padding:9px;min-width:248px;scroll-snap-align:start;box-shadow:0 4px 18px rgba(15,64,77,.03)}
.wm2-class-head{display:flex;align-items:center;gap:11px;padding:11px 9px 14px;border-bottom:1px solid var(--wm2-line);margin-bottom:10px}
.wm2-class-number{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:#0f8778;color:#fff;font:800 11px system-ui}
.wm2-class-meta{min-width:0;display:grid;gap:3px}
.wm2-class-meta strong{font-size:14px;color:var(--wm2-ink)}
.wm2-class-meta span{font-size:11px;color:var(--wm2-muted)}
.wm2-slot{padding:0 2px 11px;margin-bottom:10px;border-bottom:1px dashed var(--wm2-line)}
.wm2-slot:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.wm2-slot-head{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;margin:0 3px 7px;color:var(--wm2-muted)}
.wm2-slot-number{font-weight:800;color:var(--wm2-accent)}
.wm2-slot-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}
.wm2-session{border:1px solid rgba(13,139,119,.15);border-radius:13px;min-height:100px;padding:12px 13px;cursor:pointer;position:relative;background:rgba(13,139,119,.055);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.wm2-session:hover{border-color:rgba(13,139,119,.55);transform:translateY(-1px);box-shadow:0 6px 18px rgba(13,90,82,.07)}
.wm2-session.is-empty{border-style:dashed;background:transparent;color:var(--wm2-muted);min-height:88px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.wm2-session-type{display:block;font-size:10px;color:var(--wm2-accent);margin-bottom:7px}
.wm2-session.is-empty .wm2-session-type{display:none}
.wm2-empty-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(13,136,120,.09);font-size:20px;color:var(--wm2-accent);font-weight:500}
.wm2-empty-title{font-size:11px}
.wm2-entry{display:grid;gap:6px;padding:4px 0}
.wm2-entry+.wm2-entry{padding-top:11px;border-top:1px solid var(--wm2-line)}
.wm2-course{font-size:13px;color:var(--wm2-ink);line-height:1.5}
.wm2-teacher,.wm2-course-detail{color:var(--wm2-muted);font-size:11px;line-height:1.5}
.wm2-teacher.is-unassigned{color:#b26a00;font-style:normal;opacity:.85}
.wm2-teacher.is-unassigned::before{content:"✎ ";}
.wm2-split-label{display:inline-block;border-radius:6px;background:rgba(129,98,213,.1);color:#8162d5;padding:4px 7px;font-size:10px;margin-top:7px}
.wm2-session.is-locked{border-color:rgba(212,151,62,.4)}
.wm2-session.is-locked .wm2-session-type{color:#b47820}
.wm2-empty-results{border-radius:12px;border:1px dashed var(--wm2-line);padding:18px;text-align:center;color:var(--wm2-muted)}
.wm2-original-table{overflow-x:auto;max-width:100%;padding:8px;border:1px solid var(--wm2-line);border-radius:14px;background:var(--wm2-paper)}
.wm2-original-table .weekly-matrix-table{width:max-content;min-width:100%}
.wm2-board[hidden],.wm2-original-table[hidden],.wm2-empty-results[hidden]{display:none!important}
@media(min-width:1200px){.wm2-class-rail{grid-auto-columns:minmax(250px,calc((100% - 36px)/4))}}
@media(max-width:750px){.simple-timetable-page>.simple-timetable-hero{padding:14px!important}.simple-timetable-page .weekly-matrix-card{padding:10px;border-radius:15px}.simple-timetable-page .weekly-matrix-actions label{min-width:130px;flex:1}.wm2-studio{padding:9px;border-radius:14px}.wm2-intro{padding:8px 5px 14px}.wm2-intro-mark{display:none}.wm2-toolbar{padding:8px}.wm2-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.wm2-stat{padding:10px;min-height:55px}.wm2-stat strong{font-size:16px}.wm2-day-tabs{flex-wrap:nowrap;max-width:100%;overflow-x:auto}.wm2-class-rail{grid-auto-columns:minmax(82vw,1fr)}.wm2-options{width:100%}.wm2-search{flex:1}.wm2-search-input{max-width:none;width:100%}}
@media print{.wm2-studio{border:0;padding:0;background:#fff}.wm2-intro,.wm2-toolbar,.wm2-stats,.wm2-board,.wm2-empty-results{display:none!important}.wm2-original-table{display:block!important;border:0;overflow:visible}.wm2-original-table .weekly-matrix-table{display:table!important}.simple-timetable-page .weekly-matrix-head{display:none!important}}

/* Remove redundant legacy presentation; keep its editing dialogs and source table. */
.simple-timetable-page>.simple-timetable-hero,.simple-timetable-page .weekly-matrix-head>div:first-child{display:none!important}
.wm2-host>.weekly-matrix-brand,.wm2-host>.wm-bell-legend{display:none!important}
.wm2-day-tab,.wm2-view-toggle{font-family:inherit;font-weight:700;font-size:12px;line-height:1.4}

/* Respect an explicitly selected dark appearance without forcing it when the
   rest of the admin panel is light. All surfaces share the same theme tokens. */
html[data-theme="dark"] .simple-timetable-page,
body.theme-dark .simple-timetable-page,
body[data-theme="dark"] .simple-timetable-page{
  --wm2-ink:#e6f0ef;
  --wm2-muted:#a6bab8;
  --wm2-line:#334b50;
  --wm2-canvas:#12252b;
  --wm2-paper:#1b3036;
  --wm2-accent:#62d4b8;
}

.wm2-session.is-unavailable{display:grid;place-items:center;min-height:88px;border:1px dashed var(--wm2-line);background:transparent;color:var(--wm2-muted);font-size:11px;text-align:center;cursor:default;opacity:.65}
.wm2-session.is-unavailable:hover{transform:none;box-shadow:none;border-color:var(--wm2-line)}


/* Aggregate multi-class weekly plan replaces the legacy matrix on-screen. */
.wm2-week-overview{min-width:0;max-width:100%;background:var(--wm2-paper);border:1px solid var(--wm2-line);border-radius:15px}
.wm2-week-scroll{overflow:auto;max-width:100%;overscroll-behavior-inline:contain;scrollbar-gutter:stable;padding:2px}
.wm2-week-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-family:inherit;direction:rtl}
.wm2-week-table th,.wm2-week-table td{padding:5px;vertical-align:top;min-width:130px;border-inline-end:1px solid var(--wm2-line);border-block-end:1px solid var(--wm2-line);background:var(--wm2-paper)}
.wm2-week-table thead th{font-size:11px;text-align:center;font-weight:800;position:sticky;top:0;z-index:3;color:var(--wm2-ink);background:var(--wm2-canvas);white-space:nowrap}
.wm2-week-days th{color:var(--wm2-accent);padding:10px}
.wm2-week-table .wm2-week-class-col{position:sticky;right:0;min-width:142px;max-width:142px;z-index:2;background:var(--wm2-canvas);box-shadow:-5px 0 9px rgba(17,47,52,.035)}
.wm2-week-table thead .wm2-week-class-col{z-index:4}
.wm2-week-class-col strong{display:block;font-size:12px;line-height:1.7;color:var(--wm2-ink)}
.wm2-week-class-col span{font-size:10px;color:var(--wm2-muted)}
.wm2-week-table td .wm2-session{min-height:88px;padding:8px 9px;border-radius:8px}
.wm2-week-table td .wm2-session .wm2-session-type{display:none}
.wm2-week-table td .wm2-entry{gap:3px}
.wm2-week-table td .wm2-course{font-size:11px;white-space:normal}
.wm2-week-table td .wm2-teacher{font-size:10px}
.wm2-week-table td .wm2-empty-title{font-size:10px}
.wm2-week-overview[hidden]{display:none!important}
@media(max-width:750px){.wm2-week-table th,.wm2-week-table td{min-width:120px}.wm2-week-table .wm2-week-class-col{min-width:100px;max-width:100px}.wm2-week-table td .wm2-session{min-height:78px}}
@media print{
  @page{size:A3 landscape;margin:8mm}
  .wm2-studio{padding:0!important;background:white!important;color:#172f35!important}
  .wm2-week-overview{display:block!important;border:0;max-width:none;overflow:visible}
  .wm2-week-overview[hidden]{display:block!important}
  .wm2-week-scroll{overflow:visible;max-width:none;padding:0}
  .wm2-week-table{width:100%;table-layout:fixed}
  .wm2-week-table th,.wm2-week-table td{min-width:0;max-width:none;padding:2px;border:1px solid #91a9a8;break-inside:avoid}
  .wm2-week-table thead th{position:static;font-size:9px}
  .wm2-week-table .wm2-week-class-col{position:static;min-width:0;max-width:unset;box-shadow:none}
  .wm2-week-table td .wm2-session{min-height:44px!important;padding:2px!important;border:0!important;background:none!important;box-shadow:none!important;transform:none!important}
  .wm2-week-table .wm2-course{font-size:8px!important}
  .wm2-week-table .wm2-teacher{font-size:7px!important}
  .wm2-week-table .wm2-session-type,.wm2-week-table .wm2-empty-mark,.wm2-week-table .wm2-empty-title{display:none!important}
  .wm2-original-table{display:none!important}
}

/* First-paint protection: the legacy timetable is only a data compatibility
   source. Hide it synchronously from the stylesheet in <head>, BEFORE the
   asynchronous studio API fetch and requestAnimationFrame complete. */
#weekly-matrix-body > table.weekly-matrix-table,
#weekly-matrix-body > .weekly-matrix-table,
#weekly-matrix-body .wm2-original-table > table.weekly-matrix-table {
  display:none!important;
}
#weekly-matrix-body:not(.wm2-host):not(.wm2-unavailable)::before {
  content:'در حال آماده‌سازی برنامه هفتگی…';
  display:flex;
  min-height:190px;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px;
  border:1px solid var(--wm2-line,#dce7eb);
  border-radius:16px;
  color:var(--wm2-muted,#6b8290);
  background:var(--wm2-canvas,#f7fafb);
  font-family:inherit;
  font-size:13px;
}
#weekly-matrix-body.wm2-unavailable > .wm2-load-error {
  display:grid;
  gap:8px;
  place-items:center;
  min-height:160px;
  padding:24px;
  border:1px dashed var(--wm2-line,#dce7eb);
  border-radius:16px;
  color:var(--wm2-ink,#203744);
  background:var(--wm2-paper,#fff);
  text-align:center;
}
#weekly-matrix-body.wm2-unavailable > .wm2-load-error strong{font-size:14px}
#weekly-matrix-body.wm2-unavailable > .wm2-load-error span{font-size:12px;color:var(--wm2-muted,#6b8290)}
@media print{
  #weekly-matrix-body > table.weekly-matrix-table,
  #weekly-matrix-body .wm2-original-table > table.weekly-matrix-table {
    display:none!important;
  }
}


/* Studio V3 — only the modern planner is presented; all legacy print paths hidden. */
#weekly-matrix-print,#weekly-matrix-server-print,#simple-timetable-print{display:none!important}
.wm2-print-action{font:800 12px/1.5 'Vazirmatn',Tahoma,sans-serif;min-height:42px;padding:10px 17px;border:1px solid #087a6f;border-radius:11px;background:#087d72;color:#fff;cursor:pointer;white-space:nowrap}
.wm2-print-action:hover{background:#056e65}
.wm2-print-head,.wm2-print-signatures{display:none}

/* Split lessons: a pronounced midline and different alternating background
   colors, for parallel classes; matching accent for consecutive double bells. */
.wm2-session.is-parallel{display:flex;flex-direction:column;padding:0;overflow:hidden;border:2px solid #5c83ae;background:#eaf3ff}
.wm2-session.is-parallel .wm2-session-type{padding:7px 10px;margin:0;background:#d9eafd;color:#184d86;font-weight:800}
.wm2-session.is-parallel .wm2-parallel-entry{flex:1;min-height:52px;margin:0;padding:10px 12px;background:#f0f7ff}
.wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(even){background:#dff1ec}
.wm2-session.is-parallel .wm2-parallel-entry + .wm2-parallel-entry{border-top:3px solid #188d83!important;box-shadow:inset 0 3px 0 rgba(255,255,255,.8)}
.wm2-session.is-parallel .wm2-split-label{display:block;text-align:center;margin:0;border-radius:0;padding:6px 10px;background:#cadef2;color:#184d86;font-weight:800}
.wm2-session.is-pair-start{border:2px solid #6989b5;background:#ecf3ff}
.wm2-session.is-pair-start .wm2-session-type{color:#305d9d}
.wm2-session.is-pair-continuation{border:2px solid #0e9586;background:#e0f6ef}
.wm2-session.is-pair-continuation::before{content:'زنگ دوم از جلسه دوبل';display:block;border-bottom:2px solid #0e9586;padding-bottom:6px;margin-bottom:7px;color:#08776c;font-size:10px;font-weight:800}
.wm2-session.is-pair-continuation .wm2-session-type{display:none}
html[data-theme="dark"] .wm2-session.is-parallel,body[data-theme="dark"] .wm2-session.is-parallel{background:#20384f;border-color:#638cb7}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry,body[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry{background:#213b4e}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(even),body[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(even){background:#1c4845}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-session-type,body[data-theme="dark"] .wm2-session.is-parallel .wm2-session-type{background:#294c6c;color:#cde8ff}
html[data-theme="dark"] .wm2-session.is-pair-start,body[data-theme="dark"] .wm2-session.is-pair-start{background:#273c55}
html[data-theme="dark"] .wm2-session.is-pair-continuation,body[data-theme="dark"] .wm2-session.is-pair-continuation{background:#1d4742}
html[data-theme="dark"] .wm2-session.is-pair-continuation::before,body[data-theme="dark"] .wm2-session.is-pair-continuation::before{color:#92e9d6}

/* Print just the official document, never dashboard/sidebar/legacy content. */
@media print{
  @page{size:A3 landscape;margin:12mm 10mm}
  html,body{margin:0!important;padding:0!important;background:#fff!important;color:#1c3341!important}
  body *{visibility:hidden!important}
  .wm2-studio,.wm2-studio *{visibility:visible!important}
  .wm2-studio{display:flex!important;flex-direction:column!important;position:absolute!important;top:0!important;right:0!important;left:0!important;width:100%!important;min-width:0!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;box-shadow:none!important;font-family:'Vazirmatn',Vazir,Tahoma,sans-serif!important;direction:rtl!important;color:#203747!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .wm2-print-head{order:1;display:block!important;margin:0 0 13px;padding:0 0 11px;border-bottom:3px solid #0a8c82}
  .wm2-print-head-main{display:flex;align-items:center;gap:14px}
  .wm2-print-seal{width:64px;height:64px;min-width:64px;border:1.5px solid #0a8c82;border-radius:15px;display:grid;place-items:center;color:#0b8074;font-size:30px;font-weight:900;overflow:hidden}
  .wm2-print-seal img{display:block;max-width:58px;max-height:58px;object-fit:contain}
  .wm2-print-identity{display:grid;gap:4px;flex:1}
  .wm2-print-kicker{font-size:9px;color:#0b8578;font-weight:800}
  .wm2-print-school{font-size:23px;font-weight:900;color:#21384b}
  .wm2-print-branch{font-size:10px;color:#6a8390}
  .wm2-print-date{border:1px solid #c8dcd9;border-radius:10px;padding:10px 16px;display:grid;gap:4px;min-width:116px;text-align:center}
  .wm2-print-date span{font-size:9px;color:#607c88}
  .wm2-print-date strong{font-size:12px;color:#174b55}
  .wm2-print-title{margin:11px 0 7px;font-size:17px;font-weight:900;text-align:center;color:#203747}
  .wm2-print-meta{display:flex;justify-content:center;gap:26px;font-size:11px;font-weight:700;color:#41606a}
  .wm2-print-signatures{order:3;display:flex!important;justify-content:space-around;gap:20px;margin-top:24px;padding-top:13px;border-top:1px solid #a6c4c0;break-inside:avoid}
  .wm2-print-signatures>div{width:30%;min-height:45px;text-align:center;font-size:11px;font-weight:700;color:#48646d}
  .wm2-week-overview,.wm2-week-overview[hidden]{order:2;display:block!important;position:static!important;visibility:visible!important;border:0!important;overflow:visible!important}
  .wm2-week-scroll{overflow:visible!important}
  .wm2-week-table{width:100%!important;table-layout:fixed!important}
  .wm2-week-table thead{display:table-header-group}
  .wm2-week-table tr{break-inside:avoid}
  .wm2-week-table th,.wm2-week-table td{border:1px solid #a5c2c2!important;background:#fff!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .wm2-week-table thead th{background:#e8f3f1!important;color:#20575a!important}
  .wm2-session.is-parallel{border:1px solid #6487ad!important;background:#eef6ff!important;overflow:hidden}
  .wm2-session.is-parallel .wm2-parallel-entry{min-height:24px!important;padding:5px 6px!important;background:#eaf3ff!important}
  .wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(even){background:#dff4ee!important}
  .wm2-session.is-parallel .wm2-parallel-entry+.wm2-parallel-entry{border-top:2px solid #078f85!important}
  .wm2-session.is-pair-start{background:#e5f0ff!important;border:1px solid #6891bd!important}
  .wm2-session.is-pair-continuation{background:#e3f4ec!important;border:1px solid #0d9586!important}
  .wm2-session.is-pair-continuation::before{font-size:7px!important;border-color:#0d9586!important}
  .wm2-intro,.wm2-toolbar,.wm2-stats,.wm2-board,.wm2-empty-results,.wm2-print-action{display:none!important}
}


/* Real diagonally split lesson cards: no middle horizontal bar and no flat
   stacked color panels. Every half retains its subject and teacher. */
.wm2-session.is-parallel{
  position:relative!important;
  display:flex!important;flex-direction:column!important;justify-content:stretch!important;
  min-height:172px!important;padding:0!important;overflow:hidden!important;
  background:linear-gradient(171deg,#e6efff 0 48.6%,#108f85 49.1% 50.7%,#def4e7 51.2% 100%)!important;
  border:2px solid #438c99!important;border-radius:13px!important
}
.wm2-session.is-parallel .wm2-session-type{background:transparent!important;color:#275f7f!important;padding:6px 10px 1px!important}
.wm2-session.is-parallel .wm2-parallel-entry,
.wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(even){
  flex:1 1 50%!important;background:transparent!important;
  min-height:68px!important;display:flex!important;flex-direction:column!important;
  justify-content:center!important;align-items:center!important;text-align:center!important;
  padding:9px 6px!important;margin:0!important;border:0!important;box-shadow:none!important
}
.wm2-session.is-parallel .wm2-parallel-entry+.wm2-parallel-entry{
  border:0!important;border-top:0!important;box-shadow:none!important;
}
.wm2-session.is-parallel .wm2-split-label{display:none!important}
.wm2-session.is-parallel .wm2-course{font-size:13px!important;font-weight:850!important;color:#203b50!important}
.wm2-session.is-parallel .wm2-teacher{font-size:11px!important;color:#4e7180!important}
.wm2-session.is-pair-continuation{
  background:linear-gradient(171deg,#e8f2ff 0 48.7%,#119186 49.3% 50.8%,#def5e8 51.4% 100%)!important;
  border:2px solid #2e9b8f!important;min-height:100px
}
.wm2-session.is-pair-continuation::before{display:none!important;content:none!important}
.wm2-session.is-pair-continuation .wm2-entry{background:transparent!important}
.wm2-session.is-pair-continuation .wm2-session-type{display:block!important;font-size:10px;color:#087c70!important}
html[data-theme="dark"] .wm2-session.is-parallel,
body[data-theme="dark"] .wm2-session.is-parallel{
  background:linear-gradient(171deg,#243d5b 0 48.6%,#37b4a7 49.1% 50.7%,#204b42 51.2% 100%)!important
}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-course,
body[data-theme="dark"] .wm2-session.is-parallel .wm2-course{color:#f2f9ff!important}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-teacher,
body[data-theme="dark"] .wm2-session.is-parallel .wm2-teacher{color:#d8e7ee!important}
html[data-theme="dark"] .wm2-session.is-pair-continuation,
body[data-theme="dark"] .wm2-session.is-pair-continuation{
  background:linear-gradient(171deg,#243d5b 0 48.7%,#37b4a7 49.3% 50.8%,#204b42 51.4% 100%)!important
}


/* AdaMehr: separate true 2-entry split from pair continuation -- 2026-10-21 */
.wm2-session.is-pair-continuation:not(.is-parallel) {
  background: var(--wm2-paper, #f0f8f6) !important;
  border: 1px solid var(--wm2-line, #b3d7d2) !important;
  border-inline-start: 3px solid var(--wm2-accent, #138d81) !important;
  box-shadow: none !important;
  min-height: 90px;
}
.wm2-session.is-pair-continuation:not(.is-parallel)::before {
  display: none !important;
  content: none !important;
}
.wm2-session.is-pair-continuation:not(.is-parallel) .wm2-entry {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.wm2-session.is-parallel {
  background: linear-gradient(171deg,#e6efff 0% 48.6%,#138f88 49.1% 50.7%,#def4e7 51.2% 100%) !important;
}
html[data-theme="dark"] .wm2-session.is-pair-continuation:not(.is-parallel),
body[data-theme="dark"] .wm2-session.is-pair-continuation:not(.is-parallel) {
  background: var(--wm2-paper, #1b3036) !important;
  border-color: var(--wm2-line, #334b50) !important;
}

/* Two distinct, equally sized lesson rows inside ONE bell. */
.wm2-session.is-parallel .wm2-parallel-entry{flex:1 1 50%!important;min-height:70px!important}
.wm2-session.is-parallel .wm2-half-label{display:block!important;font-size:10px!important;font-weight:800!important;color:#216b82!important;letter-spacing:0!important;margin-bottom:5px!important}
.wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(2) .wm2-half-label{color:#0a7769!important}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-half-label,body[data-theme="dark"] .wm2-session.is-parallel .wm2-half-label{color:#ccedf6!important}


/* Split-cell correction: ONE bell has TWO HORIZONTAL rows, not a diagonal. */
.wm2-session.is-parallel {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:0!important;
  padding:0!important;
  min-height:156px!important;
  overflow:hidden!important;
  border:1px solid #aac7c9!important;
  border-radius:12px!important;
  background:none!important;
  background-image:none!important;
}
.wm2-session.is-parallel .wm2-session-type,
.wm2-session.is-parallel .wm2-split-label {display:none!important}
.wm2-session.is-parallel .wm2-parallel-entry,
.wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(even) {
  display:flex!important;
  flex:1 1 50%!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:76px!important;
  margin:0!important;
  padding:12px 10px!important;
  border:0!important;
  box-shadow:none!important;
  text-align:center!important;
  background:#e8f0ff!important;
}
.wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(2) {
  border-top:4px solid #168e82!important;
  background:#ddf3e8!important;
}
.wm2-session.is-parallel .wm2-half-label {display:block!important;font-size:11px!important;font-weight:850!important;color:#326299!important}
.wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(2) .wm2-half-label {color:#087b70!important}
.wm2-session.is-parallel .wm2-course {font-weight:900!important;font-size:13px!important}
.wm2-session.is-parallel .wm2-teacher {font-size:11px!important}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry,
body[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry {
  background:#253e58!important;
}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(2),
body[data-theme="dark"] .wm2-session.is-parallel .wm2-parallel-entry:nth-of-type(2) {
  background:#205047!important;border-top-color:#6cdec5!important;
}
html[data-theme="dark"] .wm2-session.is-parallel .wm2-course,
html[data-theme="dark"] .wm2-session.is-parallel .wm2-teacher,
body[data-theme="dark"] .wm2-session.is-parallel .wm2-course,
body[data-theme="dark"] .wm2-session.is-parallel .wm2-teacher {color:#edf8fb!important}


/* Clear action for a single real lesson that can be split into two rows. */
.wm2-split-trigger{
 display:inline-flex;justify-content:center;align-items:center;
 min-height:30px;width:100%;margin-top:8px;padding:5px 8px;
 border:1px dashed #0b9989;border-radius:8px;
 color:#087a6e;background:rgba(9,155,143,.055);
 font:750 10px/1.5 "Vazirmatn",Tahoma,sans-serif;
 cursor:pointer;white-space:normal;text-align:center
}
.wm2-split-trigger:hover,.wm2-split-trigger:focus-visible{
 outline:2px solid #0c8d81;outline-offset:1px;background:rgba(9,155,143,.13)
}
.wm-split-guidance{
 margin:8px 0 12px;padding:12px 14px;
 background:#e8f5f1;color:#145e54;border:1px solid #aad7cd;
 border-radius:11px;font:700 12px/1.85 "Vazirmatn",Tahoma,sans-serif
}
html[data-theme="dark"] .wm2-split-trigger,body[data-theme="dark"] .wm2-split-trigger{
 color:#b2f0df;background:#193e3a;border-color:#47c6b1
}
html[data-theme="dark"] .wm-split-guidance,body[data-theme="dark"] .wm-split-guidance{
 background:#1a403b;color:#d8f9ef;border-color:#3a857b
}
@media print{
 .wm2-split-trigger,.wm-split-guidance{display:none!important}
}


/* Split-mode modal: one unambiguous action for two real lessons. */
#weekly-matrix-modal.wm-split-mode #wm-save,
#weekly-matrix-modal.wm-split-mode #wm-double,
#weekly-matrix-modal.wm-split-mode #wm-lock,
#weekly-matrix-modal.wm-split-mode #wm-delete {
  display:none!important;
}
#weekly-matrix-modal .wm-split-box.wm-split-active {
  padding:16px!important;
  border:1px solid #79b7ae!important;
  border-radius:14px!important;
  background:rgba(12,145,128,.045)!important;
}
#weekly-matrix-modal .wm-split-box.wm-split-active .wm-actions {
  display:flex!important;
  justify-content:stretch!important;
  margin-top:12px!important;
}
#weekly-matrix-modal .wm-split-primary {
  display:block!important;
  width:100%!important;
  min-height:46px!important;
  padding:12px 18px!important;
  background:#078b7d!important;
  color:#fff!important;
  border:1px solid #05695e!important;
  border-radius:11px!important;
  font-weight:850!important;
  font-size:13px!important;
  text-align:center!important;
  opacity:1!important;
  cursor:pointer!important;
  box-shadow:0 8px 18px rgba(5,126,113,.13)!important;
}
#weekly-matrix-modal .wm-split-primary:hover {background:#087569!important}
#weekly-matrix-modal .wm-split-primary:disabled {opacity:.58!important;cursor:progress!important}
#weekly-matrix-modal .wm-split-invalid {
  border:2px solid #c64c4c!important;
  box-shadow:0 0 0 3px rgba(198,76,76,.13)!important;
}
#weekly-matrix-modal.wm-split-mode .wm-split-guidance {
  font-size:12px!important;
  line-height:1.9!important;
}
html[data-theme="dark"] #weekly-matrix-modal .wm-split-box.wm-split-active,
body[data-theme="dark"] #weekly-matrix-modal .wm-split-box.wm-split-active {
  background:rgba(10,145,130,.1)!important;
  border-color:#397d77!important;
}


/* In-context readiness checklist: compact, RTL-friendly and unobtrusive. */
.wm2-prerequisites{margin:0 0 14px;padding:15px 17px;border:1px solid #eccd9e;border-radius:14px;background:#fff9ed;color:#65451d;font-family:"Vazirmatn",Tahoma,sans-serif}
.wm2-prerequisites[hidden]{display:none!important}
.wm2-prereq-heading{display:flex;gap:8px;align-items:baseline;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.wm2-prereq-heading strong{font-size:14px;line-height:1.7}
.wm2-prereq-heading span{font-size:12px;line-height:1.7}
.wm2-prereq-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;list-style:none;padding:0;margin:0}
.wm2-prereq-item{min-width:0;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #efddc1;border-radius:10px;background:rgba(255,255,255,.7);font-size:12px;line-height:1.8}
.wm2-prereq-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#bb7926}
.wm2-prereq-title{flex:1;min-width:0}
.wm2-prereq-link{flex:none;border:1px solid #a26827;border-radius:8px;background:transparent;color:inherit;cursor:pointer;padding:6px 9px;font:750 11px/1.5 "Vazirmatn",Tahoma,sans-serif}
.wm2-prereq-link:hover,.wm2-prereq-link:focus-visible{outline:2px solid #c58a3f;outline-offset:2px;background:rgba(179,110,23,.12)}
html[data-theme="dark"] .wm2-prerequisites,body[data-theme="dark"] .wm2-prerequisites{background:#3b3126;border-color:#856343;color:#ffe1b1}
html[data-theme="dark"] .wm2-prereq-item,body[data-theme="dark"] .wm2-prereq-item{background:#352d26;border-color:#785b3e}
@media(max-width:620px){.wm2-prereq-heading{display:block}.wm2-prereq-link{white-space:normal;max-width:45%;text-align:center}}
@media print{.wm2-prerequisites{display:none!important}}

/* ---- v3: clear class timetable (days × bells), replaces the card columns ---- */
.wm3.wm2-studio{background:var(--wm2-paper);padding:16px 18px}
.wm3-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.wm3-picker{display:flex;flex-wrap:wrap;gap:10px 18px;flex:1;min-width:0}
.wm3-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.wm3-chip{font:inherit;font-size:13px;font-weight:700;min-height:36px;padding:6px 14px;border-radius:10px;border:1px solid var(--wm2-line);background:var(--wm2-paper);color:var(--wm2-ink);cursor:pointer}
.wm3-chip:hover{border-color:var(--wm2-accent)}
.wm3-chip.is-grade{background:var(--wm2-canvas);color:var(--wm2-muted);font-weight:800}
.wm3-chip.is-active{background:var(--wm2-accent);border-color:var(--wm2-accent);color:#fff}
.wm3-chip:focus-visible,.wm3-slot:focus-visible{outline:3px solid rgba(12,136,120,.35);outline-offset:2px}
.wm3-tools{display:flex;gap:8px}
.wm3-print{font:inherit;font-size:13px;font-weight:800;min-height:38px;padding:7px 18px;border-radius:10px;border:0;background:var(--wm2-ink);color:#fff;cursor:pointer}
.wm3-hint{margin:2px 0 14px;font-size:12px;color:var(--wm2-muted);line-height:1.9}
.wm3-content{display:grid;gap:22px}
.wm3-card{border:1px solid var(--wm2-line);border-radius:14px;overflow:hidden;background:var(--wm2-paper)}
.wm3-card-head{display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-bottom:1px solid var(--wm2-line)}
.wm3-card-head h4{margin:0;font-size:17px;font-weight:900;color:var(--wm2-ink)}
.wm3-grade{font-size:12px;color:var(--wm2-muted)}
.wm3-scroll{overflow-x:auto}
.wm3-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}
.wm3-table th,.wm3-table td{border:1px solid var(--wm2-line);text-align:center;vertical-align:middle}
.wm3-table thead th{background:var(--wm2-canvas);font-size:13px;font-weight:800;color:var(--wm2-ink);padding:10px 4px}
.wm3-table .wm3-day-col{width:96px;background:var(--wm2-canvas);font-size:14px;font-weight:800;color:var(--wm2-ink)}
.wm3-cell{padding:0;height:84px}
.wm3-cell.is-off{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(120,140,150,.08) 6px 12px);color:var(--wm2-muted)}
.wm3-slot{position:relative;width:100%;height:100%;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 4px 14px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.wm3-slot:hover{background:rgba(12,136,120,.06)}
.wm3-lesson{display:flex;flex-direction:column;align-items:center;gap:1px}
.wm3-course{font-size:15px;font-weight:800;color:var(--wm2-ink);line-height:1.4}
.wm3-teacher{font-size:11px;color:var(--wm2-muted)}
.wm3-slot.is-two .wm3-course{font-size:13.5px}
.wm3-divider{display:block;width:70%;border-top:1px dashed #9aa9b0;margin:3px 0}
.wm3-add{font-size:12px;color:#9aa9b0;opacity:0;transition:opacity .15s}
.wm3-slot.is-empty:hover .wm3-add,.wm3-slot.is-empty:focus-visible .wm3-add{opacity:1}
.wm3 .wm3-slot .wm3-second{position:absolute;bottom:5px;left:0;right:0;display:block;margin:0;padding:0;border:0;background:none;box-shadow:none;width:auto;min-height:0;font-size:10.5px;font-weight:700;color:var(--wm2-accent);visibility:hidden}
.wm3 .wm3-slot:hover .wm3-second,.wm3 .wm3-slot:focus-visible .wm3-second{visibility:visible}
.wm3-badge{position:absolute;top:4px;left:6px;font-size:10px;color:var(--wm2-muted)}
@media (hover:none){.wm3-add{opacity:.75}.wm3 .wm3-slot .wm3-second{visibility:visible;opacity:.75}}
@media(max-width:750px){.wm3.wm2-studio{padding:10px}.wm3-table .wm3-day-col{width:70px}.wm3-course{font-size:13px}}
.wm3 .wm3-slot .wm3-second:hover,.wm3 .wm3-slot .wm3-second:focus-visible{outline:0;background:none;text-decoration:underline}

/* ---- v3 period editor: lesson + teacher first, explicit two-lesson switch ---- */
#weekly-matrix-modal .wm-main-fields select{min-height:44px;font-size:14px}
#weekly-matrix-modal label.wm-two-toggle{display:flex!important;min-height:0!important;height:auto!important;align-items:center;gap:8px;margin:14px 0 4px;padding:10px 12px;border:1px solid var(--line,#dce7eb);border-radius:12px;cursor:pointer;font-size:14px;font-weight:700}
#weekly-matrix-modal .wm-two-toggle input{width:18px;height:18px;accent-color:#0c8878}
#weekly-matrix-modal .wm-two-toggle small{color:var(--muted,#6b8290);font-weight:500;font-size:12px}
#weekly-matrix-modal .wm-split-box{border:1px solid #9fd2c9;border-style:solid;background:rgba(12,136,120,.045);padding:12px;margin:8px 0}
#weekly-matrix-modal .wm-split-box[hidden]{display:none!important}
#weekly-matrix-modal .wm-split-box .wm-actions{margin-top:10px}
#weekly-matrix-modal .wm-split-save{width:100%;min-height:44px;font-weight:800}
#weekly-matrix-modal .wm-more{margin:12px 0 4px;border-top:1px solid var(--line,#dce7eb);padding-top:10px}
#weekly-matrix-modal .wm-more summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted,#6b8290);list-style-position:inside}
#weekly-matrix-modal .wm-more[open] summary{margin-bottom:10px}
#weekly-matrix-modal .wm-more-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#weekly-matrix-modal .wm-footer{display:flex;align-items:center;gap:8px;margin-top:14px}
#weekly-matrix-modal .wm-footer #wm-save{min-width:120px;min-height:44px}
#weekly-matrix-modal .wm-footer .wm-danger{margin-inline-start:auto;color:#b42727}
#weekly-matrix-modal.wm-split-mode .wm-footer #wm-delete:not([hidden]){display:inline-flex!important}
#weekly-matrix-modal.wm-split-mode .wm-more-actions{display:none}
#weekly-matrix-modal .wm-teacher-hint{display:block;margin-top:4px;font-size:11px;color:#0c8878}#weekly-matrix-modal .wm-teacher-hint:empty{display:none}
/* Course and teacher boxes stay on one line; the teacher hint never stretches the row. */
#weekly-matrix-modal .wm-main-fields{align-items:start!important}
#weekly-matrix-modal .wm-main-fields label{display:grid!important;grid-template-rows:auto 44px auto;align-content:start!important;gap:6px;min-height:0!important}
#weekly-matrix-modal .wm-main-fields select{height:44px!important;min-height:44px!important;align-self:start}
#weekly-matrix-modal .wm-teacher-hint{margin-top:0;line-height:1.5}
#weekly-matrix-modal label.wm-two-toggle{padding:8px 12px!important;margin:12px 0 4px!important;line-height:1.6!important;grid-template-rows:none!important}#weekly-matrix-modal label.wm-two-toggle>*{margin:0!important}
