/* app/style.css — עיצוב האפליקציה: אסימונים, בסיס, קליפה ורכיבים */

/* ── אסימוני העיצוב ── */
:root{
  /* מרחק הטוסט מתחתית המסך — הערך היחיד שנבדל בשכבת הטוסט; מתחת לנקודת השבירה של הסרגל התחתון הוא מעליו */
  --toast-bottom:calc(var(--tabbar-h) + var(--sp-6));
  --col:1100px;
  /* צבע הזהות של האפליקציה — רכיב שמייצג אותה נגזר ממנו ולא מדיו הטקסט, והדיו שעליו צמד הפוך שמתחלף איתו */
  --brand:var(--brand-fill); --on-brand:#ffffff;

--on-brand-edge:rgba(255,255,255,.4);--bad:#c53030;--bad-line:#feb2b2;--bad-soft:#fff5f5;--warn:#c08a0b;--warn-line:#fbd38d;--warn-soft:#fffbeb;--ok:#2f855a;--ok-line:#9ae6b4;--ok-soft:#f0fff4;--info:#2b6cb0;--info-soft:#ebf4ff;
/* גווני הסימון — ארבעה בלבד: נוכח ירוק · איחורים צהוב · חיסור והיעדרות אדום · באישור, בבית ומנוחה כחול; אסימון לכל קוד */
--at-p:var(--ok);--at-l:var(--warn);--at-lk:var(--warn);--at-lm:var(--warn);--at-e:var(--bad);--at-x:var(--bad);--at-ap:var(--info);--at-ak:var(--info);--at-a:var(--info);
/* מניפת המודולים — גווני קור מאותה משפחה: כחול כהה · כחול · תכלת · טורקיז · סגול-כחול · אפור-כחול */
--brand-ink:#1a3a6b;--brand-fill:#1a3a6b;--brand-soft:#e8eef8;--deep-1:#234a8a;--deep-2:#0f2347;--bg:#f0f4fa;--card:#fff;--card-2:#f0f4fa;--on-brand-wash:rgba(255,255,255,.13);--border:#d8e2f0;--text:#1a2340;--text-2:#4a5568;--text-3:#8a97b0;--radius:var(--r-4);--shadow:0 2px 8px rgba(26,58,107,.1);--shadow-lg:0 4px 20px rgba(26,58,107,.16);--shadow-brand:rgba(26,58,107,.18);--shadow-brand-soft:rgba(26,58,107,.1)}

/* ── הערכה הכהה ── */
@media (prefers-color-scheme:dark){
    :root{
      --on-brand:#ffffff;

      --bg:#0d151d; --card:#131e29; --card-2:#0d151d;
      --on-brand-edge:rgba(255,255,255,.4);
      --bad:#ff9d9d; --bad-line:#5c2323; --bad-soft:#2b1616;
      --warn:#f6d365;   --warn-line:#5c3c18;   --warn-soft:#2b2012;
      --ok:#84dba6;     --ok-line:#1f4d35;     --ok-soft:#12251c;
      --info:#93c3f7;   --info-soft:#111d2a;
      --on-brand-wash:rgba(255,255,255,.13);
      --text:#e8eef5; --text-2:#c2cfdc; --text-3:#93a5b8;
      --border:#24333f;
      --brand-ink:#7fb2f0; --brand-fill:#1a3a6b; --brand-soft:#111d2a;
      --deep-1:#234a8a; --deep-2:#0f2347;
      --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.28);
      --shadow-lg:0 12px 40px rgba(0,0,0,.5);
      --shadow-brand:rgba(0,0,0,.5); --shadow-brand-soft:rgba(0,0,0,.35);
    }
}

