/* app/style.screens.css — עיצוב המסכים ונקודות השבירה */

/* ── מסכים ──
   ── כניסה ── */
@media (hover:hover){
  .auth-btn:hover{background:var(--deep-1)}
}
#auth-screen{position:fixed;inset:0;background:linear-gradient(160deg,var(--deep-2),var(--brand-fill),var(--deep-1));display:flex;align-items:center;justify-content:center;z-index:var(--z-7);flex-direction:column}
#auth-screen.hidden{display:none}
.auth-box{background:var(--card);border-radius:var(--r-6);padding:var(--sp-7) var(--sp-7);width:90%;max-width:340px;box-shadow:0 20px 60px var(--sh-3);text-align:center}
.auth-logo{width:72px;height:72px;margin:0 auto var(--sp-6);border-radius:var(--r-5);overflow:hidden;background:var(--card-2);display:flex;align-items:center;justify-content:center}
.auth-logo img{width:100%;height:100%;object-fit:contain}
.auth-title{font-size:var(--fs-5);font-weight:700;color:var(--text);margin-bottom:var(--sp-2)}
.auth-sub{font-size:var(--fs-3);color:var(--text-3);margin-bottom:var(--sp-7)}
.auth-field{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-6);text-align:right}
.auth-field label{font-size:var(--fs-3);font-weight:600;color:var(--text-2)}
.auth-field input{border:2px solid var(--border);border-radius:var(--r-4);padding:var(--sp-5) var(--sp-6);font-family:Heebo;font-size:var(--fs-4);outline:none;transition:border var(--dur-3);direction:rtl}
.auth-field input#auth-pass{direction:ltr;text-align:center;letter-spacing:var(--ls-3);font-size:var(--fs-5)}
.auth-field input:focus{border-color:var(--brand)}
.auth-btn{width:100%;background:var(--brand-fill);color:var(--on-dark);border:none;border-radius:var(--r-4);padding:var(--sp-5);font-family:Heebo;font-size:var(--fs-4);font-weight:700;cursor:pointer;margin-top:var(--sp-3);transition:background var(--dur-3)}
.auth-btn:active{background:var(--deep-1)}
.auth-btn:disabled{opacity:var(--op-3);cursor:default}
.auth-err{color:var(--bad);font-size:var(--fs-3);margin-top:var(--sp-4);min-height:18px}
.switch-err{font-size:var(--fs-3);color:var(--bad);min-height:18px}
.switch-name{font-weight:700;color:var(--brand-ink);font-size:var(--fs-4);margin-bottom:var(--sp-2);text-align:center}
.switch-pass{border:2px solid var(--border);font-family:Heebo;font-size:var(--fs-5);letter-spacing:var(--ls-3);margin-bottom:var(--sp-4);padding:var(--sp-5);border-radius:var(--r-3);text-align:center;width:100%}
.switch-sub{font-size:var(--fs-3);color:var(--text-3);margin-bottom:var(--sp-6);text-align:center}
/* ── ראשי ── */
@media (hover:hover){
  .mod:hover{border-color:var(--color,var(--brand-ink));box-shadow:var(--shadow-lg);transform:translateY(-2px)}
}
@media (hover:hover){
  .mod:hover::before{width:6px}
}
@media (hover:hover){
  .mod:hover .mod-ic{transform:scale(1.08)}
}
#pg-home{min-height:calc(100vh - 76px);background:linear-gradient(160deg,var(--bg),var(--bg) 50%,var(--bg))}
.hero{background:linear-gradient(135deg,var(--deep-2),var(--brand-fill),var(--deep-1));color:var(--on-dark);padding:var(--sp-7) var(--sp-7) var(--sp-7);position:relative;overflow:hidden}
.hero-date{font-size:var(--fs-3);opacity:var(--op-5);margin-bottom:var(--sp-3)}
.hero-title{font-size:var(--fs-6);font-weight:700;margin-bottom:var(--sp-2)}
.hero-sub{font-size:var(--fs-4);opacity:var(--op-6)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}
.stat{padding:var(--sp-6) var(--sp-7);text-align:center;border-left:1px solid var(--border)}
.stat:last-child{border-left:none}
.stat .n{font-size:var(--fs-6);font-weight:700;color:var(--brand-ink)}
.stat .l{font-size:var(--fs-2);color:var(--text-2);margin-top:var(--sp-2)}
.mods-wrap{padding:var(--sp-7) var(--sp-7) var(--sp-7)}
/* קוביות הסיכום של היום — מתחת למודולים: אייקון בגוון, מספר גדול ותווית */
.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-5)}
/* קובייה: תווית ואייקון בשורה העליונה, המספר הגדול, ושורת הקשר קטנה; פס צבע דק בראש הקובייה */
.kpi{--c:var(--brand-ink);background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-5);box-shadow:var(--shadow);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:var(--c);opacity:.85}
.kpi-ok{--c:var(--ok)}.kpi-bad{--c:var(--bad)}.kpi-info{--c:var(--info)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}
.kpi-ic{width:36px;height:36px;border-radius:var(--r-7);display:flex;align-items:center;justify-content:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);flex-shrink:0}
.kpi-ic .ico{width:18px;height:18px;margin:0;display:block}
.kpi-n{font-size:calc(var(--fs-6) * 1.35);font-weight:800;color:var(--c);line-height:var(--lh-1);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.kpi-brand .kpi-n{color:var(--text)}
.kpi-l{font-size:var(--fs-3);color:var(--text);font-weight:700}
.kpi-sub{font-size:var(--fs-1);color:var(--text-3);font-weight:500}
.mods-lbl{font-size:var(--fs-3);font-weight:600;color:var(--text-2);margin-bottom:var(--sp-6);display:flex;align-items:center;gap:var(--sp-5);text-transform:uppercase;letter-spacing:var(--ls-1)}
.mods-lbl::before{content:"";width:3px;height:16px;background:var(--brand-fill);border-radius:var(--r-1);display:inline-block}
.mods{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}
.mod{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-5);padding:var(--sp-7) var(--sp-7);cursor:pointer;display:flex;align-items:flex-start;gap:var(--sp-6);transition:all var(--dur-3);box-shadow:var(--shadow);text-align:right;position:relative;overflow:hidden}
.mod::before{content:"";position:absolute;top:0;right:0;width:4px;height:100%;background:var(--color,var(--brand-fill));border-radius:0 var(--r-5) var(--r-5) 0;transition:width var(--dur-3)}
.mod-ic{width:48px;height:48px;border-radius:var(--r-4);background:var(--icbg,var(--bg));display:flex;align-items:center;justify-content:center;font-size:var(--fs-6);flex-shrink:0;transition:transform var(--dur-3)}
.mod-info{flex:1}
.mod-name{font-size:var(--fs-4);font-weight:700;color:var(--text);margin-bottom:var(--sp-2)}
.mod-desc{font-size:var(--fs-2);color:var(--text-3);line-height:var(--lh-3)}
/* מובייל-תחילה: ברירת המחדל היא הרשת הצרה, ורק ההרחבה נכתבת בשאילתה */
.mods{grid-template-columns:repeat(2,1fr)}
.stats{grid-template-columns:repeat(2,1fr)}
.mods-wrap{padding:0 var(--sp-6);padding-bottom:calc(var(--tabbar-h) + var(--sp-6) + env(safe-area-inset-bottom,0px))}
.kpi-wrap{padding:var(--sp-6)}
.hero{padding:var(--sp-6) var(--sp-6) var(--sp-7)}
.hero-title{font-size:var(--fs-5)}
.stats{grid-template-columns:repeat(2,1fr)}
.stat{padding:var(--sp-5) var(--sp-4)}
.stat .n{font-size:var(--fs-6)}
.mods{grid-template-columns:1fr;gap:var(--sp-5)}
.mod{padding:var(--sp-6) var(--sp-6);gap:var(--sp-5);width:100%}
.mod-ic{width:48px;height:48px;font-size:var(--fs-5);border-radius:var(--r-4)}
.mod-name{font-size:var(--fs-4)}
.mod-desc{font-size:var(--fs-3)}
.mods-lbl{font-size:var(--fs-2);margin-bottom:var(--sp-5)}
.alert-lead{font-size:var(--fs-3);color:var(--text-2);margin-bottom:var(--sp-4)}
.alert-th{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-bottom:var(--sp-5)}
.alert-th span{font-size:var(--fs-2);color:var(--text-2);background:var(--card-2);border-radius:var(--r-7);padding:var(--sp-1) var(--sp-5)}
.alert-list{max-height:55vh;overflow-y:auto;border-top:1px solid var(--border);margin:0 calc(-1 * var(--sp-7));padding:0 var(--sp-7)}
.alert-row{display:flex;align-items:center;gap:var(--sp-5);border-bottom:1px solid var(--border);padding:var(--sp-4) 0}
.alert-row:last-child{border-bottom:none}
.alert-who{flex:1;min-width:0;display:flex;flex-direction:column}
.alert-who b{font-size:var(--fs-3);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alert-who span{font-size:var(--fs-1);color:var(--text-3)}
.alert-pills{display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2)}
.alert-pill{font-size:var(--fs-2);border-radius:var(--r-7);padding:0 var(--sp-5);white-space:nowrap;border:1px solid transparent;color:var(--text-3)}
.alert-pill-bad{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}
.alert-pill-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-line)}
.mod-tone-bad{--color:var(--bad);--icbg:var(--bad-soft)}
.mod-tone-brand{--color:var(--brand-fill);--icbg:var(--info-soft)}
.mod-tone-ok{--color:var(--ok);--icbg:var(--ok-soft)}
.mod-tone-warn{--color:var(--warn);--icbg:var(--warn-soft)}
.modal-ok{flex:1}
.stat-bad{color:var(--bad)}
.stat-ok{color:var(--ok)}
.status-pick-bad{align-items:center;display:flex;gap:var(--sp-5);border:2px solid var(--bad-line);background:var(--bad-soft);color:var(--bad);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;padding:var(--sp-6) var(--sp-6);border-radius:var(--r-5);text-align:right}
.status-pick-lbl{font-size:var(--fs-3);color:var(--text-3);margin-bottom:var(--sp-7)}
.status-pick-ok{align-items:center;display:flex;gap:var(--sp-5);border:2px solid var(--ok-line);background:var(--ok-soft);color:var(--ok);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;padding:var(--sp-6) var(--sp-6);border-radius:var(--r-5);text-align:right}
.status-pick-warn{align-items:center;display:flex;gap:var(--sp-5);border:2px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;padding:var(--sp-6) var(--sp-6);border-radius:var(--r-5);text-align:right}
.status-choice-list{display:flex;gap:var(--sp-5);flex-direction:column}
.status-head-row{align-items:center;display:flex;gap:var(--sp-4)}
.mod-tone-info{--color:var(--info);--icbg:var(--info-soft)}
/* ── מצבת ── */
.class-tabs{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:var(--sp-5) 0}
/* שבבי הסינון לפי שיעור (hrFilterChips) — שורה אחת שנגללת לצד, כל השבבים ברוחב אחד ובצבע האפליקציה; הנבחר — רקע רך ומסגרת, והתג מלא. */
.fchips{display:flex;gap:var(--sp-3);margin:var(--sp-5) 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px}
.fchips::-webkit-scrollbar{display:none}
.fchip{flex:0 0 112px;display:flex;align-items:center;justify-content:center;gap:var(--sp-3);height:36px;padding:0 var(--sp-4);
  border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text-2);font-family:inherit;font-size:var(--fs-2);font-weight:700;cursor:pointer;white-space:nowrap}
