
  #absModal { display:none; position:fixed; inset:0; background:rgba(15,23,42,0.55); z-index:21500; align-items:center; justify-content:center; padding:14px; box-sizing:border-box; }
  #absModal.ab-open { display:flex; }
  #absModal .ab-box { background:#fff; width:100%; max-width:560px; max-height:92vh; max-height:92dvh; overflow-y:auto; border-radius:16px; padding:18px 16px 16px; direction:rtl; font-family:'Heebo','Segoe UI',Tahoma,sans-serif; position:relative; box-shadow:0 24px 60px rgba(0,0,0,0.3); }
  #absModal .ab-x { position:absolute; top:12px; left:12px; border:none; background:#eef1f4; color:#475569; border-radius:8px; width:26px; height:26px; font-size:15px; font-weight:800; cursor:pointer; }
  #absModal .ab-title { font-size:17px; font-weight:900; color:var(--brand,#223041); margin-bottom:2px; }
  #absModal .ab-sub { font-size:12px; color:#6b7280; margin-bottom:12px; }
  #absModal .ab-demo { background:#fdf6e7; border:1px solid #fed7aa; color:#9a3412; border-radius:8px; padding:8px 10px; font-size:11px; line-height:1.5; margin-bottom:12px; }
  #absModal .ab-tabs { display:flex; gap:6px; margin-bottom:11px; }
  /* ארבע לשוניות בטלפון — הכיתוב מתקצר מעט כדי שהשורה תישאר קריאה. */
  #absModal .ab-tab { flex:1; padding:7px 4px; border:none; border-radius:8px; background:#eef1f4; color:#475569; font-family:inherit; font-size:11px; font-weight:800; cursor:pointer; line-height:1.3; }
  #absModal .ab-tab.on { background:var(--brand,#008354); color:#fff; }
  #absModal .ab-item { border:1px solid #e2e8e4; border-radius:10px; padding:10px 11px; margin-bottom:8px; background:#f8faf9; }
  #absModal .ab-item-head { display:flex; align-items:baseline; gap:7px; flex-wrap:wrap; }
  #absModal .ab-who { font-weight:900; font-size:13px; color:#223041; }
  #absModal .ab-when { font-size:12px; color:var(--brand,#008354); font-weight:800; }
  #absModal .ab-line { font-size:12px; color:#5b6675; margin-top:4px; line-height:1.55; }
  #absModal .ab-badge { display:inline-block; background:#eef1f4; color:#475569; border:1px solid #e2e8f0; border-radius:999px; padding:2px 9px; font-size:11px; font-weight:800; }
  #absModal .ab-badge.ab-warn { background:#fef2f2; color:#b91c1c; border-color:#fecdd3; }
  #absModal .ab-badge.ab-ok { background:#ecfdf5; color:#047857; border-color:#a7f3d0; }
  #absModal .ab-badge.ab-wait { background:#fdf6e7; color:#92400e; border-color:#fde68a; }
  #absModal .ab-private { background:#eef2ff; color:#5b21b6; border-color:#ddd6fe; }
  #absModal .ab-empty { text-align:center; color:#6b7280; font-size:12px; padding:22px 10px; }
  #absModal .ab-new { width:100%; margin-top:6px; padding:12px; border:none; border-radius:10px; background:var(--brand,#008354); color:#fff; font-family:inherit; font-size:14px; font-weight:800; cursor:pointer; }
  #absModal .ab-form { margin-top:12px; border-top:1px solid #eef1f4; padding-top:12px; }
  #absModal .ab-flabel { font-size:12px; font-weight:800; color:#334155; margin:11px 0 5px; }
  #absModal .ab-hint { font-size:11px; color:#6b7280; font-weight:600; margin-right:4px; }
  #absModal .ab-row { display:flex; gap:7px; flex-wrap:wrap; }
  #absModal input[type=date], #absModal input[type=text], #absModal select, #absModal textarea {
    flex:1; min-width:0; border:1px solid #d9e6df; border-radius:8px; padding:9px 10px; font-family:inherit; font-size:13px; direction:rtl; background:#fff; color:#223041; box-sizing:border-box; }
  #absModal textarea { width:100%; min-height:56px; resize:vertical; }
  #absModal .ab-chips { display:flex; gap:6px; flex-wrap:wrap; }
  #absModal .ab-chip { border:1px solid #d9e6df; background:#fff; border-radius:999px; padding:6px 13px; font-family:inherit; font-size:12px; font-weight:800; color:#475569; cursor:pointer; }
  #absModal .ab-chip.on { background:var(--brand,#008354); color:#fff; border-color:transparent; }
  #absModal .ab-actions { display:flex; gap:8px; margin-top:14px; }
  #absModal .ab-actions button { flex:1; padding:11px; border:none; border-radius:10px; font-family:inherit; font-size:13px; font-weight:800; cursor:pointer; }
  #absModal .ab-btn-primary { background:var(--brand,#008354); color:#fff; }
  #absModal .ab-btn-ghost { background:#eef1f4; color:#475569; }
  #absModal .ab-mini { background:none; border:none; color:#6b7280; font-family:inherit; font-size:11px; font-weight:800; cursor:pointer; padding:2px 6px; }
  #absModal .ab-mini.ab-del:hover { color:#b91c1c; }
  #absModal .ab-credit { text-align:center; margin-top:12px; font-size:9px; color:#6b7280; }
  /* שני שדות התאריך, כל אחד עם התווית שלו מעליו — בלי זה אי אפשר לדעת
     איזה מהם "מתאריך" ואיזה "עד". */
  #absModal .ab-dt { flex:1; min-width:132px; display:flex; flex-direction:column; gap:3px; }
  #absModal .ab-dt > span { font-size:11px; font-weight:800; color:#6b7280; }
  /* התזכורת נראית כבר בשעת המילוי, ולא רק אחרי השמירה. */
  #absModal .ab-remind { background:#fdf6e7; border:1px solid #fde68a; color:#92400e; border-radius:8px;
                         padding:7px 10px; font-size:11px; font-weight:800; margin-top:7px; }
  #absModal .ab-chip.on.ab-no { background:#b91c1c; }
  /* "בקשתך בטיפול" — התגית שהמורה רואה, והמשבצת שאחראית המערכת מסמנת. */
  #absModal .ab-badge.ab-handled { background:#eef2ff; color:#1d4ed8; border-color:#bfdbfe; }
  #absModal .ab-handle { display:flex; align-items:center; gap:6px; margin-top:8px;
                         font-size:12px; font-weight:800; color:#1d4ed8; cursor:pointer;
                         background:#f8faf9; border:1px solid #e2e8f0; border-radius:8px;
                         padding:7px 9px; }
  #absModal .ab-handle input { width:16px; height:16px; accent-color:#1d4ed8; cursor:pointer; margin:0; }
  #absModal .ab-handle-at { font-weight:600; color:#6b7280; font-size:11px; }
  /* דיווח שנסגר — הכרטיס נשאר קריא אבל מובחן מהפתוחים. */
  #absModal .ab-item.ab-done { background:#f8faf9; border-color:#e2e8f0; }
  #absModal .ab-badge.ab-closed { background:#ecfdf5; color:#047857; border-color:#a7f3d0; }
  #absModal .ab-mini.ab-close { color:#047857; }
  /* טווח התאריכים של הדוח */
  #absModal .ab-range { display:flex; gap:7px; align-items:flex-end; flex-wrap:wrap; margin-top:7px; }
  #absModal .ab-range label { flex:1; min-width:118px; display:flex; flex-direction:column; gap:3px;
                              font-size:11px; font-weight:800; color:#6b7280; }
  #absModal .ab-range input { width:100%; }
  /* "כל הדיווחים" הוא דוח: טבלה לקריאה, בלי פעולות על השורות. */
  #absModal .ab-rep-wrap { overflow-x:auto; border:1px solid #e2e8e4; border-radius:10px; }
  #absModal table.ab-rep { width:100%; border-collapse:collapse; font-size:11px; white-space:nowrap; }
  #absModal table.ab-rep th { background:#eef1f4; color:#334155; font-weight:900; text-align:right;
                              padding:7px 8px; border-bottom:1px solid #e2e8f0; position:sticky; top:0; }
  #absModal table.ab-rep td { padding:7px 8px; border-bottom:1px solid #eef1f4; color:#334155; vertical-align:top; }
  #absModal table.ab-rep tr:last-child td { border-bottom:0; }
  #absModal table.ab-rep tbody tr:nth-child(even) td { background:#f8faf9; }
  #absModal table.ab-rep td.w { white-space:normal; min-width:110px; }
  /* ההודעה שקופצת אחרי שמירה כשסומן "לא". z-index מעל מסך האריח. */
  #abRemindModal { display:none; position:fixed; inset:0; background:rgba(15,23,42,.6); z-index:21600;
                   align-items:center; justify-content:center; padding:20px; box-sizing:border-box; }
  #abRemindModal.on { display:flex; }
  #abRemindModal .ab-rm-box { background:#fff; width:100%; max-width:330px; border-radius:16px;
                              padding:22px 18px 16px; text-align:center; direction:rtl;
                              font-family:'Heebo','Segoe UI',Tahoma,sans-serif;
                              box-shadow:0 24px 60px rgba(0,0,0,.35); }
  #abRemindModal .ab-rm-ico { font-size:34px; line-height:1; margin-bottom:8px; }
  #abRemindModal .ab-rm-title { font-size:17px; font-weight:900; color:#92400e; margin-bottom:6px; }
  #abRemindModal .ab-rm-sub { font-size:12px; color:#5b6675; line-height:1.65; margin-bottom:14px; }
  #abRemindModal .ab-rm-ok { width:100%; padding:11px; border:none; border-radius:10px;
                             background:var(--brand,#008354); color:#fff; font-family:inherit;
                             font-size:14px; font-weight:800; cursor:pointer; }