/* ── בסיס ── */
*{box-sizing:border-box;margin:0;padding:0}
/* ברירת המחדל של הדפדפן היא ריבוע כחול שמופיע במגע בלבד — ומי שבודק בעכבר אינו רואה אותו. */
body{-webkit-tap-highlight-color:transparent}
body{font-family:Heebo,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;direction:rtl}
@media (hover:hover){
  tr:hover td{background:var(--card-2)}
}
table{width:100%;border-collapse:collapse}
thead{background:linear-gradient(135deg,var(--brand-fill),var(--deep-1))}
th{color:var(--on-dark);font-weight:600;padding:var(--sp-5) var(--sp-6);text-align:right;font-size:var(--fs-3)}
td{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);font-size:var(--fs-4);vertical-align:middle}
tr:last-child td{border-bottom:none}
input[type=date],input[type=month]{padding:var(--sp-4) var(--sp-5);background:var(--card);border:1.5px solid var(--border);border-radius:var(--r-6);color:var(--text);font-family:Heebo;font-size:var(--fs-3);cursor:pointer}
input[type=date]:focus,input[type=month]:focus{outline:none;border-color:var(--brand-ink)}
table{font-size:var(--fs-3)}
th{padding:var(--sp-4) var(--sp-5);font-size:var(--fs-2)}
td{padding:var(--sp-4) var(--sp-5)}

/* ── קליפה ──
   שורש הקליפה (shell) אינו תיבה — הוא נושא את מצב החשיפה, והכותרת הדביקה והסרגל ממשיכים להתנהג כילדי body */
#shell{display:contents}
header{background:linear-gradient(135deg,var(--deep-2),var(--brand-fill),var(--deep-1));padding:0 var(--sp-7);display:flex;align-items:center;justify-content:space-between;height:76px;box-shadow:0 3px 16px var(--sh-2);position:sticky;top:0;z-index:var(--z-2)}
.hl{display:flex;align-items:center;gap:var(--sp-6)}
.logo{width:60px;height:60px;object-fit:contain;border-radius:var(--r-5);background:var(--card);padding:var(--sp-2);}
.hdiv{width:1px;height:48px;background:var(--fill-dark)}
.htxt{color:var(--on-dark-2);font-size:var(--fs-3);line-height:var(--lh-3)}
.htxt strong{display:block;font-size:var(--fs-4);color:var(--on-dark);font-weight:700}
nav{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end}
.nb{background:none;border:none;color:var(--on-dark-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-2);cursor:pointer;font-family:Heebo;font-size:var(--fs-3);font-weight:500;display:flex;align-items:center;gap:var(--sp-3);transition:all var(--dur-3);white-space:nowrap}
@media (hover:hover){
  .nb:hover{background:var(--on-brand-wash);color:var(--on-brand)}
}
.nb.on{background:var(--fill-dark);color:var(--on-dark);font-weight:600}
main{padding:0;max-width:100%;width:100%;overflow-x:hidden}
.pg{display:none;overflow-x:hidden}
.pg.on{display:block}
header{height:60px;padding:0 var(--sp-5)}
.logo{width:46px;height:46px}
.hdiv{display:none}
.htxt{font-size:var(--fs-2)}
.htxt strong{font-size:var(--fs-3)}
nav{gap:var(--sp-1);overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
.nb{padding:var(--sp-4) var(--sp-5);font-size:var(--fs-2);gap:var(--sp-2);min-height:44px;flex-shrink:0;white-space:nowrap}
.nb{padding:var(--sp-4) var(--sp-4)}
header{height:56px}
.logo{width:40px;height:40px}
.bottom-nav{display:none}
.bottom-nav{
  display:flex;
  position:fixed;
  bottom:0;left:0;right:0;
  max-width:var(--col);margin:0 auto;
  height:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));
  background:linear-gradient(135deg,var(--deep-2),var(--brand-fill));
  border-top:1px solid var(--fill-dark);
  z-index:var(--z-2);
  align-items:center;
  justify-content:space-around;
  box-shadow:0 -2px 12px var(--sh-2);
  padding:0 var(--sp-2);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.bn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  flex:1;height:100%;gap:var(--sp-2);
  background:none;border:none;
  color:var(--on-dark-3);
  font-family:Heebo;font-size:var(--fs-1);font-weight:500;
  cursor:pointer;transition:all var(--dur-3);
  padding:var(--sp-2) var(--sp-1);border-radius:var(--r-3);
  -webkit-tap-highlight-color:transparent;
}
.bn .bn-ic{font-size:var(--fs-5);line-height:var(--lh-1)}
.bn.on{color:var(--on-dark)}
.bn.on .bn-ic{transform:scale(1.15)}
.bn:active{background:var(--fill-dark)}
nav{display:none}
.hdiv{display:none}
.htxt{display:flex;font-size:var(--fs-1)}
.htxt strong{font-size:var(--fs-2)}
.htxt span{font-size:var(--fs-1)}
header{justify-content:space-between;padding:0 var(--sp-6)}
.hl{gap:var(--sp-5)}
.hdr-bh{font-size:var(--fs-1);opacity:var(--op-5)}
.logo.hdr-logo{height:58px;width:auto}
.hdr-motto{font-size:var(--fs-1);font-weight:500;opacity:var(--op-5)}
.hdr-name{font-size:var(--fs-4)}
.htxt.hdr-titles{display:flex;align-items:flex-start;flex-direction:column;gap:var(--sp-1);line-height:var(--lh-2)}
/* בכותרת — היום בשבוע קטן מעל, והתאריך העברי מתחתיו */
.hdr-dow{font-size:var(--fs-2);opacity:var(--op-6)}
.hdr-date{font-size:var(--fs-4);color:var(--on-dark);font-weight:700;white-space:nowrap}
/* במסך צר — הסמל בלבן, בלי המסגרת הלבנה; במסך רחב — הסמל במסגרת */
.logo.hdr-logo{display:none}
.hdr-logo-w{display:block;height:38px;width:auto}