.fchip-n{min-width:20px;padding:0 6px;border-radius:999px;background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-1);font-weight:700;line-height:18px;text-align:center}
.fchip.on{background:var(--brand-soft);border-color:var(--brand-ink);box-shadow:inset 0 0 0 1px var(--brand-ink);color:var(--brand-ink)}
.fchip.on .fchip-n{background:var(--brand-fill);color:var(--on-brand)}
.fchip:focus-visible{outline:2px solid var(--brand-ink);outline-offset:2px}
.cls-badge{font-size:var(--fs-2);background:var(--info-soft);color:var(--info);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-5);white-space:nowrap}
.cycle-badge{font-size:var(--fs-2);background:var(--bg);color:var(--text-2);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-5);white-space:nowrap}
.deact-note{font-size:var(--fs-3);background:var(--warn-soft);color:var(--warn);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3)}
.deact-sel{font-size:var(--fs-3);border:1.5px solid var(--border);direction:rtl;font-family:Heebo;margin-bottom:var(--sp-6);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3);width:100%}
.hist-cancelled{font-size:var(--fs-2);font-weight:700;background:var(--border);color:var(--text-3);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-7)}
.hist-card-head{align-items:center;display:flex;gap:var(--sp-4);margin-bottom:var(--sp-3)}
.hist-card{border:1.5px solid var(--ty-line);background:var(--ty-bg);margin-bottom:var(--sp-4);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-5)}
.hist-err{font-size:var(--fs-3);color:var(--warn);padding:var(--sp-7);text-align:center}
.hist-mark{font-weight:700;flex:1;color:var(--at)}
.hist-meta{font-size:var(--fs-2);color:var(--text-3);margin-top:var(--sp-3)}
.import-done{color:var(--text-2);font-size:var(--fs-4);line-height:var(--lh-5);text-align:center}
.import-err{color:var(--bad)}
.import-fail-list{margin-top:var(--sp-2);font-size:var(--fs-3);direction:rtl}
.import-fail{color:var(--bad);margin-top:var(--sp-3)}
.import-file{display:none}
.inactive-tab{font-size:var(--fs-2);color:var(--text-3);padding:var(--sp-3) var(--sp-5)}
.is-inactive{opacity:var(--op-3)}
.st-activate{font-size:var(--fs-2);border:1.5px solid var(--ok-line);background:var(--ok-soft);color:var(--ok);cursor:pointer;font-family:Heebo;font-weight:600;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-6);white-space:nowrap}
.st-add-row{display:flex;justify-content:center;margin:0 0 var(--sp-6)}
.st-attend{align-items:center;border:none;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;display:inline-flex;font-size:var(--fs-5);font-weight:300;height:32px;justify-content:center;line-height:var(--lh-1);border-radius:var(--r-7);width:32px}
.st-class-sel{border:1px solid var(--border);margin:var(--sp-3) 0 var(--sp-5);padding:var(--sp-4);border-radius:var(--r-2);width:100%}
.st-edit{align-items:center;border:none;background:var(--bg);color:var(--brand-ink);cursor:pointer;display:inline-flex;font-size:var(--fs-4);height:28px;justify-content:center;border-radius:var(--r-3);width:28px}
.st-err{font-size:var(--fs-3);color:var(--bad);min-height:18px;text-align:right}
.st-history-btn{border:1.5px solid var(--brand-fill);background:var(--card);color:var(--brand-ink);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;margin-bottom:var(--sp-2);padding:var(--sp-5);border-radius:var(--r-4);width:100%}
.st-row-act{flex-shrink:0}
.st-row-off{align-items:center;display:flex;gap:var(--sp-5);border-bottom:1px solid var(--border);opacity:var(--op-6);padding:var(--sp-4) var(--sp-5)}
.st-row-tools{align-items:center;display:flex;flex-shrink:0;gap:var(--sp-3)}
.st-form-input{border:1px solid var(--border);direction:rtl;margin:var(--sp-3) 0 var(--sp-5);padding:var(--sp-4);border-radius:var(--r-2);width:100%}
/* ── סדרים ──
   hover רק במכשיר עם ריחוף — במגע הוא נשאר על הרכיב אחרי הלחיצה
   כלל ריחוף יושב ליד רכיבו — בסוף הגיליון הוא גובר על .active ו-:active באותה סגוליות */
