
    #dutyRosterView { padding: 20px 16px; }
    #dutyRosterView, #dutyRosterView * { font-family: 'Segoe UI', Tahoma, sans-serif; }
    #dutyRosterView .dr-top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
    #dutyRosterView .dr-title { font-size:1.6rem; font-weight:900; color:#008354; margin:0; white-space:nowrap; }
    #dutyRosterView .dr-btn { border:none; border-radius:10px; padding:9px 15px; font-weight:800; font-family:inherit; cursor:pointer; font-size:14px; }
    #dutyRosterView .dr-back { background:#eef1f4; color:#475569; }
    #dutyRosterView .dr-print { background:#008354; color:#fff; }
    #dutyRosterView .dr-edit { background:#eef1f4; color:#475569; }
    #dutyRosterView .dr-edit.on { background:#2e7d32; color:#fff; }
    #dutyRosterView .dr-wa { background:#25D366; color:#fff; }
    #drWaOverlay { position:fixed; inset:0; background:rgba(15,23,42,0.6); z-index:21600; display:none; align-items:center; justify-content:center; padding:12px; box-sizing:border-box; }
    #drWaOverlay .wa-box { position:relative; background:#fff; border-radius:16px; box-shadow:0 18px 50px rgba(15,23,42,0.28); width:100%; max-width:520px; max-height:92vh; max-height:92dvh; overflow-y:auto; padding:16px; box-sizing:border-box; direction:rtl; }
    #drWaOverlay .wa-row { display:flex; align-items:flex-start; gap:8px; padding:9px 0; border-bottom:1px solid #eef1f4; }
    #drWaOverlay .wa-name { font-weight:800; font-size:13px; color:#1f2937; }
    #drWaOverlay .wa-duties { font-size:11px; color:#6b7280; line-height:1.5; margin-top:2px; }
    #drWaOverlay .wa-send { flex:0 0 auto; border:none; border-radius:8px; padding:7px 12px; background:#25D366; color:#fff; font-family:inherit; font-weight:800; font-size:12px; cursor:pointer; }
    #drWaOverlay .wa-send.done { background:#eef1f4; color:#6b7280; }
    #drWaOverlay .wa-nophone { flex:0 0 auto; font-size:11px; color:#a33028; font-weight:700; padding-top:7px; }
    #dutyRosterView input.dr-name[readonly], #dutyRosterView select.dr-name[disabled], #dutyRosterView textarea.dr-loc[readonly] { background:transparent; cursor:default; opacity:.85; }
    #dutyRosterView .dr-section { background:#fff; border:1px solid #e3ead7; border-radius:14px; padding:14px; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,0.04); }
    #dutyRosterView .dr-section-title { text-align:center; font-size:1.05rem; font-weight:900; color:#008354; margin:0 0 12px; }
    #dutyRosterView table { width:100%; border-collapse:separate; border-spacing:6px; table-layout:auto; }
    #dutyRosterView #drGateTable { min-width:720px; }
    #dutyRosterView #drRosterTable { min-width:1140px; }
    #dutyRosterView #drGateTable th, #dutyRosterView #drGateTable td { min-width:130px; }
    #dutyRosterView #drRosterTable th, #dutyRosterView #drRosterTable td { min-width:160px; }
    #dutyRosterView #drRosterTable th:first-child, #dutyRosterView #drRosterTable td.dr-rowlabel { min-width:108px; width:108px; }
    #dutyRosterView th { background:#eef1f4; color:#008354; font-weight:800; font-size:12px; padding:8px 6px; border-radius:8px; text-align:center; line-height:1.25; }
    #dutyRosterView td { background:#f8faf9; border-radius:8px; padding:3px; text-align:center; }
    #dutyRosterView td.dr-rowlabel { background:#eef1f4; color:#008354; font-weight:800; font-size:12px; white-space:nowrap; }
    #dutyRosterView .dr-brktime { font-weight:600; font-size:11px; color:#5f7a52; white-space:nowrap; }
    #dutyRosterView input.dr-name, #dutyRosterView select.dr-name { width:100%; box-sizing:border-box; border:1px solid transparent; background:transparent; text-align:center; text-align-last:center; font-family:inherit; font-weight:800; font-size:14px; color:#334155; padding:8px 4px; border-radius:6px; cursor:pointer; appearance:none; -webkit-appearance:none; -moz-appearance:none; }
    #dutyRosterView input.dr-name:focus, #dutyRosterView select.dr-name:focus { border-color:#008354; background:#fff; outline:none; }
    #dutyRosterView select.dr-name[disabled] { cursor:default; }
    #dutyRosterView textarea.dr-loc { width:100%; box-sizing:border-box; border:1px solid transparent; background:transparent; resize:none; font-family:inherit; font-weight:800; font-size:12px; color:#008354; text-align:center; line-height:1.25; padding:4px 3px; border-radius:4px; overflow:hidden; }
    #dutyRosterView textarea.dr-loc:focus { border-color:#008354; background:#fff; outline:none; }
    #dutyRosterView .dr-days { display:flex; gap:5px; justify-content:center; flex-wrap:nowrap; overflow-x:auto; margin-bottom:12px; }
    #dutyRosterView .dr-day { flex:0 0 auto; white-space:nowrap; border:1px solid #cfe6ac; background:#fff; color:#008354; border-radius:999px; padding:7px 11px; font-weight:800; cursor:pointer; font-family:inherit; font-size:12px; }
    #dutyRosterView .dr-day.on { background:#008354; color:#fff; border-color:#008354; }
    #dutyRosterView .dr-hint { text-align:center; font-size:12px; color:#6b7280; margin:0 0 10px; }
    #dutyRosterView .dr-wrap { overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch; padding-bottom:10px; scrollbar-width:thin; scrollbar-color:#9cc97f #e8efe0; }
    #dutyRosterView .dr-wrap::-webkit-scrollbar { height:9px; }
    #dutyRosterView .dr-wrap::-webkit-scrollbar-track { background:#e8efe0; border-radius:999px; }
    #dutyRosterView .dr-wrap::-webkit-scrollbar-thumb { background:#9cc97f; border-radius:999px; }
    #dutyRosterView .dr-scrollhint { text-align:center; font-size:11px; color:#6b7280; margin:0 0 6px; }
    #dutyRosterView #drPrintArea { display:none; }
    #dutyRosterView .dr-ptable { width:100%; border-collapse:collapse; margin:0 0 12px; }
    #dutyRosterView .dr-ptable th, #dutyRosterView .dr-ptable td { border:1px solid #cbd5cf; padding:6px 4px; text-align:center; font-size:12px; line-height:1.2; }
    #dutyRosterView .dr-ptable th { background:#eef1f4; color:#008354; font-weight:800; }
    #dutyRosterView #drPrintArea .dr-section-title { margin:12px 0 6px; }
    /* 28.09.2026 — לוח התורנויות בצבעים של מסך הבית: כותרות בכתב יד
       ירוק, מסגרות בירוק של היומן, רקעים ירוקים בהירים במקום אפור,
       ובלי הירוק הבוהק של וואטסאפ. ההדפסה (drPrintArea) לא השתנתה. */
    #dutyRosterView .dr-title { font-family:'Gveret Levin', cursive; font-weight:400; font-size:2rem; line-height:1.4; color:#00623f; }
    #dutyRosterView .dr-section { border:1px solid #e3ead7; border-radius:16px; box-shadow:none; }
    #dutyRosterView .dr-top ~ * .dr-section-title,
    #dutyRosterView .dr-section > .dr-section-title { font-family:'Gveret Levin', cursive; font-weight:400; font-size:1.45rem; line-height:1.45; color:#00623f; }
    #dutyRosterView .dr-btn { border:1.5px solid rgba(47,158,110,.62); }
    #dutyRosterView .dr-back,
    #dutyRosterView .dr-edit { background:#fff; color:#00623f; }
    #dutyRosterView .dr-edit.on { background:#00623f; border-color:#00623f; color:#fff; }
    #dutyRosterView .dr-print { background:#00623f; border-color:#00623f; color:#fff; }
    #dutyRosterView .dr-wa { background:#e7f4ed; color:#00623f; }
    #dutyRosterView .dr-btn:hover { border-color:#2f9e6e; }
    #drWaOverlay .wa-send { background:#00623f; }
    #dutyRosterView th,
    #dutyRosterView td.dr-rowlabel { background:#e7f4ed; color:#00623f; }
    #dutyRosterView td { background:#fff; box-shadow:inset 0 0 0 1.5px rgba(47,158,110,.35); }
    #dutyRosterView td.dr-rowlabel { box-shadow:none; }
    #dutyRosterView .dr-brktime { color:#5c7468; }
    #dutyRosterView textarea.dr-loc { color:#00623f; }
    #dutyRosterView input.dr-name:focus, #dutyRosterView select.dr-name:focus,
    #dutyRosterView textarea.dr-loc:focus { border-color:#2f9e6e; }
    #dutyRosterView .dr-day { border:1.5px solid rgba(47,158,110,.62); color:#00623f; }
    #dutyRosterView .dr-day.on { background:#00623f; border-color:#00623f; color:#fff; }
    #dutyRosterView .dr-hint,
    #dutyRosterView .dr-scrollhint { color:#6b7280; }
    #dutyRosterView .dr-wrap { scrollbar-color:#9fd0b8 #e7f4ed; }
    #dutyRosterView .dr-wrap::-webkit-scrollbar-track { background:#e7f4ed; }
    #dutyRosterView .dr-wrap::-webkit-scrollbar-thumb { background:#9fd0b8; }
    #dutyRosterView #drRemBar { background:#f8faf9 !important; border-color:#e2e8e4 !important; }
    #dutyRosterView #drPrintArea .dr-section-title { font-family:'Segoe UI', Tahoma, sans-serif; font-weight:900; font-size:1.05rem; }
    @media (max-width: 700px) {
      #dutyRosterView .dr-top { flex-wrap:wrap; }
      #dutyRosterView .dr-title { flex:1; text-align:center; margin-left:52px; }
      #dutyRosterView .dr-top > div { flex:1 1 100%; flex-wrap:wrap; justify-content:center; }
      #dutyRosterView .dr-top > div .dr-btn { padding:8px 12px; font-size:13px; }
    }
    @media print {
      body * { visibility:hidden !important; }
      #drPrintArea, #drPrintArea * { visibility:visible !important; }
      #drPrintArea { display:block !important; position:absolute; left:0; top:0; width:100%; padding:0; }
    }
  