/* ── רכיבים ── */
@media (hover:hover){
  .back:hover{border-color:var(--brand-ink);color:var(--brand-ink);background:var(--card-2)}
}
@media (hover:hover){
  .btn:hover{background:var(--deep-1);border-color:var(--deep-1);box-shadow:var(--shadow-lg);transform:translateY(-1px)}
}
@media (hover:hover){
  .btn.out:hover{background:var(--card-2)}
}
@media (hover:hover){
  .combo-opt:hover{background:var(--card-2)}
}
@media (hover:hover){
  #ask .sheet-ft button:hover{background:var(--card-2)}
}
@media (hover:hover){
  #ask .sheet-ft button.danger:hover{background:var(--deep-1);border-color:var(--deep-1)}
}
@media (hover:hover){
  .clr-btn:hover{border-color:var(--bad);color:var(--bad)}
}
.inner{padding:var(--sp-7) var(--sp-7);max-width:var(--col);width:100%;margin:0 auto;box-sizing:border-box;overflow-x:hidden}
.ptitle{font-size:var(--fs-5);font-weight:700;color:var(--brand-ink);display:flex;align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-7);padding-bottom:var(--sp-6);border-bottom:2px solid var(--border);flex-wrap:wrap}
.back{background:none;border:1.5px solid var(--border);color:var(--text-2);border-radius:var(--r-6);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-3);font-family:Heebo;cursor:pointer;transition:all var(--dur-3);white-space:nowrap;display:inline-flex;align-items:center;line-height:var(--lh-1)}
.gap{flex:1}
.btn{display:inline-flex;align-items:center;gap:var(--sp-4);background:var(--brand-fill);color:var(--on-dark);border:2px solid var(--brand-fill);border-radius:var(--r-6);padding:var(--sp-4) var(--sp-7);font-family:Heebo;font-size:var(--fs-3);font-weight:600;cursor:pointer;transition:all var(--dur-3);box-shadow:var(--shadow);white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:var(--op-4);cursor:default}
.btn.out{background:var(--card);color:var(--brand-ink);border-color:var(--brand-ink)}
.btn.sm{padding:var(--sp-3) var(--sp-5);font-size:var(--fs-2)}
.btn.ic{padding:0;width:44px;height:44px;min-height:44px;border-radius:50%;justify-content:center;gap:0}
.sw{position:relative;width:100%}
/* הרוחב נמדד בזמן ריצה ונכתב ב-setProperty, והכלל הזה קורא אותו; בלי מדידה נשאר רוחב ההורה */
#sw-inner{--sw-w:100%;width:var(--sw-w)}
/* ── רשימה נפתחת עם חיפוש ── */
.combo-list{--combo-gap:6px;--combo-max:240px;background:var(--card);border:1.5px solid var(--brand-ink);border-radius:var(--r-5);box-shadow:0 8px 28px var(--shadow-brand);animation:ddFade var(--dur-1) ease}
@keyframes ddFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.combo-opt{padding:var(--sp-4) var(--sp-6);gap:var(--sp-5);border-bottom:1px solid var(--border);transition:background var(--dur-1)}
.combo-opt:last-child{border-bottom:none}
.combo-opt.is-on{background:var(--card-2)}
.combo-opt:active{background:var(--card-2)}
.combo-opt:focus-visible{background:var(--card-2);outline:none}
.combo-empty{padding:var(--sp-4) var(--sp-6);font-size:var(--fs-3);color:var(--text-3)}
.combo-lbl{font-weight:600;font-size:var(--fs-3);color:var(--text)}
.combo-lbl mark{background:var(--warn-soft);border-radius:var(--r-1);padding:0 var(--sp-1);color:inherit;font-weight:700}
.combo-sub{background:var(--info-soft);color:var(--info);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-5);font-size:var(--fs-2);white-space:nowrap;flex-shrink:0}
.sw input{width:100%;padding:var(--sp-4) var(--sp-6) var(--sp-4) var(--sp-7);background:var(--card);border:1.5px solid var(--brand-ink);border-radius:var(--r-6);color:var(--text);font-family:Heebo;font-size:var(--fs-3);transition:border-color var(--dur-3),box-shadow var(--dur-3)}
.sw input::placeholder{color:var(--text-3)}
.sw input:focus{outline:none;border-color:var(--brand-ink);box-shadow:0 0 0 3px var(--shadow-brand-soft)}
.sw::before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a3a6b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none}
.veil{align-items:center;backdrop-filter:blur(2px);direction:rtl}
.sheet{background:var(--card);border-radius:var(--r-5);padding:var(--sp-7);width:92%;max-width:420px;box-shadow:0 20px 60px var(--sh-2);border-top:4px solid var(--brand-ink);max-height:85vh;overflow-y:auto}
#ask .sheet{max-width:340px}
#ask-body{font-size:var(--fs-4);color:var(--text-2)}
#ask .sheet-ft button{flex:1;display:inline-flex;align-items:center;justify-content:center;background:var(--card);color:var(--brand-ink);border:2px solid var(--brand-ink);border-radius:var(--r-6);padding:var(--sp-4) var(--sp-7);font-family:Heebo;font-size:var(--fs-3);font-weight:600;cursor:pointer;transition:all var(--dur-3)}
#ask .sheet-ft button.danger{background:var(--brand-fill);color:var(--on-dark);border-color:var(--brand-fill);box-shadow:var(--shadow)}
.sheet-hd{justify-content:space-between;margin-bottom:var(--sp-6)}
.sheet-hd h3{margin:0;font-size:var(--fs-4);font-weight:700;color:var(--brand-ink)}
.sheet-hd .x{color:var(--text-2)}
.sheet-ft{gap:var(--sp-5);margin-top:var(--sp-6)}
#modal-body label{display:block;color:var(--text-2);font-size:var(--fs-3);font-weight:600;margin-bottom:var(--sp-3)}
#modal-body input{width:100%;padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-5);background:var(--card);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:Heebo;font-size:var(--fs-3)}
#modal-body input:focus{outline:none;border-color:var(--brand-ink)}
.cs{text-align:center;padding:var(--sp-7) var(--sp-7);background:var(--card);border-radius:var(--r-5);border:1px solid var(--border);box-shadow:var(--shadow)}
.cs .ci{font-size:var(--fs-7);margin-bottom:var(--sp-6);opacity:var(--op-4)}
.cs h3{font-size:var(--fs-5);font-weight:700;color:var(--brand-ink);margin-bottom:var(--sp-4)}
.cs p{color:var(--text-2);font-size:var(--fs-4)}
.empty{color:var(--text-3);text-align:center;padding:var(--sp-7) var(--sp-5);font-size:var(--fs-3)}
.ld{text-align:center;padding:var(--sp-7);color:var(--text-3)}
/* סוף התוכן מרוחק מסרגל הניווט כראשו מהכותרת. */
.inner{padding:var(--sp-6);padding-bottom:calc(var(--tabbar-h) + var(--sp-6) + env(safe-area-inset-bottom,0px))}
.ptitle{font-size:var(--fs-5);margin-bottom:var(--sp-6)}
.btn{padding:var(--sp-5) var(--sp-6);font-size:var(--fs-3);min-height:44px}
@keyframes auth-spin{to{transform:rotate(360deg)}}
/* ספינר הכפתור העסוק — בלי טקסט, בצבע הכפתור */
.btn-spin{display:inline-block;width:18px;height:18px;vertical-align:middle;border:2.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:auth-spin .8s linear infinite}
@media (prefers-reduced-motion:reduce){.btn-spin{animation:none}}
.admin-ico{font-size:var(--fs-5);text-align:center;width:28px}
.admin-item{align-items:center;display:flex;border-bottom:1px solid var(--card-2);border:none;background:var(--card);cursor:pointer;direction:rtl;font-family:Heebo;font-size:var(--fs-4);font-weight:600;gap:var(--sp-6);padding:var(--sp-5) var(--sp-6);text-align:right;width:100%}
.admin-list{margin:0 calc(-1 * var(--sp-7)) calc(-1 * var(--sp-7))}
.avatar-btn{align-items:center;display:flex;font-size:var(--fs-3);border:1.5px solid var(--on-brand-edge);backdrop-filter:blur(4px);background:var(--on-brand-wash);color:var(--on-brand);cursor:pointer;font-family:Heebo;font-weight:600;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-6);transition:all var(--dur-3);white-space:nowrap}
.avatar-ico{font-size:var(--fs-4)}
.avatar-wrap{align-items:center;display:flex;position:relative}
.danger-strong{color:var(--bad)}
.exp-from{margin-bottom:var(--sp-6)}
.exp-to{margin-bottom:var(--sp-7)}
.hc-cal{direction:rtl;font-family:Heebo;min-width:252px;padding:var(--sp-5) var(--sp-5)}
.hc-day-btn{font-size:var(--fs-2);border:none;cursor:pointer;font-family:Heebo;padding:var(--sp-3) var(--sp-1);border-radius:var(--r-2);text-align:center}
.hc-dow-row{display:grid;grid-template-columns:repeat(7,34px);margin-bottom:var(--sp-2);text-align:center}
.hc-dow{font-size:var(--fs-2);font-weight:700;color:var(--text-3);padding:var(--sp-1) 0}
.hc-grid{display:grid;grid-template-columns:repeat(7,34px)}
.hc-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--sp-5)}
.hc-month{font-weight:700;color:var(--brand-ink);font-size:var(--fs-4)}
.hc-nav-off{cursor:default;opacity:var(--op-1)}
.hc-nav{border:none;background:none;color:var(--brand-ink);cursor:pointer;padding:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center}
.hc-pop-box{border:1.5px solid var(--border);background:var(--card);position:fixed;border-radius:var(--r-5);box-shadow:var(--shadow-lg);z-index:var(--z-5)}
.hc-time-inp{font-size:var(--fs-3);flex:1;border:1.5px solid var(--border);font-family:Heebo;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3)}
.hc-time-lbl{font-size:var(--fs-3);color:var(--text-3);white-space:nowrap}
.hc-time-row{align-items:center;display:flex;gap:var(--sp-3);margin-top:var(--sp-3)}
.hc-trigger-ico{font-size:var(--fs-3);margin-right:var(--sp-2);opacity:var(--op-3)}
.hc-trigger{align-items:center;display:flex;border:1.5px solid var(--border);background:var(--bg);box-sizing:border-box;color:var(--brand-ink);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;justify-content:space-between;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-4);transition:border-color var(--dur-2)}
.hc-wrap{position:relative}
.load-err-detail{margin-top:var(--sp-2);font-size:var(--fs-2);color:var(--text-3)}
.load-err{color:var(--bad)}
.menu-danger{color:var(--bad)}
.menu-plain{color:var(--brand-ink)}
.menu-warn{color:var(--warn)}
.mp-err{font-size:var(--fs-3);color:var(--bad);min-height:18px;text-align:right}
.mp-fld{border:2px solid var(--border);font-family:Heebo;font-size:var(--fs-5);letter-spacing:var(--ls-3);margin-bottom:var(--sp-5);padding:var(--sp-5);border-radius:var(--r-3);text-align:center;width:100%}
.mp-lbl{font-size:var(--fs-3);color:var(--text-2);display:block;font-family:Heebo;font-weight:600;margin-bottom:var(--sp-2);text-align:right}
.retry-btn{margin-top:var(--sp-5);font-size:var(--fs-3);border:none;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;font-family:Heebo;padding:var(--sp-4) var(--sp-6);border-radius:var(--r-3)}
.sf-cancel{border:1.5px solid var(--border);background:none;color:var(--text-2);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-4)}
.sf-dates{display:flex;border-top:2px solid var(--ty-line);flex-direction:column;gap:var(--sp-6);padding-top:var(--sp-6)}
.sf-end-toggle{font-size:var(--fs-3);border:1.5px solid var(--border);background:var(--bg);color:var(--brand-ink);cursor:pointer;font-family:Heebo;font-weight:600;margin-bottom:var(--sp-5);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-3)}
.sf-inp{border:1.5px solid var(--border);background:var(--card);font-family:Heebo;font-size:var(--fs-4);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3);width:100%}
.sf-lbl{font-size:var(--fs-3);color:var(--text-2);display:block;font-weight:600;margin-bottom:var(--sp-3)}
.sf-save{border:1.5px solid var(--ty-line);background:var(--ty-bg);color:var(--ty);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);font-weight:600;padding:var(--sp-4) var(--sp-7);border-radius:var(--r-4)}
.table-scroll{overflow-x:auto}
.tile-ico{font-size:var(--fs-6)}
.user-menu-empty{font-size:var(--fs-2);color:var(--text-3);padding:var(--sp-4) var(--sp-6)}
.user-menu-item{font-size:var(--fs-3);border-bottom:1px solid var(--border);border:none;background:none;color:var(--brand-ink);cursor:pointer;font-family:Heebo;font-weight:600;padding:var(--sp-5) var(--sp-6);text-align:right;width:100%}
.user-menu-lbl{font-size:var(--fs-2);color:var(--text-3);padding:var(--sp-4) var(--sp-6) var(--sp-2)}
.user-menu-logout{font-size:var(--fs-3);border:none;background:none;color:var(--bad);cursor:pointer;font-family:Heebo;font-weight:600;padding:var(--sp-5) var(--sp-6);text-align:right;width:100%}
.user-menu-name{font-weight:700;border-bottom:1px solid var(--border);color:var(--brand-ink);font-size:var(--fs-4);padding:var(--sp-5) var(--sp-6)}
.user-menu-others{border-bottom:1px solid var(--border)}
.user-menu-role{font-size:var(--fs-2);border-bottom:1px solid var(--border);color:var(--text-3);padding:var(--sp-3) var(--sp-6) var(--sp-5)}
.user-menu{background:var(--card);direction:rtl;left:0;min-width:190px;overflow:hidden;position:absolute;border-radius:var(--r-4);box-shadow:var(--shadow-lg);top:50px;z-index:var(--z-3)}
.user-switch-ico{opacity:var(--op-4)}
.user-switch{align-items:center;display:flex;font-size:var(--fs-3);border:none;background:none;color:var(--brand-ink);cursor:pointer;font-family:Heebo;gap:var(--sp-4);padding:var(--sp-4) var(--sp-6);text-align:right;width:100%}
.zebra-a{background:var(--card)}
.zebra-b{background:var(--bg)}
.hc-day{background:none;color:var(--text);font-weight:400}
.hc-day-sel{background:var(--brand-fill);color:var(--on-brand);font-weight:700}
.hc-day-today{background:var(--bg);color:var(--brand-ink);font-weight:700}
.empty-note{color:var(--text-3);padding:var(--sp-7);text-align:center}
.md-btn-ghost{flex:1;border:2px solid var(--border);background:none;cursor:pointer;font-family:Heebo;padding:var(--sp-4);border-radius:var(--r-3)}
.chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-4)}
.row-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}
.edit-row{display:flex;gap:var(--sp-3);align-items:center}
/* מיקום הלוח נמדד בפתיחה ונכתב ב-setProperty, והכלל הזה הוא היחיד שקורא אותו */
.hc-pop{--pop-top:auto;--pop-right:auto;top:var(--pop-top);right:var(--pop-right);left:auto}
#sfmT_btn.on{background:var(--bad-soft);color:var(--bad);border-color:var(--bad-line)}
.sf-end-row{display:flex;gap:var(--sp-4);flex-wrap:wrap}
#sfmN_btn.on{background:var(--brand-fill);color:var(--on-brand);border-color:var(--brand-fill)}
.md-note-center{font-size:var(--fs-3);color:var(--text-2);text-align:center}
.md-btn-primary{flex:1;border:none;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;font-family:Heebo;font-weight:600;padding:var(--sp-4);border-radius:var(--r-3)}
.filter-chip{font-size:var(--fs-2);padding:var(--sp-3) var(--sp-5)}
.field-label{font-size:var(--fs-2);color:var(--text-2);display:block;font-weight:600;margin-bottom:var(--sp-3)}
.badge-row{align-items:center;display:flex;gap:var(--sp-3)}
.unit-hint{font-size:var(--fs-2);color:var(--text-3)}
.rule-line{flex:1;background:var(--border);height:1px}
.warn-note{font-size:var(--fs-3);border:1.5px solid var(--warn-line);background:var(--warn-soft);color:var(--warn);margin-bottom:var(--sp-5);padding:var(--sp-4) var(--sp-6);border-radius:var(--radius)}
.form-label{font-size:var(--fs-3);color:var(--text-2);font-weight:600;margin-bottom:var(--sp-3)}
.loading-note{color:var(--text-2);padding:var(--sp-7);text-align:center}
.panel-head-sm{font-size:var(--fs-3);font-weight:700;color:var(--brand-ink);margin-bottom:var(--sp-4)}
.panel-head{font-weight:700;color:var(--brand-ink);font-size:var(--fs-4);margin-bottom:var(--sp-5)}
.add-dashed-btn{font-size:var(--fs-3);border:1.5px dashed var(--border);background:none;color:var(--text-2);cursor:pointer;font-family:Heebo;padding:var(--sp-4);border-radius:var(--r-3);width:100%}
.user-handle{color:var(--text-3);font-weight:400}
.card-pane{border:1.5px solid var(--border);background:var(--card);margin-bottom:var(--sp-6);padding:var(--sp-6);border-radius:var(--radius)}
.filter-row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-6);margin-bottom:var(--sp-6)}
.field-wide{flex:2;min-width:200px}
.field-narrow{flex:1;min-width:140px}
.input-full{font-size:var(--fs-3);border:1.5px solid var(--border);font-family:Heebo;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-3);width:100%}
.picker-label{font-size:var(--fs-3);color:var(--text-2);font-weight:600;margin-bottom:var(--sp-5)}
.export-row{display:flex;gap:var(--sp-4);justify-content:flex-end;margin-bottom:var(--sp-6)}
.export-xls-btn{font-size:var(--fs-3);border:1.5px solid var(--ok-line);background:var(--ok-soft);color:var(--ok);cursor:pointer;font-family:Heebo;padding:var(--sp-4) var(--sp-6);border-radius:var(--r-3)}
.export-pdf-btn{font-size:var(--fs-3);border:1.5px solid var(--bad-line);background:var(--bad-soft);color:var(--bad);cursor:pointer;font-family:Heebo;padding:var(--sp-4) var(--sp-6);border-radius:var(--r-3)}
.save-row-start{margin-top:var(--sp-6);text-align:left}
.save-row-end{display:flex;justify-content:flex-end;margin-top:var(--sp-6)}
.md-btn-ghost-lg{flex:1;border:2px solid var(--border);background:none;cursor:pointer;font-family:Heebo;padding:var(--sp-5);border-radius:var(--r-3)}
.md-btn-primary-lg{flex:1;border:none;background:var(--brand-fill);color:var(--on-brand);cursor:pointer;font-family:Heebo;font-weight:600;padding:var(--sp-5);border-radius:var(--r-3)}
.list-subtitle{font-size:var(--fs-3);color:var(--text-3)}
.cloud-loading-note{font-size:var(--fs-3);color:var(--text-3);padding:var(--sp-7);text-align:center}
.filter-caption{font-size:var(--fs-3);color:var(--text-2);white-space:nowrap}
.md-question{font-size:var(--fs-3);color:var(--text-2);margin-top:var(--sp-6)}
.md-question-warn{font-size:var(--fs-2);font-weight:700;color:var(--text-3);text-decoration:underline}
.md-btn-close{font-size:var(--fs-3);flex:1;border:1.5px solid var(--border);background:none;cursor:pointer;font-family:Heebo;padding:var(--sp-5);border-radius:var(--r-3)}
.md-btn-danger{font-size:var(--fs-3);flex:1;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-5);border-radius:var(--r-3)}
.md-hint-center{font-size:var(--fs-3);color:var(--text-3);text-align:center}
.md-btn-go{font-weight:700;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-4) var(--sp-7);border-radius:var(--r-4)}
.md-btn-cancel{font-weight:700;flex:1;border:1.5px solid var(--border);background:var(--bg);color:var(--brand-ink);cursor:pointer;font-family:Heebo;font-size:var(--fs-4);padding:var(--sp-4) var(--sp-7);border-radius:var(--r-4)}
.badge-ok{font-size:var(--fs-2);font-weight:700;background:var(--ok-soft);color:var(--ok);margin-right:var(--sp-3);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-2)}
.badge-bad{font-size:var(--fs-2);background:var(--bad-soft);color:var(--bad);margin-right:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-2)}
.badge-warn{font-size:var(--fs-2);background:var(--warn-soft);color:var(--warn);margin-right:var(--sp-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-2)}
.scroll-pane{max-height:60vh;overflow-y:auto}
/* ── אייקונים ── */
/* העובי נקבע כאן ולא ב-icon() — גוף הפונקציה אינו נערך לאפליקציה אחת. */
.ico{width:1.15em;height:1.15em;flex:none;stroke-width:1.5;vertical-align:-.22em;margin-inline-end:.4em}
/* כפתור שמרווח בעצמו (gap), אייקון בלי טקסט ותיבת אייקון — בלי מרווח נוסף. */
.nb .ico,.btn .ico,.user-switch .ico,.admin-item .ico,[aria-label] > .ico,.mod-ic .ico,.tile-ico .ico,.bn-ic .ico,
.admin-ico .ico,.abs-ico .ico,.hc-trigger-ico .ico,.user-switch-ico .ico,.avatar-ico .ico,.sup-chev-icon .ico,
.arc-year-chev .ico,.arc-month-chev .ico,.arc-day-chev .ico{margin-inline-end:0}
.nb .ico{width:18px;height:18px}
.bn-ic .ico{display:block;width:22px;height:22px;margin-inline:auto}
.mod-ic{color:var(--color,var(--brand-ink))}
.mod-tone-brand .mod-ic{color:var(--brand-ink)}
.mod-ic .ico{width:26px;height:26px}
.tile-ico{display:inline-flex;color:var(--brand-ink)}
.status-choice-list .tile-ico{color:inherit}
.tile-ico .ico{width:30px;height:30px}
.admin-ico{display:inline-flex;justify-content:center}
.admin-ico .ico,.abs-ico .ico{width:20px;height:20px}
.avatar-ico{display:inline-flex}
.avatar-ico .ico{width:18px;height:18px}
.user-switch-ico .ico{width:16px;height:16px}
.hc-nav .ico,.sup-nav .ico{width:20px;height:20px;vertical-align:middle}
.st-attend .ico{width:18px;height:18px}
.st-edit .ico{width:17px;height:17px}
.treat-del-btn .ico,.arc-sess-del .ico,.row-del-btn .ico,.at-clear-btn .ico{width:17px;height:17px;vertical-align:middle}
.sup-chev-icon{display:inline-flex}
.sup-chev-icon .ico,.arc-year-chev .ico,.arc-month-chev .ico,.arc-day-chev .ico{width:16px;height:16px;vertical-align:middle}
.hc-trigger-ico .ico{width:17px;height:17px;vertical-align:middle}
.ua button{display:inline-flex;align-items:center;justify-content:center}
.ua button .ico{width:16px;height:16px}
.ua .ua-off{color:var(--bad)}
.ua .ua-on{color:var(--ok)}