@media (hover:hover){
  .sess-pick-btn:hover{background:var(--info-soft)}
}
@media (hover:hover){
  .sup-card:hover{box-shadow:var(--shadow);border-color:var(--brand-ink)}
}
.abs-active{font-size:var(--fs-2);font-weight:700;background:var(--ty-line);color:var(--ty);color:var(--ty);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-7)}
.abs-add{margin-top:var(--sp-2);border:1.5px solid var(--brand-fill);background:var(--card);color:var(--brand-ink);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;padding:var(--sp-5);border-radius:var(--r-4);width:100%}
.abs-cancelled{opacity:var(--op-6)}
.abs-cancel{font-size:var(--fs-2);border:1.5px solid var(--bad-line);background:var(--bad-soft);color:var(--bad);cursor:pointer;font-family:Heebo;font-weight:600;padding:var(--sp-2) var(--sp-5);border-radius:var(--r-3)}
.abs-card-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--sp-3)}
.abs-card{border:1.5px solid var(--ty-line);background:var(--ty-bg);margin-bottom:var(--sp-5);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-5)}
.abs-future{font-size:var(--fs-2);font-weight:700;background:var(--info-soft);color:var(--info);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-7)}
.abs-ico{font-size:var(--fs-5)}
.abs-type-head{font-size:var(--fs-3);font-weight:700;color:var(--ty);margin-bottom:var(--sp-4)}
.arc-day-body{padding-right:var(--sp-4)}
.arc-day-head{align-items:center;display:flex;font-size:var(--fs-3);color:var(--brand-ink);cursor:pointer;font-weight:600;gap:var(--sp-4);margin-bottom:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-2);user-select:none}
.arc-day-plain{border:1px solid var(--border);background:var(--card-2)}
.arc-day-today{border:1px solid var(--warn-line);background:var(--warn-soft)}
.arc-day{margin-bottom:var(--sp-4)}
.arc-head-lbl{flex:1}
.arc-mark{color:var(--at);font-weight:600}
.arc-month-body{padding-right:var(--sp-4)}
.arc-month{margin-bottom:var(--sp-5)}
.arc-today{color:var(--warn)}
.arc-year-body{padding-right:var(--sp-3)}
.arc-year{margin-bottom:var(--sp-6)}
.at-count{font-weight:600;color:var(--text);display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}
.at-dot{width:9px;height:9px;border-radius:var(--r-7);background:var(--at);display:inline-block;flex-shrink:0}
.late-min-inp{font-size:var(--fs-2);border:1.5px solid var(--border);font-family:Heebo;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-2);width:80px}
.mark-btn{font-size:var(--fs-3);font-weight:700;cursor:pointer;font-family:Heebo;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3);transition:all var(--dur-2);display:inline-flex;align-items:center;justify-content:center}
.mark-btn .ico{width:1.25em;height:1.25em;stroke-width:2.2}
.mark-line{align-items:center;display:flex;border:1.5px solid var(--border);flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-4)}
.mark-pick{font-size:var(--fs-3);font-weight:700;cursor:pointer;font-family:Heebo;padding:var(--sp-4) var(--sp-6);border-radius:var(--r-3);white-space:nowrap}
.mark-row-on{background:var(--card-2)}
.mark-row{background:var(--card)}
.pill-absent{justify-content:center;min-width:84px;align-items:center;font-size:var(--fs-2);border:1.5px solid var(--bad-line);background:var(--bad-soft);color:var(--bad);display:inline-flex;font-weight:600;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-7);white-space:nowrap}
.pill-present{justify-content:center;min-width:84px;align-items:center;font-size:var(--fs-2);border:1.5px solid var(--ok-line);background:var(--ok-soft);color:var(--ok);display:inline-flex;font-weight:600;gap:var(--sp-3);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-7);white-space:nowrap}
.reason-add-bad{font-size:var(--fs-3);border:1.5px dashed var(--bad-line);background:none;color:var(--bad);cursor:pointer;font-family:Heebo;margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3);width:100%}
.reason-add-ok{font-size:var(--fs-3);border:1.5px dashed var(--ok-line);background:none;color:var(--ok);cursor:pointer;font-family:Heebo;margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3);width:100%}
.reason-add-warn{font-size:var(--fs-3);border:1.5px dashed var(--warn-line);background:none;color:var(--warn);cursor:pointer;font-family:Heebo;margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3);width:100%}
.reason-cols{display:grid;gap:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:var(--sp-4)}
.reason-head-bad{font-size:var(--fs-3);color:var(--bad);font-weight:600;margin-bottom:var(--sp-4)}
.reason-head-ok{font-size:var(--fs-3);color:var(--ok);font-weight:600;margin-bottom:var(--sp-4)}
.reason-head-warn{font-size:var(--fs-3);color:var(--warn);font-weight:600;margin-bottom:var(--sp-4)}
.rec-abs{color:var(--info)}
.rec-last{margin-top:var(--sp-2)}
.rec-late{color:var(--warn)}
.rec-main{flex:1}
.rec-muted{color:var(--text-2)}
.sess-edit-row-gap{margin-bottom:var(--sp-1)}
.sess-edit-row{align-items:center;display:flex;gap:var(--sp-3);margin-bottom:var(--sp-1)}
.sup-nav-off{cursor:default;opacity:var(--op-1)}
.sup-nav{border:none;background:none;color:var(--brand-ink);cursor:pointer;font-size:var(--fs-5);padding:var(--sp-2) var(--sp-5)}
.treat-add{margin-bottom:var(--sp-6)}
.treat-type{font-weight:600}
.at-code{--at:var(--text-3)}
.mark-off{background:var(--card);color:var(--text-2);border:2px solid var(--border)}
.mark-on{background:var(--card);color:var(--at);border:2px solid var(--at);box-shadow:0 0 0 2px var(--at);transform:scale(1.06)}
.sup-card{transition:box-shadow var(--dur-2),border-color var(--dur-2)}
.abs-tone{--ty:var(--text);--ty-line:var(--border);--ty-bg:var(--card-2)}
.abs-tone-off{--ty:var(--text-3);--ty-line:var(--border);--ty-bg:var(--card-2)}
.rec-title{font-weight:700;font-size:var(--fs-4)}
.sess-field{font-size:var(--fs-3);flex:1;border:1.5px solid var(--border);font-family:Heebo;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3)}
.sess-pick-btn{padding:var(--sp-4) var(--sp-7);background:var(--bg);border:2px solid var(--border);border-radius:var(--r-4);
  font-family:Heebo;font-size:var(--fs-4);font-weight:700;color:var(--brand-ink);cursor:pointer;transition:background var(--dur-3)}
.reason-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.rec-date{font-size:var(--fs-3);opacity:var(--op-7)}
.sess-list{display:flex;flex-direction:column;gap:var(--sp-4);margin-bottom:var(--sp-5)}
.at-pull-warn{font-size:var(--fs-3);border:1.5px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);display:none;margin-bottom:var(--sp-5);padding:var(--sp-4) var(--sp-6);border-radius:var(--radius)}
.at-pull-warn.on{display:block}
.at-reg-bar{align-items:center;display:flex;gap:var(--sp-5);background:var(--brand-fill);color:var(--on-brand);margin-bottom:var(--sp-6);padding:var(--sp-5) var(--sp-6);border-radius:var(--radius)}
.at-reg-bar-info{align-items:center;display:flex;flex:1;gap:var(--sp-5)}
.at-close-btn{font-size:var(--fs-3);font-weight:700;border:1.5px solid var(--on-brand-edge);background:var(--on-brand-wash);color:var(--on-brand);cursor:pointer;font-family:Heebo;flex-shrink:0;padding:var(--sp-4) var(--sp-7);border-radius:var(--r-3);white-space:nowrap}
.abs-type-label{font-weight:700;color:var(--ty);font-size:var(--fs-4)}
.abs-reason{font-size:var(--fs-3);color:var(--text-2);margin-bottom:var(--sp-2)}
.abs-dates{font-size:var(--fs-2);color:var(--text-3);line-height:var(--lh-5)}
.day-sess-block{border-top:1.5px solid var(--border);margin-top:var(--sp-6);padding-top:var(--sp-6)}
.day-sess-title{font-size:var(--fs-2);color:var(--text-2);font-weight:600;margin-bottom:var(--sp-4)}
/* עמודה אחת לשם בכל השורות — הסיכום מתחיל בקו אחיד, לפי השם הארוך (ועד 40% מהרוחב) */
.day-sess-list{display:grid;grid-template-columns:fit-content(40%) minmax(0,1fr) auto;row-gap:var(--sp-3)}
.day-sess-row{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:center;column-gap:var(--sp-5);border:1.5px solid var(--border);background:var(--bg);cursor:pointer;padding:var(--sp-4) var(--sp-6);border-radius:var(--r-3)}
.day-sess-name{font-size:var(--fs-3);font-weight:700;color:var(--brand-ink)}
.day-sess-date{font-size:var(--fs-2);font-weight:400;color:var(--text-3)}
.day-sess-summary{display:flex;font-size:var(--fs-3);direction:rtl;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5)}
.day-sess-edit{font-size:var(--fs-3);color:var(--brand-ink);flex-shrink:0;font-weight:600}
.abs-reason-blk{font-size:var(--fs-3);color:var(--text-2);margin-bottom:var(--sp-3)}
.abs-dates-blk{font-size:var(--fs-2);color:var(--text-3);line-height:var(--lh-5)}
.at-clear-btn{font-size:var(--fs-2);border:1.5px dashed var(--border);background:none;color:var(--text-3);cursor:pointer;font-family:Heebo;margin-right:var(--sp-1);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-2)}
.mark-hint{font-size:var(--fs-2);color:var(--text-3);margin-right:var(--sp-2)}
.late-field{align-items:center;display:inline-flex;gap:var(--sp-2);margin-right:var(--sp-3)}
.late-input{font-size:var(--fs-3);border:1.5px solid var(--warn);font-family:Heebo;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-2);text-align:center;width:54px}
.late-ok-btn{font-size:var(--fs-2);font-weight:700;border:1.5px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);cursor:pointer;font-family:Heebo;padding:var(--sp-2) var(--sp-5);border-radius:var(--r-2)}
.at-row-class{font-size:var(--fs-3);font-weight:700;color:var(--text-3);text-align:center;width:22px}
.at-row-name{font-size:var(--fs-3);flex:1;font-weight:600;min-width:80px}
.at-row-marks{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.at-group-sep{align-items:center;display:flex;font-size:var(--fs-2);color:var(--text-3);font-weight:600;gap:var(--sp-4);margin:var(--sp-5) 0 var(--sp-4)}
.arc-year-head{align-items:center;display:flex;font-weight:700;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;font-size:var(--fs-4);gap:var(--sp-4);margin-bottom:var(--sp-5);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-4);user-select:none}
.arc-year-chev{font-size:var(--fs-3);opacity:var(--op-4)}
.arc-month-head{align-items:center;display:flex;font-size:var(--fs-3);font-weight:700;background:var(--bg);color:var(--brand-ink);cursor:pointer;gap:var(--sp-4);margin-bottom:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3);user-select:none}
.arc-month-chev{font-size:var(--fs-2);opacity:var(--op-4)}
.arc-day-count{font-size:var(--fs-2);color:var(--text-2);font-weight:400}
.arc-day-chev{font-size:var(--fs-1);opacity:var(--op-3)}
.arc-sess-card{border:1.5px solid var(--border);background:var(--card);margin-bottom:var(--sp-3);overflow:hidden;border-radius:var(--r-3)}
.arc-sess-head{align-items:center;display:flex;gap:var(--sp-5);cursor:pointer;padding:var(--sp-4) var(--sp-5)}
.arc-sess-name{font-size:var(--fs-3);font-weight:700;flex:1;color:var(--brand-ink)}
.arc-sess-summary{align-items:center;display:flex;font-size:var(--fs-3);direction:rtl;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5)}
.arc-sess-del{border:none;background:none;color:var(--bad);cursor:pointer;padding:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}
.arc-sess-body{background:var(--card);border-top:1px solid var(--border);padding:var(--sp-5) var(--sp-6)}
.arc-mark-row{display:flex;font-size:var(--fs-3);border-bottom:1px solid var(--border);justify-content:space-between;padding:var(--sp-2) 0}
.sup-nav-bar{align-items:center;display:flex;border:1.5px solid var(--border);background:var(--card);gap:var(--sp-3);margin-bottom:var(--sp-6);padding:var(--sp-5) var(--sp-6);border-radius:var(--radius)}
.sup-nav-label{font-weight:700;flex:1;color:var(--brand-ink);font-size:var(--fs-4);text-align:center}
.sup-card-pane{border:1.5px solid var(--border);background:var(--card);overflow:hidden;border-radius:var(--radius)}
.sup-card-head{align-items:center;display:flex;gap:var(--sp-5);cursor:pointer;padding:var(--sp-5) var(--sp-6)}
.sup-card-class{font-size:var(--fs-3);font-weight:700;color:var(--text-3);width:22px}
.sup-card-stats{align-items:center;display:flex;font-size:var(--fs-3);flex-wrap:wrap;gap:var(--sp-4)}
.sup-detail-btn{font-size:var(--fs-2);font-weight:700;border:1.5px solid var(--border);background:var(--bg);color:var(--brand-ink);cursor:pointer;font-family:Heebo;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-3)}
.sup-chev-icon{color:var(--text-3);font-size:var(--fs-4);margin-right:var(--sp-1);transform:rotate(0deg);transition:transform var(--dur-3)}
.sup-chev-icon.open{transform:rotate(90deg)}
.sup-card-body{border-top:1px solid var(--border);padding:var(--sp-6)}
.treat-select{font-size:var(--fs-3);border:1.5px solid var(--border);font-family:Heebo;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3)}
.treat-note-input{font-size:var(--fs-3);flex:1;border:1.5px solid var(--border);font-family:Heebo;min-width:140px;padding:var(--sp-3) var(--sp-5);border-radius:var(--r-3)}
.treat-save-btn{font-size:var(--fs-3);border:none;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;font-family:Heebo;padding:var(--sp-3) var(--sp-6);border-radius:var(--r-3)}
.treat-row{align-items:center;display:flex;font-size:var(--fs-3);border-bottom:1px solid var(--border);gap:var(--sp-4);padding:var(--sp-3) 0}
.treat-del-btn{border:none;background:none;color:var(--bad);cursor:pointer;padding:0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}
.mark-hist-row{align-items:center;display:flex;font-size:var(--fs-3);border-bottom:1px solid var(--border);direction:rtl;gap:var(--sp-4);padding:var(--sp-4) 0}
.mark-hist-dow{color:var(--text-2);min-width:54px}
.mark-hist-date{color:var(--text);min-width:90px}
.mark-hist-sess{color:var(--brand-ink);font-weight:600;min-width:60px}
.mark-edit-btn{font-size:var(--fs-2);border:1.5px solid var(--border);background:none;color:var(--brand-ink);cursor:pointer;font-family:Heebo;padding:var(--sp-1) var(--sp-4);border-radius:var(--r-2)}
.at-code-a{--at:var(--at-a)}
.at-code-ak{--at:var(--at-ak)}
.at-code-ap{--at:var(--at-ap)}
.at-code-e{--at:var(--at-e)}
.at-code-l{--at:var(--at-l)}
.at-code-lk{--at:var(--at-lk)}
.at-code-lm{--at:var(--at-lm)}
.at-code-p{--at:var(--at-p)}
.at-code-x{--at:var(--at-x)}
.abs-tone-approved{--ty:var(--ok);--ty-line:var(--ok-line);--ty-bg:var(--ok-soft)}
.abs-tone-left{--ty:var(--warn);--ty-line:var(--warn-line);--ty-bg:var(--warn-soft)}
.abs-tone-suspended{--ty:var(--bad);--ty-line:var(--bad-line);--ty-bg:var(--bad-soft)}
/* ── בבנייה ── */
.soon-note{font-size:var(--fs-3);color:var(--text-2);line-height:var(--lh-4);text-align:center}
.soon-ok{flex:1;border:none;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);padding:var(--sp-5) var(--sp-7);border-radius:var(--r-3)}
.soon-pane{padding:var(--sp-7) var(--sp-7);text-align:center}
.soon-icon{font-size:var(--fs-7);margin-bottom:var(--sp-5)}
.soon-title{font-weight:700;color:var(--brand-ink);font-size:var(--fs-4);margin-bottom:var(--sp-4)}
.soon-text{font-size:var(--fs-3);color:var(--text-2)}
/* ── הגדרות ── */
@media (hover:hover){
  .ua button:hover{border-color:var(--brand-ink);color:var(--brand-ink)}
}
@media (hover:hover){
  .pt tr:hover td{background:var(--card-2)}
}
#pg-settings .ss{background:var(--card);border-radius:var(--r-5);padding:var(--sp-6);margin-bottom:var(--sp-6);border:1px solid var(--border)}
#pg-settings .ss-t{font-size:var(--fs-4);font-weight:700;color:var(--brand-ink);margin-bottom:var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.ur{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--border)}
.ur:last-child{border-bottom:none}
.ur.dragging{opacity:var(--op-3)}
.grip{color:var(--text-3);font-size:var(--fs-4);touch-action:none;cursor:grab}
.grip:active{cursor:grabbing;color:var(--brand-ink)}
.ur-name{flex:1;font-weight:600;font-size:var(--fs-3)}
.ur-role{font-size:var(--fs-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-6);font-weight:600}
.role-admin{background:var(--warn-soft);color:var(--warn)}
.role-manager{background:var(--info-soft);color:var(--info)}
.role-junior{background:var(--ok-soft);color:var(--ok)}
.ua{display:flex;gap:var(--sp-3)}
.ua button{border:1px solid var(--border);background:var(--card);border-radius:var(--r-3);padding:var(--sp-3) var(--sp-4);cursor:pointer;font-size:var(--fs-2);font-family:Heebo;transition:all var(--dur-2)}
.pt{width:100%;border-collapse:collapse;font-size:var(--fs-3)}
.pt th{background:var(--brand-fill);color:var(--on-dark);padding:var(--sp-4) var(--sp-4);font-weight:600;text-align:center}
.pt th:first-child{text-align:right}
.pt td{padding:var(--sp-4) var(--sp-4);border-bottom:1px solid var(--border);text-align:center}
.pt td:first-child{text-align:right;font-weight:500}
.ps{border:1px solid var(--border);border-radius:var(--r-2);padding:var(--sp-2) var(--sp-3);font-family:Heebo;font-size:var(--fs-2);cursor:pointer;outline:none}
.ps:focus{border-color:var(--brand-ink)}
.set-box{border:1.5px solid var(--border);background:var(--card);max-width:400px;padding:var(--sp-6);border-radius:var(--radius)}
.set-stack{display:flex;flex-direction:column;gap:var(--sp-6)}
.set-tiles{display:grid;gap:var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:var(--sp-4)}
.um-edit{color:var(--brand-ink);font-weight:600}
.um-pass-hint{font-size:var(--fs-2);color:var(--text-3);margin-top:calc(-1 * var(--sp-4))}
.um-pass{font-size:var(--fs-5);letter-spacing:var(--ls-3);text-align:center}
.um-role{border:2px solid var(--border);font-family:Heebo;font-size:var(--fs-4);padding:var(--sp-5);border-radius:var(--r-3);width:100%}
.um-username{direction:ltr}
.users-empty{color:var(--warn)}
.year-danger{font-size:var(--fs-3);background:var(--bad-soft);color:var(--bad);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3)}
.year-go{font-weight:700;flex:1;border:1.5px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);cursor:pointer;font-family:Heebo;padding:var(--sp-4);border-radius:var(--r-3)}
.year-note{font-size:var(--fs-3);color:var(--text-2);line-height:var(--lh-4);margin-bottom:var(--sp-6)}
.set-module-tile{align-items:center;display:flex;gap:var(--sp-5);border:2px solid var(--border);background:var(--card);cursor:pointer;flex-direction:column;font-family:Heebo;padding:var(--sp-7) var(--sp-6);border-radius:var(--r-5);box-shadow:var(--shadow);transition:all var(--dur-3)}
.set-module-label{font-size:var(--fs-3);color:var(--brand-ink);font-weight:600}
.set-back-btn{align-items:center;font-size:var(--fs-3);border:1.5px solid var(--border);background:none;color:var(--text-2);cursor:pointer;display:inline-flex;font-family:Heebo;line-height:var(--lh-1);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-6)}
.cfg-card{border:1.5px solid var(--border);background:var(--card);padding:var(--sp-6);border-radius:var(--radius)}
.cfg-row-input{font-size:var(--fs-3);border:1.5px solid var(--border);font-family:Heebo;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-3);width:112px}

/* ── נקודות שבירה ──
   כל ערך כאן מחליף את ברירת המחדל הצרה מעל נקודת השבירה שלו, ואינו מוסיף עליה */
@media (min-width:640px){
  .nb{padding:var(--sp-4) var(--sp-5)}
}
@media (min-width:640px){
  header{height:60px}
}
@media (min-width:640px){
  .logo{width:46px;height:46px}
}
@media (min-width:900px){
  :root{--toast-bottom:26px}
}
@media (min-width:900px){
  .inner{padding:var(--sp-7) var(--sp-7)}
}
@media (min-width:900px){
  .mods-wrap{padding:0 var(--sp-7) var(--sp-7)}
  .kpi-wrap{padding:var(--sp-7)}
}
}
@media (min-width:900px){
  .hero{padding:var(--sp-7) var(--sp-7) var(--sp-7)}
}
@media (min-width:900px){
  .hero-title{font-size:var(--fs-6)}
}
@media (min-width:900px){
  .stat{padding:var(--sp-6) var(--sp-7)}
}
@media (min-width:900px){
  .stat .n{font-size:var(--fs-6)}
  .kpis{grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
}
@media (min-width:900px){
  header{height:76px;padding:0 var(--sp-7)}
}
@media (min-width:900px){
  .logo{width:60px;height:60px}
  .logo.hdr-logo{display:block}
  .hdr-logo-w{display:none}
}
@media (min-width:900px){
  .hdiv{display:block}
}
@media (min-width:900px){
  .htxt{display:block;font-size:var(--fs-3)}
}
@media (min-width:900px){
  .htxt strong{font-size:var(--fs-4)}
}
@media (min-width:900px){
  .htxt span{font-size:inherit}
}
@media (min-width:900px){
  .hl{gap:var(--sp-6)}
}
@media (min-width:900px){
  nav{display:flex;gap:var(--sp-2);flex-wrap:wrap;overflow-x:visible;scrollbar-width:auto}
}
@media (min-width:900px){
  .nb{padding:var(--sp-4) var(--sp-5);font-size:var(--fs-3);gap:var(--sp-3);min-height:auto;flex-shrink:1}
}
@media (min-width:900px){
  .bottom-nav{display:none}
}
@media (min-width:900px){
  .mods{grid-template-columns:repeat(2,1fr);gap:var(--sp-6)}
}
@media (min-width:900px){
  .mod{padding:var(--sp-7) var(--sp-7);gap:var(--sp-6);width:auto}
}
@media (min-width:900px){
  .mod-ic{font-size:var(--fs-6)}
}
@media (min-width:900px){
  .mod-name{font-size:var(--fs-4)}
}
@media (min-width:900px){
  .mod-desc{font-size:var(--fs-2)}
}
@media (min-width:900px){
  .mods-lbl{font-size:var(--fs-3);margin-bottom:var(--sp-6)}
}
@media (min-width:900px){
  .ptitle{font-size:var(--fs-5);margin-bottom:var(--sp-7)}
}
@media (min-width:900px){
  table{font-size:inherit}
}
@media (min-width:900px){
  th{padding:var(--sp-5) var(--sp-6);font-size:var(--fs-3)}
}
@media (min-width:900px){
  td{padding:var(--sp-5) var(--sp-6);font-size:var(--fs-4)}
}
@media (min-width:900px){
  .btn{padding:var(--sp-4) var(--sp-7);font-size:var(--fs-3);min-height:auto}
}
@media (min-width:1200px){
  .mods{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1200px){
  .stats{grid-template-columns:repeat(4,1fr)}
}

.sup-sum{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-5)}
.sup-sum-3{grid-template-columns:repeat(3,1fr)}
.sup-sum-4{grid-template-columns:repeat(4,1fr)}
.sup-sum-cell{align-items:center;display:flex;flex-direction:column;gap:var(--sp-1);border:1.5px solid var(--border);background:var(--card-2);padding:var(--sp-4) var(--sp-3);border-radius:var(--r-3);text-align:center}
.sup-sum-n{color:var(--at,var(--text));font-size:var(--fs-6);font-weight:800;line-height:var(--lh-1)}
.sup-sum-l{font-size:var(--fs-2);color:var(--text-2)}
.sup-sum-4 .sup-sum-cell{padding:var(--sp-3) var(--sp-2);background:transparent}
.sup-sum-4 .sup-sum-n{font-size:var(--fs-4);font-weight:700}
.sup-sum-4 .sup-sum-l{font-size:var(--fs-1)}

/* ── רשימת התלמידים — טבלה: מספר · שם · שיעור · מצב · פעולות ── */
.st-table{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-5);overflow:hidden;box-shadow:var(--shadow)}
.st-th,.st-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}
.st-th{background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-2);font-weight:700;border-bottom:1.5px solid var(--border)}
.st-th.hidden{display:none}
.st-row{border-bottom:1px solid var(--border);background:var(--card)}
.st-row:last-child{border-bottom:none}
.st-num{font-size:var(--fs-2);color:var(--text-3);text-align:center;font-variant-numeric:tabular-nums}
.st-row-main{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0;align-items:flex-start}
.st-row-name{background:none;border:none;padding:0;font-family:Heebo;font-size:var(--fs-4);font-weight:600;color:var(--brand-ink);cursor:pointer;text-align:right;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--brand-ink) 30%,transparent);text-underline-offset:3px}
.st-sub-cls{font-size:var(--fs-1);color:var(--text-3)}
.st-c-cls{display:none;font-size:var(--fs-3);color:var(--text-2)}
.st-th > .st-c-cls{font-size:var(--fs-2);color:inherit}
@media (hover:hover){
  .st-row:hover{background:var(--card-2)}
  .st-row-name:hover{text-decoration-color:currentColor}
}
@media (min-width:640px){
  .st-th,.st-row{grid-template-columns:36px minmax(0,1fr) 110px 120px auto;padding:var(--sp-4) var(--sp-6)}
  .st-c-cls,.st-th > .st-c-cls{display:block}
  .st-sub-cls{display:none}
}
/* הסיכום — ארבעה תאים */
.st-summary{margin:var(--sp-5) 0}
.st-summary-on{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-5);box-shadow:var(--shadow);padding:var(--sp-5) var(--sp-4)}
.sum-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.sum-cell{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);border-left:1px solid var(--border);text-align:center}
.sum-cell:last-child{border-left:none}
.sum-n{font-size:var(--fs-6);font-weight:800;line-height:var(--lh-1);color:var(--text)}
.sum-tot .sum-n{color:var(--info)}.sum-ok .sum-n{color:var(--ok)}.sum-warn .sum-n{color:var(--warn)}.sum-bad .sum-n{color:var(--bad)}
.sum-l{font-size:var(--fs-2);color:var(--text-2)}

/* בורר הסדרים — אריחים בגודל אחד, ברשת; שורה שאינה מלאה נגמרת באותו קו */
.sess-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-4)}
.sess-grid .sess-pick-btn{width:100%;min-height:48px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;line-height:var(--lh-2)}
@media (max-width:520px){ .sess-grid{grid-template-columns:repeat(2,1fr)} }

/* ההשגחה — אריח לכל תלמיד, ברשת; אריח שנפתח לטיפול תופס את כל השורה */
.sup-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4);grid-auto-flow:row dense}
.sup-tiles .sup-card{display:flex;flex-direction:column}
@media (min-width:640px){ .sup-tiles{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:900px){ .sup-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-5)} }
.sup-tiles .sup-card:has(.sup-card-body:not(.hidden)){grid-column:1/-1}
.sup-tiles .sup-card-head{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-3);flex:1;padding:var(--sp-5)}
.sup-tiles .sup-card:has(.sup-card-body:not(.hidden)) .sup-card-head{flex:none}
.sup-tiles .sup-card:has(.sup-card-body:not(.hidden)) .rec-main{flex:none}
.sup-tile-top{display:flex;align-items:center;justify-content:space-between}
.sup-tiles .sup-card-class{width:auto;font-size:var(--fs-1);font-weight:700;color:var(--info);background:var(--info-soft);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-5)}
.sup-tiles .sup-chev-icon{color:var(--text-3);display:inline-flex}
.sup-tiles .sup-chev-icon .ico{width:16px;height:16px}
.sup-tiles .rec-main{flex:1;min-height:0}
.sup-tiles .rec-title{font-size:var(--fs-4);font-weight:700;line-height:var(--lh-2)}
.sup-tiles .sup-card-stats{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:var(--sp-3);flex-wrap:nowrap}
.sup-st{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);background:var(--card-2);border-radius:var(--r-3);padding:var(--sp-3) var(--sp-2)}
.sup-st b{font-size:var(--fs-5);font-weight:800;line-height:var(--lh-1);color:var(--text)}
.sup-st span{font-size:var(--fs-1);color:var(--text-2)}
.sup-st-abs b{color:var(--at-e)}
.sup-st-late b{color:var(--at-l)}
.sup-tiles .sup-detail-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3)}
.sup-tiles .sup-chev-icon.open{transform:rotate(180deg)}

/* ── מבחנים ── */
.ex-info{border:1.5px solid var(--border);background:var(--card);margin-bottom:var(--sp-6);padding:var(--sp-6);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--sp-4)}
.ex-material{width:100%;font-family:Heebo;font-size:var(--fs-3);border:1.5px solid var(--border);border-radius:var(--r-3);padding:var(--sp-3) var(--sp-4);background:var(--card);color:var(--text);resize:vertical}
.ex-files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}
.ex-file{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);border:1.5px dashed var(--border);border-radius:var(--r-3);padding:var(--sp-3) var(--sp-4)}
.ex-file-lbl{flex:1;font-size:var(--fs-2);font-weight:600;color:var(--text-2);min-width:90px}
.ex-file-open,.ex-file-up,.ex-scan-up,.ex-scan-open{display:inline-flex;align-items:center;gap:var(--sp-2);font-family:Heebo;font-size:var(--fs-2);font-weight:600;border:1.5px solid var(--border);background:var(--card-2);color:var(--brand-ink);border-radius:var(--r-3);padding:var(--sp-2) var(--sp-4);cursor:pointer;white-space:nowrap}
.ex-file-open .ico,.ex-file-up .ico,.ex-scan-up .ico,.ex-scan-open .ico{width:15px;height:15px}
.ex-report-tog{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-3);font-weight:600;color:var(--text)}
.ex-report-tog input{width:18px;height:18px;accent-color:var(--brand-fill)}
.ex-row{display:grid;grid-template-columns:22px minmax(0,1fr) 64px auto;grid-template-areas:"c n g scan";align-items:center;gap:var(--sp-3) var(--sp-4);border:1.5px solid var(--border);background:var(--card);margin-bottom:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-4)}
.ex-row .at-row-class{grid-area:c}
.ex-row .at-row-name{grid-area:n}
.ex-grade::-webkit-inner-spin-button,.ex-grade::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ex-grade{grid-area:g;-moz-appearance:textfield;width:64px;text-align:center;font-family:Heebo;font-size:var(--fs-4);font-weight:700;border:1.5px solid var(--border);border-radius:var(--r-3);padding:var(--sp-2);color:var(--text);background:var(--card)}
.ex-scan{grid-area:scan;display:flex;gap:var(--sp-2);justify-content:flex-end}
.ex-row-done{background:var(--card-2)}
.ex-row-done .ex-grade{border-color:var(--ok-line);color:var(--ok)}
.ex-scan-open{color:var(--ok);border-color:var(--ok-line)}
.ex-in-report{font-size:var(--fs-1);font-weight:700;color:var(--info);background:var(--info-soft);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-5)}
@media (max-width:520px){ .ex-files{grid-template-columns:1fr} }

/* ── התיק האישי ── */
.file-form{display:flex;flex-direction:column;gap:var(--sp-3);border:1.5px solid var(--border);border-radius:var(--r-4);padding:var(--sp-5);background:var(--card-2);margin-bottom:var(--sp-5)}
.file-form-row{display:flex;align-items:center;gap:var(--sp-4)}
.file-form-row input{flex:1}
.file-form-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}
.file-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.file-ev{border:1.5px solid var(--border);border-radius:var(--r-4);padding:var(--sp-4) var(--sp-5);background:var(--card)}
.file-ev-head{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-2)}
.file-ev-date{font-weight:700;color:var(--brand-ink);font-size:var(--fs-3)}
.file-ev-by{flex:1;font-size:var(--fs-2);color:var(--text-3)}
.file-ev-text{font-size:var(--fs-3);color:var(--text);white-space:pre-wrap;line-height:var(--lh-3)}

/* ── הארכיון (סדרים · שינה · מבחנים) — שנה ככותרת, חודש ככרטיס, יום כשורה ברשימה, סדר כמשבצת בתוך היום ── */
.arc-year{margin-bottom:var(--sp-7)}
.arc-year-head{background:none;color:var(--brand-ink);font-size:var(--fs-5);font-weight:800;padding:var(--sp-3) var(--sp-2);margin-bottom:var(--sp-4);border-radius:0;border-bottom:2px solid var(--border)}
.arc-year-chev{opacity:var(--op-5)}
.arc-year-body,.arc-month-body,.arc-day-body{padding-right:0}
.arc-month{background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-5);box-shadow:var(--shadow);overflow:hidden;margin-bottom:var(--sp-5)}
.arc-month-head{background:var(--brand-soft);color:var(--brand-ink);font-size:var(--fs-4);margin:0;padding:var(--sp-4) var(--sp-6);border-radius:0}
.arc-month-body{padding:var(--sp-2) 0}
.arc-day{margin:0;border-bottom:1px solid var(--border)}
.arc-day:last-child{border-bottom:none}
.arc-day-head{margin:0;padding:var(--sp-4) var(--sp-6);border:none;border-radius:0;background:none;color:var(--text);font-weight:600}
.arc-day-plain{border:none;background:none}
.arc-day-today{border:none;background:none;box-shadow:inset -4px 0 0 var(--brand-fill)}
.arc-today{color:var(--on-brand);background:var(--brand-fill);font-size:var(--fs-1);font-weight:700;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-5);margin-inline-start:var(--sp-2)}
.arc-day-count{font-size:var(--fs-1);color:var(--text-3);background:var(--card-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-5);margin-inline-start:var(--sp-2)}
.arc-day-body{padding:0 var(--sp-5) var(--sp-4)}
.arc-sess-card{background:var(--card-2);border:1px solid var(--border);border-radius:var(--r-4);margin-bottom:var(--sp-3)}
.arc-sess-head{padding:var(--sp-4) var(--sp-5);gap:var(--sp-4);flex-wrap:wrap}
.arc-sess-name{flex:0 0 auto;min-width:96px}
.arc-sess-summary{flex:1}
.arc-sess-del{opacity:var(--op-5)}
@media (hover:hover){ .arc-sess-del:hover{opacity:1} .arc-day-head:hover{background:var(--card-2)} }
.arc-sess-body{background:var(--card);border-radius:0 0 var(--r-4) var(--r-4)}
.arc-mark-row{padding:var(--sp-3) 0}

.hc-day-off{opacity:.35;cursor:default}
.inact-search{margin-bottom:var(--sp-4)}
.inact-list{max-height:55vh;overflow:auto;border-radius:var(--r-3)}
