:root{--blue:#123c73;--blue2:#1d5a9b;--gold:#c89b2d;--bg:#f4f7fb;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#dbe3ee;--danger:#a92525;--ok:#177245}
*{box-sizing:border-box}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,var(--blue),#08284d)}.login-card{width:min(420px,92vw);background:#fff;padding:34px;border-radius:24px;box-shadow:0 30px 80px #0005;text-align:center}.brand-mark{width:76px;height:76px;border:4px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--blue);color:#fff;font-size:28px;font-weight:800}.brand-mark.small{width:48px;height:48px;font-size:18px;margin:0}.login-card h1{margin:0;color:var(--blue)}.login-card p{color:var(--muted)}label{display:grid;gap:7px;text-align:right;margin:14px 0;font-weight:650}input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.primary,.ghost,.danger{border:0;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:700}.primary{background:var(--blue);color:#fff}.ghost{background:#edf2f8;color:var(--blue)}.danger{background:#fbe7e7;color:var(--danger)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:var(--blue);color:#fff;padding:20px 15px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:0 6px 20px;border-bottom:1px solid #ffffff22}.brand span{display:block;font-size:12px;color:#d7e2f0;margin-top:3px}nav{display:grid;gap:7px;margin-top:18px}nav button{border:0;background:transparent;color:#eaf2fb;text-align:right;padding:12px;border-radius:10px;cursor:pointer}nav button:hover,nav button.active{background:#ffffff1a;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:10px}.sync-badge{font-size:12px;background:#ffffff16;padding:10px;border-radius:10px}.topbar{min-height:88px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:18px 28px}.topbar h2{margin:0;color:var(--blue)}.topbar p{margin:5px 0 0;color:var(--muted)}.user-chip{background:#edf3fa;border-radius:14px;padding:9px 14px;text-align:center}.user-chip span,.user-chip small{display:block}.user-chip small{font-size:11px;color:var(--muted)}main{min-width:0}#content{padding:24px}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 5px 18px #153e7110}.stat strong{font-size:32px;color:var(--blue);display:block}.stat span{color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.toolbar input,.toolbar select{width:auto;min-width:180px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:right}th{background:#edf3fa;color:var(--blue);position:sticky;top:0}.pill{display:inline-block;padding:4px 9px;border-radius:999px;background:#edf3fa;color:var(--blue);font-size:12px}.pill.ok{background:#e4f4eb;color:var(--ok)}.pill.warn{background:#fff2d8;color:#8a5b00}.actions{display:flex;gap:6px}.empty{text-align:center;padding:36px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title h3{margin:0;color:var(--blue)}.quick{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.quick button{padding:20px;border:1px solid var(--line);background:#fff;border-radius:14px;cursor:pointer;text-align:right;font-weight:700;color:var(--blue)}.quick small{display:block;color:var(--muted);font-weight:400;margin-top:6px}dialog{border:0;border-radius:18px;padding:0;width:min(560px,92vw);box-shadow:0 30px 80px #0005}dialog::backdrop{background:#001a3380}#modalForm{padding:22px}.dialog-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .wide{grid-column:1/-1}.toast{position:fixed;left:25px;bottom:25px;background:#1f2937;color:#fff;padding:12px 18px;border-radius:10px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}.print-slip{border:2px solid var(--blue);padding:24px;max-width:540px;margin:auto;background:#fff}.print-slip h2{text-align:center;color:var(--blue)}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-bottom{margin-top:15px}.stats,.quick{grid-template-columns:1fr 1fr}.topbar{padding:14px 18px}}
@media(max-width:560px){.stats,.quick,.form-grid{grid-template-columns:1fr}.app-shell{display:block}#content{padding:14px}.topbar{align-items:flex-start}.user-chip{font-size:12px}}
@media print{.sidebar,.topbar,.toolbar,.dialog-actions{display:none!important}.app-shell{display:block}#content{padding:0}.card{box-shadow:none;border:0}.print-slip{margin:0;border:2px solid #000}}

/* Writing-fine printout */
.fine-print{max-width:850px;margin:0 auto;background:#fff;color:#111;padding:28px;direction:rtl}
.fine-meta{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;border-bottom:1px solid #aaa;margin-bottom:16px}
.fine-assignment{font-size:20px;border:2px solid #1f477d;border-radius:10px;padding:14px;margin:12px 0 18px}
.fine-assignment div{font-size:24px;font-weight:700;margin-top:8px}
.fine-lines{direction:rtl}
.fine-line{display:flex;align-items:center;gap:14px;height:48px;page-break-inside:avoid}
.fine-line span:first-child{min-width:42px;text-align:left;font-weight:800;color:#123c73;font-size:22px}
.line-rule{display:block;flex:1;border-bottom:2px solid #1f477d;height:0;opacity:.9}

.fine-footer{display:flex;justify-content:space-between;gap:30px;margin-top:28px;font-size:16px}
@media print{
  .fine-print{padding:0;max-width:none}
  .fine-line{height:31px}
  .fine-footer{break-inside:avoid}
}

/* Premium blue-and-gold visual refresh */
:root{--navy:#0a2d57;--royal:#174f8f;--sky:#eaf3ff;--gold2:#d9ad4b;--gold-soft:#f8edcf;--shadow:0 14px 40px rgba(13,52,96,.12)}
body{background:radial-gradient(circle at 85% 0,#eef6ff 0,transparent 32%),linear-gradient(180deg,#f8fbff,#edf3fa);min-height:100vh}
.login-shell{background:radial-gradient(circle at 20% 20%,rgba(217,173,75,.28),transparent 28%),radial-gradient(circle at 80% 80%,rgba(66,138,209,.22),transparent 30%),linear-gradient(145deg,#071f3e,#123f75)}
.login-card{border:1px solid rgba(255,255,255,.65);box-shadow:0 35px 100px rgba(0,0,0,.38);backdrop-filter:blur(14px);position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--gold2),#fff0a8,var(--gold2))}
.login-logo{width:190px;max-width:75%;height:auto;filter:drop-shadow(0 10px 18px rgba(31,39,54,.18));margin-bottom:6px}
.login-card h1{font-size:29px}.login-card .primary{width:100%;padding:13px;font-size:17px;background:linear-gradient(135deg,var(--royal),var(--navy));box-shadow:0 10px 24px rgba(10,45,87,.22)}
.sidebar{background:linear-gradient(180deg,#0a315f,#082445 78%);box-shadow:-12px 0 32px rgba(4,32,64,.16)}
.sidebar-logo{width:62px;height:62px;object-fit:contain;background:#fff;border-radius:14px;padding:4px;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.brand{padding-bottom:18px}.brand strong{font-size:19px}.brand span{font-size:13px}
nav button{font-size:15px;border:1px solid transparent;transition:.2s ease}nav button:hover,nav button.active{background:linear-gradient(90deg,rgba(255,255,255,.17),rgba(255,255,255,.07));border-color:rgba(255,255,255,.14);transform:translateX(-3px)}
.topbar{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 5px 20px rgba(15,58,103,.06)}
.user-chip{border:1px solid #d8e5f4;background:linear-gradient(180deg,#fff,#edf5ff);box-shadow:0 5px 15px rgba(18,60,115,.08)}
.card{border:1px solid rgba(202,217,234,.85);box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,252,255,.98))}
.dashboard-hero{min-height:245px;border-radius:26px;padding:30px 38px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 10%,rgba(255,223,139,.24),transparent 27%),linear-gradient(135deg,#0a315f,#1762a8);box-shadow:0 22px 55px rgba(10,49,95,.24)}
.dashboard-hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;left:-110px;bottom:-230px;box-shadow:0 0 0 42px rgba(255,255,255,.04),0 0 0 84px rgba(255,255,255,.025)}
.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);font-size:13px}.dashboard-hero h1{font-size:36px;margin:12px 0 6px}.dashboard-hero p{margin:0 0 20px;color:#dfeeff;font-size:17px}.hero-logo{width:245px;max-height:190px;object-fit:contain;background:rgba(255,255,255,.95);border-radius:24px;padding:10px;box-shadow:0 18px 35px rgba(0,0,0,.22);position:relative;z-index:2}.hero-actions{display:flex;gap:10px}.bright{background:linear-gradient(135deg,#e6bc5d,#bd8721);color:#18324e;box-shadow:0 8px 18px rgba(0,0,0,.16)}.glass{border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;border-radius:10px;padding:10px 16px;font-weight:700;cursor:pointer}
.stat{position:relative;overflow:hidden;padding:20px 20px 18px}.stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;left:-22px;bottom:-38px;background:currentColor;opacity:.055}.stat-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#edf5ff;color:var(--royal);font-size:22px;margin-bottom:13px}.stat strong{font-size:36px;line-height:1}.stat-present .stat-icon{background:#e8f7ef;color:#177245}.stat-late .stat-icon{background:#fff4dc;color:#966200}.stat-out .stat-icon{background:#eaf1ff;color:#335ca8}.stat-fine .stat-icon{background:#fbecef;color:#a43d55}
.quick{margin-top:18px}.quick button{min-height:124px;padding:22px;background:linear-gradient(145deg,#fff,#f5f9fe);box-shadow:0 12px 28px rgba(13,52,96,.09);transition:.22s}.quick button:hover{transform:translateY(-4px);border-color:#b8cde5;box-shadow:0 18px 34px rgba(13,52,96,.14)}.quick-icon{display:inline-grid;width:42px;height:42px;place-items:center;background:var(--gold-soft);border-radius:13px;margin-left:10px;font-size:21px}.activity-card{margin-top:18px}.section-chip{background:#edf4fb;color:var(--royal);border-radius:999px;padding:5px 11px;font-size:12px}
.primary{background:linear-gradient(135deg,var(--royal),var(--navy));box-shadow:0 6px 16px rgba(10,45,87,.16);transition:.18s}.primary:hover{transform:translateY(-1px);filter:brightness(1.05)}.ghost{border:1px solid #d7e4f2;background:linear-gradient(180deg,#fff,#eef4fa)}
.table-wrap{box-shadow:0 10px 26px rgba(13,52,96,.07)}th{background:linear-gradient(180deg,#eef5fc,#e5eef8)}tr:hover td{background:#f8fbff}
.permission-slip{border:2px solid #143f73;border-radius:14px;padding:12px 14px;min-height:31vh;page-break-inside:avoid;background:#fff;position:relative;overflow:hidden}.permission-slip:after{content:"";position:absolute;inset:auto -35px -50px auto;width:120px;height:120px;border-radius:50%;background:#eaf2fb}.slip-logo{display:block;width:140px;height:110px;object-fit:contain;margin:0 auto 2px}.permission-slip h2{text-align:center;color:#143f73;margin:0;font-size:28px;font-weight:800}.slip-rule{height:3px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);margin:6px 0 9px}.permission-slip p{margin:4px 0;font-size:13px}.permission-slip small{position:absolute;left:10px;bottom:8px;color:#68778a}.slips-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slips-print-grid.single{grid-template-columns:1fr;max-width:560px;margin:auto}.slips-print-grid.single .permission-slip{min-height:auto}.fine-logo{display:block;width:150px;height:110px;object-fit:contain;margin:0 auto -5px}
@media(max-width:900px){.dashboard-hero{padding:24px}.hero-logo{width:190px}.dashboard-hero h1{font-size:30px}}
@media(max-width:650px){.dashboard-hero{display:block;text-align:center}.hero-logo{margin:18px auto 0}.hero-actions{justify-content:center}.stats{grid-template-columns:1fr 1fr}}
@media print{@page{size:A4;margin:8mm}.slips-print-grid{grid-template-columns:1fr 1fr;gap:5mm}.permission-slip{min-height:86mm;padding:4mm}.sidebar,.topbar,.toolbar{display:none!important}.fine-logo{width:125px;height:85px}.fine-footer{justify-content:flex-start}}

/* Management features v3 */
.stat-button{border:1px solid var(--line);text-align:right;cursor:pointer;width:100%}.stat-button:hover,.late-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.late-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:16px 0}.late-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;cursor:pointer;text-align:right;transition:.2s}.late-card strong{display:block;font-size:27px;color:var(--blue)}.late-card span{color:var(--muted)}
.name-list{display:grid;gap:8px;max-height:55vh;overflow:auto}.name-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px;border:1px solid var(--line);border-radius:10px}.name-list span{color:var(--muted);font-size:13px}.history-table{max-height:55vh}
@media(max-width:900px){.late-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.late-grid{grid-template-columns:1fr}}
.typed-signature{margin-top:18px;padding-top:10px;border-top:1px solid #888;font-size:16px;text-align:left;direction:rtl}
@media print{.typed-signature{break-inside:avoid;font-weight:600}}

/* Richer, darker contrast adjustment */
:root{
  --bg:#dfe8f3;
  --card:#f8fbff;
  --text:#14263b;
  --muted:#4d6075;
  --line:#b9c9da;
  --blue:#0a315f;
  --blue2:#124f8a;
}
body{
  background:radial-gradient(circle at 85% 0,#d8e8f8 0,transparent 34%),linear-gradient(180deg,#e9f0f8,#d7e2ee);
}
.topbar{
  background:rgba(241,247,253,.96);
  border-bottom-color:#b9c9da;
}
.card,.quick button,.late-card,.table-wrap{
  background:linear-gradient(180deg,#f8fbff,#eaf1f8);
  border-color:#aebfd1;
}
.stat strong,.section-title h3,.topbar h2,.quick button,.late-card strong{
  color:#082f5b;
}
.stat-icon,.section-chip,.pill{
  filter:saturate(1.18) contrast(1.06);
}
.user-chip{
  background:linear-gradient(180deg,#f3f8fd,#dbe8f4);
  border-color:#adc0d4;
}
input,select,textarea{
  background:#f9fcff;
  border-color:#aebfd1;
  color:#14263b;
}
th{
  background:linear-gradient(180deg,#dce8f4,#cbdbea);
  color:#082f5b;
}
tr:hover td{background:#e6eff8}
.ghost{
  background:linear-gradient(180deg,#eef4fa,#d6e2ee);
  border-color:#aebfd1;
}
.permission-slip{
  border-color:#0a315f;
  color:#13263b;
}


/* ChatGPT fix */
button,.btn{font-weight:700;}
#attendanceBtn,.attendance-btn,.btn-primary{color:#fff !important;text-shadow:0 1px 1px rgba(0,0,0,.4);}

/* Delete controls */
.delete-x{border:0;background:#b42318;color:#fff;width:34px;height:34px;border-radius:9px;font-size:25px;line-height:30px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.delete-x:hover{background:#8f1d14}.actions .delete-x{flex:0 0 auto}
/* Permission slips are always sized six per printed page */
.slips-print-grid,.slips-print-grid.single{display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-rows:1fr;gap:5mm!important;max-width:none!important;margin:0!important}.slips-print-grid.single .permission-slip{min-height:86mm!important}.permission-slip{box-sizing:border-box}
@media print{@page{size:letter portrait;margin:6mm}.slips-print-grid,.slips-print-grid.single{height:267mm;grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(3,1fr)!important;gap:4mm!important}.permission-slip,.slips-print-grid.single .permission-slip{min-height:0!important;height:100%;padding:3.5mm!important}.permission-slip p{font-size:12px!important;margin:3px 0!important}.slip-logo{width:78px!important;height:55px!important}.permission-slip h2{font-size:17px!important}.typed-signature{margin-top:7px!important}}

/* Final readability fix for the dashboard attendance button */
.dashboard-hero .hero-actions .primary.bright{
  background:linear-gradient(135deg,#174f8d,#0a315f)!important;
  color:#fff!important;
  font-size:24px!important;
  font-weight:800!important;
  line-height:1.2;
  padding:16px 28px!important;
  min-height:62px;
  border-radius:18px!important;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
  box-shadow:0 12px 25px rgba(0,0,0,.22)!important;
}
.dashboard-hero .hero-actions .primary.bright:hover{
  filter:brightness(1.1);
}

/* Larger permission type heading on printed slips */
.permission-slip h2{
  font-size:26px!important;
  font-weight:900!important;
  line-height:1.15;
}
@media print{
  .permission-slip h2{
    font-size:24px!important;
    font-weight:900!important;
    margin:0 0 2mm!important;
  }
}

/* enhanced today label */
#todayLabel{display:block;font-size:1.25rem;font-weight:800;color:#123c73;background:#edf3fa;padding:8px 14px;border-radius:10px;margin-top:8px;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.topbar{align-items:flex-start}

@media print{
.print-slip img,.slip-logo,.fine-logo{width:120px !important;height:auto !important;display:block;margin:0 auto 10px}
.print-slip h2{font-size:38px!important}
.print-slip h3{font-size:28px!important}
.print-slip p,.fine-meta p{font-size:20px!important}
.print-slip b,.fine-meta b{font-size:22px!important}
}


/* Time type colors */
.time-tefillah{background:#e8f1ff!important;border-right:4px solid #2f6fed}
.time-limud{background:#eaf8ea!important;border-right:4px solid #2f9e44}
.time-break{background:#fff8db!important;border-right:4px solid #f0ad00}
.time-lunch{background:#fff1e6!important;border-right:4px solid #f76707}
.time-end{background:#ffe3e3!important;border-right:4px solid #e03131}

@media print{
.brand-mark{width:72px!important;height:72px!important;font-size:24px!important}
.print-logo,img.logo{max-width:72px!important;height:auto!important}
.class-name{font-size:22px!important;font-weight:700!important}
}

/* Final permission-slip readability correction */
.permission-slip{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  text-align:center;
  overflow:hidden;
}
.permission-slip .slip-logo{
  width:92px!important;
  height:64px!important;
  object-fit:contain;
  margin:0 auto 1mm!important;
  flex:0 0 auto;
}
.permission-slip .slip-date{
  font-size:22px;
  line-height:1.15;
  font-weight:900;
  color:#10283f;
  margin:0 0 1.5mm;
  white-space:normal;
}
.permission-slip h2{
  font-size:25px!important;
  line-height:1.1!important;
  font-weight:900!important;
  padding:2.2mm 3mm!important;
  margin:0 0 2mm!important;
  border-radius:8px;
  color:#123c73!important;
}
.permission-slip.slip-entry h2{background:#dff4df!important}
.permission-slip.slip-exit h2{background:#fde2e2!important}
.permission-slip .slip-details{
  display:grid;
  gap:1.2mm;
  margin-top:0;
  text-align:right;
}
.permission-slip .slip-details p{
  font-size:16px!important;
  line-height:1.25!important;
  margin:0!important;
  color:#172b3f;
  overflow-wrap:anywhere;
}
.permission-slip .slip-details b{
  font-size:16px!important;
  color:#123c73;
}
.permission-slip .slip-student,
.permission-slip .slip-class{
  font-size:18px!important;
  font-weight:800;
}
.permission-slip .typed-signature{
  position:static!important;
  margin-top:auto!important;
  padding-top:1.5mm;
  font-size:14px!important;
  line-height:1.2;
  text-align:right;
  color:#23384e;
  z-index:1;
}

@media print{
  .permission-slip{
    padding:3mm 4mm!important;
  }
  .permission-slip .slip-logo{
    width:82px!important;
    height:55px!important;
    margin:0 auto .8mm!important;
  }
  .permission-slip .slip-date{
    font-size:20px!important;
    margin-bottom:1mm!important;
  }
  .permission-slip h2{
    font-size:23px!important;
    padding:2mm!important;
    margin-bottom:1.5mm!important;
  }
  .permission-slip .slip-details{
    gap:1mm!important;
  }
  .permission-slip .slip-details p,
  .permission-slip .slip-details b{
    font-size:15px!important;
  }
  .permission-slip .slip-student,
  .permission-slip .slip-class{
    font-size:17px!important;
  }
  .permission-slip .typed-signature{
    font-size:13px!important;
    padding-top:1mm!important;
  }
}

/* Clear color distinction for permission entry/exit — system and print */
.slip-type-pill{
  min-width:112px;
  padding:8px 14px!important;
  border-radius:12px!important;
  font-size:16px!important;
  line-height:1.1;
  font-weight:900!important;
  text-align:center;
  border:2px solid transparent;
  box-shadow:0 3px 10px rgba(13,52,96,.10);
}
.slip-type-entry{
  background:#d9f3df!important;
  color:#12652b!important;
  border-color:#51a866!important;
}
.slip-type-exit{
  background:#ffe3cc!important;
  color:#9a3f00!important;
  border-color:#e68135!important;
}
.slip-row-entry td{background-color:#f4fbf5}
.slip-row-exit td{background-color:#fff8f1}
.slip-row-entry:hover td{background-color:#e8f7eb!important}
.slip-row-exit:hover td{background-color:#ffefdf!important}

.permission-slip.slip-entry{
  border-color:#2f8a49!important;
  box-shadow:inset 0 0 0 2px #d9f3df;
}
.permission-slip.slip-exit{
  border-color:#d76719!important;
  box-shadow:inset 0 0 0 2px #ffe3cc;
}
.permission-slip.slip-entry h2{
  background:#d9f3df!important;
  color:#12652b!important;
  border:2px solid #51a866;
}
.permission-slip.slip-exit h2{
  background:#ffe3cc!important;
  color:#9a3f00!important;
  border:2px solid #e68135;
}
.permission-slip h2{
  font-size:31px!important;
  letter-spacing:.2px;
}

@media print{
  .permission-slip h2{
    font-size:28px!important;
    padding:2.2mm 2mm!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  .permission-slip.slip-entry,
  .permission-slip.slip-exit,
  .permission-slip.slip-entry h2,
  .permission-slip.slip-exit h2{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* Redesigned student history: clear colors, no horizontal scrolling */
dialog.history-modal{width:min(900px,94vw);max-height:88vh}
dialog.history-modal #modalForm{padding:26px}
dialog.history-modal #modalBody>h3{font-size:28px;margin-bottom:16px!important}
.history-student-info{display:flex;flex-wrap:wrap;gap:12px 28px;padding:13px 16px;margin-bottom:15px;background:#f4f8fc;border:1px solid #cbd9e8;border-radius:12px;font-size:17px}
.history-list{display:grid;gap:10px;max-height:58vh;overflow-y:auto;padding:2px 3px 2px 8px}
.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid #cbd9e8;border-right:7px solid #7890aa;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(13,52,96,.07)}
.history-main{display:flex;align-items:center;gap:12px;min-width:0}
.history-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:126px;padding:9px 13px;border-radius:10px;font-size:17px;font-weight:900;border:2px solid transparent}
.history-detail{font-size:17px;line-height:1.35;overflow-wrap:anywhere}
.history-meta{display:grid;gap:4px;text-align:left;white-space:nowrap;font-size:14px;color:#53677d}
.history-date{font-weight:800;color:#173e6b}
.history-entry{border-right-color:#319052;background:#f7fcf8}.history-entry .history-badge{background:#d9f3df;color:#12652b;border-color:#51a866}
.history-exit{border-right-color:#d76719;background:#fffaf5}.history-exit .history-badge{background:#ffe3cc;color:#9a3f00;border-color:#e68135}
.history-attendance{border-right-color:#c69316;background:#fffdf6}.history-attendance .history-badge{background:#fff0bd;color:#795600;border-color:#dbb64a}
.history-fine{border-right-color:#7a56b2;background:#fbf9ff}.history-fine .history-badge{background:#eee4ff;color:#55308f;border-color:#a485d2}
dialog.history-modal .dialog-actions{border-top:1px solid #d7e1ec;padding-top:16px;margin-top:16px}
@media(max-width:700px){
 dialog.history-modal #modalForm{padding:18px}
 dialog.history-modal #modalBody>h3{font-size:23px}
 .history-item{grid-template-columns:1fr;gap:9px}
 .history-main{align-items:flex-start;flex-direction:column;gap:7px}
 .history-badge{min-width:0;font-size:15px;padding:7px 10px}
 .history-detail{font-size:16px}
 .history-meta{display:flex;flex-wrap:wrap;gap:6px 14px;text-align:right;white-space:normal}
}


/* Bigger student name, class and time on permission slips */
.permission-slip .slip-student,
.permission-slip .slip-class,
.permission-slip .slip-time{
  font-size:20px!important;
  line-height:1.3!important;
  font-weight:800!important;
}
.permission-slip .slip-student b,
.permission-slip .slip-class b,
.permission-slip .slip-time b{
  font-size:20px!important;
  font-weight:900!important;
}
.permission-slip .slip-student span{
  font-size:21px!important;
  font-weight:900!important;
}
.permission-slip .slip-class span,
.permission-slip .slip-time span{
  font-size:20px!important;
  font-weight:800!important;
}
@media print{
  .permission-slip .slip-details{
    gap:1.35mm!important;
  }
  .permission-slip .slip-student,
  .permission-slip .slip-class,
  .permission-slip .slip-time,
  .permission-slip .slip-student b,
  .permission-slip .slip-class b,
  .permission-slip .slip-time b{
    font-size:18px!important;
    line-height:1.25!important;
  }
  .permission-slip .slip-student span{
    font-size:19px!important;
    font-weight:900!important;
  }
  .permission-slip .slip-class span,
  .permission-slip .slip-time span{
    font-size:18px!important;
    font-weight:800!important;
  }
}

/* Attendance: class chooser and clear colors for every late period */
#attendanceClass,#attendanceStudent,#attendanceStatus,#attendanceLateType{font-size:19px;font-weight:800}
#lateTypeLabel[hidden]{display:none!important}
.late-card{border:2px solid transparent;transition:.18s ease;overflow:hidden;position:relative}
.late-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:8px}
.late-card.late-morning{background:#e8f2ff;border-color:#77a9e7}.late-card.late-morning:before{background:#276fc2}
.late-card.late-breakfast{background:#fff4d8;border-color:#e7b94c}.late-card.late-breakfast:before{background:#d79400}
.late-card.late-break{background:#eee8ff;border-color:#a891e3}.late-card.late-break:before{background:#7153bf}
.late-card.late-lunch{background:#ffe8db;border-color:#e79a69}.late-card.late-lunch:before{background:#d35e18}
.late-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(18,55,96,.13)}
.late-type-pill{display:inline-flex;align-items:center;justify-content:center;min-width:120px;padding:7px 11px;border-radius:999px;font-weight:900;border:2px solid transparent;white-space:nowrap}
.late-type-pill.late-morning,#attendanceLateType.late-morning{background:#dcecff;color:#15599e;border-color:#77a9e7}
.late-type-pill.late-breakfast,#attendanceLateType.late-breakfast{background:#fff0c5;color:#875d00;border-color:#e7b94c}
.late-type-pill.late-break,#attendanceLateType.late-break{background:#e8e0ff;color:#56369f;border-color:#a891e3}
.late-type-pill.late-lunch,#attendanceLateType.late-lunch{background:#ffe0ce;color:#9a3f00;border-color:#e79a69}
.attendance-row.late-morning td{background:#f4f9ff}.attendance-row.late-breakfast td{background:#fffbef}.attendance-row.late-break td{background:#faf8ff}.attendance-row.late-lunch td{background:#fff7f2}
.attendance-row.late-morning td:first-child{border-right:6px solid #276fc2}.attendance-row.late-breakfast td:first-child{border-right:6px solid #d79400}.attendance-row.late-break td:first-child{border-right:6px solid #7153bf}.attendance-row.late-lunch td:first-child{border-right:6px solid #d35e18}
.attendance-status.status-late{background:#fff0bd;color:#795600;border:1px solid #dbb64a}

/* Printable late-arrival report */
.late-report-button{font-weight:900}
.late-report-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.late-report-form label{display:grid;gap:6px;font-weight:800}
.late-report-form .late-report-help{grid-column:1/-1;margin:0;padding:12px 14px;border-radius:10px;background:#f3f7fb;color:#496078}
.late-report-print{max-width:900px;margin:0 auto;background:#fff;color:#15283d;padding:24px;direction:rtl}
.late-report-print header{display:flex;align-items:center;justify-content:center;gap:20px;border-bottom:3px solid #173f70;padding-bottom:14px;margin-bottom:16px;text-align:center}
.late-report-print header img{width:96px;height:96px;object-fit:contain}
.late-report-print h1{margin:0;color:#173f70;font-size:30px}.late-report-print h2{margin:5px 0 0;font-size:25px}
.late-report-student{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f4f8fc;border:1px solid #cad9e8;border-radius:12px;padding:12px 16px;margin-bottom:15px;font-size:18px}
.late-report-student p{margin:0}
.late-report-print table{width:100%;border-collapse:collapse;font-size:17px}
.late-report-print th,.late-report-print td{border:1px solid #b9c9da;padding:9px 11px;text-align:center}
.late-report-print th{background:#173f70;color:#fff;font-weight:900}
.late-report-print tbody tr.late-morning td{background:#f0f7ff}.late-report-print tbody tr.late-breakfast td{background:#fff9e9}.late-report-print tbody tr.late-break td{background:#f8f5ff}.late-report-print tbody tr.late-lunch td{background:#fff3eb}
.late-report-time{font-size:19px;font-weight:900;direction:ltr}
.late-report-summary{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px;align-items:center}
.late-report-summary strong,.late-report-summary span{padding:9px 13px;border-radius:9px;border:1px solid #c5d3e1;font-weight:900}
.late-report-summary strong{background:#173f70;color:#fff;font-size:18px}
.late-report-summary .late-morning{background:#dcecff;color:#15599e}.late-report-summary .late-breakfast{background:#fff0c5;color:#875d00}.late-report-summary .late-break{background:#e8e0ff;color:#56369f}.late-report-summary .late-lunch{background:#ffe0ce;color:#9a3f00}
@media(max-width:650px){.late-report-form,.late-report-student{grid-template-columns:1fr}}
@media print{
  body *{visibility:hidden}
  #content,#content *{visibility:visible}
  #content{position:absolute;inset:0;width:100%;padding:0!important;margin:0!important}
  .late-report-print{padding:8mm;max-width:none}
  .late-report-print header img{width:24mm;height:24mm}
  .late-report-print th,.late-report-print td{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .late-report-print,.late-report-print *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
.late-report-form small{display:block;margin-top:4px;color:#173f70;font-weight:900;font-size:14px}
.late-report-form label[hidden],.late-custom-date[hidden]{display:none!important}

.settings-divider{margin-top:14px;padding-top:16px;border-top:1px solid var(--line)}
.settings-divider h3{margin:0 0 6px;color:var(--blue)}
.settings-divider p{margin:0;color:var(--muted);font-weight:400}
.button-label-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.button-label-grid label{margin:0}
.button-label-grid label span{font-size:13px;color:var(--muted)}
.settings-actions{display:flex;gap:10px;justify-content:flex-start;align-items:center;margin-top:8px}
@media(max-width:800px){.button-label-grid{grid-template-columns:1fr}}

/* Whole-class arrival-time report */
.class-arrival-report-button{white-space:nowrap}
.class-arrival-report-print{direction:rtl;background:#fff;color:#14263b;padding:18px;max-width:1000px;margin:auto}
.class-arrival-report-print header{display:flex;align-items:center;justify-content:center;gap:18px;border-bottom:3px solid #123c73;padding-bottom:12px;margin-bottom:14px;text-align:center}
.class-arrival-report-print header img{width:105px;height:80px;object-fit:contain}
.class-arrival-report-print h1{font-size:30px;margin:0;color:#123c73}.class-arrival-report-print h2{font-size:23px;margin:4px 0 0;color:#253c55}
.class-arrival-report-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:10px 14px;background:#eef5fc;border:1px solid #b9c9da;border-radius:10px;margin-bottom:12px}
.class-arrival-report-meta p{margin:0;font-size:16px}
.class-arrival-report-print table{width:100%;border-collapse:collapse}.class-arrival-report-print th,.class-arrival-report-print td{border:1px solid #9fb1c4;padding:8px 9px;text-align:right;font-size:15px}.class-arrival-report-print th{background:#dce8f4;color:#082f5b;font-weight:800}.class-arrival-report-print tr.arrival-late td{background:#fff0dc}.class-arrival-report-print tr.arrival-on-time td{background:#eef9ef}
.class-arrival-report-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.class-arrival-report-summary>*{padding:7px 12px;border-radius:999px;background:#e8f0f8;border:1px solid #b9c9da}.class-arrival-report-summary strong{background:#123c73;color:#fff}
@media print{
  .class-arrival-report-print{padding:0;max-width:none}
  .class-arrival-report-print header img{width:80px;height:62px}
  .class-arrival-report-print h1{font-size:25px}.class-arrival-report-print h2{font-size:19px}
  .class-arrival-report-print th,.class-arrival-report-print td{font-size:12px;padding:5px 6px}
  .class-arrival-report-meta p{font-size:13px}
  .class-arrival-report-print tr{break-inside:avoid}
  .class-arrival-report-summary{font-size:12px}
}

.password-hint{display:block;margin-top:6px;color:#68778a;font-size:13px;text-align:right;font-weight:600}

/* Direct permission-slip printing from the attendance table */
.attendance-actions{display:flex;gap:7px;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.direct-slip-btn{border:1px solid transparent;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer;line-height:1.1}
.direct-entry-btn{background:#e7f7ec;color:#176b36;border-color:#70c58a}
.direct-entry-btn:hover{background:#d4f1dd}
.direct-exit-btn{background:#fff0e3;color:#9a4713;border-color:#ef9b5b}
.direct-exit-btn:hover{background:#ffe2cb}
@media(max-width:900px){.attendance-actions{flex-wrap:wrap}.direct-slip-btn{padding:7px 11px}}

/* אידישער קאלענדאר ביים עדיטן שפעט/פרי */
.hebrew-date-picker{display:grid;grid-template-columns:.8fr 1.25fr 1.15fr;gap:10px;direction:rtl}
.hebrew-date-picker select{width:100%;min-width:0;font-size:1.05rem;font-weight:700;text-align:center;padding-inline:10px}
@media(max-width:700px){.hebrew-date-picker{grid-template-columns:1fr}.hebrew-date-picker select{font-size:1rem}}

/* Student permission controls */
.student-permission-toolbar{align-items:center;gap:8px;flex-wrap:wrap}
.student-permission-toolbar #batchPermissionReason{min-width:210px;flex:1 1 210px}
.student-permission-toolbar .batch-permission-print{font-weight:800}
.student-select-cell{text-align:center;width:42px}
.student-permission-check{width:19px;height:19px;cursor:pointer}
.student-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.student-actions .direct-slip-btn{white-space:nowrap}
@media(max-width:900px){.student-permission-toolbar>*{flex:1 1 160px}.student-actions{min-width:310px}}
@media print{.student-permission-toolbar{display:none!important}}

/* Final multi-permission printing: exactly six slips per physical page */
.student-permission-type{min-width:128px;font-weight:800}
.slips-print-document{width:100%}
.slips-print-page{box-sizing:border-box;width:100%;break-after:page;page-break-after:always}
.slips-print-page:last-child{break-after:auto;page-break-after:auto}
.slips-print-page .slips-print-grid{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:repeat(3,minmax(0,1fr))!important;gap:4mm!important}
@media print{
  .slips-print-page{height:267mm;overflow:hidden;break-inside:avoid;page-break-inside:avoid}
  .slips-print-page .slips-print-grid{height:100%!important}
  .slips-print-page .permission-slip{min-height:0!important;height:100%!important;break-inside:avoid!important;page-break-inside:avoid!important}
}
.batch-reason-group{display:flex;gap:6px;align-items:center;flex:1 1 235px;min-width:235px}
.batch-reason-group select,.batch-reason-group input{min-width:0;flex:1 1 170px}
.batch-custom-reason[hidden]{display:none!important}
@media(max-width:900px){.batch-reason-group{flex:1 1 100%;min-width:100%}}

.student-info-card{display:grid;gap:8px;direction:rtl;text-align:right}.student-info-row{display:grid;grid-template-columns:minmax(130px,35%) 1fr;gap:12px;padding:9px 11px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa}.student-info-row strong{color:#334155}.student-info-row span{overflow-wrap:anywhere}

/* Fine option beside each student's permission controls */
.student-fine-cell{min-width:145px;text-align:center}
.permission-fine-btn{border:1px solid #b7c9dc;background:#f4f8fc;color:#123c73;border-radius:999px;padding:8px 13px;font-weight:800;white-space:nowrap;cursor:pointer}
.permission-fine-btn:hover{background:#e7f0fa}
.permission-fine-btn.active{background:#fff0d9;border-color:#e4a14a;color:#8a4c05}
.permission-fine-enabled{display:flex!important;align-items:center;gap:9px;padding:10px 12px;border:1px solid #d6e0ea;border-radius:10px;background:#f7fafc}
.permission-fine-enabled input{width:20px;height:20px}
.fine-source{display:block;margin-top:4px;color:#65758a;font-weight:700}
@media(max-width:900px){.student-fine-cell{min-width:130px}.permission-fine-btn{padding:7px 10px}}

.student-fine-actions{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.permission-fine-print-btn{border:1px solid #2d70b3;background:#eaf4ff;color:#0b4f8a;border-radius:999px;padding:8px 13px;font-weight:800;white-space:nowrap;cursor:pointer}
.permission-fine-print-btn:hover{background:#d9edff}


/* Keep phone numbers in their natural left-to-right order inside the RTL table */
.student-phone-cell{min-width:190px;white-space:nowrap;text-align:center}
.phone-number{display:inline-block;direction:ltr;unicode-bidi:isolate;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em}
@media(max-width:900px){.student-phone-cell{min-width:175px}}

/* Polished student list layout */
#studentRows tr{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
#studentRows td{
  padding:16px 12px;
  vertical-align:middle;
  border-bottom:1px solid #c8d6e5;
}
#studentRows tr:hover td{
  background:#f0f7ff;
}
#studentRows td:nth-child(2),
#studentRows td:nth-child(3){
  font-size:18px;
  font-weight:750;
  color:#15385f;
  white-space:nowrap;
}
#studentRows td:nth-child(4){
  font-size:20px;
  font-weight:800;
  color:#274968;
  text-align:center;
  white-space:nowrap;
}
.student-select-cell{
  text-align:center;
  width:48px;
}
.student-permission-check{
  width:21px;
  height:21px;
  accent-color:#174f8f;
}
.student-phone-cell{
  min-width:185px;
  direction:ltr;
  text-align:center!important;
  font-size:17px;
  font-weight:650;
  letter-spacing:.2px;
  color:#203b59;
}
.student-permission-type{
  min-width:155px;
  height:46px;
  padding:8px 38px 8px 14px;
  border:1px solid #9db4cc;
  border-radius:13px;
  background:#fff;
  color:#173b63;
  font-size:16px;
  font-weight:800;
  box-shadow:0 3px 10px rgba(18,60,115,.07);
}
.student-fine-cell{
  min-width:145px;
}
.student-fine-actions{
  display:grid;
  gap:8px;
}
.permission-fine-btn,
.permission-fine-print-btn{
  width:100%;
  min-height:40px;
  border-radius:12px;
  padding:8px 12px;
  box-shadow:0 3px 9px rgba(18,60,115,.07);
}
.permission-fine-btn{
  background:linear-gradient(180deg,#fff8ec,#ffedd6);
  border-color:#efb36d;
  color:#914f0a;
}
.permission-fine-print-btn{
  background:linear-gradient(180deg,#f2f8ff,#dceeff);
  border-color:#86b4df;
  color:#0d568f;
}
.student-actions{
  min-width:430px;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(118px,1fr));
  gap:8px;
  align-items:stretch;
}
.student-actions button{
  min-height:42px;
  padding:8px 11px;
  border-radius:12px;
  white-space:nowrap;
  font-size:15px;
  box-shadow:0 3px 9px rgba(18,60,115,.07);
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.student-actions button:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(18,60,115,.13);
}
.student-actions .direct-entry-btn{
  background:linear-gradient(180deg,#effbf2,#dff5e5);
  border-color:#72c98b;
  color:#176735;
}
.student-actions .direct-exit-btn{
  background:linear-gradient(180deg,#fff7ef,#ffeadb);
  border-color:#f0a35f;
  color:#9a4e14;
}
.student-actions .ghost{
  background:linear-gradient(180deg,#f8fbff,#e7eff8);
  border:1px solid #afc2d6;
  color:#163c66;
}
.student-actions .danger{
  background:linear-gradient(180deg,#fff2f2,#ffe1e1);
  border:1px solid #efb1b1;
  color:#ad2929;
}
.student-permission-toolbar{
  padding:14px;
  border:1px solid #b9cadd;
  border-radius:16px;
  background:linear-gradient(180deg,#f8fbff,#eaf2fa);
  box-shadow:0 7px 20px rgba(18,60,115,.08);
}
.student-permission-toolbar input,
.student-permission-toolbar select,
.student-permission-toolbar button{
  min-height:43px;
  border-radius:11px;
}
#content>.table-wrap:has(#studentRows){
  border-radius:18px;
  box-shadow:0 12px 30px rgba(18,60,115,.10);
  background:#edf4fb;
}
#content>.table-wrap:has(#studentRows) table{
  min-width:1280px;
}
#content>.table-wrap:has(#studentRows) th{
  padding:15px 12px;
  font-size:16px;
  font-weight:850;
  text-align:center;
  background:linear-gradient(180deg,#dceaf7,#c9daeb);
  border-bottom:2px solid #9eb5cc;
}
@media(max-width:1200px){
  .student-actions{min-width:360px;grid-template-columns:repeat(2,minmax(118px,1fr))}
}

.permission-fine-auto-note{
  padding:16px 18px;
  border:1px solid #cbd9e8;
  border-radius:16px;
  background:#f5f9fd;
  color:#173b66;
  font-weight:700;
  text-align:center;
  line-height:1.45;
}

/* Separate fine cards printed after permission slips */
.fine-print-page{box-sizing:border-box;width:100%;break-before:page;page-break-before:always;break-inside:avoid;page-break-inside:avoid}
.fine-print-page:first-child{break-before:auto;page-break-before:auto}
.sitting-fine-box{margin:36px 0;padding:30px;border:3px solid #143f73;border-radius:18px;text-align:center;font-size:28px;line-height:1.8}
.sitting-fine-box strong{display:block;margin-bottom:12px}
.sitting-fine-box div{font-size:38px;font-weight:900;color:#143f73}
@media print{
  .slips-print-document + .fine-print-page{break-before:page!important;page-break-before:always!important}
  .fine-print-page{min-height:250mm;padding:4mm;display:flex;align-items:flex-start;justify-content:center}
  .fine-print-page .fine-print{width:100%;box-sizing:border-box}
}


/* גרויסער 12־שעהדיגער לעבעדיגער זייגער */
.topbar{position:relative;gap:18px}
.topbar-title,.user-chip{position:relative;z-index:1}
.live-clock{
  direction:ltr;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:10px;
  min-width:330px;
  padding:8px 22px;
  border-radius:18px;
  background:linear-gradient(145deg,#f8fbff,#e7f0fa);
  border:1px solid #c9d8e8;
  box-shadow:inset 0 1px 0 #fff,0 5px 16px #123c7318;
  color:var(--blue);
  font-variant-numeric:tabular-nums;
  line-height:1;
}
#clockTime{
  font-size:clamp(38px,4.4vw,68px);
  font-weight:800;
  letter-spacing:2px;
  white-space:nowrap;
}
#clockPeriod{
  font-size:18px;
  font-weight:800;
  color:var(--blue2);
}
@media(max-width:1050px){
  .topbar{flex-wrap:wrap}
  .live-clock{order:3;width:100%;min-width:0}
}
@media(max-width:560px){
  #clockTime{font-size:38px;letter-spacing:1px}
  #clockPeriod{font-size:15px}
  .live-clock{padding:9px 12px}
}

/* Make class letters same size as names */
td .pill, td .class, td .grade{
  font-size: inherit !important;
  font-weight:700 !important;
  line-height:inherit !important;
}
td{font-size:18px}

/* Student search — larger, cleaner, and placed first at the top */
#studentSearch{
  order:-20;
  flex:1 0 100%;
  width:100%;
  min-width:100%;
  min-height:64px;
  padding:14px 24px;
  margin:0 0 6px;
  border:3px solid #123c73;
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 18px rgba(18,60,115,.14), inset 0 1px 0 rgba(255,255,255,.9);
  color:#173d67;
  font-size:23px;
  font-weight:700;
  line-height:1.25;
  text-align:right;
}
#studentSearch::placeholder{
  color:#6f7d8c;
  opacity:1;
  font-size:23px;
  font-weight:500;
}
#studentSearch:focus{
  outline:none;
  border-color:#0d4d8f;
  box-shadow:0 0 0 4px rgba(18,60,115,.14),0 9px 22px rgba(18,60,115,.16);
}
@media(max-width:700px){
  #studentSearch{
    min-height:58px;
    padding:12px 18px;
    font-size:20px;
  }
  #studentSearch::placeholder{font-size:20px}
}

/* Keep the clock/header visible while scrolling */
.topbar{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 5px 18px rgba(18,60,115,.10);
}

/* פארבעסערטער רשות־פענסטער */
dialog.permission-modal{width:min(720px,94vw);max-height:92vh;border-radius:24px;overflow:hidden;background:#f8fbff;box-shadow:0 32px 90px rgba(3,25,52,.38)}
dialog.permission-modal #modalForm{padding:0;max-height:92vh;overflow:auto}
dialog.permission-modal #modalBody>h3{margin:0!important;padding:25px 30px 20px;text-align:center;font-size:30px;border-bottom:1px solid #d6e1ed;background:#fff;color:#123c73!important}
dialog.permission-modal #modalBody{display:grid;gap:14px}
.permission-section{margin:0 24px;padding:18px;border:1px solid #c8d7e6;border-radius:18px;background:#fff;box-shadow:0 5px 16px rgba(18,60,115,.06)}
.permission-section-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#123c73}
.permission-section-heading strong{display:block;font-size:21px}.permission-section-heading small{display:block;margin-top:3px;color:#708198;font-size:13px;font-weight:600}
.permission-section-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#e6f0fb;color:#174f8f;font-size:25px;font-weight:900}
.permission-current-time{display:flex;align-items:center;justify-content:center;min-height:78px;margin-bottom:13px;border:2px solid #b8cce0;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#edf4fb);font-size:42px;font-weight:900;letter-spacing:.5px;color:#152d49;font-variant-numeric:tabular-nums}
.permission-custom-time-toggle{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:15px;margin:0!important;padding:12px 14px;border-radius:13px;background:#f2f6fa;color:#173b63;font-size:17px;font-weight:850;cursor:pointer}
.permission-custom-time-toggle input{width:46px!important;height:25px!important;accent-color:#174f8f;cursor:pointer}
.permission-custom-time-wrap{margin-top:12px!important}.permission-custom-time-wrap[hidden]{display:none!important}
.permission-field-title{font-size:18px!important;font-weight:850!important;color:#173b63!important}.permission-field-title small{font-size:13px;color:#718096;font-weight:650}
dialog.permission-modal textarea{min-height:100px;resize:vertical;background:#fbfdff;border:1.5px solid #b9ccdf;border-radius:14px;padding:14px;font-size:17px}
dialog.permission-modal select,dialog.permission-modal input[type="time"],dialog.permission-modal input[type="number"],dialog.permission-modal input[type="text"]{min-height:48px;border:1.5px solid #b9ccdf;border-radius:13px;background:#fbfdff;font-size:16px}
dialog.permission-modal .dialog-actions{position:sticky;bottom:0;z-index:3;margin-top:6px;padding:16px 24px 20px;background:rgba(255,255,255,.96);border-top:1px solid #d5e0ec;backdrop-filter:blur(8px)}
dialog.permission-modal .dialog-actions button{min-height:50px;border-radius:14px;font-size:17px;font-weight:900}
dialog.permission-modal #modalSave{flex:1;background:linear-gradient(180deg,#1b5c9f,#123f73);box-shadow:0 7px 18px rgba(18,63,115,.24)}
dialog.permission-modal #modalCancel{min-width:145px;background:#fff;border:1.5px solid #adbdcd;color:#42566d}
@media(max-width:620px){dialog.permission-modal #modalBody>h3{font-size:24px;padding:20px 16px}.permission-section{margin:0 12px;padding:14px}.permission-current-time{font-size:34px}.dialog-actions{flex-direction:column-reverse}dialog.permission-modal #modalCancel{width:100%}}

/* Full printable report from a student's history window */
.student-history-report-print{direction:rtl;background:#fff;color:#12263d;max-width:1000px;margin:0 auto;padding:18px}
.student-history-report-print>header{display:flex;align-items:center;justify-content:center;gap:18px;border-bottom:3px solid #123f73;padding-bottom:14px;margin-bottom:14px;text-align:center}
.student-history-report-print>header img{width:105px;height:76px;object-fit:contain}
.student-history-report-print h1,.student-history-report-print h2{margin:2px;color:#123f73}
.student-history-report-print h1{font-size:26px}.student-history-report-print h2{font-size:21px}
.student-history-report-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 14px;background:#edf4fb;border:1px solid #bdd0e2;border-radius:12px;padding:12px 15px;margin-bottom:15px}
.student-history-report-meta p{margin:0;font-size:15px}
.student-history-report-print table{min-width:0;font-size:13px;border:1px solid #b7c8d9}
.student-history-report-print th,.student-history-report-print td{padding:8px 9px;border:1px solid #c9d6e3;vertical-align:top}
.student-history-report-print th{position:static;background:#dce9f5;color:#0b345f}
.student-history-report-print tbody tr{break-inside:avoid}
.history-report-type{font-weight:900;white-space:nowrap}
.history-report-entry td:nth-child(2){color:#12652b}.history-report-exit td:nth-child(2){color:#9a3f00}.history-report-fine td:nth-child(2){color:#55308f}.history-report-attendance td:nth-child(2){color:#795600}
.student-history-report-summary{display:flex;flex-wrap:wrap;gap:9px 20px;align-items:center;margin-top:14px;padding:11px 14px;border:1px solid #bfd0df;border-radius:10px;background:#f3f7fb}
.student-history-report-summary strong{font-size:17px;color:#123f73}
@media print{
 @page{size:letter portrait;margin:9mm}
 .student-history-report-print{max-width:none;padding:0}
 .student-history-report-print>header img{width:88px;height:62px}
 .student-history-report-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
 .student-history-report-print table{font-size:11px}
 .student-history-report-print th,.student-history-report-print td{padding:5px 6px}
}

/* Complete report center: student, class, or whole school */
.report-builder-card{margin-top:18px;border:1px solid #b9cee2;background:linear-gradient(180deg,#fff,#f6faff)}
.report-builder-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px 14px}
.report-builder-grid label{font-weight:900;color:#153d6d}.report-builder-grid select,.report-builder-grid input{width:100%;margin-top:6px}
.report-type-boxes{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px;padding:12px;border:1px solid #c9d8e7;border-radius:12px;background:#fff}
.report-type-boxes label{display:flex;align-items:center;gap:7px;font-weight:850;padding:8px 11px;border-radius:9px;background:#edf5fc}
.report-type-boxes input{width:19px;height:19px;accent-color:#174f87}
.report-builder-actions{display:flex;gap:10px;flex-wrap:wrap}.report-print-main{font-size:17px;padding:12px 20px}
.custom-scope-report table{font-size:12px}.custom-scope-report th,.custom-scope-report td{padding:6px 7px}.report-empty-print{font-size:18px;padding:32px;border:2px dashed #b9c9d9;margin:18px 0}
@media(max-width:850px){.report-builder-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.report-builder-grid{grid-template-columns:1fr}}
@media print{.custom-scope-report{font-size:10px}.custom-scope-report table{font-size:9.5px}.custom-scope-report th,.custom-scope-report td{padding:4px 5px}.custom-scope-report tr{break-inside:avoid}}

/* Jewish date controls in report center */
.report-builder-grid small{display:block;margin-top:5px;color:#174f87;font-weight:900;font-size:14px;min-height:1.2em}
.report-builder-grid label[hidden],.report-custom-date[hidden]{display:none!important}
.report-hebrew-selector,.report-hebrew-custom{grid-column:span 2;border:1px solid #c4d7e9;border-radius:16px;padding:14px;background:#f8fbff}
.report-hebrew-selector label,.report-hebrew-custom label{display:block}
.report-hebrew-custom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.report-hebrew-picker{margin-top:8px}
.report-hebrew-year{grid-template-columns:1fr}
.report-hebrew-month{grid-template-columns:1.25fr 1fr}
.report-hebrew-selector>label>select,.report-hebrew-selector select{margin-top:7px}
@media(max-width:700px){.report-hebrew-selector,.report-hebrew-custom{grid-column:1;grid-template-columns:1fr}}

.role-permissions-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:14px}
.role-permission-card{border:1px solid #bfd0e3;border-radius:16px;padding:14px;background:#f7fbff}
.role-permission-card h4{margin:0 0 12px;color:#123f72;font-size:20px}
.permission-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.permission-check{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d6e2ef;border-radius:10px;padding:9px 10px;cursor:pointer}
.permission-check input{width:20px;height:20px;accent-color:#174f87}
.permission-check:has(input:disabled){opacity:.65;cursor:not-allowed}
.settings-note{padding:14px;border-radius:12px;background:#eef5fc;color:#34516d}
@media(max-width:700px){.permission-check-grid{grid-template-columns:1fr}}


/* Shacharis penny program */
.shacharis-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#122d58,#244a7c);color:#fff;padding:28px 32px;border-radius:22px;margin-bottom:18px;box-shadow:0 14px 30px #123c7320}.shacharis-hero h1{margin:4px 0 8px;font-size:32px}.shacharis-hero p{margin:0;color:#f3c83b;font-weight:800}.shacharis-total{min-width:180px;text-align:center;background:#fff1;border:1px solid #ffffff38;border-radius:18px;padding:18px}.shacharis-total strong{display:block;font-size:38px;color:#ffd33d}.shacharis-total span{font-weight:700}.shacharis-toolbar{align-items:end}.shacharis-toolbar label{display:grid;gap:6px;font-weight:800}.shacharis-toolbar select,.shacharis-toolbar input{min-width:180px}.shacharis-stats{margin:18px 0}.shacharis-medals{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:18px 0}.shacharis-medals .medal{min-width:180px;padding:18px;border-radius:18px;text-align:center;box-shadow:0 8px 18px #0002}.shacharis-medals .medal span{display:block;font-size:34px}.shacharis-medals .medal b,.shacharis-medals .medal strong{display:block;margin-top:7px}.medal-1{background:#ffd24a}.medal-2{background:#e4e6e9}.medal-3{background:#d58a42}.penny-stepper{display:flex;align-items:center;justify-content:center;gap:8px}.penny-stepper button,.penny-presets button{border:1px solid #b6c9df;background:#eef5fd;color:#123c73;border-radius:10px;font-weight:900;cursor:pointer}.penny-stepper button{width:38px;height:38px;font-size:24px}.penny-stepper input{width:78px;text-align:center;font-size:20px;font-weight:900;padding:7px}.penny-presets{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.penny-presets button{padding:8px 10px}.shacharis-note{min-width:180px}.shacharis-name{font-weight:850}.shacharis-table td{vertical-align:middle}.shacharis-print td:nth-child(3){font-size:18px;color:#9a6800}@media(max-width:900px){.shacharis-hero{align-items:stretch;flex-direction:column}.shacharis-toolbar{display:grid;grid-template-columns:1fr}.shacharis-toolbar label,.shacharis-toolbar select,.shacharis-toolbar input{width:100%}}

.ancient-coin-entry{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.ancient-coin-entry select{min-width:210px;padding:9px 10px;border:1px solid #b6c9df;border-radius:10px;background:#fff;font-weight:800}.ancient-coin-entry button{white-space:nowrap;padding:9px 12px}.shacharis-amount{direction:ltr}

.coin-qty-label{display:flex;align-items:center;gap:6px;font-weight:800}.coin-qty{width:76px;padding:9px 8px;border:1px solid #b6c9df;border-radius:10px;text-align:center;font-weight:900;background:#fff}.ancient-coin-entry{align-items:center}

/* Improved full-day פרוטות layout */
.shacharis-page{max-width:1480px;margin:0 auto;padding:18px 22px 36px}
.shacharis-hero{margin:0 0 16px;padding:22px 28px;border-radius:20px;min-height:150px}
.shacharis-hero>div:first-child{display:flex;flex-direction:column;justify-content:center}
.shacharis-hero .eyebrow{display:inline-flex;align-self:flex-start;padding:6px 12px;border:1px solid #ffffff40;border-radius:999px;background:#ffffff12;font-size:13px;font-weight:900}
.shacharis-hero h1{font-size:34px;line-height:1.15;margin:10px 0 6px}
.shacharis-total{min-width:230px;padding:16px 22px;background:linear-gradient(180deg,#ffffff18,#ffffff0d)}
.shacharis-total strong{font-size:36px}

.shacharis-toolbar{display:grid;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) repeat(4,max-content);gap:10px;align-items:end;padding:16px;border:1px solid #c5d5e6;border-radius:18px;background:#f8fbff;box-shadow:0 8px 22px #173f6d12}
.shacharis-toolbar label{min-width:0}
.shacharis-toolbar select,.shacharis-toolbar input{width:100%;min-width:0;height:46px}
.shacharis-toolbar button{height:46px;padding:0 16px;white-space:nowrap}

.shacharis-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.shacharis-stats .stat{min-height:105px;padding:16px 18px;border:1px solid #c8d7e6;border-radius:16px;background:#fff;box-shadow:0 7px 18px #173f6d0d}
.shacharis-stats .stat strong{font-size:30px;line-height:1.1;color:#123f73}
.shacharis-stats .stat span{margin-top:6px;color:#61748b;font-weight:800}

.shacharis-medals{display:grid;grid-template-columns:repeat(3,minmax(190px,260px));justify-content:center;gap:14px;margin:16px 0 20px}
.shacharis-medals .medal{min-width:0;padding:16px 18px;border-radius:16px}
.shacharis-medals .medal span{font-size:28px}
.shacharis-medals .medal b{font-size:17px}
.shacharis-medals .medal strong{font-size:20px}

.shacharis-page .table-wrap{border:1px solid #c2d2e2;border-radius:18px;overflow:auto;background:#fff;box-shadow:0 10px 26px #173f6d12}
.shacharis-table{min-width:1120px;border-collapse:separate;border-spacing:0}
.shacharis-table thead th{position:sticky;top:0;z-index:3;background:#183a68;color:#fff;padding:14px 12px;font-size:15px}
.shacharis-table tbody tr:nth-child(even){background:#f7faff}
.shacharis-table tbody tr:hover{background:#eef5fc}
.shacharis-table td{padding:12px 10px;border-bottom:1px solid #dce5ee}
.shacharis-name{min-width:180px;font-size:16px;color:#142f50}
.account-balance{min-width:140px;text-align:center}
.account-balance strong{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff6d8;color:#7b5700}
.penny-stepper{min-width:190px}
.penny-stepper button{width:42px;height:42px}
.penny-stepper input{height:42px;border:1px solid #b9cadc;border-radius:11px;background:#fff}
.ancient-coin-entry{display:grid;grid-template-columns:minmax(210px,1fr) 95px auto;gap:8px;min-width:470px}
.ancient-coin-entry select,.coin-qty{height:42px;margin:0}
.coin-qty-label{display:grid;grid-template-columns:auto 1fr;gap:5px;font-size:13px}
.ancient-coin-entry button{height:42px}
.shacharis-note{width:100%;min-width:170px;height:42px}

@media(max-width:1250px){
 .shacharis-toolbar{grid-template-columns:1fr 1fr repeat(2,max-content)}
 .shacharis-toolbar button:nth-of-type(3),.shacharis-toolbar button:nth-of-type(4){grid-column:auto}
}
@media(max-width:900px){
 .shacharis-page{padding:12px}
 .shacharis-hero{padding:20px;min-height:0}
 .shacharis-total{min-width:0}
 .shacharis-toolbar{grid-template-columns:1fr 1fr}
 .shacharis-toolbar button{width:100%}
 .shacharis-stats{grid-template-columns:1fr 1fr}
 .shacharis-medals{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:620px){
 .shacharis-toolbar,.shacharis-stats,.shacharis-medals{grid-template-columns:1fr}
 .shacharis-hero h1{font-size:27px}
 .shacharis-total strong{font-size:31px}
}
.coin-action-buttons{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.coin-withdraw-btn{white-space:nowrap}.ancient-coin-entry{align-items:center}@media(max-width:900px){.coin-action-buttons{width:100%}.coin-action-buttons button{flex:1}}

/* Search and account visibility for פרוטות */
.account-finder{display:grid;grid-template-columns:minmax(320px,1.6fr) minmax(190px,.7fr) minmax(230px,.8fr) 150px;gap:12px;align-items:end;margin:16px 0 14px;padding:16px 18px;border:1px solid #b9cee3;border-radius:18px;background:linear-gradient(180deg,#fff,#f5f9fe);box-shadow:0 8px 22px #173f6d12}
.account-finder label{display:grid;gap:6px;font-weight:900;color:#173f6d}
.account-finder input,.account-finder select{height:48px;border:1px solid #abc1d8;border-radius:12px;background:#fff;font-size:16px;font-weight:800;padding:0 14px}
.account-search input{font-size:17px}
.visible-accounts{height:48px;border-radius:12px;background:#173f6d;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;white-space:nowrap}
.visible-accounts strong{font-size:24px;color:#ffd64d}.visible-accounts span{font-size:13px;font-weight:900}
.shacharis-name{position:sticky;right:0;z-index:2;background:inherit;box-shadow:-1px 0 0 #dce5ee;display:table-cell}
.shacharis-name strong{display:block;font-size:17px}.shacharis-name small{display:block;margin-top:4px;color:#71839a;font-weight:800}
.account-balance strong{display:block;font-size:18px;padding:10px 14px;background:#fff1b8;border:1px solid #efd277;box-shadow:0 3px 8px #7b570014}
.account-balance small{display:block;margin-top:5px;color:#6d7785;font-weight:800}
.shacharis-table tbody tr[hidden]{display:none}
@media(max-width:1000px){.account-finder{grid-template-columns:1fr 1fr}.visible-accounts{grid-column:span 2}}
@media(max-width:620px){.account-finder{grid-template-columns:1fr}.visible-accounts{grid-column:auto}}

/* Split Prutot workspace: accounts on one side, coin actions on the other */
.prutot-split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);gap:18px;align-items:start;margin-top:18px}
.prutot-accounts-panel,.prutot-editor-panel{background:#fff;border:1px solid #bfd0e2;border-radius:20px;box-shadow:0 10px 28px #173f6d14;overflow:hidden}
.prutot-accounts-panel>header{padding:18px 20px 12px;border-bottom:1px solid #d8e3ee;background:#f7faff}.prutot-accounts-panel>header h2{margin:0 0 4px;color:#123c73}.prutot-accounts-panel>header span{color:#6d8095;font-weight:700}
.prutot-accounts-panel .account-finder{margin:0;border:0;border-radius:0;box-shadow:none;background:#fff;padding:14px;grid-template-columns:minmax(220px,1.4fr) minmax(145px,.65fr) minmax(175px,.75fr) 110px}
.prutot-account-table{min-width:650px}.prutot-account-table td{cursor:pointer}.prutot-account-table td strong{display:block;font-size:18px}.prutot-account-table td small{display:block;color:#71839a;margin-top:3px;font-weight:700}
.prutot-account-row.selected{background:#dcecff!important;box-shadow:inset -5px 0 #1d67b4}.prutot-account-row:hover{background:#eef6ff!important}
.prutot-editor-panel{position:sticky;top:18px;padding:20px;min-height:430px;background:linear-gradient(180deg,#f9fcff,#fff)}
.prutot-editor-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid #d8e3ee}.prutot-editor-head span,.prutot-editor-head small{color:#6c7f95;font-weight:800}.prutot-editor-head h2{margin:4px 0;color:#123c73;font-size:24px}.prutot-big-balance{text-align:center;background:#123c73;color:#fff;border-radius:16px;padding:14px 18px;min-width:155px}.prutot-big-balance strong{display:block;font-size:30px;color:#ffd23f}.prutot-big-balance span{font-size:13px;font-weight:800}
.prutot-today-adjust{padding:18px 0;border-bottom:1px solid #d8e3ee}.prutot-today-adjust>label{display:flex;justify-content:space-between;align-items:center;font-weight:900;color:#173f6d}
.prutot-coin-box{display:grid;gap:12px;padding:18px 0}.prutot-coin-box h3{margin:0;color:#123c73}.prutot-coin-box label,.prutot-note-label{display:grid;gap:6px;font-weight:900;color:#173f6d}.prutot-coin-box select,.prutot-coin-box input,.prutot-note-label input{width:100%;height:46px;border:1px solid #adc2d8;border-radius:11px;padding:0 12px;background:#fff;font-weight:800}.prutot-coin-box .coin-action-buttons{display:grid;grid-template-columns:1fr 1fr}.prutot-coin-box .coin-action-buttons button{height:46px}.prutot-note-label{padding-top:4px}
@media(max-width:1150px){.prutot-split{grid-template-columns:1fr}.prutot-editor-panel{position:static}.prutot-accounts-panel .account-finder{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.prutot-accounts-panel .account-finder{grid-template-columns:1fr}.prutot-editor-head{align-items:stretch;flex-direction:column}.prutot-big-balance{width:100%}}


/* Prevent the two Prutot work areas from colliding. Keep them clearly separated. */
.prutot-split{
  grid-template-columns:minmax(0,1fr) !important;
  gap:24px !important;
}
.prutot-editor-panel{
  position:static !important;
  min-height:0 !important;
  width:100%;
  overflow:visible !important;
}
.prutot-editor-panel .prutot-editor-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,260px);
}
.prutot-editor-panel .prutot-coin-box{
  grid-template-columns:minmax(260px,1.4fr) minmax(120px,.45fr) minmax(300px,1fr);
  align-items:end;
}
.prutot-editor-panel .prutot-coin-box h3{grid-column:1/-1}
.prutot-editor-panel .coin-action-buttons{grid-template-columns:1fr 1fr !important}
.prutot-note-label{display:none !important}
@media(max-width:900px){
  .prutot-editor-panel .prutot-coin-box{grid-template-columns:1fr 1fr}
  .prutot-editor-panel .prutot-coin-box h3,.prutot-editor-panel .coin-action-buttons{grid-column:1/-1}
}
@media(max-width:620px){
  .prutot-editor-panel .prutot-editor-head,.prutot-editor-panel .prutot-coin-box{grid-template-columns:1fr}
  .prutot-editor-panel .prutot-coin-box h3,.prutot-editor-panel .coin-action-buttons{grid-column:auto}
}

/* Keep the add/remove Prutot controls visible and prevent the finder from drifting off-screen. */
.prutot-split{display:flex !important;flex-direction:column !important;gap:22px !important;min-width:0}
.prutot-editor-panel{order:1;width:100%;box-sizing:border-box;overflow:hidden !important}
.prutot-accounts-panel{order:2;width:100%;min-width:0;box-sizing:border-box}
.prutot-editor-panel .prutot-editor-head{grid-template-columns:minmax(0,1fr) minmax(180px,250px) !important;gap:16px}
.prutot-editor-panel .prutot-coin-box{grid-template-columns:minmax(220px,1.4fr) minmax(110px,.45fr) minmax(280px,1fr) !important;gap:12px}
.prutot-accounts-panel .account-finder{grid-template-columns:minmax(240px,1.6fr) minmax(150px,.7fr) minmax(185px,.8fr) minmax(165px,.55fr) !important;min-width:0}
.visible-accounts{min-width:165px;overflow:hidden}
.visible-accounts span{white-space:normal;line-height:1.15;text-align:center}
.prutot-accounts-panel .table-wrap{max-width:100%;overflow:auto}
@media(max-width:1100px){
  .prutot-editor-panel .prutot-coin-box{grid-template-columns:1fr 1fr !important}
  .prutot-editor-panel .prutot-coin-box h3,.prutot-editor-panel .coin-action-buttons{grid-column:1/-1 !important}
  .prutot-accounts-panel .account-finder{grid-template-columns:1fr 1fr !important}
}
@media(max-width:650px){
  .prutot-editor-panel .prutot-editor-head,.prutot-editor-panel .prutot-coin-box,.prutot-accounts-panel .account-finder{grid-template-columns:1fr !important}
  .prutot-editor-panel .prutot-coin-box h3,.prutot-editor-panel .coin-action-buttons{grid-column:auto !important}
  .visible-accounts{min-width:0;width:100%}
}

/* Final clean arrangement for the Prutot page */
.shacharis-page{
  width:100%;
  max-width:1380px;
  margin-inline:auto;
  padding:18px 20px 34px;
  box-sizing:border-box;
  overflow-x:hidden;
}
.shacharis-toolbar{
  grid-template-columns:minmax(220px,1.2fr) minmax(360px,1.7fr) repeat(2,minmax(170px,.72fr));
  gap:12px;
  align-items:end;
}
.shacharis-toolbar .danger,.shacharis-toolbar .primary{
  min-width:170px;
}
.shacharis-toolbar button:nth-last-child(-n+2){
  grid-row:2;
}
.shacharis-toolbar .danger{grid-column:3}
.shacharis-toolbar .primary{grid-column:4}
.shacharis-stats{
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:14px;
}
.shacharis-stats .stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:112px;
}
.prutot-split{
  gap:18px !important;
}
.prutot-editor-panel{
  padding:18px 20px !important;
  border-radius:18px;
}
.prutot-editor-panel .prutot-editor-head{
  grid-template-columns:minmax(0,1fr) 210px !important;
  align-items:center;
  padding-bottom:14px;
}
.prutot-editor-panel .prutot-today-adjust{
  padding:14px 0;
}
.prutot-editor-panel .prutot-today-adjust>label{
  gap:18px;
}
.prutot-editor-panel .prutot-coin-box{
  grid-template-columns:minmax(280px,1.55fr) 120px minmax(300px,1fr) !important;
  padding:14px 0 2px;
  align-items:end;
}
.prutot-editor-panel .prutot-coin-box h3{
  margin-bottom:2px;
}
.prutot-editor-panel select,
.prutot-editor-panel input{
  min-width:0;
}
.prutot-accounts-panel .account-finder{
  grid-template-columns:minmax(260px,1.55fr) minmax(160px,.7fr) minmax(190px,.8fr) 170px !important;
  gap:10px;
}
.visible-accounts{
  width:170px;
  min-width:170px;
}
.shacharis-medals{
  margin-top:18px;
}
@media(max-width:1180px){
  .shacharis-toolbar{grid-template-columns:1fr 1fr}
  .shacharis-toolbar button,.shacharis-toolbar .danger,.shacharis-toolbar .primary{grid-row:auto;grid-column:auto;min-width:0}
  .shacharis-stats{grid-template-columns:1fr 1fr}
  .prutot-editor-panel .prutot-coin-box{grid-template-columns:1fr 1fr !important}
  .prutot-editor-panel .prutot-coin-box h3,.prutot-editor-panel .coin-action-buttons{grid-column:1/-1 !important}
  .prutot-accounts-panel .account-finder{grid-template-columns:1fr 1fr !important}
  .visible-accounts{width:100%;min-width:0}
}
@media(max-width:700px){
  .shacharis-page{padding:10px}
  .shacharis-toolbar,.shacharis-stats,.prutot-editor-panel .prutot-editor-head,.prutot-editor-panel .prutot-coin-box,.prutot-accounts-panel .account-finder{grid-template-columns:1fr !important}
  .prutot-editor-panel .prutot-coin-box h3,.prutot-editor-panel .coin-action-buttons{grid-column:auto !important}
  .prutot-editor-panel .coin-action-buttons{grid-template-columns:1fr !important}
  .prutot-big-balance{width:100%;box-sizing:border-box}
}

/* Faster per-student Prutot entry */
.prutot-account-table{min-width:820px}
.prutot-quick-cell{min-width:520px}
.prutot-quick-actions{display:grid;grid-template-columns:minmax(190px,1fr) 80px 105px 125px;gap:8px;align-items:center}
.prutot-quick-actions select,.prutot-quick-actions input{height:42px;border:1px solid #9eb8d2;border-radius:10px;background:#fff;color:#123c73;font-weight:800;padding:0 10px;min-width:0}
.prutot-quick-actions button{height:42px;border:1px solid #9eb8d2;border-radius:10px;font-weight:900;font-size:15px;cursor:pointer}
.prutot-quick-actions .coin-add{background:#174b86;color:#fff;border-color:#174b86}
.prutot-quick-actions .coin-add:hover{background:#0f3d72}
.prutot-quick-actions .coin-remove{background:#fde7e7;color:#a72626;border-color:#efb7b7}
.prutot-quick-actions .coin-remove:hover{background:#f9d4d4}
@media(max-width:900px){.prutot-quick-cell{min-width:380px}.prutot-quick-actions{grid-template-columns:minmax(160px,1fr) 70px 1fr 1fr}}
@media(max-width:650px){.prutot-quick-cell{min-width:280px}.prutot-quick-actions{grid-template-columns:1fr 70px}.prutot-quick-actions button{grid-column:span 1}}

/* Cleaner graphical Prutot accounts view — inline actions only */
.prutot-split{display:block!important}
.prutot-editor-panel{display:none!important}
.prutot-accounts-panel{width:100%!important;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(18,60,115,.12);border:1px solid #c7d8ea}
.accounts-title{display:flex!important;align-items:center;gap:14px;padding:20px 24px!important;background:linear-gradient(135deg,#123c73,#1d5b9d);color:#fff!important}
.accounts-title h2{margin:0;color:#fff!important;font-size:26px}.accounts-title span{color:#d9e8f8!important;font-weight:700}
.accounts-title-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.16);font-size:28px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.prutot-account-table{min-width:1050px!important;border-collapse:separate;border-spacing:0 10px;padding:0 12px 14px;background:#eef5fc}
.prutot-account-table thead th{background:#163f73;color:#fff;border:0;padding:15px 14px;font-size:16px}
.prutot-account-table thead th:first-child{border-radius:0 14px 14px 0}.prutot-account-table thead th:last-child{border-radius:14px 0 0 14px}
.prutot-account-row{background:#fff!important;box-shadow:0 5px 16px rgba(18,60,115,.08);transition:.15s ease}
.prutot-account-row:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(18,60,115,.13)!important}
.prutot-account-row td{border-top:1px solid #d9e5f0;border-bottom:1px solid #d9e5f0;padding:12px 14px!important;vertical-align:middle}
.prutot-account-row td:first-child{border-right:1px solid #d9e5f0;border-radius:0 14px 14px 0}.prutot-account-row td:last-child{border-left:1px solid #d9e5f0;border-radius:14px 0 0 14px}
.shacharis-name{display:flex!important;align-items:center;gap:12px;min-width:230px}.student-avatar{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1d67b4,#123c73);color:#fff;font-size:20px;font-weight:900;box-shadow:0 4px 10px rgba(18,60,115,.22)}
.shacharis-name strong{font-size:18px!important;color:#123c73}.shacharis-name small{color:#74879b!important}
.today-chip,.balance-chip{display:flex;align-items:center;justify-content:center;gap:7px;min-height:48px;border-radius:14px;padding:7px 12px;text-align:center}
.today-chip{background:#edf5ff;border:1px solid #c8dcf2}.today-chip strong{font-size:22px;color:#174b86}.today-chip small{color:#6b7f94}
.balance-chip{background:linear-gradient(135deg,#fff1b8,#ffd86a);border:1px solid #e9bd37;box-shadow:0 3px 10px rgba(214,166,22,.18)}.balance-chip span{font-size:22px}.balance-chip strong{font-size:22px;color:#7a5300}.balance-chip small{color:#866717}
.prutot-quick-cell{min-width:600px!important}.prutot-quick-actions{grid-template-columns:minmax(230px,1fr) 90px 130px 145px!important;gap:10px!important}
.prutot-quick-actions label{display:grid;gap:4px}.prutot-quick-actions label>span{font-size:12px;font-weight:900;color:#6b7f94;padding-inline:4px}
.prutot-quick-actions select,.prutot-quick-actions input{height:48px!important;border:1px solid #a9c1d9!important;border-radius:12px!important;background:#f9fcff!important;font-size:15px!important}
.prutot-quick-actions button{height:48px!important;border-radius:12px!important;font-size:16px!important;box-shadow:0 4px 10px rgba(18,60,115,.12)}
.prutot-quick-actions .coin-add{background:linear-gradient(135deg,#1e66ad,#123f78)!important}.prutot-quick-actions .coin-remove{background:linear-gradient(135deg,#fff0f0,#ffdede)!important}
@media(max-width:900px){.prutot-quick-cell{min-width:480px!important}.prutot-quick-actions{grid-template-columns:1fr 90px!important}.prutot-quick-actions button{grid-column:auto}}

/* Cleaner compact top layout — 2026-07-27 */
.shacharis-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(430px,1.55fr) auto auto!important;
  grid-template-areas:
    "class date clear print"!important;
  gap:14px!important;
  align-items:end!important;
  padding:18px 20px!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,#ffffff,#f4f8fd)!important;
  box-shadow:0 12px 30px rgba(24,63,105,.12)!important;
}
.shacharis-toolbar>label:first-child{grid-area:class}
.shacharis-toolbar>.shacharis-hebrew-date-label{grid-area:date}
.shacharis-toolbar>.danger{grid-area:clear!important;grid-row:auto!important;grid-column:auto!important}
.shacharis-toolbar>.primary{grid-area:print!important;grid-row:auto!important;grid-column:auto!important}
.shacharis-toolbar button{
  min-width:190px!important;
  height:54px!important;
  border-radius:14px!important;
  font-size:17px!important;
  box-shadow:0 7px 16px rgba(18,60,115,.12)!important;
}
.shacharis-toolbar select,.shacharis-toolbar input{
  height:54px!important;
  border-radius:14px!important;
  font-size:18px!important;
  background:#fff!important;
}
.shacharis-toolbar label{font-size:15px!important;color:#173f6d!important}
.shacharis-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  margin:16px 0 20px!important;
}
.shacharis-stats .stat{
  min-height:118px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#fff,#f7faff)!important;
  box-shadow:0 10px 24px rgba(24,63,105,.10)!important;
}
.shacharis-stats .stat strong{font-size:34px!important}
.prutot-accounts-panel{border-radius:22px!important;overflow:hidden!important;box-shadow:0 14px 34px rgba(24,63,105,.12)!important}
.accounts-title{min-height:82px!important}
.account-finder{margin:0!important;border-top:1px solid #d7e2ee!important}
@media(max-width:1220px){
  .shacharis-toolbar{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"class date" "clear print"!important;
  }
  .shacharis-toolbar button{width:100%!important;min-width:0!important}
}
@media(max-width:760px){
  .shacharis-toolbar{
    grid-template-columns:1fr!important;
    grid-template-areas:"class" "date" "clear" "print"!important;
  }
  .shacharis-stats{grid-template-columns:1fr 1fr!important}
}
@media(max-width:480px){.shacharis-stats{grid-template-columns:1fr!important}}

/* Fix: readable "ווי יעדער האלט" header */
.prutot-accounts-panel > .accounts-title{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  min-height:88px!important;
  padding:20px 24px!important;
  background:#173f73!important;
  background-image:linear-gradient(135deg,#173f73 0%,#245f9f 100%)!important;
  color:#fff!important;
  opacity:1!important;
}
.prutot-accounts-panel > .accounts-title h2{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18)!important;
}
.prutot-accounts-panel > .accounts-title span{
  color:#dceafb!important;
  opacity:1!important;
}
.prutot-accounts-panel > .accounts-title .accounts-title-icon{
  background:#f4b735!important;
  color:#173f73!important;
  opacity:1!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
}

/* Medal podium pinned to the top of the Prutot page */
.shacharis-medals-top{margin:0 0 18px;position:relative;z-index:2}
.shacharis-medals-top .medal{transform:none}

/* Keep the winners podium flush at the very top of the Prutot page */
#content:has(.shacharis-page){padding-top:0!important}
.shacharis-page{padding-top:0!important}
.shacharis-medals-top{margin-top:0!important}

/* Shacharis points tab */
.morning-page{display:flex;flex-direction:column;gap:18px}
.morning-hero{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-radius:22px;background:linear-gradient(135deg,#153f73,#2872ad);color:#fff;box-shadow:0 12px 28px rgba(18,60,115,.18)}
.morning-hero h1{margin:5px 0;font-size:29px}.morning-hero p{margin:0;color:#dcecff}.morning-hero>div:last-child{text-align:center;background:rgba(255,255,255,.14);padding:14px 24px;border-radius:18px}.morning-hero>div:last-child strong{display:block;font-size:38px}.morning-hero>div:last-child small{color:#fff}
.morning-toolbar{display:grid;grid-template-columns:1fr 1fr 1.4fr auto auto;gap:12px;align-items:end}.morning-toolbar label{display:flex;flex-direction:column;gap:5px}.morning-toolbar input,.morning-toolbar select,.morning-toolbar button{min-height:48px}
.morning-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.morning-table td:first-child strong,.morning-table td:first-child small{display:block}.morning-table td:first-child small{color:#6b7b8f;margin-top:3px}
.morning-check{display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.morning-check input{width:25px;height:25px;accent-color:#1f7a4c}.morning-check b{background:#e8f5ed;color:#17633d;border-radius:999px;padding:4px 9px}.morning-total{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#173f73;color:#fff;font-size:20px}
@media(max-width:1050px){.morning-toolbar{grid-template-columns:1fr 1fr}.morning-stats{grid-template-columns:1fr 1fr}}

.morning-toolbar-wide{grid-template-columns:1fr 1fr 1.3fr repeat(4,auto)}
.morning-status,.morning-reason{min-width:170px}
.morning-reason:disabled{opacity:.45;background:#eef1f5}
@media(max-width:1250px){.morning-toolbar-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.morning-print{display:block!important}.morning-print table{width:100%;border-collapse:collapse}.morning-print th,.morning-print td{border:1px solid #999;padding:8px}}


/* Shachris student popup selection */
.morning-student-row{cursor:pointer;transition:background .15s ease,transform .15s ease}
.morning-student-row:hover{background:#f3f8fd}.morning-student-row:active{transform:scale(.998)}
.morning-student-button,.morning-status-pill{border:0;background:transparent;padding:0;text-align:right;color:inherit;font:inherit;cursor:pointer}
.morning-student-button strong,.morning-student-button small{display:block}.morning-student-button small{color:#6b7b8f;margin-top:3px}
.morning-status-pill{display:inline-flex;border-radius:999px;padding:8px 12px;font-weight:800;background:#edf1f5;color:#526273}
.morning-status-pill.status-ontime{background:#e6f6ed;color:#17633d}.morning-status-pill.status-lateExcused{background:#fff4d8;color:#8a5a00}.morning-status-pill.status-late{background:#fde9e7;color:#9b2f26}
.morning-reason-text{display:inline-block;max-width:260px;white-space:normal}.morning-voice-display{font-weight:800;color:#7a8793}.morning-voice-display.checked{color:#17633d}
#modal:has(.morning-popup){width:min(720px,94vw);max-width:720px;border-radius:24px}
.morning-popup{display:flex;flex-direction:column;gap:18px}.morning-popup-date{margin:-5px 0 2px;color:#607286;font-weight:700}
.morning-popup-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.morning-popup-options label,.morning-popup-voice{display:flex;align-items:center;gap:12px;border:2px solid #dbe5ef;border-radius:17px;padding:15px;cursor:pointer;background:#fff;transition:.15s ease}
.morning-popup-options label:hover,.morning-popup-voice:hover{border-color:#79a9d3;background:#f7fbff}.morning-popup-options input,.morning-popup-voice input{width:24px;height:24px;accent-color:#1f6fa8;flex:0 0 auto}
.morning-popup-options span,.morning-popup-voice span{display:flex;flex-direction:column;gap:4px}.morning-popup-options b,.morning-popup-voice b{font-size:17px}.morning-popup-options small,.morning-popup-voice small{color:#627487}
.morning-popup-reason{display:flex;flex-direction:column;gap:7px;font-weight:800}.morning-popup-reason textarea{min-height:100px;font-weight:400}
.morning-popup-voice{background:#f6fbf8;border-color:#cfe8da}
@media(max-width:650px){.morning-popup-options{grid-template-columns:1fr}.morning-table th:nth-child(3),.morning-table td:nth-child(3){display:none}}

.morning-month-picker{display:grid;gap:14px}.morning-month-picker p{margin:0;color:var(--muted,#65758b)}
.morning-monthly-report{display:grid;gap:20px}.morning-ranking-section{background:#fff;border:1px solid #d9e4ef;border-radius:18px;padding:18px}.morning-ranking-section h3{margin:0 0 14px}.school-ranking{border-width:2px}
.morning-winner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.morning-winner-card{display:flex;align-items:center;gap:12px;border:1px solid #d9e4ef;border-radius:16px;padding:14px;background:#f8fbff}.morning-winner-place{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:1.2rem;font-weight:800;background:#e7eef7}.morning-winner-card strong{display:block;font-size:1.05rem}.morning-winner-card small{display:block;color:#67778b;margin-top:3px}.morning-winner-card p{margin:7px 0 0;font-weight:800}.morning-winner-card.place-1{box-shadow:0 5px 18px rgba(26,67,109,.13)}
@media(max-width:760px){.morning-winner-grid{grid-template-columns:1fr}}
@media print{.no-print{display:none!important}.morning-monthly-report{gap:10px}.morning-ranking-section{break-inside:avoid;padding:10px}.morning-winner-card{padding:8px}}

/* Shacharis fixes: Jewish date picker, all classes first, visible search */
.morning-hebrew-date-label{min-width:360px}
.morning-hebrew-date-label .report-hebrew-picker{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:8px}
.morning-search-label{display:flex!important;flex-direction:column;gap:5px;min-width:260px}
.morning-search-label input{width:100%;font-size:1.05rem}
@media(max-width:1250px){
  .morning-toolbar-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .morning-hebrew-date-label,.morning-search-label{min-width:0}
  .morning-search-label{grid-column:1/-1}
}
@media(max-width:700px){
  .morning-toolbar-wide{grid-template-columns:1fr}
  .morning-search-label{grid-column:auto}
  .morning-hebrew-date-label .report-hebrew-picker{grid-template-columns:1fr}
}

/* Weekly Shacharis day-by-day chart */
.morning-week-chart-section .report-note{margin:-.35rem 0 1rem;color:var(--muted,#64748b)}
.morning-week-chart{min-width:1500px;border-collapse:separate;border-spacing:0}
.morning-week-chart th,.morning-week-chart td{vertical-align:top;text-align:center}
.morning-week-chart thead th{position:sticky;top:0;z-index:2;background:#eaf3fb;white-space:nowrap}
.morning-week-chart thead th span,.morning-week-chart thead th small{display:block}
.morning-week-chart thead th small{font-weight:500;font-size:.72rem;color:#64748b;margin-top:.25rem}
.morning-week-chart .student-name{min-width:170px;text-align:right;position:sticky;right:0;background:#fff;z-index:1}
.morning-week-chart .student-name small{display:block;color:#64748b;margin-top:.25rem}
.morning-week-cell{min-width:145px;padding:.65rem .5rem!important}
.morning-week-cell strong,.morning-week-cell span{display:block}
.morning-week-cell strong{font-size:.88rem;margin-bottom:.35rem}
.morning-week-cell span{font-size:.75rem;line-height:1.55}
.morning-week-cell.on-time{background:#effaf3}
.morning-week-cell.late-excused{background:#fff8e7}
.morning-week-cell.late{background:#fff0f0}
.morning-week-cell.none,.morning-week-cell.empty-day{background:#f8fafc;color:#94a3b8}
@media print{
  .morning-week-chart{min-width:0;width:100%;font-size:8px;table-layout:fixed}
  .morning-week-chart th,.morning-week-chart td{padding:3px!important}
  .morning-week-chart .student-name{position:static;min-width:0}
  .morning-week-cell{min-width:0}
  .morning-week-cell strong{font-size:8px}
  .morning-week-cell span{font-size:7px;line-height:1.25}
  .morning-week-chart thead th{position:static}
}

/* ===== Polished Shacharis page — 2026-07-27 ===== */
#content:has(.morning-page){padding:22px 24px 34px!important;overflow-x:hidden}
.morning-page{max-width:1540px;margin:0 auto;gap:20px!important}
.morning-hero{border-radius:26px!important;padding:24px 30px!important;background:linear-gradient(135deg,#0d3769 0%,#1d5d9b 62%,#2b78b4 100%)!important;box-shadow:0 18px 42px rgba(13,55,105,.20)!important;position:relative;overflow:hidden}
.morning-hero:after{content:"";position:absolute;inset:auto -70px -90px auto;width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.08)}
.morning-hero h1{font-size:31px!important;letter-spacing:-.02em}.morning-hero p{font-size:16px!important}
.morning-toolbar-wide{display:grid!important;grid-template-columns:minmax(180px,.9fr) minmax(180px,.9fr) minmax(330px,1.35fr) minmax(220px,1.05fr) repeat(3,minmax(145px,auto))!important;gap:12px!important;align-items:end!important;margin:0!important;padding:18px!important;border:1px solid #c9d9e9!important;border-radius:24px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 12px 30px rgba(18,60,115,.10)!important}
.morning-toolbar-wide label{font-weight:800;color:#173f6d}
.morning-toolbar-wide input,.morning-toolbar-wide select,.morning-toolbar-wide button{height:50px!important;border-radius:13px!important}
.morning-toolbar-wide input,.morning-toolbar-wide select{border:1px solid #aec4d9!important;background:#fbfdff!important;box-shadow:inset 0 1px 2px rgba(14,48,84,.04)}
.morning-toolbar-wide button{font-size:15px!important;font-weight:900!important;white-space:nowrap;padding-inline:16px!important;box-shadow:0 6px 14px rgba(18,60,115,.10)}
.morning-hebrew-date-label{min-width:0!important}.morning-hebrew-date-label .report-hebrew-picker{gap:7px!important}
.morning-search-label{min-width:0!important}
.morning-stats{gap:14px!important;margin:0!important}
.morning-stats .stat{min-height:112px!important;padding:20px 22px!important;border-radius:22px!important;border:1px solid #cbdbea!important;background:linear-gradient(160deg,#fff 0%,#f3f8fd 100%)!important;box-shadow:0 10px 24px rgba(18,60,115,.09)!important;position:relative;overflow:hidden}
.morning-stats .stat:after{content:"";position:absolute;left:-28px;bottom:-38px;width:105px;height:105px;border-radius:50%;background:rgba(24,81,140,.055)}
.morning-stats .stat strong{font-size:38px!important;line-height:1;color:#0d3769!important;margin-bottom:8px}.morning-stats .stat span{font-size:16px!important;color:#61758b!important}
.morning-page>.table-wrap{border-radius:22px!important;border:1px solid #c8d9e9!important;box-shadow:0 14px 34px rgba(18,60,115,.10)!important;background:#fff!important;overflow:auto!important}
.morning-table{min-width:980px!important}
.morning-table thead th{background:linear-gradient(180deg,#eaf3fb,#dceaf6)!important;color:#123c73!important;font-size:16px!important;padding:15px 16px!important;border-bottom:1px solid #c5d6e7!important}
.morning-table tbody td{padding:15px 16px!important;font-size:16px!important;border-bottom:1px solid #e2ebf3!important}
.morning-table tbody tr{transition:background .15s ease}.morning-table tbody tr:hover{background:#f7fbff!important}
.morning-student-button strong{font-size:18px!important;color:#213750}.morning-status-pill{padding:9px 14px!important;font-weight:900!important}
.morning-total{width:46px!important;height:46px!important;box-shadow:0 5px 12px rgba(18,60,115,.17)}
@media(max-width:1450px){.morning-toolbar-wide{grid-template-columns:repeat(4,minmax(0,1fr))!important}.morning-hebrew-date-label{grid-column:span 2}.morning-search-label{grid-column:span 2!important}}
@media(max-width:980px){#content:has(.morning-page){padding:14px!important}.morning-toolbar-wide{grid-template-columns:1fr 1fr!important}.morning-hebrew-date-label,.morning-search-label{grid-column:1/-1!important}.morning-stats{grid-template-columns:1fr 1fr!important}}
@media(max-width:620px){.morning-toolbar-wide,.morning-stats{grid-template-columns:1fr!important}.morning-hebrew-date-label,.morning-search-label{grid-column:auto!important}.morning-hero{padding:20px!important}.morning-hero h1{font-size:25px!important}}

/* ===== Clean two-level Shacharis controls — final ===== */
.morning-control-panel{
  display:grid;gap:14px;margin:0;padding:18px;
  border:1px solid #c9d9e9;border-radius:24px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 30px rgba(18,60,115,.10);
}
.morning-filter-row{
  display:grid;grid-template-columns:minmax(190px,.85fr) minmax(390px,1.45fr) minmax(330px,1.25fr);
  gap:14px;align-items:end;
}
.morning-filter-row label{display:flex;flex-direction:column;gap:7px;font-weight:850;color:#173f6d;min-width:0}
.morning-filter-row input,.morning-filter-row select{height:54px!important;width:100%!important;min-width:0!important;border-radius:14px!important;border:1px solid #aec4d9!important;background:#fbfdff!important;font-size:16px!important;padding-inline:15px!important}
.morning-filter-row .report-hebrew-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important}
.morning-filter-row .report-hebrew-picker select{min-width:0!important;width:100%!important}
.morning-action-row{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;padding-top:14px;border-top:1px solid #e0e9f2}
.morning-action-row button{height:54px!important;min-width:0!important;border-radius:14px!important;font-size:15px!important;font-weight:900!important;white-space:normal!important;line-height:1.2;padding:8px 12px!important;box-shadow:0 6px 14px rgba(18,60,115,.09)}
.morning-action-row .morning-main-action{background:linear-gradient(135deg,#1d5d9b,#0d3769)!important;color:#fff!important;border:0!important}
@media(max-width:1250px){
  .morning-filter-row{grid-template-columns:1fr 1.25fr}.morning-search-label{grid-column:1/-1}
  .morning-action-row{grid-template-columns:repeat(3,minmax(150px,1fr))}
}
@media(max-width:850px){
  .morning-filter-row{grid-template-columns:1fr}.morning-search-label{grid-column:auto}
  .morning-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){.morning-action-row{grid-template-columns:1fr}.morning-control-panel{padding:13px;border-radius:18px}}

/* Weekly Shacharis report: clean full-width layout */
.morning-weekly-report{max-width:none!important;width:100%;margin:0!important;padding:24px clamp(18px,3vw,46px)!important;box-sizing:border-box;align-content:start}
.morning-weekly-report>header{max-width:1400px;width:100%;margin:0 auto 20px;box-sizing:border-box}
.morning-weekly-report .report-builder-actions{max-width:1400px;width:100%;margin:0 auto;align-items:center;justify-content:flex-start;background:#f7fbff;border:1px solid #cbddeb;border-radius:16px;padding:14px;box-sizing:border-box}
.morning-weekly-report .report-builder-actions input{margin-inline-start:auto;min-width:320px;flex:1;max-width:620px}
.morning-weekly-report .morning-ranking-section{max-width:1400px;width:100%;margin:0 auto;box-sizing:border-box;overflow:hidden}
.morning-weekly-report .table-wrap{width:100%;overflow:auto}
.morning-weekly-report table{width:100%;min-width:1050px}
.morning-weekly-report .morning-week-chart th,.morning-weekly-report .morning-week-chart td{text-align:center}
.morning-weekly-report .morning-week-chart .student-name{text-align:right;min-width:190px}
.morning-weekly-report .no-school-day{background:#eef2f5!important;color:#657382!important}
.morning-weekly-report td.no-school-day{background:#f3f5f7!important}
.morning-weekly-report td.no-school-day strong{display:block;color:#455565}
.morning-weekly-report td.no-school-day span{display:block;font-size:12px;color:#71808e}
@media(max-width:800px){.morning-weekly-report{padding:14px!important}.morning-weekly-report .report-builder-actions input{min-width:100%;margin-inline-start:0}.morning-weekly-report>header{flex-direction:column}}

/* ===== FINAL PRINT STANDARD: US Letter 8.5 × 11 in ===== */
@page {
  size: Letter portrait;
  margin: 0.25in;
}

@media print {
  html, body {
    width: 8in !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body, #app, .app-shell, main, #content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .sidebar, .topbar, .toolbar, .no-print,
  .report-builder-actions, .dialog-actions,
  button:not(.print-content-button) {
    display: none !important;
  }

  img {
    max-width: 100% !important;
  }

  .print-slip,
  .permission-slip,
  .fine-print,
  .late-report-print,
  .class-arrival-report-print,
  .student-history-report-print,
  .morning-print,
  .shacharis-print {
    box-sizing: border-box !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .print-slip,
  .fine-print,
  .late-report-print,
  .class-arrival-report-print,
  .student-history-report-print,
  .morning-print,
  .shacharis-print {
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0.18in !important;
  }

  .table-wrap {
    width: 100% !important;
    overflow: visible !important;
    border: 0 !important;
  }

  table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  th, td {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  thead { display: table-header-group; }
  tfoot { display: table-footer-group; }
  tr, .permission-slip, .print-slip { break-inside: avoid; page-break-inside: avoid; }

  /* Six small permission slips fit correctly on one US Letter sheet. */
  .slips-print-page,
  .slips-print-grid,
  .slips-print-grid.single {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 10.45in !important;
    max-height: 10.45in !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: 0.12in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .permission-slip,
  .slips-print-grid.single .permission-slip {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 0.12in !important;
  }

  .slip-logo {
    width: 0.72in !important;
    height: 0.52in !important;
    margin: 0 auto 0.03in !important;
  }

  .permission-slip h2 { font-size: 16px !important; }
  .permission-slip p { font-size: 11px !important; line-height: 1.25 !important; margin: 2px 0 !important; }

  /* Wide charts/reports are reduced to the printable width instead of being cut off. */
  .morning-weekly-report,
  .morning-monthly-report,
  .morning-period-chart,
  .morning-week-chart-section,
  .morning-ranking-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0.08in !important;
  }

  .morning-week-chart,
  .morning-weekly-report table,
  .morning-period-chart table {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 7.5px !important;
  }
}

/* ===== PRINT FIT FIX — weekly reports + fine sheets (US Letter) ===== */
@page weeklyReport { size: Letter landscape; margin: 0.22in; }
@page fineSheet { size: Letter landscape; margin: 0.3in; }

@media print {
  /* Weekly day-by-day reports need landscape space. */
  .morning-weekly-report,
  .morning-week-chart-section,
  .morning-period-chart {
    page: weeklyReport;
  }

  .morning-weekly-report {
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
  .morning-weekly-report > header {
    margin: 0 0 0.10in !important;
    padding: 0 0 0.08in !important;
  }
  .morning-weekly-report > header img { width: 0.62in !important; height: 0.46in !important; }
  .morning-weekly-report > header h1 { font-size: 18px !important; margin: 0 !important; }
  .morning-weekly-report > header h2 { font-size: 13px !important; margin: 2px 0 !important; }
  .morning-weekly-report > header p { font-size: 9px !important; margin: 2px 0 !important; }
  .morning-weekly-report .morning-ranking-section {
    border: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .morning-weekly-report .table-wrap { overflow: visible !important; }
  .morning-weekly-report table,
  .morning-week-chart {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: 7px !important;
  }
  .morning-weekly-report th,
  .morning-weekly-report td,
  .morning-week-chart th,
  .morning-week-chart td {
    padding: 2px 3px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .morning-weekly-report thead th { font-size: 7px !important; }
  .morning-weekly-report thead th small { font-size: 5.8px !important; line-height: 1.05 !important; }
  .morning-weekly-report .student-name {
    width: 1.2in !important;
    min-width: 0 !important;
    font-size: 8px !important;
  }
  .morning-weekly-report .morning-week-cell {
    min-width: 0 !important;
    font-size: 6.5px !important;
  }
  .morning-weekly-report .morning-week-cell strong { font-size: 6.6px !important; margin: 0 0 1px !important; }
  .morning-weekly-report .morning-week-cell span { font-size: 5.8px !important; line-height: 1.08 !important; }
  .morning-weekly-report tbody tr { break-inside: avoid !important; page-break-inside: avoid !important; }

  /* Every fine prints cleanly on its own US Letter sheet. */
  .fine-print-page {
    page: fineSheet;
    width: 100% !important;
    min-height: 7.9in !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: visible !important;
    break-before: page !important;
    page-break-before: always !important;
  }
  .fine-print-page:first-child {
    break-before: auto !important;
    page-break-before: auto !important;
  }
  .fine-print-page .fine-print {
    width: 100% !important;
    min-height: 7.75in !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0.22in !important;
    border: 2px solid #143f73 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  .fine-print .fine-logo { width: 0.75in !important; height: 0.55in !important; object-fit: contain !important; }
  .fine-print h2 { font-size: 20px !important; margin: 2px 0 !important; }
  .fine-print h3 { font-size: 17px !important; margin: 4px 0 8px !important; }
  .fine-print .fine-meta { font-size: 12px !important; gap: 4px 12px !important; }
  .fine-print .fine-meta p { margin: 2px 0 !important; }
  .fine-print .fine-assignment { font-size: 13px !important; margin: 8px 0 !important; }
  .fine-print .fine-lines { width: 100% !important; }
  .fine-print .fine-line { min-height: 0.25in !important; break-inside: avoid !important; }
  .fine-print .fine-footer { margin-top: 0.12in !important; font-size: 12px !important; }
  .sitting-fine-print .sitting-fine-box {
    margin: 0.55in 0 !important;
    padding: 0.35in !important;
    font-size: 24px !important;
  }
  .sitting-fine-print .sitting-fine-box div { font-size: 34px !important; }
}


/* Premium top-three podium graphics */
.morning-ranking-section.school-ranking{
  position:relative;
  overflow:hidden;
  border:2px solid #c9d9ec;
  background:
    radial-gradient(circle at 12% 8%,rgba(255,214,92,.20),transparent 26%),
    radial-gradient(circle at 88% 5%,rgba(74,137,210,.14),transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.morning-ranking-section.school-ranking:before,
.morning-ranking-section.school-ranking:after{
  content:"✦";
  position:absolute;
  font-size:42px;
  color:rgba(210,157,25,.18);
  pointer-events:none;
}
.morning-ranking-section.school-ranking:before{top:14px;left:24px;transform:rotate(-12deg)}
.morning-ranking-section.school-ranking:after{right:28px;bottom:20px;transform:rotate(16deg)}
.morning-podium{
  align-items:end;
  gap:20px;
  padding:18px 8px 4px;
  direction:ltr;
}
.morning-podium .morning-winner-card{
  position:relative;
  direction:rtl;
  min-height:210px;
  padding:24px 18px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  border:2px solid transparent;
  border-radius:24px 24px 14px 14px;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(22,60,104,.13);
  transform-origin:bottom center;
}
.morning-podium .morning-winner-card.place-1{
  order:2;
  min-height:250px;
  transform:translateY(-12px);
  border-color:#e3b43f;
  background:linear-gradient(160deg,#fffdf2 0%,#fff4c8 58%,#fff 100%);
  box-shadow:0 18px 38px rgba(172,118,16,.22);
}
.morning-podium .morning-winner-card.place-2{
  order:1;
  min-height:220px;
  border-color:#b9c5d5;
  background:linear-gradient(160deg,#fff 0%,#edf2f7 64%,#fff 100%);
}
.morning-podium .morning-winner-card.place-3{
  order:3;
  min-height:205px;
  border-color:#ca8b55;
  background:linear-gradient(160deg,#fff 0%,#f6dfcc 64%,#fff 100%);
}
.winner-medal{font-size:54px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 5px 7px rgba(0,0,0,.16))}
.place-1 .winner-medal{font-size:66px}
.winner-sparkles{position:absolute;top:12px;left:0;right:0;font-size:18px;letter-spacing:10px;color:#d3a11e;opacity:.75}
.morning-podium .morning-winner-place{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  color:#fff;
  background:#173f70;
  border:3px solid rgba(255,255,255,.92);
  box-shadow:0 4px 10px rgba(20,52,89,.24);
}
.place-1 .morning-winner-place{background:#b68008}
.place-2 .morning-winner-place{background:#738297}
.place-3 .morning-winner-place{background:#9d5c2f}
.winner-info{position:relative;z-index:2}
.winner-title{display:block!important;margin:0 0 5px!important;color:#6d7785!important;font-weight:800;letter-spacing:.02em}
.morning-podium .morning-winner-card strong{font-size:1.38rem;line-height:1.22;color:#123b6d}
.place-1 .winner-info strong{font-size:1.58rem;color:#704d00}
.winner-class{font-size:.95rem!important;margin-top:6px!important}
.morning-podium .morning-winner-card p{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  margin:12px 0 0;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(35,72,115,.12);
}
.morning-podium .morning-winner-card p span{font-size:1.35rem}
.winner-pedestal{
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  height:28px;
  background:linear-gradient(180deg,rgba(23,63,112,.88),#0f315a);
  box-shadow:inset 0 3px 0 rgba(255,255,255,.24);
}
.place-1 .winner-pedestal{height:36px;background:linear-gradient(180deg,#d8a323,#9b6800)}
.place-2 .winner-pedestal{height:30px;background:linear-gradient(180deg,#9aa8b9,#667589)}
.place-3 .winner-pedestal{height:26px;background:linear-gradient(180deg,#b87542,#7e4325)}
@media(max-width:760px){
  .morning-podium{grid-template-columns:1fr;padding-top:4px}
  .morning-podium .morning-winner-card{order:initial!important;min-height:180px!important;transform:none!important}
}
@media print{
  .morning-podium{gap:8px;padding:4px 0 0}
  .morning-podium .morning-winner-card{min-height:145px;padding:12px 8px 25px;box-shadow:none}
  .morning-podium .morning-winner-card.place-1{min-height:165px;transform:none}
  .winner-medal,.place-1 .winner-medal{font-size:34px}
  .winner-sparkles{display:none}
  .morning-podium .morning-winner-card strong,.place-1 .winner-info strong{font-size:14px}
  .morning-podium .morning-winner-card p{margin-top:6px;padding:3px 8px;font-size:10px}
  .morning-podium .morning-winner-card p span{font-size:12px}
}

/* Fine print refinements: date at top and assignment text only */
.fine-top-date{
  text-align:center;
  color:#123c73;
  font-size:20px;
  font-weight:800;
  margin:4px 0 8px;
}
.fine-assignment-text-only{
  text-align:center;
  padding:18px 16px;
}
.fine-assignment-text-only > div{
  margin:0;
  font-size:34px;
  line-height:1.35;
  font-weight:900;
  color:#111;
}
@media print{
  .fine-top-date{font-size:17px!important;margin:1px 0 5px!important}
  .fine-assignment-text-only{padding:0.16in!important}
  .fine-assignment-text-only > div{font-size:28px!important;margin:0!important}
}

/* שחרית וואכנשריפט — שיינע, ריינע דרוק־אויסשטעלונג */
.morning-weekly-report{
  max-width:1200px;
  padding:24px;
  background:#fff;
}
.morning-weekly-report>header{
  position:relative;
  padding:14px 22px 18px;
  margin-bottom:18px;
  border:2px solid #173f70;
  border-radius:18px;
  background:linear-gradient(180deg,#f9fcff,#edf5fc);
  box-shadow:0 7px 20px rgba(18,63,115,.10);
}
.morning-weekly-report>header:after{
  content:"";
  position:absolute;
  right:18px;
  left:18px;
  bottom:8px;
  height:3px;
  border-radius:9px;
  background:linear-gradient(90deg,transparent,#d3a92b,#173f70,#d3a92b,transparent);
}
.morning-weekly-report>header img{width:92px;height:68px}
.morning-weekly-report>header h1{font-size:28px;letter-spacing:.2px}
.morning-weekly-report>header h2{font-size:22px;color:#173f70}
.morning-weekly-report>header p{margin:6px 0 0;font-size:15px;font-weight:850;color:#6b4f00}
.morning-weekly-report .morning-ranking-section{
  margin:18px 0;
  padding:15px;
  border:1px solid #bfd0e1;
  border-radius:15px;
  background:#fff;
  box-shadow:0 5px 16px rgba(18,63,115,.07);
  break-inside:auto;
}
.morning-weekly-report .morning-ranking-section>h3{
  margin:-15px -15px 13px;
  padding:11px 15px;
  border-radius:14px 14px 0 0;
  background:linear-gradient(180deg,#174f88,#123f73);
  color:#fff;
  font-size:19px;
  text-align:center;
}
.morning-weekly-report .report-note{
  margin:0 0 11px;
  padding:8px 11px;
  border-radius:9px;
  background:#fff8df;
  border:1px solid #e8d18b;
  color:#6e5200;
  font-weight:750;
  text-align:center;
}
.morning-weekly-report table{
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid #b9cadb;
  border-radius:10px;
  font-size:12px;
}
.morning-weekly-report th{
  background:#dceafa;
  color:#0b345f;
  font-weight:900;
  text-align:center;
  padding:7px 5px;
  border-color:#b9cadb;
  white-space:normal;
}
.morning-weekly-report td{
  padding:7px 6px;
  text-align:center;
  vertical-align:middle;
  border-color:#ccd8e4;
  line-height:1.28;
}
.morning-weekly-report tbody tr:nth-child(even){background:#f7fafd}
.morning-weekly-report tbody tr:hover{background:#eef5fb}
.morning-weekly-report td:nth-child(2){font-weight:850;text-align:right}
.morning-weekly-report td:last-child{font-weight:900;color:#123f73}
.morning-weekly-report .morning-week-chart th:nth-child(1){width:4%}
.morning-weekly-report .morning-week-chart th:nth-child(2){width:18%}

@media print{
  @page{size:letter landscape;margin:0.28in}
  .morning-weekly-report{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    color:#111!important;
  }
  .morning-weekly-report>header{
    padding:7px 14px 11px!important;
    margin-bottom:8px!important;
    border-radius:10px!important;
    box-shadow:none!important;
  }
  .morning-weekly-report>header img{width:.72in!important;height:.52in!important}
  .morning-weekly-report>header h1{font-size:20px!important}
  .morning-weekly-report>header h2{font-size:16px!important}
  .morning-weekly-report>header p{font-size:11px!important;margin-top:2px!important}
  .morning-weekly-report .morning-ranking-section{
    margin:8px 0!important;
    padding:7px!important;
    border-radius:8px!important;
    box-shadow:none!important;
  }
  .morning-weekly-report .morning-ranking-section>h3{
    margin:-7px -7px 6px!important;
    padding:6px 8px!important;
    border-radius:7px 7px 0 0!important;
    font-size:13px!important;
  }
  .morning-weekly-report .report-note{font-size:8.5px!important;padding:4px 6px!important;margin-bottom:5px!important}
  .morning-weekly-report table{font-size:8.5px!important;border-radius:5px!important}
  .morning-weekly-report th,.morning-weekly-report td{padding:3px 3px!important;line-height:1.15!important;overflow-wrap:normal!important;word-break:keep-all!important}
  .morning-weekly-report th{white-space:normal!important}
  .morning-weekly-report td:nth-child(2){white-space:normal!important}
  .morning-weekly-report .morning-week-chart{font-size:8px!important}
  .morning-weekly-report .morning-week-chart th,.morning-weekly-report .morning-week-chart td{padding:2.5px 2px!important}
  .morning-weekly-report .school-ranking{break-inside:avoid!important}
}

/* וואכנשריפט דרוק — יעדער הויפט באריכט אויף אן עקסטערע שיינע פעידזש */
@media print{
  .morning-weekly-report > .morning-ranking-section{
    box-sizing:border-box!important;
    width:100%!important;
  }

  /* האַלט יעדן הויפט טייל צוזאמען און הייבט אים אן אויף א נייעם בלאט */
  .morning-weekly-report > .morning-week-chart-section,
  .morning-weekly-report > .morning-week-chart-section + .morning-ranking-section,
  .morning-weekly-report > .morning-week-chart-section + .morning-ranking-section + .morning-ranking-section{
    break-before:page!important;
    page-break-before:always!important;
  }

  /* דער ערשטער באריכט זאל נישט באקומען אן אומנויטיגן ליידיגן בלאט */
  .morning-weekly-report > .morning-ranking-section:first-of-type{
    break-before:auto!important;
    page-break-before:auto!important;
  }

  /* שיינע טיטל־באר אויף יעדן נייעם בלאט */
  .morning-weekly-report > .morning-ranking-section > h3{
    min-height:26px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    letter-spacing:.1px!important;
  }

  /* טאבעלע־קעפלעך קומען צוריק אויב א לאנגע טאבעלע גייט איבער מער בלעטער */
  .morning-weekly-report thead{display:table-header-group!important}
  .morning-weekly-report tfoot{display:table-footer-group!important}
  .morning-weekly-report tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* מער לופט און בעסערע לעזבארקייט אויף די עקסטערע בלעטער */
  .morning-weekly-report > .morning-week-chart-section,
  .morning-weekly-report > .morning-week-chart-section + .morning-ranking-section,
  .morning-weekly-report > .morning-week-chart-section + .morning-ranking-section + .morning-ranking-section{
    margin-top:0!important;
    padding:9px!important;
    border:1.4px solid #aebfd0!important;
  }
  .morning-weekly-report > .morning-week-chart-section table,
  .morning-weekly-report > .morning-week-chart-section + .morning-ranking-section table,
  .morning-weekly-report > .morning-week-chart-section + .morning-ranking-section + .morning-ranking-section table{
    border:1.2px solid #9fb4c9!important;
  }
}


/* Weekly print: keep every class together and remove split-class pages */
@media print{
  .morning-weekly-report .report-note{display:none!important}
  .morning-weekly-report tbody.weekly-class-group{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .morning-weekly-report tbody.weekly-class-group + tbody.weekly-class-group{
    break-before:page!important;
    page-break-before:always!important;
  }
  .morning-weekly-report .weekly-class-label td{
    background:#eaf2fb!important;
    color:#123f73!important;
    font-weight:900!important;
    text-align:center!important;
    font-size:9px!important;
    padding:3px!important;
  }
  .morning-weekly-report .morning-week-chart th,
  .morning-weekly-report .morning-week-chart td{
    padding:1.6px 2px!important;
    line-height:1.02!important;
    font-size:7px!important;
  }
  .morning-weekly-report .morning-week-chart .student-name b{font-size:7.4px!important;line-height:1!important}
  .morning-weekly-report .morning-week-chart .student-name small{font-size:5.8px!important;line-height:1!important}
  .morning-weekly-report .morning-week-cell strong{font-size:5.9px!important;line-height:1!important}
  .morning-weekly-report .morning-week-cell span{font-size:5.1px!important;line-height:1!important}
}


/* קנס־צעטלעך — לאַנדסקעיפּ, אָן ליידיגע בלעטער */
@media print {
  .fine-print-page {
    page: fineSheet !important;
    width: 10.4in !important;
    min-height: 7.9in !important;
    height: 7.9in !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-before: page !important;
    page-break-before: always !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
  .fine-print-page:first-of-type {
    break-before: auto !important;
    page-break-before: auto !important;
  }
  .fine-print-page .fine-print {
    width: 100% !important;
    min-height: 7.65in !important;
    height: 7.65in !important;
    margin: 0 !important;
    padding: 0.22in !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

/* Final fix: neat writing-fine sheet, one complete fine per US Letter landscape page */
@page fineSheet { size: Letter landscape; margin: 0.28in; }
@media print {
  .fine-print-page{
    page:fineSheet!important;
    width:auto!important;
    height:7.94in!important;
    min-height:7.94in!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    break-before:page!important;
    page-break-before:always!important;
    break-after:auto!important;
    page-break-after:auto!important;
  }
  .fine-print-page:first-child,
  .fine-print-page:first-of-type{
    break-before:auto!important;
    page-break-before:auto!important;
  }
  .fine-print-page .fine-print{
    width:100%!important;
    height:7.88in!important;
    min-height:0!important;
    margin:0!important;
    padding:.18in .24in!important;
    border:2px solid #173f70!important;
    border-radius:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
  }
  .fine-print .fine-logo{
    width:.62in!important;
    height:.43in!important;
    margin:0 auto -2px!important;
    object-fit:contain!important;
    flex:0 0 auto!important;
  }
  .fine-print h2{
    margin:0!important;
    font-size:19px!important;
    line-height:1.05!important;
    text-align:center!important;
  }
  .fine-print .fine-top-date{
    margin:2px 0 1px!important;
    font-size:13px!important;
    line-height:1.05!important;
    text-align:center!important;
  }
  .fine-print h3{
    margin:1px 0 5px!important;
    font-size:17px!important;
    line-height:1.05!important;
    text-align:right!important;
  }
  .fine-print .fine-meta{
    display:grid!important;
    grid-template-columns:2fr 1fr 1fr!important;
    align-items:center!important;
    gap:4px 18px!important;
    margin:0 0 7px!important;
    padding:0 0 6px!important;
    border-bottom:1px solid #8b98a8!important;
    flex:0 0 auto!important;
  }
  .fine-print .fine-meta p{
    margin:0!important;
    font-size:15px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .fine-print .fine-meta b{font-size:15px!important;}
  .fine-print .fine-assignment{
    margin:0 0 7px!important;
    padding:7px 12px!important;
    min-height:0!important;
    border:2px solid #1f477d!important;
    border-radius:8px!important;
    text-align:center!important;
    flex:0 0 auto!important;
  }
  .fine-print .fine-assignment div{
    margin:0!important;
    font-size:20px!important;
    line-height:1.15!important;
  }
  .fine-print .fine-lines{
    display:flex!important;
    flex-direction:column!important;
    flex:1 1 auto!important;
    min-height:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
  .fine-print .fine-line{
    display:grid!important;
    grid-template-columns:36px 1fr!important;
    align-items:end!important;
    gap:8px!important;
    flex:1 1 0!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    break-inside:avoid!important;
  }
  .fine-print .fine-line span:first-child{
    min-width:0!important;
    font-size:17px!important;
    line-height:1!important;
    text-align:right!important;
    padding-bottom:2px!important;
  }
  .fine-print .line-rule{
    width:100%!important;
    border-bottom:1.6px solid #1f477d!important;
    margin-bottom:3px!important;
  }
  .fine-print .fine-footer{margin-top:6px!important;font-size:12px!important;flex:0 0 auto!important;}
}

/* Final fine-sheet layout: the physical slip is landscape too, with 50 writing lines arranged neatly */
@media print{
  @page{size:letter landscape;margin:7mm}
  .fine-print-page{
    width:100%!important;
    min-height:0!important;
    height:201mm!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .fine-print-page .fine-print{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:5mm 7mm!important;
    border:1.5px solid #143f73!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .fine-print .fine-logo{
    width:70px!important;
    height:42px!important;
    margin:0 auto -2mm!important;
    object-fit:contain!important;
  }
  .fine-print h2{
    font-size:22px!important;
    line-height:1.05!important;
    margin:0!important;
    text-align:center!important;
  }
  .fine-top-date{
    margin:1mm 0 0!important;
    font-size:13px!important;
    text-align:center!important;
  }
  .fine-print h3{
    font-size:20px!important;
    line-height:1.1!important;
    margin:1mm 0 2mm!important;
    text-align:right!important;
  }
  .fine-meta{
    display:grid!important;
    grid-template-columns:2fr 1fr 1fr!important;
    gap:3mm!important;
    align-items:center!important;
    margin:0 0 2mm!important;
    padding:0 0 2mm!important;
    border-bottom:1px solid #8da4bd!important;
  }
  .fine-meta p,.fine-meta b{
    font-size:15px!important;
    line-height:1.15!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  .fine-assignment{
    margin:0 0 3mm!important;
    padding:2.5mm 4mm!important;
    min-height:12mm!important;
    border:1.5px solid #1f477d!important;
    border-radius:3mm!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .fine-assignment div{
    font-size:18px!important;
    line-height:1.15!important;
    margin:0!important;
    text-align:center!important;
  }
  .fine-lines{
    height:128mm!important;
    display:grid!important;
    grid-template-rows:repeat(25,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-auto-columns:1fr!important;
    column-gap:10mm!important;
    direction:rtl!important;
    overflow:hidden!important;
  }
  .fine-line{
    min-height:0!important;
    height:auto!important;
    gap:2mm!important;
    display:flex!important;
    align-items:end!important;
    break-inside:avoid!important;
  }
  .fine-line span:first-child{
    min-width:8mm!important;
    width:8mm!important;
    font-size:13px!important;
    line-height:1!important;
    text-align:center!important;
    padding-bottom:.4mm!important;
  }
  .fine-line .line-rule{
    border-bottom:1px solid #1f477d!important;
    opacity:.9!important;
  }
}

/* Final correction: the קנס slip itself prints the other way — US Letter portrait. */
@page fineSheet { size: Letter portrait; margin: 7mm; }
@media print{
  .fine-print-page{
    page:fineSheet!important;
    width:100%!important;
    height:264mm!important;
    min-height:264mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .fine-print-page .fine-print{
    width:100%!important;
    height:100%!important;
    padding:5mm 6mm!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .fine-print .fine-logo{
    width:64px!important;
    height:38px!important;
    margin:0 auto -1mm!important;
  }
  .fine-print h2{font-size:21px!important;}
  .fine-top-date{font-size:12px!important;margin:.5mm 0 0!important;}
  .fine-print h3{font-size:18px!important;margin:1mm 0 2mm!important;}
  .fine-meta{
    grid-template-columns:2fr 1fr 1fr!important;
    gap:2mm!important;
    margin:0 0 2mm!important;
    padding-bottom:2mm!important;
  }
  .fine-meta p,.fine-meta b{font-size:13.5px!important;}
  .fine-assignment{
    min-height:12mm!important;
    margin:0 0 3mm!important;
    padding:2mm 3mm!important;
  }
  .fine-assignment div{font-size:17px!important;}
  .fine-lines{
    height:188mm!important;
    display:grid!important;
    grid-template-rows:repeat(25,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-auto-columns:1fr!important;
    column-gap:7mm!important;
    direction:rtl!important;
    overflow:hidden!important;
  }
  .fine-line{
    min-height:0!important;
    height:auto!important;
    gap:1.5mm!important;
    display:flex!important;
    align-items:end!important;
  }
  .fine-line span:first-child{
    min-width:7mm!important;
    width:7mm!important;
    font-size:12px!important;
    line-height:1!important;
    text-align:center!important;
    padding-bottom:.5mm!important;
  }
  .fine-line .line-rule{border-bottom:1px solid #1f477d!important;}
  .fine-footer{margin-top:2mm!important;font-size:11px!important;}
}

/* Final requested orientation: rotate the entire קנס slip to US Letter landscape. */
@page fineSheet { size: Letter landscape; margin: 7mm; }
@media print{
  .fine-print-page{
    page:fineSheet!important;
    width:100%!important;
    height:201mm!important;
    min-height:201mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  .fine-print-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  .fine-print-page .fine-print{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:5mm 7mm!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .fine-print .fine-logo{width:70px!important;height:42px!important;margin:0 auto -2mm!important;}
  .fine-print h2{font-size:22px!important;line-height:1.05!important;margin:0!important;text-align:center!important;}
  .fine-top-date{font-size:13px!important;margin:1mm 0 0!important;text-align:center!important;}
  .fine-print h3{font-size:20px!important;line-height:1.1!important;margin:1mm 0 2mm!important;text-align:right!important;}
  .fine-meta{grid-template-columns:2fr 1fr 1fr!important;gap:3mm!important;margin:0 0 2mm!important;padding:0 0 2mm!important;}
  .fine-meta p,.fine-meta b{font-size:15px!important;}
  .fine-assignment{min-height:12mm!important;margin:0 0 3mm!important;padding:2.5mm 4mm!important;}
  .fine-assignment div{font-size:18px!important;}
  .fine-lines{
    height:128mm!important;
    display:grid!important;
    grid-template-rows:repeat(25,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-auto-columns:1fr!important;
    column-gap:10mm!important;
    direction:rtl!important;
    overflow:hidden!important;
  }
  .fine-line{min-height:0!important;height:auto!important;gap:2mm!important;display:flex!important;align-items:end!important;}
  .fine-line span:first-child{min-width:8mm!important;width:8mm!important;font-size:13px!important;line-height:1!important;text-align:center!important;padding-bottom:.4mm!important;}
  .fine-line .line-rule{border-bottom:1px solid #1f477d!important;}
  .fine-footer{margin-top:1.5mm!important;font-size:11px!important;}
}

/* FINAL: קנס־צעטל — פּאָרטרעט */
@page fineSheet { size: Letter portrait; margin: 7mm; }
@media print{
  .fine-print-page{
    page:fineSheet!important;
    width:100%!important;
    height:264mm!important;
    min-height:264mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  .fine-print-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  .fine-print-page .fine-print{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:5mm 6mm!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .fine-print .fine-logo{width:64px!important;height:38px!important;margin:0 auto -1mm!important;}
  .fine-print h2{font-size:21px!important;line-height:1.05!important;margin:0!important;text-align:center!important;}
  .fine-top-date{font-size:12px!important;margin:.5mm 0 0!important;text-align:center!important;}
  .fine-print h3{font-size:18px!important;line-height:1.1!important;margin:1mm 0 2mm!important;text-align:right!important;}
  .fine-meta{grid-template-columns:2fr 1fr 1fr!important;gap:2mm!important;margin:0 0 2mm!important;padding:0 0 2mm!important;}
  .fine-meta p,.fine-meta b{font-size:13.5px!important;}
  .fine-assignment{min-height:12mm!important;margin:0 0 3mm!important;padding:2mm 3mm!important;}
  .fine-assignment div{font-size:17px!important;}
  .fine-lines{
    height:188mm!important;
    display:grid!important;
    grid-template-rows:repeat(25,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
    grid-auto-columns:1fr!important;
    column-gap:7mm!important;
    direction:rtl!important;
    overflow:hidden!important;
  }
  .fine-line{min-height:0!important;height:auto!important;gap:1.5mm!important;display:flex!important;align-items:end!important;}
  .fine-line span:first-child{min-width:7mm!important;width:7mm!important;font-size:12px!important;line-height:1!important;text-align:center!important;padding-bottom:.5mm!important;}
  .fine-line .line-rule{border-bottom:1px solid #1f477d!important;}
  .fine-footer{margin-top:2mm!important;font-size:11px!important;}
}

/* FINAL REQUEST: קנס־צעטל די אנדערע וועג — לאַנדסקעיפּ; מער ווי 25 שורות גייען מסודר אויף נאך בלעטער. */
@page fineSheet { size: Letter landscape; margin: 7mm; }
@media print{
  .fine-print-page{
    page:fineSheet!important;
    width:100%!important;
    height:201mm!important;
    min-height:201mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  .fine-print-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  .fine-print-page .fine-print{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:4mm 7mm!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .fine-print .fine-logo{width:66px!important;height:40px!important;margin:0 auto -2mm!important;}
  .fine-print h2{font-size:21px!important;line-height:1.05!important;margin:0!important;text-align:center!important;}
  .fine-top-date{font-size:12px!important;margin:.5mm 0 0!important;text-align:center!important;}
  .fine-print h3{font-size:19px!important;line-height:1.1!important;margin:1mm 0 2mm!important;text-align:right!important;}
  .fine-meta{grid-template-columns:2fr 1fr 1fr!important;gap:3mm!important;margin:0 0 2mm!important;padding:0 0 2mm!important;}
  .fine-meta p,.fine-meta b{font-size:14.5px!important;}
  .fine-assignment{min-height:12mm!important;margin:0 0 3mm!important;padding:2mm 4mm!important;}
  .fine-assignment div{font-size:18px!important;}
  .fine-lines{
    height:128mm!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(25,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:0!important;
    direction:rtl!important;
    overflow:hidden!important;
  }
  .fine-line{min-height:0!important;height:auto!important;gap:2mm!important;display:flex!important;align-items:end!important;break-inside:avoid!important;}
  .fine-line span:first-child{min-width:9mm!important;width:9mm!important;font-size:13px!important;line-height:1!important;text-align:center!important;padding-bottom:.4mm!important;}
  .fine-line .line-rule{border-bottom:1px solid #1f477d!important;}
  .fine-footer{margin-top:1.5mm!important;font-size:11px!important;}
}

/* דריי ארום דעם גאנצן קנס־בלאט 180° — זעלבע שיינע לאַנדסקעיפּ אויסשטעלונג. */
@media print{
  .fine-print-page .fine-print{
    transform:rotate(180deg)!important;
    transform-origin:center center!important;
  }
}

/* געהעריגע אנדערע וועג: US Letter portrait — נישט 180° געדרייט. */
@page fineSheet { size: Letter portrait; margin: 7mm; }
@media print{
  .fine-print-page{
    page:fineSheet!important;
    width:100%!important;
    height:264mm!important;
    min-height:264mm!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  .fine-print-page:last-child{break-after:auto!important;page-break-after:auto!important;}
  .fine-print-page .fine-print{
    transform:none!important;
    transform-origin:initial!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:5mm 6mm!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .fine-print .fine-logo{width:64px!important;height:38px!important;margin:0 auto -1mm!important;}
  .fine-print h2{font-size:21px!important;line-height:1.05!important;margin:0!important;text-align:center!important;}
  .fine-top-date{font-size:12px!important;margin:.5mm 0 0!important;text-align:center!important;}
  .fine-print h3{font-size:18px!important;line-height:1.1!important;margin:1mm 0 2mm!important;text-align:right!important;}
  .fine-meta{grid-template-columns:2fr 1fr 1fr!important;gap:2mm!important;margin:0 0 2mm!important;padding:0 0 2mm!important;}
  .fine-meta p,.fine-meta b{font-size:13.5px!important;}
  .fine-assignment{min-height:12mm!important;margin:0 0 3mm!important;padding:2mm 3mm!important;}
  .fine-assignment div{font-size:17px!important;}
  .fine-lines{
    height:188mm!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:repeat(25,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:0!important;
    direction:rtl!important;
    overflow:hidden!important;
  }
  .fine-line{min-height:0!important;height:auto!important;gap:1.5mm!important;display:flex!important;align-items:end!important;break-inside:avoid!important;}
  .fine-line span:first-child{min-width:8mm!important;width:8mm!important;font-size:12px!important;line-height:1!important;text-align:center!important;padding-bottom:.5mm!important;}
  .fine-line .line-rule{border-bottom:1px solid #1f477d!important;}
  .fine-footer{margin-top:2mm!important;font-size:11px!important;}
}

/* ===== FINAL FINE-SLIP PORTRAIT LAYOUT — tall/narrow like supplied sample ===== */
@media print {
  @page { size: Letter portrait; margin: 0.28in; }
  html, body { width: 7.94in !important; }

  .fine-print-page {
    width: 100% !important;
    min-height: 10.35in !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    break-after: page !important;
    page-break-after: always !important;
    overflow: hidden !important;
  }
  .fine-print-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
  .fine-print-page .fine-print {
    width: 100% !important;
    min-height: 10.15in !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0.22in 0.18in 0.16in !important;
    border: 1.6px solid #123c73 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    direction: rtl !important;
  }
  .fine-print .fine-logo {
    width: 0.72in !important;
    height: 0.62in !important;
    object-fit: contain !important;
    margin: 0 auto 0.02in !important;
  }
  .fine-print h2 {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.05 !important;
    color: #123c73 !important;
    text-align: center !important;
  }
  .fine-print .fine-top-date {
    text-align: center !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #123c73 !important;
    margin: 0.03in 0 0.08in !important;
  }
  .fine-print h3 {
    margin: 0.03in 0 0.05in !important;
    font-size: 21px !important;
    line-height: 1.05 !important;
    text-align: right !important;
  }
  .fine-print .fine-meta {
    display: grid !important;
    grid-template-columns: 1.6fr 0.7fr 0.8fr !important;
    align-items: end !important;
    gap: 0.16in !important;
    margin: 0 0 0.08in !important;
    padding: 0 0 0.06in !important;
    border-bottom: 1px solid #45688f !important;
  }
  .fine-print .fine-meta p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
  .fine-print .fine-meta b { font-size: 16px !important; }
  .fine-print .fine-assignment {
    margin: 0 0 0.13in !important;
    padding: 0.09in 0.12in !important;
    min-height: 0.42in !important;
    border: 2px solid #123c73 !important;
    border-radius: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }
  .fine-print .fine-assignment div {
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
  }
  .fine-print .fine-lines { width: 100% !important; }
  .fine-print .fine-line {
    height: 0.36in !important;
    min-height: 0.36in !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    gap: 0.08in !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .fine-print .fine-line span:first-child {
    order: 0 !important;
    width: 0.34in !important;
    min-width: 0.34in !important;
    text-align: right !important;
    font-size: 16px !important;
    line-height: 1 !important;
    padding-bottom: 0.02in !important;
  }
  .fine-print .line-rule {
    order: 1 !important;
    flex: 1 !important;
    border-bottom: 1.4px solid #1f477d !important;
    margin-bottom: 0.03in !important;
  }
}

/* FINAL FIX — every writing line has exactly the same height on every fine-slip page. */
@media print {
  .fine-print .fine-lines {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-auto-flow: initial !important;
    overflow: visible !important;
  }
  .fine-print .fine-line {
    display: flex !important;
    height: 0.36in !important;
    min-height: 0.36in !important;
    max-height: 0.36in !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: flex-end !important;
    flex: none !important;
  }
  .fine-print .fine-line span:first-child {
    height: 0.36in !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    padding-bottom: 0.02in !important;
    box-sizing: border-box !important;
  }
  .fine-print .line-rule {
    height: 0.36in !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    border-bottom: 1.4px solid #1f477d !important;
  }
}


/* FINAL NO-CUT FIX — 18 equal writing rows per portrait page. */
@media print {
  .fine-print-page { min-height: 0 !important; height: auto !important; overflow: visible !important; }
  .fine-print-page .fine-print { min-height: 0 !important; height: auto !important; overflow: visible !important; }
}

/* CONTINUATION PAGES — compact header, no wasted space, no skipped line numbers. */
@media print {
  .fine-print.fine-continuation {
    padding-top: 0.16in !important;
  }
  .fine-continuation-header {
    display: grid !important;
    grid-template-columns: auto auto 1fr !important;
    align-items: center !important;
    gap: 0.18in !important;
    min-height: 0.42in !important;
    margin: 0 0 0.10in !important;
    padding: 0.07in 0.10in !important;
    border: 1.6px solid #123c73 !important;
    border-radius: 7px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }
  .fine-continuation-header strong {
    font-size: 17px !important;
    color: #123c73 !important;
  }
  .fine-continuation-header span:last-child {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* PREMIUM FINE-SLIP PRINT DESIGN — elegant school stationery while keeping every row equal. */
@media print {
  .fine-print {
    position: relative !important;
    box-sizing: border-box !important;
    border: 2px solid #153f73 !important;
    border-radius: 10px !important;
    padding: 0.22in 0.24in 0.18in !important;
    background:
      linear-gradient(180deg, rgba(238,245,252,.95) 0, rgba(255,255,255,0) 1.18in),
      #fff !important;
    box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 5px #b9cbe0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .fine-print::before,
  .fine-print::after {
    content: "◆" !important;
    position: absolute !important;
    top: 0.12in !important;
    color: #b18a3a !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }
  .fine-print::before { right: 0.16in !important; }
  .fine-print::after  { left: 0.16in !important; }

  .fine-logo {
    width: 0.70in !important;
    height: 0.54in !important;
    object-fit: contain !important;
    margin: 0 auto 0.02in !important;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.12)) !important;
  }
  .fine-print > h2 {
    margin: 0 !important;
    color: #123f73 !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    letter-spacing: .2px !important;
  }
  .fine-top-date {
    color: #52677f !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    margin: 0.02in 0 0.06in !important;
    text-align: center !important;
  }
  .fine-print > h3 {
    display: inline-block !important;
    margin: 0 0 0.04in !important;
    padding: 0.045in 0.16in !important;
    border-radius: 999px !important;
    background: #123f73 !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    box-shadow: 0 1px 0 rgba(0,0,0,.10) !important;
  }
  .fine-meta {
    border: 0 !important;
    border-bottom: 2px solid #153f73 !important;
    background: rgba(255,255,255,.78) !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 0.05in 0.08in !important;
    margin-bottom: 0.08in !important;
    gap: 0.04in 0.16in !important;
  }
  .fine-meta p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.28 !important;
  }
  .fine-meta b { color: #123f73 !important; }
  .fine-assignment {
    position: relative !important;
    margin: 0.06in 0 0.12in !important;
    padding: 0.09in 0.16in !important;
    border: 2px solid #153f73 !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg,#f7fbff,#fff,#f7fbff) !important;
    text-align: center !important;
    box-shadow: inset 0 0 0 2px #fff !important;
  }
  .fine-assignment::before,
  .fine-assignment::after {
    content: "✦" !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #b18a3a !important;
    font-size: 14px !important;
  }
  .fine-assignment::before { right: 0.12in !important; }
  .fine-assignment::after  { left: 0.12in !important; }
  .fine-assignment div {
    margin: 0 !important;
    color: #172c45 !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
  }
  .fine-lines {
    padding: 0.02in 0.03in 0 !important;
  }
  .fine-line span:first-child {
    color: #123f73 !important;
    font-size: 16px !important;
    min-width: 0.34in !important;
  }
  .fine-print .line-rule {
    border-bottom-color: #28568d !important;
  }
  .fine-line:nth-child(5n) .line-rule {
    border-bottom-width: 1.8px !important;
  }
  .fine-continuation-header {
    position: relative !important;
    border: 2px solid #153f73 !important;
    background: linear-gradient(90deg,#edf5fc,#fff,#edf5fc) !important;
    box-shadow: inset 0 0 0 2px #fff !important;
    color: #20364e !important;
  }
  .fine-continuation-header::before {
    content: "✦" !important;
    color: #b18a3a !important;
    font-size: 14px !important;
  }
  .fine-continuation-header strong {
    background: #123f73 !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 0.04in 0.12in !important;
  }
  .sitting-fine-box {
    background: linear-gradient(180deg,#f7fbff,#fff) !important;
    border-color: #153f73 !important;
    box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 4px #c6d6e7 !important;
  }
}

/* FIRST FINE PAGE — use the same premium graphic treatment as continuation pages. */
@media print {
  .fine-full-header {
    position: relative !important;
    margin: 0 0 0.10in !important;
    padding: 0.10in 0.12in 0.08in !important;
    border: 2px solid #153f73 !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg,#edf5fc,#fff,#edf5fc) !important;
    box-shadow: inset 0 0 0 2px #fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .fine-full-header::before,
  .fine-full-header::after {
    content: "✦" !important;
    position: absolute !important;
    top: 0.12in !important;
    color: #b18a3a !important;
    font-size: 14px !important;
  }
  .fine-full-header::before { right: 0.14in !important; }
  .fine-full-header::after  { left: 0.14in !important; }
  .fine-full-header > h2 {
    margin: 0 !important;
    color: #123f73 !important;
    font-size: 25px !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }
  .fine-full-header > h3 {
    display: table !important;
    margin: 0.04in auto 0.06in !important;
    padding: 0.045in 0.16in !important;
    border-radius: 999px !important;
    background: #123f73 !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }
  .fine-full-header .fine-meta {
    margin: 0.02in 0 0.07in !important;
  }
  .fine-full-header .fine-assignment {
    margin-bottom: 0 !important;
  }
  .fine-print-page:first-child .fine-print {
    break-inside: avoid-page !important;
  }
}

/* FINAL PRINT PAGINATION FIX — prevent an empty sheet before permission/fine pages. */
@media print {
  .slips-print-document:empty { display: none !important; }
  .slips-print-document + .fine-print-page:first-of-type,
  #content > .fine-print-page:first-child,
  #content > .fine-print-page:first-of-type {
    break-before: auto !important;
    page-break-before: auto !important;
  }
  .slips-print-document {
    break-after: auto !important;
    page-break-after: auto !important;
  }
}
\n\n/* RISHUS + FINE: when there is only one permission slip, use the whole first sheet\n   instead of leaving five empty card positions. Multi-slip printing stays 6-up. */\n@media print {\n  .slips-print-document.single-permission-page .slips-print-page {\n    width: 100% !important;\n    height: 10.45in !important;\n    max-height: 10.45in !important;\n    overflow: hidden !important;\n    break-after: page !important;\n    page-break-after: always !important;\n  }\n  .slips-print-document.single-permission-page .slips-print-grid {\n    width: 100% !important;\n    height: 100% !important;\n    display: grid !important;\n    grid-template-columns: 1fr !important;\n    grid-template-rows: 1fr !important;\n    gap: 0 !important;\n  }\n  .slips-print-document.single-permission-page .permission-slip {\n    width: 100% !important;\n    height: 100% !important;\n    min-height: 0 !important;\n    padding: 0.42in !important;\n    display: flex !important;\n    flex-direction: column !important;\n    justify-content: center !important;\n    border-width: 3px !important;\n    border-radius: 24px !important;\n  }\n  .slips-print-document.single-permission-page .slip-logo {\n    width: 1.35in !important;\n    height: 0.95in !important;\n    margin: 0 auto 0.12in !important;\n  }\n  .slips-print-document.single-permission-page .permission-slip h2 {\n    font-size: 34px !important;\n    margin: 0.08in 0 0.18in !important;\n    padding: 0.12in !important;\n  }\n  .slips-print-document.single-permission-page .permission-slip p,\n  .slips-print-document.single-permission-page .permission-slip b,\n  .slips-print-document.single-permission-page .permission-slip span {\n    font-size: 22px !important;\n    line-height: 1.45 !important;\n  }\n  .slips-print-document.single-permission-page .typed-signature {\n    margin-top: 0.35in !important;\n    font-size: 19px !important;\n  }\n}\n
/* FINAL FIX — no blank sheet between Rishus cards and the fine. */
@media print {
  /* A permission page itself finishes the sheet. */
  .slips-print-document .slips-print-page {
    break-after: page !important;
    page-break-after: always !important;
  }

  /* Do not request a second page break before the first fine page. */
  .slips-print-document + .fine-print-page,
  .slips-print-document + .fine-print-page:first-of-type,
  #content > .fine-print-page:first-child,
  #content > .fine-print-page:first-of-type {
    break-before: auto !important;
    page-break-before: auto !important;
  }

  /* Fine pages continue one after another, without empty sheets. */
  .fine-print-page {
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: page !important;
    page-break-after: always !important;
    min-height: 0 !important;
    height: auto !important;
  }
  .fine-print-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
}

/* DEFINITIVE RISHUS + FINE PAGINATION FIX
   Keep the permission card at its normal 6-up size and prevent Chromium from
   creating an extra blank sheet before the fine pages. */
@media print {
  .slips-print-document {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .slips-print-document .slips-print-page {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 10.15in !important;
    min-height: 0 !important;
    max-height: 10.15in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .slips-print-document .slips-print-grid,
  .slips-print-document .slips-print-grid.single {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 10.15in !important;
    max-height: 10.15in !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: 4mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* The full-height permission sheet itself pushes the fine to the following
     sheet. No second forced break and no named-page transition are needed. */
  .slips-print-document + .fine-print-page,
  .slips-print-document + .fine-print-page:first-of-type,
  #content > .fine-print-page:first-of-type {
    page: auto !important;
    break-before: auto !important;
    page-break-before: auto !important;
    margin-top: 0 !important;
  }

  .fine-print-page {
    page: auto !important;
  }
}

/* Weekly blank Shacharis class sheet */
.morning-week-sheet-print{direction:rtl;background:#fff;color:#102f5f}
.morning-week-sheet-page{background:#fff;padding:10mm 9mm 8mm;box-sizing:border-box;break-after:page;page-break-after:always;min-height:100vh;border:2px solid #164a85}
.morning-week-sheet-page:last-child{break-after:auto;page-break-after:auto}
.morning-week-sheet-header{display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;border-bottom:3px double #b58b2a;padding-bottom:6px;margin-bottom:6px}
.morning-week-sheet-header img{width:58px;height:58px;object-fit:contain}
.morning-week-sheet-header h1{font-size:24px;margin:0;color:#123f78}
.morning-week-sheet-header h2{font-size:20px;margin:2px 0;color:#123f78}
.morning-week-sheet-header p{font-size:15px;font-weight:800;margin:2px 0;color:#7a5612}
.morning-week-sheet-meta{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:4px 0 7px;padding:5px 8px;background:#f2f7fd;border:1px solid #a9c5e5;border-radius:8px}
.morning-week-sheet-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px}
.morning-week-sheet-table th,.morning-week-sheet-table td{border:1px solid #8eb0d4;padding:3px;text-align:center;vertical-align:middle}
.morning-week-sheet-table thead th{background:#eaf3fc;color:#103f79;font-weight:900}
.morning-week-sheet-table thead tr:first-child th{font-size:13px}
.morning-week-sheet-table th small{display:block;font-size:8px;font-weight:600;margin-top:1px}
.morning-week-sheet-table thead tr:nth-child(2) th{padding:2px 1px;font-size:8px}
.morning-week-sheet-table thead tr:nth-child(2) th span{display:inline-block;width:50%;line-height:1.1}
.morning-week-sheet-table .week-sheet-num{width:25px;font-weight:800}
.morning-week-sheet-table .week-sheet-name{width:150px;text-align:right;font-size:12px;font-weight:800;padding-right:6px;white-space:nowrap}
.morning-week-sheet-mark{height:25px;padding:0!important}
.morning-week-sheet-mark span{display:inline-flex;width:50%;height:100%;align-items:center;justify-content:center;font-size:17px;box-sizing:border-box}
.morning-week-sheet-mark span+span{border-right:1px dashed #b5c8dd}
.morning-week-sheet-page footer{display:flex;justify-content:space-between;font-size:10px;margin-top:5px;color:#516a86}
@media print{
  @page{size:letter landscape;margin:5mm}
  body:has(.morning-week-sheet-print) .sidebar,body:has(.morning-week-sheet-print) .topbar,body:has(.morning-week-sheet-print) .no-print{display:none!important}
  body:has(.morning-week-sheet-print) main,body:has(.morning-week-sheet-print) #content{margin:0!important;padding:0!important;width:auto!important;max-width:none!important}
  .morning-week-sheet-page{width:269mm;min-height:203mm;height:auto;padding:6mm 7mm 5mm;border:1.5px solid #164a85;overflow:hidden}
  .morning-week-sheet-table{font-size:9px}
  .morning-week-sheet-table th,.morning-week-sheet-table td{padding:2px}
  .morning-week-sheet-table .week-sheet-name{font-size:10px;width:125px}
  .morning-week-sheet-mark{height:20px}
  .morning-week-sheet-mark span{font-size:14px}
}

/* Weekly Shacharis sheet: Jewish week, late-arrival clock, whole class per page */
.morning-week-sheet-table .week-sheet-subhead{padding:0!important}
.morning-week-sheet-table .week-sheet-subhead span{display:inline-flex!important;width:33.333%!important;min-height:20px;align-items:center;justify-content:center;box-sizing:border-box;line-height:1.05}
.morning-week-sheet-table .week-sheet-subhead span+span{border-right:1px dashed #b5c8dd}
.morning-week-sheet-mark{display:table-cell!important;padding:0!important;white-space:nowrap}
.morning-week-sheet-mark span{display:inline-flex!important;width:33.333%!important;height:100%;align-items:center;justify-content:center;box-sizing:border-box}
.morning-week-sheet-mark span+span{border-right:1px dashed #b5c8dd}
.morning-week-sheet-late-time{font-size:9px!important;font-weight:800;direction:ltr;letter-spacing:.2px}
@media print{
  .morning-week-sheet-page{height:203mm!important;min-height:203mm!important;max-height:203mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .morning-week-sheet-header{padding-bottom:3px!important;margin-bottom:3px!important;gap:8px!important}
  .morning-week-sheet-header img{width:44px!important;height:44px!important}
  .morning-week-sheet-header h1{font-size:18px!important}
  .morning-week-sheet-header h2{font-size:15px!important;margin:0!important}
  .morning-week-sheet-header p{font-size:11px!important;margin:0!important}
  .morning-week-sheet-meta{font-size:9px!important;margin:2px 0 4px!important;padding:3px 6px!important}
  .morning-week-sheet-table{height:calc(203mm - 43mm)!important}
  .morning-week-sheet-table tbody tr{height:calc((203mm - 49mm) / var(--pupil-count))!important}
  .morning-week-sheet-table th,.morning-week-sheet-table td{padding:1px!important;line-height:1!important}
  .morning-week-sheet-table thead tr:first-child th{font-size:10px!important}
  .morning-week-sheet-table th small{font-size:6.5px!important}
  .morning-week-sheet-table .week-sheet-subhead span{font-size:6.5px!important;min-height:13px!important}
  .morning-week-sheet-table .week-sheet-name{font-size:9px!important;width:110px!important;padding-right:4px!important}
  .morning-week-sheet-table .week-sheet-num{width:20px!important;font-size:8px!important}
  .morning-week-sheet-mark{height:auto!important}
  .morning-week-sheet-mark span{font-size:11px!important}
  .morning-week-sheet-mark .week-sheet-late-time{font-size:7px!important}
  .morning-week-sheet-page footer{font-size:7px!important;margin-top:2px!important}
}

/* שחרית: קלארע באזונדערע פוינט־טשעקלעך און אויטאמאטישער סך הכל */
.morning-table .morning-zmanim-head,
.morning-table .morning-zmanim-cell{border-inline-start:3px solid #bfd2e5!important;border-inline-end:1px solid #d6e2ee!important;background:#f4f9fd!important;text-align:center!important}
.morning-table .morning-voice-head,
.morning-table .morning-voice-cell{border-inline-end:3px solid #bfd2e5!important;background:#fbfdff!important;text-align:center!important}
.morning-table thead th small{display:block;margin-top:3px;font-size:11px;color:#55708b;font-weight:700}
.morning-points-cell{min-width:108px;padding:10px!important}
.morning-quick-check{display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;user-select:none}
.morning-quick-check input{position:absolute;opacity:0;pointer-events:none}
.morning-quick-check .checkmark{display:grid;place-items:center;width:32px;height:32px;border:2px solid #9fb5c9;border-radius:9px;background:#fff;color:transparent;font-size:20px;font-weight:900;transition:.15s ease}
.morning-quick-check input:checked+.checkmark{background:#17633d;border-color:#17633d;color:#fff;box-shadow:0 3px 10px rgba(23,99,61,.2)}
.morning-quick-check b{font-size:18px;color:#173d63}
.morning-total{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 9px;border-radius:50%;background:#e7f1fb;color:#123c73;font-size:21px!important}

/* ליידיגער וואך־צעטל: בעסער צעטיילן זמנים, קול און שפעט־שעה */
.morning-week-sheet-table .week-sheet-subhead{padding:0!important}
.morning-week-sheet-table .week-sheet-subhead span{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:3px 5px;box-sizing:border-box;border-inline-start:1px solid #9fb5c9;font-weight:800}
.morning-week-sheet-table .week-sheet-subhead span:first-child{border-inline-start:0;background:#eef7f1}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(2){background:#eef5fb}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(3){background:#fff7e8}

/* שחרית: צוריק צום היינטיגן דאטום */
.morning-today-action{background:#0f766e!important;border-color:#0f766e!important;color:#fff!important;font-weight:800}
.morning-today-action:hover{filter:brightness(1.06)}


/* שחרית וואך־צעטל: קלארער און שענער אפגעטיילטע זמנים / קול / שפעט־שעה */
.morning-week-sheet-table .week-sheet-subhead span,
.morning-week-sheet-table .morning-week-sheet-mark span{
  border-inline-start:2px solid #9ab4cf!important;
  box-sizing:border-box!important;
}
.morning-week-sheet-table .week-sheet-subhead span:first-child,
.morning-week-sheet-table .morning-week-sheet-mark span:first-child{
  border-inline-start:0!important;
}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(1),
.morning-week-sheet-table .morning-week-sheet-mark span:nth-child(1){width:29%!important;background:#eef8f1!important}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(2),
.morning-week-sheet-table .morning-week-sheet-mark span:nth-child(2){width:29%!important;background:#eef5fc!important}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(3),
.morning-week-sheet-table .morning-week-sheet-mark span:nth-child(3){width:42%!important;background:#fff8e9!important}
.morning-week-sheet-table .week-sheet-subhead span{
  min-height:27px!important;
  padding:3px 2px!important;
  font-weight:900!important;
  white-space:normal!important;
}
.morning-week-sheet-table .morning-week-sheet-mark span{
  position:relative!important;
  min-height:100%!important;
}
.morning-week-sheet-table .week-sheet-on-time::before,
.morning-week-sheet-table .week-sheet-voice::before{
  content:"";
  display:block;
  width:13px;
  height:13px;
  border:1.7px solid #275d96;
  border-radius:2px;
  background:#fff;
  box-sizing:border-box;
}
.morning-week-sheet-table .week-sheet-late-time{
  font-family:Arial,sans-serif!important;
  font-weight:700!important;
  letter-spacing:.5px!important;
  color:#284d75!important;
  direction:ltr!important;
}
@media print{
  .morning-week-sheet-table .week-sheet-subhead span{min-height:15px!important;padding:1px!important}
  .morning-week-sheet-table .week-sheet-on-time::before,
  .morning-week-sheet-table .week-sheet-voice::before{width:10px!important;height:10px!important;border-width:1.3px!important}
  .morning-week-sheet-table .week-sheet-late-time{font-size:6.5px!important;letter-spacing:0!important}
}

/* Final fix: neatly divided Zmanim / Tefillah B'kol / late-time fields */
.morning-week-sheet-table .week-sheet-subhead{
  padding:0!important;
  overflow:hidden!important;
}
.morning-week-sheet-table .week-sheet-subhead span,
.morning-week-sheet-table .week-sheet-mark span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  box-sizing:border-box!important;
  margin:0!important;
  overflow:hidden!important;
  border-inline-start:1.5px solid #789bc1!important;
}
.morning-week-sheet-table .week-sheet-subhead span:first-child,
.morning-week-sheet-table .week-sheet-mark span:first-child{
  border-inline-start:0!important;
}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(1),
.morning-week-sheet-table .week-sheet-mark span:nth-child(1){width:31%!important;background:#eef8f1!important}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(2),
.morning-week-sheet-table .week-sheet-mark span:nth-child(2){width:31%!important;background:#eef5fc!important}
.morning-week-sheet-table .week-sheet-subhead span:nth-child(3),
.morning-week-sheet-table .week-sheet-mark span:nth-child(3){width:38%!important;background:#fff8e9!important}
.morning-week-sheet-table .week-sheet-subhead span{
  min-height:26px!important;
  padding:2px 1px!important;
  font-size:7.5px!important;
  line-height:1.05!important;
  white-space:normal!important;
  text-align:center!important;
}
.morning-week-sheet-table .week-sheet-mark{
  padding:0!important;
  height:100%!important;
  overflow:hidden!important;
}
.morning-week-sheet-table .week-sheet-mark span{
  height:100%!important;
  min-height:22px!important;
}
.morning-week-sheet-table .week-sheet-on-time::before,
.morning-week-sheet-table .week-sheet-voice::before{
  width:12px!important;
  height:12px!important;
  border:1.5px solid #24578f!important;
  border-radius:3px!important;
  background:#fff!important;
  flex:0 0 auto!important;
}
.morning-week-sheet-table .week-sheet-late-time{
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  direction:ltr!important;
}
@media print{
  .morning-week-sheet-table .week-sheet-subhead span{min-height:14px!important;font-size:6px!important;padding:0!important}
  .morning-week-sheet-table .week-sheet-mark span{min-height:14px!important}
  .morning-week-sheet-table .week-sheet-on-time::before,
  .morning-week-sheet-table .week-sheet-voice::before{width:8px!important;height:8px!important;border-width:1px!important}
  .morning-week-sheet-table .week-sheet-late-time{font-size:5.8px!important}
}

/* רשות־צעטלעך שמאָל און לאַנג — ווי דער קנס־צעטל */
.slips-print-grid,.slips-print-grid.single{
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:repeat(2,1fr)!important;
  gap:4mm!important;
}
@media print{
  @page{size:letter portrait;margin:6mm}
  .slips-print-grid,.slips-print-grid.single{
    width:100%!important;
    height:267mm!important;
    grid-template-columns:repeat(3,1fr)!important;
    grid-template-rows:repeat(2,1fr)!important;
    grid-auto-rows:1fr!important;
    gap:4mm!important;
  }
  .permission-slip,.slips-print-grid.single .permission-slip{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:4mm 3mm!important;
    overflow:hidden!important;
  }
  .permission-slip p{font-size:11px!important;margin:4px 0!important}
  .permission-slip h2{font-size:16px!important;line-height:1.1!important}
  .slip-logo{width:68px!important;height:50px!important}
}


/* compact history table */
.history-table th,.history-table td{
 padding:6px 8px!important;
 font-size:14px!important;
}
.history-table .ghost,.history-table .danger,.history-table .primary{
 padding:6px 10px!important;
 font-size:14px!important;
 border-radius:10px!important;
}
.history-table tr{height:48px;}

/* EXTRA COMPACT רשות־ליסטע — שמעלערע שורות */
.slip-row{
  height:42px!important;
}
.slip-row td{
  padding:4px 8px!important;
  font-size:15px!important;
  line-height:1.15!important;
  vertical-align:middle!important;
}
.slip-row .pill{
  padding:4px 10px!important;
  font-size:13px!important;
  line-height:1.1!important;
  border-radius:10px!important;
}
.slip-row .actions{
  gap:5px!important;
  align-items:center!important;
  white-space:nowrap!important;
}
.slip-row .actions .ghost{
  padding:5px 10px!important;
  min-height:32px!important;
  font-size:14px!important;
  line-height:1!important;
  border-radius:8px!important;
}
.slip-row .actions .delete-x{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  font-size:22px!important;
  line-height:1!important;
  border-radius:8px!important;
}
.slip-row .slip-check{
  width:16px!important;
  height:16px!important;
}

/* פרוטות־בלאַט — די גאנצע אויסשטעלונג מער שמאָל און קאמפאקט */
.shacharis-page{padding-top:2px!important}
.shacharis-medals{margin:8px 0!important;gap:10px!important}
.shacharis-medals .medal{min-width:150px!important;padding:10px 12px!important;border-radius:14px!important}
.shacharis-medals .medal span{font-size:25px!important}
.shacharis-medals .medal b,.shacharis-medals .medal strong{margin-top:3px!important;font-size:14px!important}
.shacharis-hero{padding:14px 20px!important;margin-bottom:10px!important;border-radius:16px!important}
.shacharis-hero h1{font-size:24px!important;margin:2px 0 4px!important}
.shacharis-total{padding:10px 14px!important;min-width:150px!important;border-radius:14px!important}
.shacharis-total strong{font-size:28px!important}
.shacharis-toolbar{padding:10px!important;gap:8px!important}
.shacharis-toolbar button,.shacharis-toolbar select,.shacharis-toolbar input{min-height:36px!important;padding-top:6px!important;padding-bottom:6px!important}
.shacharis-stats{margin:10px 0!important;gap:10px!important}
.shacharis-stats .card{padding:10px!important;min-height:58px!important}
.shacharis-stats .card strong{font-size:22px!important}
.prutot-accounts-panel{border-radius:16px!important}
.prutot-accounts-panel>.accounts-title{padding:10px 14px!important}
.prutot-accounts-panel>.accounts-title h2{font-size:21px!important;margin:0!important}
.prutot-accounts-panel>.accounts-title span{font-size:13px!important}
.prutot-accounts-panel .account-finder{padding:8px 10px!important;gap:8px!important}
.prutot-accounts-panel .account-finder input,.prutot-accounts-panel .account-finder select{min-height:36px!important;padding:6px 9px!important}
.prutot-account-table{border-spacing:0 5px!important;padding:0 8px 8px!important}
.prutot-account-table thead th{padding:8px 10px!important;font-size:14px!important}
.prutot-account-row td{padding:6px 9px!important}
.prutot-account-table td strong{font-size:15px!important}
.prutot-account-table td small{font-size:11px!important;margin-top:1px!important}
.student-avatar{width:38px!important;height:38px!important;min-width:38px!important;font-size:17px!important}
.today-chip,.balance-chip{min-height:36px!important;padding:4px 8px!important;border-radius:10px!important;gap:5px!important}
.today-chip strong,.balance-chip strong{font-size:17px!important}
.balance-chip span{font-size:17px!important}
.prutot-quick-cell{min-width:470px!important}
.prutot-quick-actions{grid-template-columns:minmax(180px,1fr) 68px 105px 115px!important;gap:6px!important}
.prutot-quick-actions label{gap:2px!important}
.prutot-quick-actions label>span{font-size:10px!important}
.prutot-quick-actions select,.prutot-quick-actions input,.prutot-quick-actions button{height:36px!important;min-height:36px!important;border-radius:9px!important;font-size:13px!important}
.prutot-quick-actions button{box-shadow:none!important;padding:0 8px!important}
@media(max-width:900px){.prutot-quick-cell{min-width:390px!important}.prutot-quick-actions{grid-template-columns:1fr 65px 95px 105px!important}}

/* Weekly Shacharis system view */
.morning-week-view{display:grid;gap:12px}
.morning-week-banner{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;border:1px solid #d9e7de;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(18,62,39,.08)}
.morning-week-banner h1{margin:0;text-align:center;font-size:clamp(18px,2vw,27px);color:#143b28}
.morning-week-banner>div{display:flex;gap:8px}
.morning-week-table{min-width:1080px}
.morning-week-table th{white-space:nowrap;text-align:center}
.morning-week-table th small{display:block;margin-top:4px;font-weight:500;opacity:.7}
.morning-week-student{min-width:180px;position:sticky;right:0;background:#fff;z-index:2}
.morning-week-student small{display:block;color:#68776f;margin-top:2px}
.morning-week-day-cell{min-width:120px;padding:6px!important;text-align:center}
.morning-week-checks{display:flex;justify-content:center;gap:6px}
.morning-week-checks label{display:flex;align-items:center;gap:3px;font-size:12px;white-space:nowrap}
.morning-week-details{margin-top:5px;width:100%;border:0;border-radius:8px;padding:4px 6px;font-size:12px;cursor:pointer}
.morning-week-details.status-ontime,.morning-week-details.status-lateExcused{background:#e9f7ef;color:#17633b}
.morning-week-details.status-late{background:#fff0ed;color:#9a3428}
.morning-week-details.status-empty{background:#f3f5f4;color:#65716b}
.morning-week-summary{display:flex;justify-content:center;align-items:baseline;gap:8px;padding:10px;border-radius:12px;background:#eef7f1;color:#143b28}
.morning-week-summary strong{font-size:24px}
@media(max-width:900px){.morning-week-banner{grid-template-columns:1fr}.morning-week-banner h1{order:-1}.morning-week-banner>button,.morning-week-banner>div{justify-self:center}}

/* FINAL: שחרית וואכנשריפט אויף דער ברייט (US Letter landscape) */
@page morningWeekSheetWide {
  size: Letter landscape;
  margin: 0.18in;
}
@media print {
  .morning-week-sheet-print,
  .morning-week-sheet-page {
    page: morningWeekSheetWide !important;
  }
  body:has(.morning-week-sheet-print),
  body:has(.morning-week-sheet-print) #app,
  body:has(.morning-week-sheet-print) .app-shell,
  body:has(.morning-week-sheet-print) main,
  body:has(.morning-week-sheet-print) #content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .morning-week-sheet-page {
    width: 10.64in !important;
    height: 8.14in !important;
    min-height: 8.14in !important;
    max-height: 8.14in !important;
    margin: 0 auto !important;
    padding: 0.20in 0.22in 0.16in !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .morning-week-sheet-table {
    width: 100% !important;
    max-width: none !important;
    table-layout: fixed !important;
  }
  .morning-week-sheet-table .week-sheet-name {
    width: 1.55in !important;
  }
  .morning-week-sheet-table .week-sheet-num {
    width: 0.34in !important;
  }
}

/* Print orientation rules: only the Shacharis weekly sheet is landscape.
   Permission slips, fines, and every other print remain US Letter portrait. */
@page { size: Letter portrait; margin: 6mm; }
@page morningWeekSheetWide { size: Letter landscape; margin: 0.18in; }



/* Multiple coin types in one transaction */
.prutot-quick-actions{display:grid;grid-template-columns:minmax(170px,1fr) 86px auto auto auto;gap:10px;align-items:end}
.coin-mix{background:linear-gradient(180deg,#fff8dc,#ffe7a3);border:1px solid #e8b83f;color:#744d00;font-weight:800;white-space:nowrap}
.mixed-coins-editor{min-width:min(760px,86vw)}
.mixed-coins-help{margin:0 0 14px;padding:12px 14px;border-radius:12px;background:#eef6ff;color:#24486f}
.mixed-coins-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}
.mixed-coin-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #cfe0f2;border-radius:12px;background:#fff}
.mixed-coin-field span{display:flex;flex-direction:column;gap:2px}
.mixed-coin-field small{color:#6b7f96;font-size:.78rem}
.mixed-coin-field input{width:88px;text-align:center;font-weight:800}
.mixed-coins-direction{margin-top:14px}
.mixed-coins-total{margin-top:12px;padding:14px;border-radius:12px;background:#fff4c7;border:1px solid #edc75f;text-align:center;font-size:1.15rem;font-weight:900;color:#765000}
@media(max-width:1200px){.prutot-quick-actions{grid-template-columns:1fr 78px 1fr 1fr}.coin-mix{grid-column:1/-1}.mixed-coins-grid{grid-template-columns:1fr}}

/* Polished multi-coin picker */
.mixed-coins-editor{min-width:min(980px,92vw);max-height:78vh;overflow:auto;padding:2px}
.mixed-coins-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#eef6ff,#fff9df);border:1px solid #d8e6f5}
.mixed-coins-head h3{margin:0 0 4px;color:#123f73;font-size:1.35rem}
.mixed-coins-head p{margin:0;color:#60758d}
.mixed-clear{border:1px solid #e0a9a9;background:#fff3f3;color:#9f2f2f;border-radius:12px;padding:10px 14px;font-weight:800;white-space:nowrap}
.mixed-coins-grid{display:grid;grid-template-columns:repeat(2,minmax(330px,1fr));gap:12px}
.mixed-coin-card{display:grid;grid-template-columns:48px minmax(120px,1fr) auto;grid-template-areas:"badge info step" "badge fast fast";align-items:center;gap:8px 12px;padding:14px;border:1px solid #cfe0f2;border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 4px 14px rgba(25,72,120,.06)}
.mixed-coin-card:hover{border-color:#9fc4ea;box-shadow:0 7px 20px rgba(25,72,120,.11)}
.mixed-coin-badge{grid-area:badge;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#fff2bd;font-size:1.45rem;border:1px solid #efce69}
.mixed-coin-info{grid-area:info;display:flex;flex-direction:column;gap:3px}
.mixed-coin-info b{font-size:1.05rem;color:#102f55}
.mixed-coin-info small{color:#6b7f96}
.mixed-coin-stepper{grid-area:step;display:grid;grid-template-columns:42px 76px 42px;border:1px solid #b9cee5;border-radius:13px;overflow:hidden;background:#fff}
.mixed-coin-stepper button{border:0;background:#edf5ff;color:#0d4f90;font-size:1.3rem;font-weight:900;cursor:pointer}
.mixed-coin-stepper button:hover{background:#dcecff}
.mixed-coin-stepper input{width:76px;border:0;border-inline:1px solid #cfe0f2;text-align:center;font-size:1.05rem;font-weight:900;color:#123f73;background:#fff}
.mixed-coin-fast{grid-area:fast;display:flex;gap:7px;justify-content:flex-end}
.mixed-coin-fast button{border:1px solid #cbddef;background:#fff;color:#225f9c;border-radius:9px;padding:5px 11px;font-weight:800;cursor:pointer}
.mixed-coin-fast button:hover{background:#edf6ff}
.mixed-coins-footer{position:sticky;bottom:-2px;display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:16px;padding:14px 16px;border:1px solid #d5e3f1;border-radius:16px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);box-shadow:0 -6px 18px rgba(18,63,115,.08)}
.mixed-coins-direction{margin:0;min-width:260px}
.mixed-coins-direction span{display:block;margin-bottom:5px;color:#647a92;font-weight:800}
.mixed-coins-direction select{width:100%;padding:11px 12px;border:1px solid #b9cee5;border-radius:11px;background:#fff;font-weight:800}
.mixed-coins-total{margin:0;min-width:230px;padding:10px 18px;border-radius:14px;background:linear-gradient(135deg,#fff3bc,#ffe28a);border:1px solid #e8bd36;text-align:center;color:#765000}
.mixed-coins-total small{display:block;font-weight:700;opacity:.8}
.mixed-coins-total strong{display:block;font-size:1.3rem;margin-top:2px}
@media(max-width:900px){.mixed-coins-editor{min-width:86vw}.mixed-coins-grid{grid-template-columns:1fr}.mixed-coins-head,.mixed-coins-footer{align-items:stretch;flex-direction:column}.mixed-coins-total,.mixed-coins-direction{min-width:0;width:100%}}

/* FINAL: compact all-coins picker — all 10 coin types visible together */
.modal:has(.mixed-coins-editor) .modal-card,
.modal:has(.mixed-coins-editor) .dialog,
.modal:has(.mixed-coins-editor) .modal-content {
  width:min(1380px,96vw)!important;
  max-width:96vw!important;
  max-height:94vh!important;
}
.mixed-coins-editor{
  width:100%!important;
  min-width:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:0!important;
}
.mixed-coins-head{
  padding:9px 12px!important;
  margin-bottom:8px!important;
  border-radius:12px!important;
}
.mixed-coins-head h3{font-size:1.05rem!important;margin-bottom:1px!important}
.mixed-coins-head p{font-size:.78rem!important;line-height:1.25!important}
.mixed-clear{padding:7px 10px!important;font-size:.78rem!important}
.mixed-coins-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:8px!important;
}
.mixed-coin-card{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-areas:
    "badge info"
    "step step"
    "fast fast"!important;
  gap:5px 7px!important;
  padding:8px!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
.mixed-coin-badge{
  width:32px!important;height:32px!important;font-size:1rem!important;
}
.mixed-coin-info{min-width:0!important}
.mixed-coin-info b{font-size:.84rem!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.mixed-coin-info small{font-size:.67rem!important;white-space:nowrap!important}
.mixed-coin-stepper{
  width:100%!important;
  grid-template-columns:32px minmax(42px,1fr) 32px!important;
  border-radius:9px!important;
}
.mixed-coin-stepper button{height:32px!important;font-size:1rem!important;padding:0!important}
.mixed-coin-stepper input{width:100%!important;min-width:0!important;height:32px!important;font-size:.9rem!important;padding:0 2px!important}
.mixed-coin-fast{justify-content:stretch!important;gap:5px!important}
.mixed-coin-fast button{flex:1!important;padding:4px 3px!important;font-size:.72rem!important;border-radius:7px!important}
.mixed-coins-footer{
  position:static!important;
  margin-top:8px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
}
.mixed-coins-direction{min-width:210px!important}
.mixed-coins-direction span{font-size:.72rem!important;margin-bottom:2px!important}
.mixed-coins-direction select{padding:7px 9px!important;font-size:.78rem!important}
.mixed-coins-total{min-width:180px!important;padding:6px 12px!important}
.mixed-coins-total small{font-size:.68rem!important}
.mixed-coins-total strong{font-size:1rem!important}
@media(max-width:1100px){
  .mixed-coins-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .mixed-coins-editor{max-height:82vh!important;overflow:auto!important}
  .mixed-coins-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* FINAL: compact multi-coin window — all coin types visible at once */
.mixed-coins-editor{
  width:min(1180px,94vw)!important;
  min-width:0!important;
  max-width:94vw!important;
  max-height:86vh!important;
  overflow:auto!important;
  padding:0!important;
}
.mixed-coins-head{
  margin-bottom:10px!important;
  padding:10px 14px!important;
  border-radius:14px!important;
}
.mixed-coins-head h3{font-size:1.15rem!important;margin:0 0 2px!important}
.mixed-coins-head p{font-size:.85rem!important;line-height:1.25!important}
.mixed-clear{padding:7px 10px!important;font-size:.82rem!important;border-radius:10px!important}
.mixed-coins-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:9px!important;
  width:100%!important;
  direction:rtl!important;
}
.mixed-coin-card{
  min-width:0!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  grid-template-areas:
    "badge info"
    "step step"
    "fast fast"!important;
  align-items:center!important;
  gap:6px 7px!important;
  padding:9px!important;
  border-radius:13px!important;
  box-shadow:0 2px 8px rgba(25,72,120,.05)!important;
  overflow:hidden!important;
}
.mixed-coin-badge{
  width:32px!important;height:32px!important;font-size:1rem!important;
  border-radius:50%!important;
}
.mixed-coin-info{min-width:0!important;gap:1px!important}
.mixed-coin-info b{
  display:block!important;
  width:100%!important;
  font-size:.92rem!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
}
.mixed-coin-info small{
  display:block!important;
  font-size:.7rem!important;
  line-height:1.1!important;
  white-space:normal!important;
}
.mixed-coin-stepper{
  width:100%!important;
  grid-template-columns:34px minmax(42px,1fr) 34px!important;
  border-radius:10px!important;
}
.mixed-coin-stepper button{min-height:34px!important;font-size:1.05rem!important;padding:0!important}
.mixed-coin-stepper input{
  width:100%!important;min-width:0!important;height:34px!important;
  font-size:.92rem!important;padding:0!important;
}
.mixed-coin-fast{gap:5px!important;justify-content:stretch!important}
.mixed-coin-fast button{
  flex:1 1 0!important;
  min-height:29px!important;
  padding:3px 5px!important;
  font-size:.78rem!important;
  border-radius:8px!important;
}
.mixed-coins-footer{
  position:sticky!important;
  bottom:0!important;
  margin-top:10px!important;
  padding:9px 11px!important;
  border-radius:13px!important;
  align-items:center!important;
}
.mixed-coins-direction{min-width:220px!important}
.mixed-coins-direction span{font-size:.75rem!important;margin-bottom:3px!important}
.mixed-coins-direction select{padding:8px 9px!important;font-size:.82rem!important}
.mixed-coins-total{min-width:190px!important;padding:7px 12px!important}
.mixed-coins-total small{font-size:.72rem!important}
.mixed-coins-total strong{font-size:1.05rem!important}
.modal:has(.mixed-coins-editor) .modal-card,
.dialog:has(.mixed-coins-editor),
.modal-content:has(.mixed-coins-editor){
  width:min(1240px,98vw)!important;
  max-width:98vw!important;
}
@media(max-width:1050px){
  .mixed-coins-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .mixed-coins-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


/* FINAL OVERRIDE: multi-coin picker fits entirely on one screen */
dialog.mixed-coins-modal{
  width:min(1320px,98vw)!important;
  max-width:98vw!important;
  height:auto!important;
  max-height:96vh!important;
  overflow:hidden!important;
  border-radius:18px!important;
}
dialog.mixed-coins-modal #modalForm{
  box-sizing:border-box!important;
  padding:12px 14px 10px!important;
  max-height:96vh!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}
dialog.mixed-coins-modal #modalBody{
  min-height:0!important;
  overflow:hidden!important;
}
dialog.mixed-coins-modal #modalBody>h3{
  margin:0 0 6px!important;
  font-size:1.15rem!important;
  line-height:1.15!important;
  text-align:center!important;
}
dialog.mixed-coins-modal .mixed-coins-editor{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  max-height:none!important;
  overflow:hidden!important;
}
dialog.mixed-coins-modal .mixed-coins-head{
  min-height:0!important;
  margin:0 0 7px!important;
  padding:7px 10px!important;
  border-radius:12px!important;
}
dialog.mixed-coins-modal .mixed-coins-head h3{
  font-size:1rem!important;
  margin:0!important;
  line-height:1.1!important;
}
dialog.mixed-coins-modal .mixed-coins-head p{
  margin:2px 0 0!important;
  font-size:.72rem!important;
  line-height:1.15!important;
}
dialog.mixed-coins-modal .mixed-clear{
  padding:5px 8px!important;
  font-size:.72rem!important;
  min-height:30px!important;
}
dialog.mixed-coins-modal .mixed-coins-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  direction:rtl!important;
  overflow:hidden!important;
}
dialog.mixed-coins-modal .mixed-coin-card{
  min-width:0!important;
  min-height:0!important;
  height:132px!important;
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  grid-template-rows:auto 31px 27px!important;
  grid-template-areas:"badge info" "step step" "fast fast"!important;
  gap:4px 6px!important;
  padding:7px!important;
  border-radius:11px!important;
  overflow:hidden!important;
}
dialog.mixed-coins-modal .mixed-coin-badge{
  width:25px!important;
  height:25px!important;
  font-size:.76rem!important;
}
dialog.mixed-coins-modal .mixed-coin-info{
  min-width:0!important;
  gap:0!important;
}
dialog.mixed-coins-modal .mixed-coin-info b{
  font-size:.78rem!important;
  line-height:1.05!important;
  white-space:normal!important;
  overflow:visible!important;
  word-break:normal!important;
}
dialog.mixed-coins-modal .mixed-coin-info small{
  font-size:.59rem!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
dialog.mixed-coins-modal .mixed-coin-stepper{
  height:31px!important;
  grid-template-columns:30px minmax(32px,1fr) 30px!important;
  border-radius:8px!important;
}
dialog.mixed-coins-modal .mixed-coin-stepper button,
dialog.mixed-coins-modal .mixed-coin-stepper input{
  height:30px!important;
  min-height:30px!important;
  font-size:.86rem!important;
}
dialog.mixed-coins-modal .mixed-coin-fast{
  gap:4px!important;
}
dialog.mixed-coins-modal .mixed-coin-fast button{
  min-height:27px!important;
  height:27px!important;
  padding:1px 3px!important;
  font-size:.66rem!important;
  border-radius:7px!important;
}
dialog.mixed-coins-modal .mixed-coins-footer{
  position:static!important;
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr)!important;
  align-items:end!important;
  gap:8px!important;
  margin:7px 0 0!important;
  padding:7px 9px!important;
  border-radius:11px!important;
}
dialog.mixed-coins-modal .mixed-coins-direction{
  min-width:0!important;
  margin:0!important;
}
dialog.mixed-coins-modal .mixed-coins-direction span{
  font-size:.64rem!important;
  margin:0 0 2px!important;
}
dialog.mixed-coins-modal .mixed-coins-direction select{
  height:34px!important;
  padding:4px 7px!important;
  font-size:.72rem!important;
}
dialog.mixed-coins-modal .mixed-coins-total{
  min-width:0!important;
  padding:5px 9px!important;
  border-radius:10px!important;
}
dialog.mixed-coins-modal .mixed-coins-total small{font-size:.6rem!important}
dialog.mixed-coins-modal .mixed-coins-total strong{font-size:.9rem!important}
dialog.mixed-coins-modal .dialog-actions{
  flex:0 0 auto!important;
  margin-top:7px!important;
  gap:7px!important;
}
dialog.mixed-coins-modal .dialog-actions button{
  min-height:36px!important;
  height:36px!important;
  padding:5px 18px!important;
  font-size:.85rem!important;
  border-radius:10px!important;
}
@media(max-width:900px){
  dialog.mixed-coins-modal{max-height:98vh!important}
  dialog.mixed-coins-modal #modalForm{max-height:98vh!important;padding:7px!important}
  dialog.mixed-coins-modal .mixed-coins-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important}
  dialog.mixed-coins-modal .mixed-coin-card{height:122px!important;padding:5px!important}
  dialog.mixed-coins-modal .mixed-coin-badge{display:none!important}
  dialog.mixed-coins-modal .mixed-coin-card{grid-template-columns:1fr!important;grid-template-areas:"info" "step" "fast"!important}
}

/* Compact student/account rows — remove oversized empty card area */
.prutot-account-row,
.prutot-account-row td{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
.prutot-account-row td{
  padding:7px 10px!important;
}
.prutot-account-row .shacharis-name{
  min-height:46px!important;
  height:auto!important;
  padding-block:0!important;
  align-items:center!important;
}
.prutot-account-row .student-avatar{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  flex-basis:38px!important;
}
.prutot-account-row .today-chip,
.prutot-account-row .balance-chip{
  min-height:44px!important;
  height:auto!important;
  padding:5px 9px!important;
}
.prutot-account-row .prutot-quick-cell{
  min-height:0!important;
  height:auto!important;
}
.prutot-account-row .prutot-quick-actions{
  min-height:0!important;
  align-items:center!important;
}
.prutot-account-row .prutot-quick-actions label,
.prutot-account-row .prutot-quick-actions button,
.prutot-account-row .prutot-quick-actions select,
.prutot-account-row .prutot-quick-actions input{
  margin:0!important;
}
.prutot-account-table tbody tr{
  block-size:auto!important;
}


/* FIX: mixed-coin +/- controls remain fully visible and clickable */
dialog.mixed-coins-modal .mixed-coin-stepper{direction:ltr!important;overflow:hidden!important;isolation:isolate!important}
dialog.mixed-coins-modal .mixed-coin-stepper button{position:relative!important;z-index:2!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;line-height:1!important;cursor:pointer!important;user-select:none!important}
dialog.mixed-coins-modal .mixed-coin-stepper input{position:relative!important;z-index:1!important;box-sizing:border-box!important;appearance:textfield!important;-moz-appearance:textfield!important}
dialog.mixed-coins-modal .mixed-coin-stepper input::-webkit-inner-spin-button,dialog.mixed-coins-modal .mixed-coin-stepper input::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}

/* פארראכטן: אידישער דאטום אויסוואל — דער טאג מיט וואכנטאג דארף גענוג ברייט */
.hebrew-date-picker{
  width:100%;
  max-width:100%;
  grid-template-columns:minmax(230px,1.75fr) minmax(150px,1fr) minmax(150px,1fr)!important;
  align-items:end;
  overflow:visible;
}
.hebrew-date-picker select{
  box-sizing:border-box;
  width:100%!important;
  max-width:100%;
  min-width:0!important;
  height:58px;
  padding:8px 38px 8px 14px!important;
  font-size:clamp(18px,1.35vw,25px)!important;
  line-height:1.2;
  text-align:center;
  text-align-last:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hebrew-date-picker #editHebrewDay{
  min-width:230px!important;
  font-weight:800;
}
@media(max-width:900px){
  .hebrew-date-picker{
    grid-template-columns:minmax(210px,1.55fr) minmax(125px,1fr) minmax(125px,1fr)!important;
    gap:7px;
  }
  .hebrew-date-picker select{height:52px;font-size:18px!important;padding-inline:30px 10px!important}
}
@media(max-width:620px){
  .hebrew-date-picker{grid-template-columns:1fr!important}
  .hebrew-date-picker #editHebrewDay{min-width:0!important}
}

/* 2026-07-28 — Shacharis top date row balanced and fully readable */
.shacharis-toolbar{
  grid-template-columns:minmax(360px,1.35fr) minmax(720px,2.45fr) minmax(220px,.72fr) minmax(250px,.82fr)!important;
  gap:14px!important;
}
.shacharis-toolbar>.shacharis-hebrew-date-label{min-width:0!important}
.shacharis-toolbar .report-hebrew-picker{
  display:grid!important;
  grid-template-columns:minmax(320px,1.75fr) minmax(150px,.8fr) minmax(180px,.9fr)!important;
  gap:10px!important;
  width:100%!important;
}
.shacharis-toolbar .report-hebrew-picker select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  padding-inline:42px 14px!important;
  font-size:clamp(17px,1.15vw,23px)!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.shacharis-toolbar .danger{
  min-width:210px!important;
  padding-inline:18px!important;
  font-size:16px!important;
}
.shacharis-toolbar .primary{min-width:235px!important}
@media(max-width:1550px){
  .shacharis-toolbar{
    grid-template-columns:minmax(300px,1fr) minmax(620px,2fr)!important;
    grid-template-areas:"class date" "clear print"!important;
  }
}
@media(max-width:900px){
  .shacharis-toolbar .report-hebrew-picker{grid-template-columns:1fr!important}
  .shacharis-toolbar .report-hebrew-picker select{font-size:18px!important}
}

/* FINAL FIX — compact, balanced Shacharis top controls */
.shacharis-toolbar{
  display:grid!important;
  grid-template-columns:minmax(310px,1.15fr) minmax(660px,2fr) max-content max-content!important;
  grid-template-areas:"class date clear print"!important;
  align-items:end!important;
  gap:12px!important;
  padding:16px!important;
  overflow:visible!important;
}
.shacharis-toolbar>label:first-child{grid-area:class!important;min-width:0!important}
.shacharis-toolbar>.shacharis-hebrew-date-label{grid-area:date!important;min-width:0!important}
.shacharis-toolbar>.danger{grid-area:clear!important}
.shacharis-toolbar>.primary{grid-area:print!important}
.shacharis-toolbar>label,
.shacharis-toolbar>.shacharis-hebrew-date-label{
  margin:0!important;
  gap:6px!important;
}
.shacharis-toolbar select,
.shacharis-toolbar button{
  height:52px!important;
  min-height:52px!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}
.shacharis-toolbar .report-hebrew-picker{
  display:grid!important;
  grid-template-columns:minmax(285px,1.65fr) minmax(125px,.72fr) minmax(145px,.82fr)!important;
  gap:8px!important;
  width:100%!important;
}
.shacharis-toolbar .report-hebrew-picker select{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  padding:6px 34px 6px 10px!important;
  font-size:clamp(16px,1vw,20px)!important;
  text-align:center!important;
  text-align-last:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.shacharis-toolbar .report-hebrew-picker select:first-child{
  font-size:clamp(15px,.95vw,19px)!important;
  font-weight:800!important;
}
.shacharis-toolbar>.danger,
.shacharis-toolbar>.primary{
  min-width:0!important;
  width:auto!important;
  padding-inline:18px!important;
  white-space:nowrap!important;
  font-size:15px!important;
}
.shacharis-toolbar>.danger{max-width:190px!important}
.shacharis-toolbar>.primary{max-width:245px!important}
@media(max-width:1450px){
  .shacharis-toolbar{
    grid-template-columns:minmax(270px,1fr) minmax(560px,1.8fr)!important;
    grid-template-areas:"class date" "clear print"!important;
  }
  .shacharis-toolbar>.danger,
  .shacharis-toolbar>.primary{width:100%!important;max-width:none!important}
}
@media(max-width:820px){
  .shacharis-toolbar{
    grid-template-columns:1fr!important;
    grid-template-areas:"class" "date" "clear" "print"!important;
  }
  .shacharis-toolbar .report-hebrew-picker{grid-template-columns:1fr!important}
}

/* Final fix: balanced top row and fully visible print button — 2026-07-28 */
.shacharis-toolbar{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(300px,1.05fr) minmax(500px,1.55fr) minmax(190px,.58fr) minmax(260px,.78fr)!important;
  overflow:visible!important;
}
.shacharis-toolbar>*{min-width:0!important;box-sizing:border-box!important}
.shacharis-toolbar .danger,
.shacharis-toolbar .primary{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding-inline:14px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.shacharis-toolbar .danger{font-size:16px!important}
.shacharis-toolbar .primary{font-size:15px!important}
.shacharis-hebrew-date-label,
.shacharis-hebrew-date-label>div,
.shacharis-hebrew-date-label .hebrew-picker{
  min-width:0!important;
  max-width:100%!important;
}
.shacharis-hebrew-date-label select{min-width:0!important;max-width:100%!important}
@media(max-width:1500px){
  .shacharis-toolbar{
    grid-template-columns:minmax(250px,1fr) minmax(430px,1.45fr) minmax(170px,.62fr) minmax(220px,.78fr)!important;
    gap:10px!important;
    padding:15px!important;
  }
  .shacharis-toolbar button{height:50px!important;padding-inline:10px!important}
  .shacharis-toolbar .primary{font-size:14px!important}
}
@media(max-width:1180px){
  .shacharis-toolbar{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"class date" "clear print"!important;
  }
}


/* 2026-07-28 — definitive no-overlap fix for the Shacharis top row */
.shacharis-toolbar{
  display:grid!important;
  grid-template-columns:minmax(260px,1.05fr) minmax(0,2.05fr) minmax(170px,.62fr) minmax(230px,.82fr)!important;
  grid-template-areas:"class date clear print"!important;
  gap:12px!important;
  align-items:end!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.shacharis-toolbar>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
}
.shacharis-toolbar>label:first-child{grid-area:class!important}
.shacharis-toolbar>.shacharis-hebrew-date-label{grid-area:date!important;overflow:hidden!important}
.shacharis-toolbar>.danger{grid-area:clear!important}
.shacharis-toolbar>.primary{grid-area:print!important}
.shacharis-toolbar .report-hebrew-picker,
.shacharis-toolbar .hebrew-date-picker{
  display:grid!important;
  grid-template-columns:minmax(0,1.65fr) minmax(0,.72fr) minmax(0,.86fr)!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.shacharis-toolbar .report-hebrew-picker select,
.shacharis-toolbar .hebrew-date-picker select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding-inline:34px 10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.shacharis-toolbar>.danger,
.shacharis-toolbar>.primary{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:52px!important;
  padding-inline:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  position:static!important;
  inset:auto!important;
}
@media(max-width:1380px){
  .shacharis-toolbar{
    grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr)!important;
    grid-template-areas:"class date" "clear print"!important;
  }
}
@media(max-width:820px){
  .shacharis-toolbar{
    grid-template-columns:1fr!important;
    grid-template-areas:"class" "date" "clear" "print"!important;
  }
  .shacharis-toolbar .report-hebrew-picker,
  .shacharis-toolbar .hebrew-date-picker{grid-template-columns:1fr!important}
}

/* פרשה־וואך אויסוואל */
.morning-week-parsha-picker{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:18px;align-items:end;direction:rtl}
.morning-week-parsha-picker label{min-width:0}
.morning-parsha-week-select{width:100%;min-width:0;font-size:1.12rem;font-weight:800;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
@media(max-width:850px){.morning-week-parsha-picker{grid-template-columns:1fr}.morning-parsha-week-select{font-size:1rem}}

/* ===== שחרית וואך־לויט־פרשה דיאלאג — רעספאנסיוו און אן זייטיגן סקראָל ===== */
#modal:has(.morning-week-parsha-picker){
  width:min(980px,calc(100vw - 28px))!important;
  max-width:980px!important;
  max-height:92vh!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#modal:has(.morning-week-parsha-picker) #modalForm{
  width:100%!important;
  max-width:100%!important;
  max-height:92vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
  padding:24px!important;
}
#modal:has(.morning-week-parsha-picker) #modalBody,
#modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#modal:has(.morning-week-parsha-picker) #modalBody>h3{
  margin:0 0 18px!important;
  text-align:center!important;
  font-size:clamp(1.35rem,2.2vw,2rem)!important;
}
#modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker{
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr)!important;
  gap:16px!important;
  align-items:start!important;
}
#modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker label{
  display:grid!important;
  gap:8px!important;
  min-width:0!important;
  font-size:1rem!important;
  font-weight:800!important;
}
#modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:58px!important;
  padding:0 18px!important;
  box-sizing:border-box!important;
  font-size:clamp(.92rem,1.5vw,1.08rem)!important;
  text-overflow:ellipsis!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
#modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker p{
  grid-column:1/-1!important;
  margin:0!important;
  padding:14px 16px!important;
  border-radius:12px!important;
  background:#f5f9fd!important;
  line-height:1.65!important;
  font-size:.98rem!important;
}
#modal:has(.morning-week-parsha-picker) .dialog-actions{
  width:100%!important;
  box-sizing:border-box!important;
  margin-top:16px!important;
  gap:10px!important;
}
@media(max-width:760px){
  #modal:has(.morning-week-parsha-picker){width:calc(100vw - 16px)!important}
  #modal:has(.morning-week-parsha-picker) #modalForm{padding:16px!important}
  #modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker{grid-template-columns:1fr!important;gap:12px!important}
  #modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker p{grid-column:auto!important}
  #modal:has(.morning-week-parsha-picker) .morning-week-parsha-picker select{height:52px!important;font-size:.95rem!important}
}

/* 2026-07-29 — Fix only the Shacharis month-chart dialog so it never clips */
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)){
  width:min(680px,calc(100vw - 32px))!important;
  max-width:680px!important;
  overflow-x:hidden!important;
}
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) #modalForm,
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) #modalBody,
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) .morning-month-picker,
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) label{
  min-width:0!important;
  max-width:100%!important;
}
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) .report-hebrew-picker{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
}
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) select,
#modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) input{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
}
@media(max-width:520px){
  #modal:has(.morning-month-picker:not(.morning-week-parsha-picker)) .report-hebrew-picker{
    grid-template-columns:1fr!important;
  }
}

/* 2026-07-29 — redesigned Shacharis monthly chart; one class per printed sheet */
.morning-month-chart-report{display:block!important;direction:rtl}
.morning-month-class-sheet{background:#fff;border:1px solid #c9d8e8;border-radius:18px;padding:20px;margin:0 0 22px;box-shadow:0 10px 28px rgba(20,63,115,.10);overflow:hidden}
.morning-month-print-header{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center;border-bottom:3px solid #143f73;padding:0 0 14px;margin:0 0 12px}
.morning-month-print-header img{width:82px;height:68px;object-fit:contain}
.morning-month-print-header h1{margin:0;color:#143f73;font-size:28px;line-height:1.15}
.morning-month-print-header h2{margin:5px 0 0;color:#143f73;font-size:20px}
.morning-month-print-header p{display:inline-block;margin:7px 0 0;padding:4px 16px;border-radius:999px;background:#eaf2fb;color:#143f73;font-weight:900;font-size:16px}
.morning-month-legend{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px;font-size:12px;font-weight:800;color:#34495e}
.morning-month-legend span{display:flex;align-items:center;gap:5px;background:#f6f9fc;border:1px solid #d7e3ef;border-radius:999px;padding:4px 9px}
.morning-month-legend i{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#edf3fa;color:#143f73;font-style:normal;font-weight:900}
.morning-month-legend .legend-ontime{background:#e4f4eb;color:#176b3a}.morning-month-legend .legend-excused{background:#fff3d7;color:#8a5b00}.morning-month-legend .legend-late{background:#fde8e8;color:#9f2424}
.morning-month-table-wrap{border:1px solid #aabfd6;border-radius:12px;overflow:auto}
.morning-month-chart-table{width:100%;min-width:1100px;border-collapse:separate;border-spacing:0;table-layout:fixed;direction:rtl}
.morning-month-chart-table th,.morning-month-chart-table td{border-left:1px solid #c8d7e6;border-bottom:1px solid #c8d7e6;text-align:center;padding:4px 2px;height:36px;vertical-align:middle}
.morning-month-chart-table thead th{position:sticky;top:0;z-index:2;background:linear-gradient(#edf4fb,#dfeaf6);color:#143f73;font-size:10px;font-weight:900;line-height:1.05}
.morning-month-chart-table thead th span,.morning-month-chart-table thead th b{display:block}
.morning-month-chart-table th:first-child,.morning-month-chart-table .row-number{width:34px}
.morning-month-chart-table .student-heading,.morning-month-chart-table .student-name{width:175px;text-align:right!important;padding-right:10px!important;background:#f8fbfe;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.morning-month-chart-table .month-total{width:48px;background:#eaf2fb;color:#143f73;font-size:15px}
.morning-month-cell{width:27px;font-size:12px;line-height:1}
.morning-month-cell strong,.morning-month-cell small{display:block}.morning-month-cell small{font-size:9px;margin-top:2px}
.morning-month-cell.is-ontime{background:#e9f6ee;color:#176b3a}.morning-month-cell.is-excused{background:#fff6df;color:#8a5b00}.morning-month-cell.is-late{background:#fdecec;color:#9f2424}.morning-month-cell.is-empty{background:#fafcfe;color:#9aaabd}
.morning-month-chart-table tbody tr:nth-child(even) .student-name{background:#f1f6fb}

@page morningMonthClass { size: Letter landscape; margin: .22in; }
@media print{
  .morning-month-chart-report{page:morningMonthClass!important;width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
  .morning-month-class-sheet{box-sizing:border-box!important;width:100%!important;height:7.85in!important;min-height:7.85in!important;max-height:7.85in!important;margin:0!important;padding:.12in!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}
  .morning-month-class-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .morning-month-print-header{height:.72in!important;gap:.12in!important;padding:0 0 .06in!important;margin:0 0 .05in!important;border-bottom-width:2px!important}
  .morning-month-print-header img{width:.62in!important;height:.52in!important}
  .morning-month-print-header h1{font-size:18px!important}.morning-month-print-header h2{font-size:13px!important;margin:1px 0!important}.morning-month-print-header p{font-size:10px!important;margin:2px 0 0!important;padding:2px 10px!important}
  .morning-month-legend{margin:.03in 0 .06in!important;gap:.05in!important;font-size:7px!important}.morning-month-legend span{padding:1px 5px!important}.morning-month-legend i{width:13px!important;height:13px!important}
  .morning-month-table-wrap{overflow:hidden!important;border-radius:0!important}
  .morning-month-chart-table{min-width:0!important;width:100%!important;table-layout:fixed!important;font-size:6.5px!important}
  .morning-month-chart-table th,.morning-month-chart-table td{padding:1px!important;height:auto!important;line-height:1.05!important;border-color:#9fb5cb!important}
  .morning-month-chart-table thead th{font-size:5.7px!important;height:.25in!important;position:static!important}
  .morning-month-chart-table th:first-child,.morning-month-chart-table .row-number{width:.22in!important}
  .morning-month-chart-table .student-heading,.morning-month-chart-table .student-name{width:1.18in!important;max-width:1.18in!important;font-size:7.2px!important;padding-right:3px!important}
  .morning-month-chart-table .month-total{width:.32in!important;font-size:8px!important}
  .morning-month-cell{width:auto!important;font-size:7px!important}.morning-month-cell small{font-size:5px!important;margin-top:0!important}
  .page-break-before{break-before:page!important;page-break-before:always!important}
}

/* 2026-07-29 — final print fit for Shacharis monthly chart */
@media print {
  @page { size: Letter landscape; margin: .18in; }

  .morning-month-chart-report {
    width: 100% !important;
    max-width: none !important;
  }
  .morning-month-class-sheet {
    width: 100% !important;
    height: 8.12in !important;
    min-height: 8.12in !important;
    max-height: 8.12in !important;
    padding: .08in !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .morning-month-print-header {
    flex: 0 0 .64in !important;
    height: .64in !important;
    min-height: .64in !important;
    margin: 0 0 .035in !important;
    padding: 0 0 .035in !important;
  }
  .morning-month-print-header img {
    width: .58in !important;
    height: .48in !important;
  }
  .morning-month-legend {
    flex: 0 0 auto !important;
    margin: .015in 0 .04in !important;
  }
  .morning-month-table-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    overflow: hidden !important;
    border: 1px solid #8ea9c4 !important;
  }
  .morning-month-chart-table {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    border-collapse: collapse !important;
  }
  .morning-month-chart-table thead {
    height: .29in !important;
  }
  .morning-month-chart-table tbody {
    height: calc(100% - .29in) !important;
  }
  .morning-month-chart-table tbody tr {
    height: auto !important;
  }
  .morning-month-chart-table th,
  .morning-month-chart-table td {
    padding: 1px 2px !important;
    vertical-align: middle !important;
  }
  .morning-month-chart-table .student-heading,
  .morning-month-chart-table .student-name {
    width: 1.42in !important;
    max-width: 1.42in !important;
    font-size: 7.7px !important;
    padding-right: 5px !important;
  }
  .morning-month-chart-table th:first-child,
  .morning-month-chart-table .row-number {
    width: .18in !important;
    font-size: 7px !important;
  }
  .morning-month-chart-table .month-total {
    width: .28in !important;
    font-size: 8.5px !important;
    font-weight: 900 !important;
  }
  .morning-month-chart-table tbody tr:nth-child(even) td:not(.student-name) {
    background-color: #f7fafd !important;
  }
  .morning-month-chart-table thead th {
    background: #e6f0fa !important;
    color: #123f73 !important;
    font-size: 6px !important;
  }
}

/* Shacharis yearly chart: one class per printed page */
.morning-year-chart-report{display:block}
.morning-year-class-sheet{
  direction:rtl;
  background:#fff;
  border:1px solid #c8d7e6;
  border-radius:18px;
  padding:18px;
  margin:0 0 24px;
  box-shadow:0 8px 24px rgba(18,63,115,.08);
}
.morning-year-print-header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:10px 18px 16px;
  margin-bottom:14px;
  border-bottom:4px solid #173f70;
  text-align:center;
}
.morning-year-print-header img{width:82px;height:64px;object-fit:contain}
.morning-year-print-header h1{margin:0;color:#123f73;font-size:27px;line-height:1.15}
.morning-year-print-header h2{margin:5px 0 0;color:#173f70;font-size:20px}
.morning-year-print-header p{margin:6px 0 0;font-size:16px;font-weight:900;color:#6d5100}
.morning-year-table-wrap{overflow:auto}
.morning-year-chart-table{
  width:100%;
  min-width:1100px;
  table-layout:fixed;
  border-collapse:collapse;
  border:1px solid #a9bfd5;
  font-size:12px;
}
.morning-year-chart-table th,
.morning-year-chart-table td{border:1px solid #b9cce0;padding:7px 4px;text-align:center;vertical-align:middle}
.morning-year-chart-table thead th{background:#e4eff9;color:#103d6d;font-weight:900;white-space:normal}
.morning-year-chart-table th:first-child{width:36px}
.morning-year-chart-table .student-heading{width:175px}
.morning-year-chart-table .student-name{text-align:right;font-size:13px;background:#fbfdff}
.morning-year-chart-table tbody tr:nth-child(even){background:#f7fafd}
.morning-year-cell strong,.morning-year-cell small,.morning-year-cell em{display:block}
.morning-year-cell strong{font-size:15px;color:#123f73}
.morning-year-cell small{font-size:8px;color:#66788a}
.morning-year-cell em{font-style:normal;font-size:9px;color:#263b50;margin-top:3px}
.morning-year-chart-table .year-total{font-size:17px;color:#123f73;background:#eef5fb}
.page-break-before{break-before:page;page-break-before:always}

@media print{
  @page{size:letter landscape;margin:.28in}
  .morning-year-chart-report{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
  .morning-year-class-sheet{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    break-after:page!important;
    page-break-after:always!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
  }
  .morning-year-class-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .morning-year-print-header{padding:3px 8px 7px!important;margin:0 0 6px!important;border-bottom-width:2px!important;gap:12px!important}
  .morning-year-print-header img{width:.55in!important;height:.44in!important}
  .morning-year-print-header h1{font-size:18px!important}
  .morning-year-print-header h2{font-size:14px!important;margin-top:2px!important}
  .morning-year-print-header p{font-size:11px!important;margin-top:2px!important}
  .morning-year-table-wrap{overflow:visible!important}
  .morning-year-chart-table{min-width:0!important;width:100%!important;font-size:7.5px!important;table-layout:fixed!important}
  .morning-year-chart-table th,.morning-year-chart-table td{padding:3px 2px!important;line-height:1.05!important;overflow-wrap:anywhere!important}
  .morning-year-chart-table th:first-child{width:3.5%!important}
  .morning-year-chart-table .student-heading{width:17%!important}
  .morning-year-chart-table .student-name{font-size:8px!important}
  .morning-year-cell strong{font-size:8.5px!important}
  .morning-year-cell small{font-size:5.5px!important}
  .morning-year-cell em{font-size:5.8px!important;margin-top:1px!important}
  .morning-year-chart-table .year-total{font-size:9px!important}
}

/* Shacharis yearly chart: fit the complete class on one printed Letter page */
@media print{
  @page{size:letter landscape;margin:.22in}
  .morning-year-class-sheet{
    height:7.95in!important;
    max-height:7.95in!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    box-sizing:border-box!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .morning-year-print-header{
    flex:0 0 auto!important;
    min-height:0!important;
    padding:1px 6px 4px!important;
    margin:0 0 4px!important;
  }
  .morning-year-print-header img{width:.45in!important;height:.36in!important}
  .morning-year-print-header h1{font-size:15px!important;line-height:1!important}
  .morning-year-print-header h2{font-size:11px!important;line-height:1!important;margin-top:1px!important}
  .morning-year-print-header p{font-size:9px!important;line-height:1!important;margin-top:1px!important}
  .morning-year-table-wrap{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .morning-year-chart-table{
    height:100%!important;
    max-height:100%!important;
    border-collapse:collapse!important;
    table-layout:fixed!important;
  }
  .morning-year-chart-table thead{display:table-header-group!important}
  .morning-year-chart-table thead tr{height:20px!important}
  .morning-year-chart-table tbody tr{
    height:auto!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .morning-year-chart-table th,
  .morning-year-chart-table td{
    padding:1px 1px!important;
    line-height:1!important;
    vertical-align:middle!important;
  }
  .morning-year-chart-table .student-name{
    font-size:7px!important;
    line-height:1.02!important;
    white-space:normal!important;
  }
  .morning-year-cell{font-size:0!important;white-space:nowrap!important}
  .morning-year-cell strong,
  .morning-year-cell small,
  .morning-year-cell em{
    display:inline!important;
    margin:0!important;
    line-height:1!important;
  }
  .morning-year-cell strong{font-size:6.6px!important}
  .morning-year-cell small{font-size:5px!important;margin-inline-start:1px!important}
  .morning-year-cell em{font-size:5px!important;margin-inline-start:2px!important}
  .morning-year-cell em::before{content:"• "}
  .morning-year-chart-table .row-number{font-size:7px!important}
  .morning-year-chart-table .year-total{font-size:7px!important}
}

/* USER FIX 2026-07-29: same mixed-coins layout, smaller, with no empty white area below */
dialog.mixed-coins-modal{
  width:min(1120px,94vw)!important;
  max-width:94vw!important;
  height:fit-content!important;
  min-height:0!important;
  max-height:94vh!important;
  margin:auto!important;
  overflow:hidden!important;
}
dialog.mixed-coins-modal #modalForm{
  height:auto!important;
  min-height:0!important;
  max-height:94vh!important;
  padding:9px 11px 8px!important;
  display:block!important;
  overflow:auto!important;
}
dialog.mixed-coins-modal #modalBody{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:block!important;
  overflow:visible!important;
}
dialog.mixed-coins-modal #modalBody>h3{
  margin:0 0 5px!important;
  font-size:1.05rem!important;
}
dialog.mixed-coins-modal .mixed-coins-head{
  margin-bottom:5px!important;
  padding:6px 8px!important;
}
dialog.mixed-coins-modal .mixed-coins-grid{
  gap:5px!important;
  grid-auto-rows:auto!important;
}
dialog.mixed-coins-modal .mixed-coin-card{
  height:116px!important;
  grid-template-rows:auto 28px 24px!important;
  padding:5px 6px!important;
  gap:3px 5px!important;
}
dialog.mixed-coins-modal .mixed-coin-badge{
  width:22px!important;
  height:22px!important;
  font-size:.68rem!important;
}
dialog.mixed-coins-modal .mixed-coin-info b{font-size:.72rem!important}
dialog.mixed-coins-modal .mixed-coin-info small{font-size:.54rem!important}
dialog.mixed-coins-modal .mixed-coin-stepper{
  height:28px!important;
  grid-template-columns:27px minmax(28px,1fr) 27px!important;
}
dialog.mixed-coins-modal .mixed-coin-stepper button,
dialog.mixed-coins-modal .mixed-coin-stepper input{
  height:27px!important;
  min-height:27px!important;
  font-size:.78rem!important;
}
dialog.mixed-coins-modal .mixed-coin-fast button{
  height:24px!important;
  min-height:24px!important;
  font-size:.61rem!important;
}
dialog.mixed-coins-modal .mixed-coins-footer{
  margin-top:5px!important;
  padding:5px 7px!important;
  gap:6px!important;
}
dialog.mixed-coins-modal .mixed-coins-direction select{height:31px!important}
dialog.mixed-coins-modal .mixed-coins-total{padding:4px 8px!important}
dialog.mixed-coins-modal .dialog-actions{
  margin-top:5px!important;
  padding:0!important;
  min-height:0!important;
}
dialog.mixed-coins-modal .dialog-actions button{
  height:33px!important;
  min-height:33px!important;
  padding:4px 15px!important;
  font-size:.8rem!important;
}

/* Center student names in the Prutot account list */
.prutot-account-table th:first-child,
.prutot-account-table td.shacharis-name{
  text-align:center!important;
}
.prutot-account-row .shacharis-name{
  justify-content:center!important;
}
.prutot-account-row .shacharis-name > div:last-child{
  text-align:center!important;
}

/* Prutot report: every class begins on its own printed page */
.shacharis-class-print-document{width:100%}
.shacharis-class-print-page{box-sizing:border-box;width:100%;break-after:page;page-break-after:always}
.shacharis-class-print-page.last-class-page{break-after:auto;page-break-after:auto}
@media print{
  .shacharis-class-print-page{break-inside:auto;page-break-inside:auto;margin:0!important;padding:0!important;max-width:none!important}
  .shacharis-class-print-page+ .shacharis-class-print-page{break-before:page;page-break-before:always}
  .shacharis-class-print-page header{break-inside:avoid;page-break-inside:avoid}
  .shacharis-class-print-page thead{display:table-header-group}
  .shacharis-class-print-page tr{break-inside:avoid;page-break-inside:avoid}
}

/* USER FIX 2026-07-29 — Rishus only: keep the original card size, but turn the paper landscape.
   Six fixed card positions (3 across × 2 down), even when only one slip is printed. */
@page permissionSlipLandscape {
  size: Letter landscape;
  margin: 0.22in;
}
@media print {
  .slips-print-document {
    page: permissionSlipLandscape !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .slips-print-document .slips-print-page {
    page: permissionSlipLandscape !important;
    box-sizing: border-box !important;
    width: 10.56in !important;
    height: 7.86in !important;
    min-height: 7.86in !important;
    max-height: 7.86in !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    break-after: page !important;
    page-break-after: always !important;
  }
  .slips-print-document .slips-print-page:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
  .slips-print-document .slips-print-grid,
  .slips-print-document .slips-print-grid.single,
  .slips-print-document.single-permission-page .slips-print-grid {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 0.14in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .slips-print-document .permission-slip,
  .slips-print-document .slips-print-grid.single .permission-slip,
  .slips-print-document.single-permission-page .permission-slip {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0.16in 0.13in !important;
    overflow: hidden !important;
    display: block !important;
    border-width: 2px !important;
    border-radius: 14px !important;
  }
  .slips-print-document.single-permission-page .slip-logo,
  .slips-print-document .slip-logo {
    width: 68px !important;
    height: 50px !important;
    margin: 0 auto 4px !important;
  }
  .slips-print-document.single-permission-page .permission-slip h2,
  .slips-print-document .permission-slip h2 {
    font-size: 16px !important;
    line-height: 1.1 !important;
    margin: 3px 0 5px !important;
    padding: 4px !important;
  }
  .slips-print-document.single-permission-page .permission-slip p,
  .slips-print-document.single-permission-page .permission-slip b,
  .slips-print-document.single-permission-page .permission-slip span,
  .slips-print-document .permission-slip p,
  .slips-print-document .permission-slip b,
  .slips-print-document .permission-slip span {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }
  .slips-print-document.single-permission-page .typed-signature,
  .slips-print-document .typed-signature {
    margin-top: 6px !important;
    font-size: 10px !important;
  }
}

/* Final permission-slip layout: fuller, cleaner and evenly balanced */
@media print {
  .slips-print-document .permission-slip,
  .slips-print-document .slips-print-grid.single .permission-slip,
  .slips-print-document.single-permission-page .permission-slip {
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    padding:0.14in 0.14in 0.12in!important;
    background:
      radial-gradient(circle at 100% 100%, #eaf2fb 0 17%, transparent 17.5%),
      linear-gradient(180deg,#ffffff 0%,#ffffff 78%,#f8fbfe 100%)!important;
  }
  .slips-print-document .permission-slip .slip-logo,
  .slips-print-document.single-permission-page .permission-slip .slip-logo {
    width:74px!important;
    height:54px!important;
    margin:0 auto 2px!important;
    flex:0 0 auto!important;
  }
  .slips-print-document .permission-slip .slip-date,
  .slips-print-document.single-permission-page .permission-slip .slip-date {
    text-align:center!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:900!important;
    margin:0 0 5px!important;
    color:#173f70!important;
    flex:0 0 auto!important;
  }
  .slips-print-document .permission-slip h2,
  .slips-print-document.single-permission-page .permission-slip h2 {
    font-size:18px!important;
    line-height:1.1!important;
    padding:5px 6px!important;
    margin:0 0 7px!important;
    border-radius:8px!important;
    flex:0 0 auto!important;
  }
  .slips-print-document .permission-slip .slip-details,
  .slips-print-document.single-permission-page .permission-slip .slip-details {
    display:grid!important;
    gap:5px!important;
    padding:2px 3px 0!important;
    flex:1 1 auto!important;
    align-content:start!important;
  }
  .slips-print-document .permission-slip .slip-details p,
  .slips-print-document.single-permission-page .permission-slip .slip-details p {
    margin:0!important;
    padding:3px 0!important;
    border-bottom:1px solid #d7e1ec!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  .slips-print-document .permission-slip .slip-details p:last-child,
  .slips-print-document.single-permission-page .permission-slip .slip-details p:last-child {
    border-bottom:0!important;
  }
  .slips-print-document .permission-slip .slip-details b,
  .slips-print-document .permission-slip .slip-details span,
  .slips-print-document.single-permission-page .permission-slip .slip-details b,
  .slips-print-document.single-permission-page .permission-slip .slip-details span {
    font-size:13px!important;
    line-height:1.25!important;
  }
  .slips-print-document .permission-slip .slip-student span,
  .slips-print-document.single-permission-page .permission-slip .slip-student span {
    font-size:14px!important;
    font-weight:900!important;
  }
  .slips-print-document .permission-slip .typed-signature,
  .slips-print-document.single-permission-page .permission-slip .typed-signature {
    position:static!important;
    margin-top:auto!important;
    padding-top:7px!important;
    border-top:1.5px solid #7d8792!important;
    font-size:11px!important;
    line-height:1.2!important;
    flex:0 0 auto!important;
  }
  .slips-print-document .permission-slip .typed-signature b,
  .slips-print-document.single-permission-page .permission-slip .typed-signature b {
    font-size:11px!important;
  }
}


/* FIX: keep the Shacharis weekly class sheet together on the first landscape page. */
@media print {
  body:has(.morning-week-sheet-print) .morning-week-sheet-print,
  body:has(.morning-week-sheet-print) .morning-week-sheet-page {
    page: morningWeekSheetWide !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  body:has(.morning-week-sheet-print) .morning-week-sheet-header,
  body:has(.morning-week-sheet-print) .morning-week-sheet-meta,
  body:has(.morning-week-sheet-print) .morning-week-sheet-table {
    break-before: auto !important;
    page-break-before: auto !important;
  }
  body:has(.morning-week-sheet-print) .morning-week-sheet-table {
    display: table !important;
    width: 100% !important;
    height: auto !important;
    table-layout: fixed !important;
  }
  body:has(.morning-week-sheet-print) .morning-week-sheet-table thead {
    display: table-header-group !important;
  }
  body:has(.morning-week-sheet-print) .morning-week-sheet-table tbody {
    display: table-row-group !important;
  }
  body:has(.morning-week-sheet-print) .morning-week-sheet-table tr {
    height: auto !important;
    min-height: 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
}

/* Rebuilt Shacharis month chart controls */
.morning-month-toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:end;justify-content:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #c9d8e8;border-radius:16px;padding:12px;margin-bottom:16px;box-shadow:0 8px 24px rgba(20,63,115,.10)}
.morning-month-toolbar label{display:grid;gap:4px;font-weight:800;color:#143f73;min-width:130px}
.morning-month-toolbar select,.morning-month-toolbar input{height:42px;border:1px solid #afc6dc;border-radius:10px;background:#fff;padding:0 10px;font:inherit}
.morning-month-toolbar input{min-width:220px}
@media(max-width:900px){.morning-month-toolbar{position:static;align-items:stretch}.morning-month-toolbar>*{flex:1 1 180px}.morning-month-toolbar input{min-width:0}}


/* 2026-07-30 — stable Shacharis month-chart printing.
   Do not stretch the table with flex/percentage heights: Chromium print preview
   can move the table to the following page and leave the first page blank. */
@media print {
  @page { size: Letter landscape; margin: .18in; }

  .morning-month-chart-report,
  .morning-month-class-sheet {
    display: block !important;
  }

  .morning-month-class-sheet {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: .08in !important;
    margin: 0 !important;
    overflow: visible !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-after: page !important;
    page-break-after: always !important;
  }

  .morning-month-class-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .morning-month-table-wrap {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .morning-month-chart-table {
    display: table !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  .morning-month-chart-table thead {
    display: table-header-group !important;
    height: auto !important;
  }

  .morning-month-chart-table tbody {
    display: table-row-group !important;
    height: auto !important;
  }

  .morning-month-chart-table tr {
    display: table-row !important;
    height: .205in !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .morning-month-chart-table th,
  .morning-month-chart-table td {
    display: table-cell !important;
    height: .205in !important;
    padding: 1px !important;
    line-height: 1 !important;
  }
}

/* ===== שחרית וואכנשריפט — פארבעסערטע אויסשטעלונג ===== */
.morning-weekly-report{
  width:min(1480px,100%);
  max-width:1480px!important;
  margin:0 auto!important;
  padding:26px clamp(16px,2.5vw,38px)!important;
  background:#f4f8fc!important;
  box-sizing:border-box;
}
.morning-weekly-report>header{
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  text-align:center;
  border:1px solid #aac2da!important;
  border-top:7px solid #123f73!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(18,63,115,.10)!important;
}
.morning-weekly-report>header img{
  width:88px!important;
  height:66px!important;
  object-fit:contain;
}
.morning-weekly-report>header h1{margin:0!important;font-size:30px!important;color:#123f73!important}
.morning-weekly-report>header h2{margin:3px 0 0!important;font-size:23px!important;color:#172d45!important}
.morning-weekly-report>header p{
  display:inline-block;
  margin:8px 0 0!important;
  padding:5px 14px;
  border-radius:999px;
  background:#eef5fb;
  color:#5a4600!important;
  font-size:14px!important;
}
.morning-weekly-report>header:after{display:none!important}
.morning-weekly-report .report-builder-actions{
  position:sticky;
  top:8px;
  z-index:8;
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin:14px 0 18px!important;
  padding:11px!important;
  border:1px solid #c8d7e5!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 5px 18px rgba(18,63,115,.08);
}
.morning-weekly-report .morning-ranking-section{
  margin:16px 0!important;
  padding:14px!important;
  border:1px solid #c1d1e0!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(18,63,115,.07)!important;
}
.morning-weekly-report .morning-ranking-section>h3{
  margin:-14px -14px 14px!important;
  padding:11px 14px!important;
  border-radius:13px 13px 0 0!important;
  background:#123f73!important;
  color:#fff!important;
  font-size:18px!important;
  letter-spacing:.1px;
}
.morning-weekly-report .school-ranking>h3{background:#6f5600!important}
.morning-weekly-report .table-wrap{
  overflow:auto!important;
  border:1px solid #c7d5e2;
  border-radius:10px;
  background:#fff;
}
.morning-weekly-report table{
  width:100%!important;
  min-width:1000px;
  table-layout:fixed!important;
  border:0!important;
  border-radius:0!important;
  font-size:12px!important;
}
.morning-weekly-report thead th{
  position:sticky;
  top:0;
  z-index:2;
  padding:9px 5px!important;
  background:#e4eef8!important;
  color:#123f73!important;
  border-bottom:2px solid #9fb8d0!important;
}
.morning-weekly-report thead th small{display:block;margin-top:3px;font-size:10px;color:#61788e;font-weight:700}
.morning-weekly-report td{padding:8px 6px!important;border-bottom:1px solid #dbe4ec!important}
.morning-weekly-report tbody tr:nth-child(even){background:#f7fafd!important}
.morning-weekly-report tbody tr:hover{background:#edf4fa!important}
.morning-weekly-report .weekly-class-label td{
  padding:7px 12px!important;
  background:#d8e7f4!important;
  color:#123f73!important;
  text-align:right!important;
  font-size:14px!important;
  font-weight:900!important;
  border-top:2px solid #9fb8d0!important;
}
.morning-weekly-report .morning-week-chart th:nth-child(1){width:3.5%!important}
.morning-weekly-report .morning-week-chart th:nth-child(2){width:16.5%!important}
.morning-weekly-report .morning-week-chart .student-name{padding-inline:10px!important;text-align:right!important}
.morning-weekly-report .morning-week-chart .student-name b{display:block;font-size:12px}
.morning-weekly-report .morning-week-chart .student-name small{display:block;margin-top:2px;color:#708397}
.morning-weekly-report .morning-week-cell{padding:6px 3px!important;border-inline-start:1px solid #dbe4ec!important}
.morning-weekly-report .morning-week-cell strong{display:block;font-size:10px;line-height:1.15}
.morning-weekly-report .morning-week-cell span{display:block;margin-top:2px;font-size:9px;line-height:1.2;color:#5f7080}
.morning-weekly-report .morning-week-cell.on-time{background:#edf8f0!important}
.morning-weekly-report .morning-week-cell.late-excused{background:#fff8df!important}
.morning-weekly-report .morning-week-cell.late{background:#fff0f0!important}
.morning-weekly-report .morning-week-cell.empty-day{background:#fafcfd!important;color:#9aa8b5}
.morning-weekly-report .no-school-day{background:#eef1f4!important;color:#6b7782!important}

@media print{
  @page{size:Letter landscape;margin:.22in}
  .morning-weekly-report{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  .morning-weekly-report>header{
    min-height:0!important;
    padding:6px 10px 9px!important;
    margin:0 0 7px!important;
    gap:12px!important;
    border-top-width:4px!important;
    border-radius:7px!important;
    box-shadow:none!important;
  }
  .morning-weekly-report>header img{width:.58in!important;height:.44in!important}
  .morning-weekly-report>header h1{font-size:18px!important}
  .morning-weekly-report>header h2{font-size:14px!important}
  .morning-weekly-report>header p{font-size:9px!important;padding:2px 8px!important;margin-top:2px!important}
  .morning-weekly-report .report-builder-actions{display:none!important}
  .morning-weekly-report .morning-ranking-section{
    margin:6px 0!important;
    padding:5px!important;
    border-radius:5px!important;
    box-shadow:none!important;
  }
  .morning-weekly-report .morning-ranking-section>h3{
    margin:-5px -5px 5px!important;
    padding:4px 7px!important;
    min-height:0!important;
    font-size:11px!important;
    border-radius:4px 4px 0 0!important;
  }
  .morning-weekly-report .table-wrap{overflow:visible!important;border-radius:3px!important}
  .morning-weekly-report table{min-width:0!important;font-size:7.4px!important}
  .morning-weekly-report thead th{position:static!important;padding:2.5px 2px!important;font-size:7px!important}
  .morning-weekly-report thead th small{font-size:5.5px!important;margin-top:1px!important}
  .morning-weekly-report td{padding:2.4px 2px!important;line-height:1.08!important}
  .morning-weekly-report .weekly-class-label td{padding:3px 5px!important;font-size:8.5px!important}
  .morning-weekly-report .morning-week-cell strong{font-size:6.5px!important}
  .morning-weekly-report .morning-week-cell span{font-size:5.4px!important;margin-top:1px!important}
  .morning-weekly-report .morning-week-chart .student-name b{font-size:7px!important}
  .morning-weekly-report .morning-week-chart .student-name small{font-size:5.5px!important}
  .morning-weekly-report tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .morning-weekly-report thead{display:table-header-group!important}

  /* דער הויפט טאג־ביי־טאג טשארט הייבט זיך אן אויף א נייעם בלאט;
     די צוויי חשבונות קענען נאכפאלגן נאטירלעך אן אומנויטיגע ליידיגע בלעטער. */
  .morning-weekly-report>.morning-week-chart-section{break-before:page!important;page-break-before:always!important}
  .morning-weekly-report>.morning-week-chart-section + .morning-ranking-section,
  .morning-weekly-report>.morning-week-chart-section + .morning-ranking-section + .morning-ranking-section{
    break-before:auto!important;
    page-break-before:auto!important;
  }
}


/* ===== CLEAN SHACHARIS WEEKLY SHEET ===== */
.weekly-sheet-clean{max-width:1450px!important;margin:0 auto!important;padding:18px!important}
.weekly-sheet-clean>header{display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;border-bottom:3px solid #1b4f83;padding-bottom:10px;margin-bottom:12px}
.weekly-sheet-clean>header img{width:72px;height:58px;object-fit:contain}
.weekly-sheet-clean>header h1{margin:0;font-size:25px;color:#173f6d}
.weekly-sheet-clean>header h2{margin:2px 0;font-size:18px;color:#173f6d}
.weekly-sheet-clean>header p{margin:0;font-size:13px;font-weight:800;color:#4c6380}
.weekly-sheet-note{text-align:center;font-weight:800;color:#49627d;margin:6px 0 10px}
.weekly-sheet-table{width:100%!important;min-width:980px!important;border-collapse:collapse!important;table-layout:fixed!important}
.weekly-sheet-table th,.weekly-sheet-table td{border:1px solid #aac2da!important;text-align:center!important;padding:5px 4px!important}
.weekly-sheet-table thead th{background:#f3f8fd!important;color:#153f70!important;font-size:12px!important}
.weekly-sheet-table thead th b,.weekly-sheet-table thead th small{display:block}
.weekly-sheet-table thead th small{font-size:9px;color:#607995;margin-top:2px}
.weekly-sheet-table th:nth-child(1){width:42px}
.weekly-sheet-table th:nth-child(2){width:210px}
.weekly-sheet-table th:last-child{width:75px}
.weekly-sheet-table .student-name{text-align:right!important;padding-right:10px!important}
.weekly-sheet-table .student-name b{display:block;font-size:14px;color:#142f50}
.weekly-sheet-table .student-name small{display:block;font-size:10px;color:#687f98}
.weekly-sheet-table .weekly-day b{display:block;font-size:14px;color:#123f73}
.weekly-sheet-table .weekly-day small{display:block;font-size:9px;color:#647b92}
.weekly-sheet-table .weekly-total b{font-size:16px;color:#123f73}
.weekly-sheet-table .weekly-class-label td{background:#e8f1fa!important;color:#173f6d!important;font-size:14px!important;font-weight:900!important;text-align:right!important;padding:5px 12px!important}

@media print{
  @page{size:Letter landscape;margin:.18in}
  body:has(.weekly-sheet-clean) #sidebar,body:has(.weekly-sheet-clean) #topbar,body:has(.weekly-sheet-clean) .no-print{display:none!important}
  .weekly-sheet-clean{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
  .weekly-sheet-clean>header{margin:0 0 .06in!important;padding:0 0 .05in!important;gap:.08in!important}
  .weekly-sheet-clean>header img{width:.52in!important;height:.4in!important}
  .weekly-sheet-clean>header h1{font-size:14px!important}
  .weekly-sheet-clean>header h2{font-size:10px!important}
  .weekly-sheet-clean>header p{font-size:7px!important}
  .weekly-sheet-note{font-size:6px!important;margin:0 0 .04in!important}
  .weekly-sheet-clean .table-wrap{overflow:visible!important}
  .weekly-sheet-table{min-width:0!important;width:100%!important;font-size:7px!important;table-layout:fixed!important}
  .weekly-sheet-table th,.weekly-sheet-table td{padding:1.5px 2px!important;line-height:1.05!important}
  .weekly-sheet-table thead th{font-size:6.7px!important}
  .weekly-sheet-table thead th small{font-size:5.3px!important}
  .weekly-sheet-table th:nth-child(1){width:.28in!important}
  .weekly-sheet-table th:nth-child(2){width:1.4in!important}
  .weekly-sheet-table th:last-child{width:.5in!important}
  .weekly-sheet-table .student-name{padding-right:4px!important}
  .weekly-sheet-table .student-name b{font-size:7.3px!important}
  .weekly-sheet-table .student-name small{font-size:5.6px!important;margin:0!important}
  .weekly-sheet-table .weekly-day b{font-size:7px!important}
  .weekly-sheet-table .weekly-day small{font-size:5.3px!important}
  .weekly-sheet-table .weekly-total b{font-size:7.5px!important}
  .weekly-sheet-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
}

/* 2026-07-30 — stable weekly report: one class per complete sheet */
.weekly-sheet-clean{max-width:none!important;padding:12px!important}
.weekly-sheet-clean>.weekly-class-sheet{max-width:1450px;margin:0 auto 20px;padding:12px;background:#fff;border:1px solid #aac2da;border-top:5px solid #123f73;border-radius:12px;box-sizing:border-box}
.weekly-class-sheet>header{display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;border-bottom:2px solid #1b4f83;padding-bottom:8px;margin-bottom:7px}
.weekly-class-sheet>header img{width:64px;height:50px;object-fit:contain}
.weekly-class-sheet>header h1{margin:0;font-size:22px;color:#173f6d}
.weekly-class-sheet>header h2{margin:2px 0;font-size:16px;color:#173f6d}
.weekly-class-sheet>header p{margin:0;font-size:11px;font-weight:800;color:#4c6380}

@media print{
  @page{size:Letter landscape;margin:.18in}
  .weekly-sheet-clean{padding:0!important;margin:0!important;width:100%!important;max-width:none!important}
  .weekly-sheet-clean>.weekly-class-sheet{
    width:100%!important;
    height:8.12in!important;
    max-height:8.12in!important;
    margin:0!important;
    padding:.08in!important;
    border:0!important;
    border-radius:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  .weekly-sheet-clean>.weekly-class-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
  .weekly-class-sheet>header{flex:0 0 .62in!important;height:.62in!important;margin:0 0 .04in!important;padding:0 0 .035in!important;gap:.08in!important}
  .weekly-class-sheet>header img{width:.48in!important;height:.38in!important}
  .weekly-class-sheet>header h1{font-size:13px!important}
  .weekly-class-sheet>header h2{font-size:9px!important}
  .weekly-class-sheet>header p{font-size:6.5px!important}
  .weekly-class-sheet .weekly-sheet-note{flex:0 0 auto!important;font-size:6px!important;margin:0 0 .035in!important}
  .weekly-class-sheet .table-wrap{flex:1 1 auto!important;overflow:hidden!important;border:0!important}
  .weekly-class-sheet .weekly-sheet-table{height:100%!important;min-width:0!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important}
  .weekly-class-sheet .weekly-sheet-table thead{display:table-header-group!important}
  .weekly-class-sheet .weekly-sheet-table tbody{height:auto!important}
  .weekly-class-sheet .weekly-sheet-table th,.weekly-class-sheet .weekly-sheet-table td{padding:1px 2px!important;line-height:1!important}
  .weekly-class-sheet .weekly-sheet-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .weekly-class-sheet .weekly-sheet-table .student-name b{font-size:7px!important}
  .weekly-class-sheet .weekly-sheet-table .student-name small{font-size:5.2px!important}
}

/* Student table final layout: no permission-type column; all actions in one row */
.student-table-wrap{overflow-x:auto!important}
.student-table{width:100%!important;min-width:1180px!important;table-layout:auto!important}
.student-table th,.student-table td{box-sizing:border-box}
.student-table th:last-child,.student-table td:last-child{width:52%!important}
.student-actions{
  min-width:680px!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  white-space:nowrap!important;
}
.student-actions button{flex:0 0 auto!important;min-height:38px!important;padding:7px 12px!important;font-size:14px!important;border-radius:11px!important}
.student-actions .direct-entry-btn,.student-actions .direct-exit-btn{min-width:150px!important;min-height:48px!important;padding:10px 20px!important;font-size:17px!important;font-weight:900!important}
.student-actions .ghost{min-width:104px!important}
.student-actions .danger{min-width:76px!important;min-height:34px!important;padding:5px 9px!important;font-size:12px!important}
@media(max-width:1200px){.student-actions{min-width:680px!important;display:flex!important;flex-wrap:nowrap!important}}


/* Student actions cell: keep the table background/border running edge-to-edge */
.student-table th:last-child,
.student-table td.student-actions-cell{
  width:52%!important;
}
.student-table td.student-actions-cell{
  display:table-cell!important;
  padding:11px 16px!important;
  background:inherit!important;
  border-bottom:1px solid var(--line)!important;
  vertical-align:middle!important;
}
.student-table tbody tr:hover td.student-actions-cell{background:#e6eff8!important}
.student-table td.student-actions-cell .student-actions{
  width:100%!important;
  min-width:680px!important;
  box-sizing:border-box!important;
}


/* 2026-07-30 — edit permission popup: fit fully without horizontal scrolling */
dialog.edit-slip-modal{
  width:min(680px,calc(100vw - 28px))!important;
  max-width:680px!important;
  max-height:calc(100vh - 24px)!important;
  margin:auto!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal #modalForm{
  width:100%!important;
  max-width:100%!important;
  max-height:calc(100vh - 24px)!important;
  padding:22px 24px 20px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal #modalBody{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:13px!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal #modalBody>h3{
  margin:0 0 4px!important;
  text-align:center!important;
  font-size:28px!important;
}
dialog.edit-slip-modal label{
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal input,
dialog.edit-slip-modal select,
dialog.edit-slip-modal textarea{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal .hebrew-date-picker,
dialog.edit-slip-modal .hebrew-date-fields,
dialog.edit-slip-modal [class*="hebrew-date"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal .hebrew-date-picker,
dialog.edit-slip-modal .hebrew-date-fields{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
dialog.edit-slip-modal .dialog-actions{
  width:100%!important;
  max-width:100%!important;
  margin-top:16px!important;
  padding:0!important;
  display:flex!important;
  justify-content:flex-start!important;
  gap:10px!important;
  box-sizing:border-box!important;
}
dialog.edit-slip-modal .dialog-actions button{
  min-height:48px!important;
  padding:9px 24px!important;
  border-radius:13px!important;
}
@media(max-width:560px){
  dialog.edit-slip-modal{width:calc(100vw - 14px)!important;max-height:calc(100vh - 14px)!important}
  dialog.edit-slip-modal #modalForm{padding:16px!important;max-height:calc(100vh - 14px)!important}
  dialog.edit-slip-modal #modalBody>h3{font-size:23px!important}
  dialog.edit-slip-modal .hebrew-date-picker,
  dialog.edit-slip-modal .hebrew-date-fields{gap:6px!important}
  dialog.edit-slip-modal .dialog-actions{flex-direction:row!important}
}

/* 2026-07-30 — final edit-slip Hebrew date row: equal fields and matching font */
dialog.edit-slip-modal .hebrew-date-picker{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  direction:rtl!important;
}
dialog.edit-slip-modal .hebrew-date-picker select,
dialog.edit-slip-modal .hebrew-date-picker #editHebrewDay,
dialog.edit-slip-modal .hebrew-date-picker #editHebrewMonth,
dialog.edit-slip-modal .hebrew-date-picker #editHebrewYear{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:56px!important;
  padding:7px 34px 7px 10px!important;
  box-sizing:border-box!important;
  font-family:inherit!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:center!important;
  text-align-last:center!important;
}
dialog.edit-slip-modal .hebrew-date-picker select option{
  font-family:inherit!important;
  font-size:18px!important;
  font-weight:600!important;
  line-height:1.25!important;
  padding:4px 8px!important;
}
@media(max-width:560px){
  dialog.edit-slip-modal .hebrew-date-picker{
    gap:7px!important;
  }
  dialog.edit-slip-modal .hebrew-date-picker select,
  dialog.edit-slip-modal .hebrew-date-picker #editHebrewDay,
  dialog.edit-slip-modal .hebrew-date-picker #editHebrewMonth,
  dialog.edit-slip-modal .hebrew-date-picker #editHebrewYear{
    height:50px!important;
    font-size:17px!important;
    padding-inline:28px 7px!important;
  }
  dialog.edit-slip-modal .hebrew-date-picker select option{
    font-size:16px!important;
  }
}


/* Keep English addresses in their natural left-to-right order inside the RTL interface. */
.form-grid input[name="address"]{
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:plaintext!important;
}
.student-info-row.student-address-row span{
  direction:ltr!important;
  text-align:left!important;
  unicode-bidi:isolate!important;
  display:block!important;
  width:100%!important;
}

/* Phase 1 — users, permissions and security */
.login-card{max-width:480px;padding:34px;border:1px solid rgba(18,60,115,.12);box-shadow:0 24px 70px rgba(14,41,78,.18)}
.login-card h1{margin-bottom:4px}.login-card form{gap:16px}.login-card input,.login-card select{min-height:48px}
.phase1-settings{background:linear-gradient(135deg,#fff,#f4f8ff)}
.users-table td:first-child strong,.users-table td:first-child small{display:block}.users-table td:first-child small{opacity:.65;margin-top:3px}
.user-actions{display:flex;gap:6px;flex-wrap:wrap}.locked-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:#fee2e2;color:#991b1b;font-weight:800}
.check-row{display:flex!important;align-items:center;gap:9px}.check-row input{width:20px;height:20px}.read-only-mode #content:before{content:'בלויז ליינען';position:fixed;left:18px;bottom:18px;z-index:1000;background:#7f1d1d;color:white;padding:8px 14px;border-radius:999px;font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.2)}
@media(max-width:800px){.user-actions{min-width:220px}.phase1-settings .primary{width:100%}}


/* ===== Phase 2: polished login + class print lists ===== */
.login-card{width:min(500px,94vw);padding:38px 42px;background:linear-gradient(180deg,#fff,#fffaf0);border-radius:30px}
.login-logo{width:215px;max-height:180px;object-fit:contain;background:transparent}
.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-left:52px}.password-toggle{position:absolute;left:8px;width:38px;height:38px;border:0;border-radius:10px;background:#eef4fb;cursor:pointer;font-size:18px}
.secure-login-note{margin-top:14px;padding:9px 12px;border-radius:12px;background:#edf7f1;color:#17603b;font-weight:800}.login-version{display:block;margin-top:12px;color:#718096}
.class-actions{display:flex;flex-wrap:wrap;gap:7px}
@media print{
  body{background:#fff!important}.sidebar,.topbar,.toolbar,.toast,dialog{display:none!important}.app-shell{display:block!important}.app-shell main{margin:0!important;width:100%!important}#content{padding:0!important}
  .class-list-print{direction:rtl;color:#111;background:#fff;padding:10mm 8mm;font-family:Arial,"Noto Sans Hebrew",sans-serif}
  .school-print-header{display:flex;align-items:center;justify-content:center;gap:18px;border-bottom:3px solid #7c1833;padding-bottom:10px;margin-bottom:12px;text-align:center}
  .school-print-header img{width:110px;height:95px;object-fit:contain}.school-print-header h1{font-size:24px;margin:0;color:#6f1730}.school-print-header h2{font-size:21px;margin:4px 0}.school-print-header p{margin:3px 0;font-size:13px}
  .class-list-print table{width:100%;border-collapse:collapse;table-layout:fixed}.class-list-print th,.class-list-print td{border:1px solid #444;padding:7px 5px;font-size:12px}.class-list-print th{background:#dfe8f4;font-weight:800}.class-list-print .row-num{width:28px;text-align:center}.class-list-print .student-name{width:31%;font-weight:700}.daily-box-list .day-box{height:29px}.daily-box-list th:not(:nth-child(2)){width:9.5%}
  .phone-list-print th,.phone-list-print td{font-size:11px;padding:5px}.phone-list-print th:nth-child(1){width:4%}.phone-list-print th:nth-child(2),.phone-list-print th:nth-child(3){width:16%}.phone-list-print th:nth-child(4),.phone-list-print th:nth-child(5){width:15%}.phone-list-print th:nth-child(6){width:34%}
  @page{size:Letter portrait;margin:8mm}
}

/* Phase 2 full */
.phase2-page{display:grid;gap:18px}.phase2-task-list{display:grid;gap:12px}.phase2-task{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;background:#fff;border:1px solid #d8e3ef;border-radius:18px;padding:16px;box-shadow:0 8px 24px #14395f12}.phase2-task.done{opacity:.72;background:#f4f8f5}.phase2-task.done h3{text-decoration:line-through}.task-title-row,.task-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.task-title-row h3{margin:0}.task-status{font-size:.8rem;padding:4px 10px;border-radius:999px;background:#eef5ff}.task-meta{font-size:.83rem;color:#60758d}.task-attachment-image{max-width:180px;max-height:120px;object-fit:contain;border-radius:10px;margin-top:8px}.attachment-link{display:inline-block;margin-top:8px}.student-note-list{display:grid;gap:10px;max-height:48vh;overflow:auto}.student-note{border:1px solid #dce5ee;border-radius:14px;padding:12px;background:#fff9e9}.student-note.ack{background:#f1f7f2;opacity:.8}.student-note p{white-space:pre-wrap}.daily-attendance-table td input,.daily-attendance-table td select{min-width:130px}.full-class-info-print table{font-size:9px;direction:rtl}.full-class-info-print{width:max-content;min-width:100%}.phase2-note-btn{font-size:.8rem}.task-filter{display:flex;gap:8px}.phase2-task audio{max-width:280px;display:block;margin-top:8px}
@media(max-width:800px){.phase2-task{grid-template-columns:auto 1fr}.phase2-task>.danger{grid-column:2}.task-meta{display:grid}.daily-attendance-table{min-width:900px}}
@media print{.phase2-page .toolbar,.phase2-page .section-title button{display:none!important}.full-class-info-print{zoom:.72}.full-class-info-print table{page-break-inside:auto}.full-class-info-print tr{page-break-inside:avoid}}

/* ===== Phase 2 corrections: responsive tasks, Hebrew dates, bulk actions, LTR fields ===== */
html,body{max-width:100%;overflow-x:hidden}
#modal:has(.phase2-task-form){width:min(760px,calc(100vw - 24px));max-height:94vh;overflow:hidden}
#modal:has(.phase2-task-form) #modalForm{max-height:94vh;overflow:auto;padding:20px;box-sizing:border-box}
#modal:has(.phase2-task-form) .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 16px}
#modal:has(.phase2-task-form) .phase2-task-form>*{min-width:0}
#modal:has(.phase2-task-form) input,#modal:has(.phase2-task-form) select,#modal:has(.phase2-task-form) textarea{min-width:0;box-sizing:border-box}
#modal:has(.phase2-task-form) .report-hebrew-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
#modal:has(.phase2-task-form) .dialog-actions{position:sticky;bottom:0;background:#fff;padding-top:12px;z-index:4}
.phase2-task-list{display:grid;gap:14px}
.phase2-task{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px;border:1px solid #d7e3ef;border-radius:18px;background:#fff;box-shadow:0 8px 24px #123a6810;overflow:hidden}
.phase2-task .task-body{min-width:0}.phase2-task p{overflow-wrap:anywhere}.task-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.task-title-row h3{margin:0;overflow-wrap:anywhere}.task-meta{display:flex;gap:8px 14px;flex-wrap:wrap;color:#6b7e93;font-size:.9rem}.task-actions{display:grid;gap:8px;min-width:112px}.task-image-open{border:0;background:transparent;padding:0;cursor:zoom-in;display:block}.task-attachment-image{display:block;max-width:320px;width:100%;height:auto;max-height:220px;object-fit:contain;border-radius:14px;border:1px solid #d6e2ef}.phase2-image-lightbox{position:fixed;inset:0;z-index:99999;background:#00172bd9;display:grid;place-items:center;padding:30px}.phase2-image-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain;border-radius:14px;box-shadow:0 20px 70px #000}.phase2-image-lightbox button{position:fixed;top:18px;right:22px;width:48px;height:48px;border:0;border-radius:50%;font-size:34px;line-height:1;background:#fff;color:#123b69;cursor:pointer}
.morning-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;margin:0 0 12px;background:#f8fbff;border:1px solid #ccdae8;border-radius:14px}.morning-bulk-bar label{display:flex;align-items:center;gap:8px;margin:0}.morning-bulk-bar input{width:auto}.morning-bulk-bar strong{margin-inline-end:auto}.morning-select-cell{width:44px;min-width:44px;text-align:center!important}.morning-select-cell input{width:20px;height:20px}
.daily-attendance-table input,.daily-attendance-table select{min-width:145px}.daily-attendance-table td:nth-last-child(-n+2){min-width:210px}
[dir="ltr"],.ltr,.student-address-row,.phone-list-print td:last-child,.full-class-info-print td[dir="ltr"]{direction:ltr!important;unicode-bidi:plaintext!important;text-align:left!important}
.login-shell{background:radial-gradient(circle at 20% 15%,#d9ad4b33,transparent 28%),radial-gradient(circle at 80% 85%,#448bd133,transparent 30%),linear-gradient(145deg,#061a33,#0d386a 58%,#08264a)!important;padding:24px}
.login-card{width:min(540px,94vw)!important;border:2px solid #d6aa4b!important;border-radius:32px!important;padding:36px 44px!important;background:linear-gradient(180deg,#fff,#fffdf8)!important;box-shadow:0 35px 110px #0007!important}
.login-logo{width:min(250px,72%)!important}.login-card h1{font-size:clamp(28px,4vw,42px)!important}.login-card .primary{min-height:58px;font-size:21px!important;border-radius:14px!important}.secure-login-note{border-radius:14px!important;padding:14px!important;background:#eef8f2!important;color:#17663a!important;font-weight:800}.password-field{position:relative}.password-toggle{position:absolute;left:10px;top:50%;transform:translateY(-50%)}
@media(max-width:720px){#modal:has(.phase2-task-form) .form-grid{grid-template-columns:1fr}.phase2-task{grid-template-columns:auto minmax(0,1fr)}.phase2-task .task-actions{grid-column:1/-1;display:flex}.phase2-task .task-actions button{flex:1}.login-card{padding:28px 20px!important}.morning-bulk-bar button{flex:1 1 150px}}
@media print{.phone-list-print td:last-child,.full-class-info-print td[dir="ltr"]{direction:ltr!important;unicode-bidi:plaintext!important;text-align:left!important}}

/* Final corrections: wide official logo, parsha preview, email password reset */
.login-logo{width:min(430px,95%)!important;height:auto!important;object-fit:contain!important}
.sidebar-logo,.hero-logo{object-fit:contain}
.forgot-password-btn{border:0;background:transparent;color:#123c73;text-decoration:underline;font-weight:800;cursor:pointer;padding:10px;margin-top:4px}
.forgot-password-btn:disabled{opacity:.55;cursor:wait}
.task-date-preview{display:block;margin-top:8px;padding:9px 10px;border-radius:10px;background:#f3f7fb;color:#123c73;font-weight:800;text-align:center;line-height:1.4}
@media print{.student-history-report-print header img,.morning-week-sheet-header img,.morning-month-print-header img,.fine-logo,.slip-logo{width:auto!important;max-width:310px!important;height:auto!important;object-fit:contain!important}}

/* ===== Phase 4 final layout and controls ===== */
@media screen and (min-width: 901px){
  .sidebar{position:fixed!important;top:0;right:0;height:100vh!important;overflow-y:auto!important;z-index:1200!important}
  .main{margin-right:var(--sidebar-width,280px)!important}
  .topbar{position:sticky!important;top:0;z-index:1100!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(10px);box-shadow:0 5px 18px rgba(15,55,95,.08)}
}
.phase4-period-tabs{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;margin:0 0 14px}
.phase4-compliment-toolbar{display:grid;grid-template-columns:170px 180px 220px minmax(260px,1fr) auto auto;gap:10px;align-items:center;background:#fff;border:1px solid #cbdced;border-radius:18px;padding:14px;margin-bottom:16px;box-shadow:0 8px 24px rgba(18,63,115,.08)}
.phase4-compliment-table tr.has-compliment{background:linear-gradient(90deg,#f4fff7,#fff)}
.phase4-compliment-table td small{display:block;color:#718197;margin-top:4px}
.compliment-count{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#e8f3ff;color:#123f73;font-weight:900}
.phase4-history-list{display:grid;gap:10px}.phase4-history-list article{display:grid;gap:5px;padding:14px;border:1px solid #d5e2ef;border-radius:14px;background:#f9fbfe}.phase4-history-list small{color:#6e7f92}
.phase4-morning-bulk{display:grid;grid-template-columns:180px 1fr 1fr;gap:12px;align-items:stretch;margin:12px 0;padding:14px;border:1px solid #c9d9e9;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,63,115,.08)}
.phase4-morning-bulk>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid #dbe6f1;border-radius:14px;background:#f8fbff}.phase4-morning-bulk b{width:100%;color:#123f73}
@media(max-width:1200px){.phase4-compliment-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.phase4-morning-bulk{grid-template-columns:1fr}.phase4-period-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.phase4-compliment-toolbar,.phase4-period-tabs{grid-template-columns:1fr}.topbar{position:sticky!important;top:0;z-index:1100!important}}

/* ===== Phase 4 sticky layout hotfix =====
   Keep the sidebar and top bar visible without removing them from the grid flow. */
@media screen and (min-width:901px){
  .app-shell{
    display:grid!important;
    grid-template-columns:250px minmax(0,1fr)!important;
    align-items:start!important;
  }
  .sidebar{
    position:sticky!important;
    top:0!important;
    right:auto!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    z-index:1200!important;
  }
  .app-shell > main,
  .app-shell main{
    min-width:0!important;
    width:auto!important;
    margin-right:0!important;
  }
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:1100!important;
    background:rgba(255,255,255,.98)!important;
  }
  #content{
    position:relative!important;
    z-index:1!important;
  }
}

/* ===== Final task and sticky-layout correction ===== */
@media screen and (min-width:901px){
  .app-shell{grid-template-columns:250px minmax(0,1fr)!important;min-height:100vh!important}
  .sidebar{position:sticky!important;top:0!important;height:100vh!important;max-height:100vh!important;overflow-y:auto!important;z-index:100!important}
  .app-shell>main{min-width:0!important;overflow:visible!important}
  .topbar{position:sticky!important;top:0!important;z-index:90!important;width:auto!important;max-width:100%!important;overflow:hidden!important}
  #content{min-width:0!important;overflow-x:hidden!important}
}
#modal:has(.phase2-task-form){width:min(780px,94vw)!important;max-height:92vh!important;overflow:auto!important}
#modal:has(.phase2-task-form) #modalForm{overflow-x:hidden!important}
.phase2-task-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px 16px!important;align-items:start!important}
.phase2-task-form label{min-width:0!important}
.phase2-task-form input,.phase2-task-form select,.phase2-task-form textarea{width:100%!important;min-width:0!important;box-sizing:border-box!important}
.phase2-task-form textarea{min-height:145px!important;resize:vertical!important}
.phase2-task-form .report-hebrew-picker{min-width:0!important;max-width:100%!important}
.task-file-label input[type=file]{padding:10px!important}
.task-title-row{flex-wrap:wrap!important}
.task-priority{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:.82rem;font-weight:900;white-space:nowrap}
.priority-urgent{background:#fee2e2;color:#991b1b}.priority-high{background:#ffedd5;color:#9a3412}.priority-normal{background:#fef9c3;color:#854d0e}.priority-low{background:#dcfce7;color:#166534}
@media(max-width:720px){.phase2-task-form{grid-template-columns:1fr!important}}


/* Phase 5 complete overrides */
:root{--sidebar-width:250px}
.app-shell{display:grid!important;grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important;min-height:100vh!important;align-items:start!important}
.sidebar{position:sticky!important;top:0!important;right:auto!important;height:100vh!important;max-height:100vh!important;overflow-y:auto!important;z-index:300!important}
.app-shell>main{min-width:0!important;width:auto!important;overflow:visible!important;margin:0!important}
.topbar{position:sticky!important;top:0!important;z-index:250!important;width:auto!important;max-width:100%!important;box-sizing:border-box!important;background:rgba(255,255,255,.97)!important}
#content{position:relative!important;z-index:1!important}
.sidebar-logo,.login-logo,.hero-logo,.student-history-report-print header img,.morning-print img,.permission-slip img,.fine-logo{object-fit:contain!important;object-position:center!important}
.login-logo{width:150px!important;height:150px!important;background:transparent!important;padding:0!important}
.sidebar-logo{background:transparent!important;box-shadow:none!important;padding:0!important}
.permission-mode-row{display:grid;grid-template-columns:1fr minmax(150px,220px);align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.permission-mode-row select{margin:0!important}
.task-attachments{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.task-attachments>*{max-width:220px}.task-attachments img{max-height:150px;object-fit:contain}
.button-edit-mode button{outline:2px dashed #e3a008!important;outline-offset:2px!important;cursor:cell!important}
@media(max-width:900px){.app-shell{display:block!important}.sidebar{position:relative!important;height:auto!important;max-height:none!important}.topbar{position:sticky!important;top:0!important}.permission-mode-row{grid-template-columns:1fr}}
\n\n/* ===== Phase 6 consolidated corrections ===== */
html,body{max-width:100%;overflow-x:hidden}
*{scrollbar-width:none}
*::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.app-shell{grid-template-columns:250px minmax(0,1fr)!important}
.sidebar{position:sticky!important;top:0!important;height:100vh!important;max-height:100vh!important;overflow-y:auto!important;overscroll-behavior:contain!important;z-index:1200!important}
.topbar{position:sticky!important;top:0!important;z-index:1150!important;background:#fff!important;box-shadow:0 8px 22px rgba(20,63,115,.08)!important}
.app-shell>main{min-width:0!important;overflow:visible!important}
#content{overflow:visible!important;min-width:0!important}
dialog#modal{width:min(900px,94vw)!important;max-width:94vw!important;max-height:92vh!important;overflow:auto!important;box-sizing:border-box!important}
dialog#modal form{max-width:100%!important;overflow:visible!important}
.inline-button-editor-note{padding:14px 16px;border:1px dashed #c28b19;border-radius:14px;background:#fff8df;color:#5f450e;font-weight:800}
.button-edit-mode button:not(#toggleButtonEditMode){position:relative!important;outline:2px dashed #d99a17!important;outline-offset:2px!important}
.button-edit-mode button:not(#toggleButtonEditMode)::after{content:'✏️';position:absolute;inset-inline-start:5px;top:4px;font-size:12px;background:#fff6d7;border-radius:999px;padding:2px 4px;line-height:1;pointer-events:none}
.phase2-task.task-overdue{border-inline-start:7px solid #b91c1c!important;background:#fff4f4!important}
.phase2-task.task-due-today{border-inline-start:7px solid #dc2626!important;background:#fff7ed!important}
.phase2-task.task-due-soon{border-inline-start:7px solid #d97706!important;background:#fffbeb!important}
.task-reminder-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#fff;color:#8a3d00;font-weight:900;border:1px solid #fdba74}
.task-file-label input[type=file]{min-height:54px!important}
.task-attachments{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px!important}
.task-attachments a,.task-attachments button{min-width:0;max-width:100%!important;overflow:hidden;text-overflow:ellipsis}
.permission-slip .slip-logo,.fine-logo,.morning-week-sheet-header img,.school-print-header img,.login-logo,.sidebar-logo{object-fit:contain!important;background:transparent!important}
@media screen and (max-width:900px){
  .app-shell{display:block!important}
  .sidebar{position:relative!important;height:auto!important;max-height:none!important}
  .topbar{position:sticky!important;top:0!important}
}
@media print{
  @page{size:Letter landscape;margin:4mm}
  .morning-week-sheet-print{width:100%!important;margin:0!important;padding:0!important}
  .morning-week-sheet-page{width:100%!important;height:203mm!important;min-height:203mm!important;max-height:203mm!important;padding:4mm 5mm!important;border:0!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important;box-sizing:border-box!important}
  .morning-week-sheet-page:last-child{break-after:auto!important;page-break-after:auto!important}
  .morning-week-sheet-header{height:24mm!important;min-height:24mm!important;max-height:24mm!important;margin:0 0 2mm!important;padding:0 0 2mm!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6mm!important;overflow:hidden!important}
  .morning-week-sheet-header img{width:25mm!important;height:22mm!important;max-width:25mm!important;max-height:22mm!important;position:static!important;margin:0!important;transform:none!important}
  .morning-week-sheet-header h1{font-size:15pt!important;line-height:1.05!important;margin:0!important}
  .morning-week-sheet-header h2{font-size:11pt!important;line-height:1.05!important;margin:1mm 0 0!important}
  .morning-week-sheet-header p{font-size:8pt!important;line-height:1!important;margin:1mm 0 0!important}
  .morning-week-sheet-meta{height:8mm!important;min-height:8mm!important;margin:0 0 2mm!important;padding:1mm 2mm!important;font-size:7.5pt!important;box-sizing:border-box!important}
  .morning-week-sheet-table{width:100%!important;height:160mm!important;max-height:160mm!important;table-layout:fixed!important;border-collapse:collapse!important;margin:0!important}
  .morning-week-sheet-table thead{display:table-header-group!important}
  .morning-week-sheet-table tbody{display:table-row-group!important}
  .morning-week-sheet-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .morning-week-sheet-table tbody tr{height:calc(146mm / var(--pupil-count))!important;max-height:7mm!important;min-height:4.5mm!important}
  .morning-week-sheet-table th,.morning-week-sheet-table td{padding:.35mm!important;line-height:1!important;font-size:6.6pt!important;overflow:hidden!important}
  .morning-week-sheet-table .week-sheet-name{width:34mm!important;font-size:7.3pt!important;white-space:nowrap!important}
  .morning-week-sheet-table .week-sheet-num{width:6mm!important}
  .morning-week-sheet-table th small{font-size:4.6pt!important;line-height:1!important}
  .morning-week-sheet-table .week-sheet-subhead span{font-size:4.5pt!important;min-height:4mm!important;padding:0!important}
  .morning-week-sheet-mark span{font-size:7pt!important}
  .morning-week-sheet-page footer{height:5mm!important;margin-top:1mm!important;font-size:5.5pt!important}
  .permission-slip .slip-logo{display:block!important;width:24mm!important;height:18mm!important;opacity:1!important;visibility:visible!important}
}


/* ===== Phase 7: reliable always-visible header/sidebar and working inline editor ===== */
@media screen and (min-width:901px){
  :root{--ohr-sidebar-width:250px;--ohr-topbar-height:118px}
  html,body{min-height:100%;overflow-x:hidden!important}
  .app-shell{
    display:block!important;
    min-height:100vh!important;
  }
  .sidebar{
    position:fixed!important;
    inset-block:0!important;
    inset-inline-start:auto!important;
    right:0!important;
    width:var(--ohr-sidebar-width)!important;
    height:100vh!important;
    max-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:5000!important;
    box-sizing:border-box!important;
    scrollbar-width:none!important;
  }
  .sidebar::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
  .app-shell>main{
    display:block!important;
    width:auto!important;
    min-width:0!important;
    margin:0 var(--ohr-sidebar-width) 0 0!important;
    padding-top:var(--ohr-topbar-height)!important;
    overflow:visible!important;
  }
  .topbar{
    position:fixed!important;
    top:0!important;
    right:var(--ohr-sidebar-width)!important;
    left:0!important;
    width:auto!important;
    min-height:var(--ohr-topbar-height)!important;
    height:var(--ohr-topbar-height)!important;
    max-height:var(--ohr-topbar-height)!important;
    z-index:4900!important;
    box-sizing:border-box!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:blur(12px)!important;
    overflow:hidden!important;
  }
  #content{
    min-width:0!important;
    overflow-x:hidden!important;
  }
}
@media screen and (max-width:900px){
  .app-shell{display:block!important}
  .sidebar{position:relative!important;right:auto!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important}
  .app-shell>main{margin:0!important;padding-top:0!important}
  .topbar{position:sticky!important;top:0!important;right:auto!important;left:auto!important;height:auto!important;max-height:none!important;z-index:4900!important}
}
.button-edit-mode #mainNav button,
.button-edit-mode #content button:not(#toggleButtonEditMode),
.button-edit-mode .topbar button{
  outline:3px dashed #d99a17!important;
  outline-offset:3px!important;
  cursor:pointer!important;
}
#toggleButtonEditMode[aria-pressed="true"]{
  background:#0f4f8f!important;
  color:#fff!important;
  border-color:#0f4f8f!important;
  box-shadow:0 8px 20px rgba(15,79,143,.25)!important;
}

/* ===== Phase 8 final layout, task form, editor and print fixes ===== */
@media screen and (min-width:901px){
  body:has(#appView:not(.hidden)){overflow:hidden!important}
  #appView:not(.hidden){position:fixed!important;inset:0!important;display:block!important;overflow:hidden!important}
  #appView:not(.hidden) .sidebar{position:absolute!important;top:0!important;right:0!important;bottom:0!important;width:250px!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:10000!important}
  #appView:not(.hidden)>main{position:absolute!important;top:0!important;bottom:0!important;left:0!important;right:250px!important;margin:0!important;padding:118px 0 0!important;overflow-y:auto!important;overflow-x:hidden!important}
  #appView:not(.hidden) .topbar{position:absolute!important;top:0!important;right:0!important;left:0!important;height:118px!important;min-height:118px!important;z-index:9999!important;background:#fff!important}
}
.sidebar,.app-shell>main,#modalForm{scrollbar-width:none!important}
.sidebar::-webkit-scrollbar,.app-shell>main::-webkit-scrollbar,#modalForm::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

dialog#modal{overflow:hidden!important;width:min(820px,94vw)!important;max-height:94vh!important}
dialog#modal #modalForm{max-height:94vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:24px 28px!important}
dialog#modal:has(.phase2-task-form) #modalBody{overflow:visible!important}
.phase2-task-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px 20px!important;width:100%!important}
.phase2-task-form>.wide{grid-column:1/-1!important}
.phase2-task-form label{margin:6px 0!important;min-width:0!important;align-self:start!important}
.phase2-task-form .report-hebrew-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%!important;min-width:0!important}
.phase2-task-form .report-hebrew-picker>*{min-width:0!important;width:100%!important}
.phase2-task-form textarea{min-height:135px!important}
@media(max-width:720px){.phase2-task-form{grid-template-columns:1fr!important}.phase2-task-form>*{grid-column:1!important}.phase2-task-form .report-hebrew-picker{grid-template-columns:1fr!important}}
.selected-file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px;min-height:30px}
.selected-file-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 9px;border:1px solid #b7cbe0;border-radius:999px;background:#edf6ff;color:#123c73}
.selected-file-chip b{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-chip small{font-size:11px;color:#5f7184}.selected-file-chip button{width:26px;height:26px;padding:0;border-radius:50%;border:0;background:#fee2e2;color:#991b1b;font-size:20px;line-height:1;cursor:pointer}.no-files-yet{color:#65778b}

@media print{
  @page morningWeekSheetWide{size:Letter landscape;margin:4mm}
  .morning-week-sheet-page{page:morningWeekSheetWide!important;height:203mm!important;min-height:203mm!important;max-height:203mm!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:3mm 4mm!important}
  .morning-week-sheet-header{position:relative!important;display:flex!important;flex:0 0 19mm!important;height:19mm!important;min-height:19mm!important;max-height:19mm!important;align-items:center!important;justify-content:center!important;gap:4mm!important;overflow:hidden!important;margin:0 0 1mm!important;padding:0!important}
  .morning-week-sheet-header img{position:static!important;display:block!important;flex:0 0 auto!important;width:19mm!important;height:17mm!important;max-width:19mm!important;max-height:17mm!important;object-fit:contain!important;transform:none!important;margin:0!important}
  .morning-week-sheet-header h1{font-size:13pt!important}.morning-week-sheet-header h2{font-size:9.5pt!important}.morning-week-sheet-header p{font-size:7pt!important}
  .morning-week-sheet-meta{flex:0 0 7mm!important;height:7mm!important;min-height:7mm!important;margin:0 0 1mm!important}
  .morning-week-sheet-table{flex:1 1 auto!important;height:auto!important;max-height:none!important;margin:0!important;page-break-before:avoid!important;break-before:avoid!important}
  .morning-week-sheet-table tbody tr{height:auto!important;min-height:0!important;max-height:none!important}
  .morning-week-sheet-page footer{flex:0 0 4mm!important;height:4mm!important;margin:1mm 0 0!important}
}

/* ===== Phase 9 final corrections ===== */
@media screen and (min-width:901px){
  :root{--ohr-sidebar-width:250px;--ohr-topbar-height:118px}
  html,body{height:100%;overflow:hidden!important}
  #appView:not(.hidden){position:fixed!important;inset:0!important;overflow:hidden!important}
  #appView:not(.hidden) .sidebar{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:var(--ohr-sidebar-width)!important;height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;z-index:10000!important;scrollbar-width:none!important}
  #appView:not(.hidden) .sidebar::-webkit-scrollbar{display:none!important}
  #appView:not(.hidden)>main{position:fixed!important;top:0!important;right:var(--ohr-sidebar-width)!important;bottom:0!important;left:0!important;margin:0!important;padding-top:var(--ohr-topbar-height)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important}
  #appView:not(.hidden)>main::-webkit-scrollbar{display:none!important}
  #appView:not(.hidden) .topbar{position:fixed!important;top:0!important;right:var(--ohr-sidebar-width)!important;left:0!important;height:var(--ohr-topbar-height)!important;min-height:var(--ohr-topbar-height)!important;z-index:9999!important;background:#fff!important;box-shadow:0 2px 12px rgba(18,60,115,.12)!important}
}
/* Edit mode: normal click still opens the page; only pencil edits. */
.button-edit-mode .phase9-editable-button{outline:2px dashed #d99a17!important;outline-offset:2px!important;cursor:pointer!important}
.phase9-editable-button{position:relative!important}
.button-edit-trigger{display:none;position:absolute;inset-inline-start:5px;top:4px;z-index:20;background:#fff7d6;border:1px solid #e7b94c;border-radius:999px;padding:2px 5px;font-size:12px;line-height:1;cursor:pointer;box-shadow:0 2px 5px #0002}
.button-edit-mode .button-edit-trigger{display:inline-flex!important}
.button-edit-mode button::after{content:none!important}
#mainNav button[draggable="true"]{user-select:none}
.button-edit-mode #mainNav button[draggable="true"]{cursor:grab!important}
#mainNav button.dragging{opacity:.45;transform:scale(.98)}

/* Task form must stay within one modal and show complete Hebrew date controls. */
dialog#modal:has(.phase2-task-form){width:min(900px,95vw)!important}
.phase2-task-form .report-hebrew-picker select{font-size:18px!important;text-overflow:clip!important;white-space:normal!important;min-height:58px!important;padding-inline:14px 34px!important}
.phase2-task-form .task-file-label input[type=file]{width:100%!important;min-height:54px!important}
.selected-file-list{max-height:130px;overflow:auto;scrollbar-width:none}.selected-file-list::-webkit-scrollbar{display:none}

/* Unified safe print rules. Permission/fine card flow is intentionally untouched. */
@media print{
  html,body{overflow:visible!important;height:auto!important;background:#fff!important}
  .morning-week-sheet-print{display:block!important;width:100%!important;margin:0!important;padding:0!important}
  .morning-week-sheet-page{page:morningWeekSheetWide!important;display:flex!important;flex-direction:column!important;width:100%!important;height:203mm!important;min-height:203mm!important;max-height:203mm!important;margin:0!important;padding:3mm 4mm!important;box-sizing:border-box!important;overflow:hidden!important;break-after:page!important;page-break-after:always!important}
  .morning-week-sheet-page:last-child{break-after:auto!important;page-break-after:auto!important}
  .morning-week-sheet-header{position:static!important;flex:0 0 17mm!important;height:17mm!important;min-height:17mm!important;max-height:17mm!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4mm!important;margin:0 0 1mm!important;padding:0!important;overflow:hidden!important;break-after:avoid!important;page-break-after:avoid!important}
  .morning-week-sheet-header img{position:static!important;width:18mm!important;height:15mm!important;max-width:18mm!important;max-height:15mm!important;object-fit:contain!important;margin:0!important;transform:none!important}
  .morning-week-sheet-header h1{font-size:12pt!important;line-height:1!important;margin:0!important}.morning-week-sheet-header h2{font-size:9pt!important;line-height:1!important;margin:.8mm 0 0!important}.morning-week-sheet-header p{font-size:6.5pt!important;line-height:1!important;margin:.8mm 0 0!important}
  .morning-week-sheet-meta{position:static!important;flex:0 0 6mm!important;height:6mm!important;min-height:6mm!important;margin:0 0 1mm!important;padding:.7mm 2mm!important;box-sizing:border-box!important;overflow:hidden!important;break-after:avoid!important;page-break-after:avoid!important}
  .morning-week-sheet-table{position:static!important;flex:1 1 auto!important;width:100%!important;height:auto!important;max-height:none!important;table-layout:fixed!important;border-collapse:collapse!important;margin:0!important;break-before:avoid!important;page-break-before:avoid!important}
  .morning-week-sheet-table thead{display:table-header-group!important}.morning-week-sheet-table tbody{display:table-row-group!important}
  .morning-week-sheet-table tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .morning-week-sheet-table tbody tr{height:5.5mm!important;min-height:5.5mm!important;max-height:5.5mm!important}
  .morning-week-sheet-table th,.morning-week-sheet-table td{padding:.2mm!important;line-height:1!important;font-size:6.3pt!important;overflow:hidden!important}
  .morning-week-sheet-table .week-sheet-name{width:35mm!important;font-size:7pt!important;white-space:nowrap!important}.morning-week-sheet-table .week-sheet-num{width:6mm!important}
  .morning-week-sheet-page footer{position:static!important;flex:0 0 4mm!important;height:4mm!important;margin:.5mm 0 0!important;font-size:5.3pt!important;overflow:hidden!important}
  .student-history-report-print>header img,.class-arrival-report-print header img,.phone-list-print header img,.class-list-print header img{width:22mm!important;height:18mm!important;object-fit:contain!important;position:static!important;transform:none!important}
  .student-history-report-print>header,.class-arrival-report-print header,.phone-list-print header,.class-list-print header{break-after:avoid!important;page-break-after:avoid!important;min-height:20mm!important;max-height:24mm!important;overflow:hidden!important}
  table{break-before:avoid!important;page-break-before:avoid!important}
}

/* ===== Phase 10 final visual + print cleanup ===== */
/* Hebrew date controls: never clip the full selected text. */
.report-hebrew-picker,
.hebrew-date-picker,
.phase2-task-form .report-hebrew-picker{
  grid-template-columns:repeat(3,minmax(170px,1fr))!important;
  width:100%!important;
  overflow:visible!important;
}
.report-hebrew-picker select,
.hebrew-date-picker select,
.morning-month-picker select,
.phase2-task-form .report-hebrew-picker select{
  min-width:170px!important;
  width:100%!important;
  max-width:none!important;
  font-size:17px!important;
  line-height:1.2!important;
  text-align:right!important;
  text-align-last:right!important;
  direction:rtl!important;
  padding:10px 34px 10px 12px!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.report-hebrew-picker select option,
.hebrew-date-picker select option,
.morning-month-picker select option{
  direction:rtl!important;
  font-size:16px!important;
  white-space:nowrap!important;
}
.phase10-drop-zone{margin-top:10px;padding:14px;border:2px dashed #9eb8d4;border-radius:14px;background:#f7fbff;text-align:center;color:#315b86;font-weight:800}
.phase10-drop-zone.drag-over{background:#e7f3ff;border-color:#1d67b1}
@media(max-width:760px){
  .report-hebrew-picker,.hebrew-date-picker,.phase2-task-form .report-hebrew-picker{grid-template-columns:1fr!important}
  .report-hebrew-picker select,.hebrew-date-picker select,.morning-month-picker select{min-width:0!important;font-size:16px!important}
}

/* Keep header and navigation visible; no visible inner scrollbars. */
@media screen and (min-width:901px){
  #appView:not(.hidden) .topbar{transform:none!important;visibility:visible!important;opacity:1!important}
  #appView:not(.hidden) .sidebar{transform:none!important;visibility:visible!important;opacity:1!important}
  #appView:not(.hidden)>main{overscroll-behavior:contain!important}
}

/* A single compact print system for all reports except permission/fine card printing. */
@media print{
  @page{size:Letter portrait;margin:6mm}
  @page reportLandscape{size:Letter landscape;margin:5mm}
  body:not(.portrait-card-print){margin:0!important;padding:0!important;background:#fff!important}
  body:not(.portrait-card-print) #content{margin:0!important;padding:0!important;width:100%!important;max-width:none!important;overflow:visible!important}
  body:not(.portrait-card-print) .student-history-report-print,
  body:not(.portrait-card-print) .class-list-print,
  body:not(.portrait-card-print) .class-arrival-report-print,
  body:not(.portrait-card-print) .late-report-print,
  body:not(.portrait-card-print) .morning-monthly-report,
  body:not(.portrait-card-print) .morning-weekly-report{
    width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important;background:#fff!important;
  }
  body:not(.portrait-card-print) .student-history-report-print>header,
  body:not(.portrait-card-print) .class-list-print .school-print-header,
  body:not(.portrait-card-print) .class-arrival-report-print>header,
  body:not(.portrait-card-print) .late-report-print>header,
  body:not(.portrait-card-print) .morning-monthly-report>header,
  body:not(.portrait-card-print) .morning-weekly-report>header,
  body:not(.portrait-card-print) .morning-year-print-header{
    position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5mm!important;
    width:100%!important;height:20mm!important;min-height:20mm!important;max-height:20mm!important;
    margin:0 0 2mm!important;padding:0 0 2mm!important;box-sizing:border-box!important;overflow:hidden!important;
    border-bottom:1.5pt solid #123f73!important;break-after:avoid!important;page-break-after:avoid!important;
  }
  body:not(.portrait-card-print) .student-history-report-print>header img,
  body:not(.portrait-card-print) .class-list-print .school-print-header img,
  body:not(.portrait-card-print) .class-arrival-report-print>header img,
  body:not(.portrait-card-print) .late-report-print>header img,
  body:not(.portrait-card-print) .morning-monthly-report>header img,
  body:not(.portrait-card-print) .morning-weekly-report>header img,
  body:not(.portrait-card-print) .morning-year-print-header img{
    position:static!important;display:block!important;width:22mm!important;height:17mm!important;max-width:22mm!important;max-height:17mm!important;
    object-fit:contain!important;transform:none!important;margin:0!important;inset:auto!important;float:none!important;
  }
  body:not(.portrait-card-print) header h1{font-size:15pt!important;line-height:1!important;margin:0!important}
  body:not(.portrait-card-print) header h2{font-size:11pt!important;line-height:1.05!important;margin:1mm 0 0!important}
  body:not(.portrait-card-print) header p{font-size:7pt!important;line-height:1!important;margin:.8mm 0 0!important}
  body:not(.portrait-card-print) table{width:100%!important;max-width:100%!important;margin:0!important;border-collapse:collapse!important;table-layout:fixed!important;break-before:avoid!important;page-break-before:avoid!important}
  body:not(.portrait-card-print) thead{display:table-header-group!important}
  body:not(.portrait-card-print) tr{break-inside:avoid!important;page-break-inside:avoid!important}
  body:not(.portrait-card-print) th,body:not(.portrait-card-print) td{overflow:hidden!important;vertical-align:middle!important}

  /* Class and phone lists: compact enough for about 31 students on one page. */
  body:not(.portrait-card-print) .class-list-print{page:auto!important}
  body:not(.portrait-card-print) .class-list-print th,
  body:not(.portrait-card-print) .class-list-print td{font-size:8.2pt!important;line-height:1.05!important;padding:1.4mm 1.2mm!important;height:6mm!important}
  body:not(.portrait-card-print) .class-list-print .school-print-header{height:22mm!important;min-height:22mm!important;max-height:22mm!important}
  body:not(.portrait-card-print) .phone-list-print th,
  body:not(.portrait-card-print) .phone-list-print td{font-size:7.6pt!important;padding:1.1mm!important;height:5.8mm!important}
  body:not(.portrait-card-print) .phone-list-print td:last-child{direction:ltr!important;text-align:left!important;unicode-bidi:plaintext!important}

  /* Shacharis/morning weekly sheets: always one landscape page per class, logo never overlaps. */
  body:not(.portrait-card-print) .morning-week-sheet-page{page:reportLandscape!important;position:relative!important;display:flex!important;flex-direction:column!important;width:267mm!important;height:200mm!important;min-height:200mm!important;max-height:200mm!important;margin:0!important;padding:2mm 3mm!important;overflow:hidden!important;box-sizing:border-box!important;break-after:page!important;page-break-after:always!important}
  body:not(.portrait-card-print) .morning-week-sheet-page:last-child{break-after:auto!important;page-break-after:auto!important}
  body:not(.portrait-card-print) .morning-week-sheet-header{position:static!important;display:flex!important;flex:0 0 16mm!important;height:16mm!important;min-height:16mm!important;max-height:16mm!important;align-items:center!important;justify-content:center!important;gap:4mm!important;margin:0 0 1mm!important;padding:0!important;overflow:hidden!important}
  body:not(.portrait-card-print) .morning-week-sheet-header img{position:static!important;width:18mm!important;height:14mm!important;max-width:18mm!important;max-height:14mm!important;object-fit:contain!important;transform:none!important;margin:0!important;inset:auto!important}
  body:not(.portrait-card-print) .morning-week-sheet-header h1{font-size:11pt!important;margin:0!important}.morning-week-sheet-header h2{font-size:8pt!important;margin:.5mm 0!important}.morning-week-sheet-header p{font-size:6pt!important;margin:0!important}
  body:not(.portrait-card-print) .morning-week-sheet-meta{position:static!important;flex:0 0 6mm!important;height:6mm!important;min-height:6mm!important;margin:0 0 1mm!important;overflow:hidden!important}
  body:not(.portrait-card-print) .morning-week-sheet-table{position:static!important;flex:1 1 auto!important;height:auto!important;max-height:none!important;margin:0!important;table-layout:fixed!important}
  body:not(.portrait-card-print) .morning-week-sheet-table tbody tr{height:5.35mm!important;min-height:5.35mm!important;max-height:5.35mm!important}
  body:not(.portrait-card-print) .morning-week-sheet-table th,
  body:not(.portrait-card-print) .morning-week-sheet-table td{font-size:6.1pt!important;line-height:1!important;padding:.15mm!important}
  body:not(.portrait-card-print) .morning-week-sheet-page footer{flex:0 0 3mm!important;height:3mm!important;margin:.5mm 0 0!important;font-size:5pt!important;overflow:hidden!important}

  /* Month/year charts: header stays attached to the table, each class starts cleanly. */
  body:not(.portrait-card-print) .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet{page:reportLandscape!important;width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important;break-before:page!important;page-break-before:always!important;break-after:auto!important;page-break-after:auto!important}
  body:not(.portrait-card-print) .morning-month-class-sheet:first-child,
  body:not(.portrait-card-print) .morning-year-class-sheet:first-child{break-before:auto!important;page-break-before:auto!important}
  body:not(.portrait-card-print) .morning-period-chart table{font-size:6.2pt!important}
  body:not(.portrait-card-print) .morning-period-chart th,
  body:not(.portrait-card-print) .morning-period-chart td{padding:.6mm!important;line-height:1!important}

  /* Prevent accidental empty pages from old fixed-height and break rules. */
  body:not(.portrait-card-print) .page-break-before:first-child{break-before:auto!important;page-break-before:auto!important}
  body:not(.portrait-card-print) section:empty{display:none!important}
}


/* ================================================================
   PHASE 11 — CLEAN PRINT SYSTEM
   Rebuilds every general report from one consistent Letter layout.
   Permission entry/exit and fine cards keep their current layout;
   only their logo source is repaired in app.js.
   ================================================================ */
@media print {
  @page { size: Letter portrait; margin: 0.32in; }

  html, body {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
  }

  body:not(.portrait-card-print) #app,
  body:not(.portrait-card-print) main,
  body:not(.portrait-card-print) #content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    position: static !important;
  }

  body:not(.portrait-card-print) .sidebar,
  body:not(.portrait-card-print) .topbar,
  body:not(.portrait-card-print) .app-header,
  body:not(.portrait-card-print) .toolbar,
  body:not(.portrait-card-print) .no-print,
  body:not(.portrait-card-print) button {
    display: none !important;
  }

  body:not(.portrait-card-print) .class-list-print,
  body:not(.portrait-card-print) .student-history-report-print,
  body:not(.portrait-card-print) .class-arrival-report-print,
  body:not(.portrait-card-print) .morning-print,
  body:not(.portrait-card-print) .morning-week-sheet,
  body:not(.portrait-card-print) .morning-month-print,
  body:not(.portrait-card-print) .shacharis-class-print-page,
  body:not(.portrait-card-print) .phase2-print-page {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #102f58 !important;
    background: #fff !important;
    direction: rtl !important;
    overflow: visible !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  body:not(.portrait-card-print) .shacharis-class-print-page,
  body:not(.portrait-card-print) .class-list-print,
  body:not(.portrait-card-print) .student-history-report-print {
    break-after: page !important;
    page-break-after: always !important;
  }
  body:not(.portrait-card-print) .shacharis-class-print-page:last-child,
  body:not(.portrait-card-print) .class-list-print:last-child,
  body:not(.portrait-card-print) .student-history-report-print:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  /* One compact header for every general report */
  body:not(.portrait-card-print) .school-print-header,
  body:not(.portrait-card-print) .student-history-report-print > header,
  body:not(.portrait-card-print) .shacharis-class-print-page > header,
  body:not(.portrait-card-print) .class-arrival-report-print > header,
  body:not(.portrait-card-print) .morning-week-sheet-header,
  body:not(.portrait-card-print) .morning-month-print-header {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 0.82in !important;
    min-height: 0.82in !important;
    max-height: 0.82in !important;
    margin: 0 0 0.10in !important;
    padding: 0 0 0.08in !important;
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.16in !important;
    border: 0 !important;
    border-bottom: 2px solid #153f72 !important;
    overflow: hidden !important;
    position: static !important;
    transform: none !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  body:not(.portrait-card-print) .school-print-header img,
  body:not(.portrait-card-print) .student-history-report-print > header img,
  body:not(.portrait-card-print) .shacharis-class-print-page > header img,
  body:not(.portrait-card-print) .class-arrival-report-print > header img,
  body:not(.portrait-card-print) .morning-week-sheet-header img,
  body:not(.portrait-card-print) .morning-month-print-header img {
    display: block !important;
    position: static !important;
    transform: none !important;
    width: 0.78in !important;
    height: 0.68in !important;
    max-width: 0.78in !important;
    max-height: 0.68in !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    background: transparent !important;
  }

  body:not(.portrait-card-print) .school-print-header h1,
  body:not(.portrait-card-print) .student-history-report-print > header h1,
  body:not(.portrait-card-print) .shacharis-class-print-page > header h1 {
    margin: 0 !important;
    font-size: 16pt !important;
    line-height: 1.05 !important;
    color: #143e70 !important;
  }
  body:not(.portrait-card-print) .school-print-header h2,
  body:not(.portrait-card-print) .student-history-report-print > header h2,
  body:not(.portrait-card-print) .shacharis-class-print-page > header h2 {
    margin: 2px 0 0 !important;
    font-size: 12.5pt !important;
    line-height: 1.05 !important;
    color: #143e70 !important;
  }
  body:not(.portrait-card-print) .school-print-header p,
  body:not(.portrait-card-print) .student-history-report-print > header p,
  body:not(.portrait-card-print) .shacharis-class-print-page > header p {
    margin: 2px 0 0 !important;
    font-size: 8pt !important;
    line-height: 1 !important;
  }

  body:not(.portrait-card-print) .student-history-report-meta {
    display: grid !important;
    grid-template-columns: repeat(4,1fr) !important;
    gap: 3px !important;
    margin: 0 0 5px !important;
    padding: 4px 6px !important;
    border: 1px solid #9bb8d8 !important;
    background: #f6f9fd !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  body:not(.portrait-card-print) .student-history-report-meta p {
    margin: 0 !important;
    font-size: 8pt !important;
  }

  body:not(.portrait-card-print) table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    table-layout: fixed !important;
    direction: rtl !important;
  }
  body:not(.portrait-card-print) thead { display: table-header-group !important; }
  body:not(.portrait-card-print) tfoot { display: table-footer-group !important; }
  body:not(.portrait-card-print) tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  body:not(.portrait-card-print) th,
  body:not(.portrait-card-print) td {
    box-sizing: border-box !important;
    border: 1px solid #8dabcb !important;
    padding: 2px 3px !important;
    height: 0.22in !important;
    min-height: 0.22in !important;
    font-size: 7.4pt !important;
    line-height: 1.05 !important;
    vertical-align: middle !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    background: #fff !important;
    color: #102f58 !important;
  }
  body:not(.portrait-card-print) th {
    height: 0.27in !important;
    font-weight: 800 !important;
    background: #edf4fb !important;
  }

  body:not(.portrait-card-print) .phone-list-print th,
  body:not(.portrait-card-print) .phone-list-print td,
  body:not(.portrait-card-print) .full-class-info-print th,
  body:not(.portrait-card-print) .full-class-info-print td {
    font-size: 7pt !important;
    padding: 2px !important;
    height: 0.21in !important;
  }
  body:not(.portrait-card-print) .phone-list-print td[dir="ltr"],
  body:not(.portrait-card-print) .full-class-info-print td[dir="ltr"] {
    direction: ltr !important;
    text-align: left !important;
    unicode-bidi: plaintext !important;
  }

  body:not(.portrait-card-print) .daily-box-list .student-name { width: 31% !important; }
  body:not(.portrait-card-print) .daily-box-list .row-num { width: 0.30in !important; }
  body:not(.portrait-card-print) .daily-box-list .day-box { height: 0.25in !important; }

  /* Keep current permission/fine card geometry unchanged. */
  body.portrait-card-print .permission-slip,
  body.portrait-card-print .fine-print,
  body.portrait-card-print .fine-print-page,
  body.portrait-card-print .slips-print-grid,
  body.portrait-card-print .slips-print-page {
    print-color-adjust: exact !important;
    -webkit-print-color-adjust: exact !important;
  }
  body.portrait-card-print .slip-logo,
  body.portrait-card-print .fine-logo {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    object-fit: contain !important;
    background: transparent !important;
  }
}

/* ===== Phase 12: task modal rows never overlap ===== */
dialog#modal:has(.phase2-task-form){
  width:min(980px,96vw)!important;
  max-width:980px!important;
}
dialog#modal:has(.phase2-task-form) #modalBody,
dialog#modal:has(.phase2-task-form) #modalForm{
  overflow-x:hidden!important;
}
.phase2-task-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px 20px!important;
  align-items:start!important;
}
.phase2-task-form>label{
  position:static!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
  overflow:visible!important;
}
.phase2-task-form>label.wide,
.phase2-task-form>label:has(.report-hebrew-picker),
.phase2-task-form>label:has(select[name="reminderDays"]),
.phase2-task-form>label.task-file-label{
  grid-column:1/-1!important;
}
.phase2-task-form>label:has(select[name="reminderDays"]){
  grid-row:auto!important;
}
.phase2-task-form>label:has(.report-hebrew-picker){
  grid-row:auto!important;
}
.phase2-task-form .report-hebrew-picker{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
.phase2-task-form .report-hebrew-picker select,
.phase2-task-form select[name="reminderDays"]{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:62px!important;
  box-sizing:border-box!important;
  font-size:18px!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.phase2-task-form textarea{width:100%!important;min-height:190px!important;resize:vertical!important}
.phase2-task-form .task-date-preview{width:100%!important;box-sizing:border-box!important;margin-top:10px!important}
@media(max-width:760px){
  .phase2-task-form{grid-template-columns:1fr!important}
  .phase2-task-form>label{grid-column:1!important}
  .phase2-task-form .report-hebrew-picker{grid-template-columns:1fr!important}
}

/* ===== Phase 13: login-only screen, no blank morning chart pages ===== */
/* When login is visible, the clock/header/sidebar must never show behind it. */
#loginView:not(.hidden) ~ #appView,
body:has(#loginView:not(.hidden)) #appView{
  display:none!important;
}
#loginView:not(.hidden){
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:grid!important;
  place-items:center!important;
  min-height:100dvh!important;
}

@media print{
  /* Remove accidental trailing blank sheets in every morning/Shacharis chart. */
  .morning-year-class-sheet,
  .morning-month-class-sheet,
  .morning-week-sheet-page,
  .shacharis-class-print-page{
    break-after:auto!important;
    page-break-after:auto!important;
  }
  .morning-year-class-sheet + .morning-year-class-sheet,
  .morning-month-class-sheet + .morning-month-class-sheet,
  .morning-week-sheet-page + .morning-week-sheet-page,
  .shacharis-class-print-page + .shacharis-class-print-page{
    break-before:page!important;
    page-break-before:always!important;
  }
  .morning-year-class-sheet:empty,
  .morning-month-class-sheet:empty,
  .morning-week-sheet-page:empty,
  .shacharis-class-print-page:empty{
    display:none!important;
  }
  .morning-year-chart-report,
  .morning-month-chart-report,
  .morning-weekly-report,
  .shacharis-class-print-document{
    min-height:0!important;
    height:auto!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
}

/* ===== Phase 14: rebuild weekly print and eliminate trailing chart sheets ===== */
@media print {
  @page morningLandscapeFinal { size: Letter landscape; margin: 0.18in; }

  /* The chart document itself must not create a printable box after its last class. */
  body:not(.portrait-card-print) .morning-period-chart,
  body:not(.portrait-card-print) .morning-month-chart-report,
  body:not(.portrait-card-print) .morning-year-chart-report,
  body:not(.portrait-card-print) .morning-weekly-report,
  body:not(.portrait-card-print) .morning-week-sheet-print {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  /* Month/year chart: one compact class sheet, never a spillover blank page. */
  body:not(.portrait-card-print) .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet {
    page: morningLandscapeFinal !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 7.55in !important;
    min-height: 0 !important;
    max-height: 7.55in !important;
    margin: 0 !important;
    padding: 0.03in !important;
    overflow: hidden !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
  body:not(.portrait-card-print) .morning-month-class-sheet + .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet + .morning-year-class-sheet {
    break-before: page !important;
    page-break-before: always !important;
  }
  body:not(.portrait-card-print) .morning-month-print-header {
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.10in !important;
    width: 100% !important;
    height: 0.55in !important;
    min-height: 0.55in !important;
    max-height: 0.55in !important;
    margin: 0 0 0.03in !important;
    padding: 0 0 0.03in !important;
    overflow: hidden !important;
    border-bottom: 2px solid #164a7b !important;
  }
  body:not(.portrait-card-print) .morning-month-print-header img {
    position: static !important;
    width: 0.48in !important;
    height: 0.43in !important;
    max-width: 0.48in !important;
    max-height: 0.43in !important;
    margin: 0 !important;
    transform: none !important;
    object-fit: contain !important;
  }
  body:not(.portrait-card-print) .morning-month-print-header h1 { font-size: 11pt !important; margin: 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .morning-month-print-header h2 { font-size: 8pt !important; margin: 1px 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .morning-month-print-header p { font-size: 6pt !important; margin: 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .morning-month-legend { margin: 0 0 0.03in !important; padding: 0 !important; min-height: 0 !important; font-size: 5.5pt !important; }
  body:not(.portrait-card-print) .morning-month-table-wrap { overflow: hidden !important; height: auto !important; max-height: 6.82in !important; }
  body:not(.portrait-card-print) .morning-month-chart-table,
  body:not(.portrait-card-print) .morning-year-chart-table { width: 100% !important; height: auto !important; table-layout: fixed !important; }
  body:not(.portrait-card-print) .morning-month-chart-table th,
  body:not(.portrait-card-print) .morning-month-chart-table td,
  body:not(.portrait-card-print) .morning-year-chart-table th,
  body:not(.portrait-card-print) .morning-year-chart-table td {
    height: auto !important;
    min-height: 0 !important;
    padding: 1px !important;
    font-size: 5.7pt !important;
    line-height: 1 !important;
  }

  /* Blank weekly form: rebuilt from top to bottom on one landscape page. */
  body:not(.portrait-card-print) .morning-week-sheet-page {
    page: morningLandscapeFinal !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 7.55in !important;
    min-height: 0 !important;
    max-height: 7.55in !important;
    margin: 0 !important;
    padding: 0.04in !important;
    overflow: hidden !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-page + .morning-week-sheet-page {
    break-before: page !important;
    page-break-before: always !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-header {
    box-sizing: border-box !important;
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.10in !important;
    width: 100% !important;
    height: 0.58in !important;
    min-height: 0.58in !important;
    max-height: 0.58in !important;
    margin: 0 0 0.03in !important;
    padding: 0 0 0.03in !important;
    overflow: hidden !important;
    border-bottom: 2px solid #164a7b !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-header img {
    position: static !important;
    inset: auto !important;
    width: 0.50in !important;
    height: 0.45in !important;
    max-width: 0.50in !important;
    max-height: 0.45in !important;
    margin: 0 !important;
    transform: none !important;
    object-fit: contain !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-header h1 { font-size: 11pt !important; margin: 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .morning-week-sheet-header h2 { font-size: 8pt !important; margin: 1px 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .morning-week-sheet-header p { font-size: 6pt !important; margin: 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .morning-week-sheet-meta {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 0.25in !important;
    min-height: 0.25in !important;
    max-height: 0.25in !important;
    margin: 0 0 0.03in !important;
    padding: 1px 4px !important;
    font-size: 6pt !important;
    overflow: hidden !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table {
    display: table !important;
    width: 100% !important;
    height: auto !important;
    max-height: 6.38in !important;
    margin: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table thead { display: table-header-group !important; }
  body:not(.portrait-card-print) .morning-week-sheet-table tbody { display: table-row-group !important; }
  body:not(.portrait-card-print) .morning-week-sheet-table tbody tr {
    height: calc(6.00in / var(--pupil-count)) !important;
    min-height: 0 !important;
    max-height: 0.25in !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table th,
  body:not(.portrait-card-print) .morning-week-sheet-table td {
    height: auto !important;
    min-height: 0 !important;
    padding: 1px !important;
    font-size: 5.8pt !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table th small { font-size: 4.3pt !important; }
  body:not(.portrait-card-print) .morning-week-sheet-page footer {
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: space-between !important;
    height: 0.18in !important;
    min-height: 0.18in !important;
    max-height: 0.18in !important;
    margin: 0.02in 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 4.8pt !important;
  }

  /* Filled weekly report: one clean class per sheet, no giant floating logo. */
  body:not(.portrait-card-print) .weekly-sheet-clean > .weekly-class-sheet {
    page: morningLandscapeFinal !important;
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    height: 7.55in !important;
    min-height: 0 !important;
    max-height: 7.55in !important;
    margin: 0 !important;
    padding: 0.04in !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }
  body:not(.portrait-card-print) .weekly-sheet-clean > .weekly-class-sheet + .weekly-class-sheet {
    break-before: page !important;
    page-break-before: always !important;
  }
  body:not(.portrait-card-print) .weekly-class-sheet > header {
    box-sizing: border-box !important;
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.10in !important;
    height: 0.58in !important;
    min-height: 0.58in !important;
    max-height: 0.58in !important;
    margin: 0 0 0.03in !important;
    padding: 0 0 0.03in !important;
    overflow: hidden !important;
    border-bottom: 2px solid #164a7b !important;
  }
  body:not(.portrait-card-print) .weekly-class-sheet > header img {
    position: static !important;
    inset: auto !important;
    width: 0.50in !important;
    height: 0.45in !important;
    max-width: 0.50in !important;
    max-height: 0.45in !important;
    margin: 0 !important;
    transform: none !important;
    object-fit: contain !important;
  }
  body:not(.portrait-card-print) .weekly-class-sheet > header h1 { font-size: 11pt !important; margin: 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .weekly-class-sheet > header h2 { font-size: 8pt !important; margin: 1px 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .weekly-class-sheet > header p { font-size: 6pt !important; margin: 0 !important; line-height: 1 !important; }
  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-note { margin: 0 0 0.03in !important; font-size: 5.5pt !important; }
  body:not(.portrait-card-print) .weekly-class-sheet .table-wrap { height: auto !important; max-height: 6.75in !important; overflow: hidden !important; }
  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table { width: 100% !important; height: auto !important; min-width: 0 !important; table-layout: fixed !important; }
  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table th,
  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table td {
    height: auto !important;
    min-height: 0 !important;
    padding: 1px 2px !important;
    font-size: 6pt !important;
    line-height: 1 !important;
  }
}

/* ================================================================
   PHASE 15 — FINAL PRINT PAGINATION FIX
   Removes blank trailing sheets and keeps weekly/month/year reports intact.
   ================================================================ */
@media print {
  /* Never let an empty wrapper or an old generic page-break class create a sheet. */
  body:not(.portrait-card-print) .page-break-before:first-child,
  body:not(.portrait-card-print) .morning-week-sheet-page:first-child,
  body:not(.portrait-card-print) .morning-month-class-sheet:first-child,
  body:not(.portrait-card-print) .morning-year-class-sheet:first-child,
  body:not(.portrait-card-print) .shacharis-class-print-page:first-child {
    break-before: auto !important;
    page-break-before: auto !important;
  }

  body:not(.portrait-card-print) .morning-period-chart:empty,
  body:not(.portrait-card-print) .morning-month-chart-report:empty,
  body:not(.portrait-card-print) .morning-year-chart-report:empty,
  body:not(.portrait-card-print) .morning-weekly-report:empty,
  body:not(.portrait-card-print) .morning-week-sheet-print:empty,
  body:not(.portrait-card-print) .morning-week-sheet-page:empty,
  body:not(.portrait-card-print) .morning-month-class-sheet:empty,
  body:not(.portrait-card-print) .morning-year-class-sheet:empty {
    display: none !important;
  }

  /* Do not force a page after any final report block. */
  body:not(.portrait-card-print) .morning-week-sheet-page,
  body:not(.portrait-card-print) .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet,
  body:not(.portrait-card-print) .shacharis-class-print-page {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  /* Only a following class starts on a fresh page. */
  body:not(.portrait-card-print) .morning-week-sheet-page + .morning-week-sheet-page,
  body:not(.portrait-card-print) .morning-month-class-sheet + .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet + .morning-year-class-sheet,
  body:not(.portrait-card-print) .shacharis-class-print-page + .shacharis-class-print-page {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Weekly sheet: one self-contained landscape page without a fixed-height overflow. */
  body:not(.portrait-card-print) .morning-week-sheet-page {
    page: morningLandscapeFinal !important;
    display: grid !important;
    grid-template-rows: auto auto 1fr auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0.04in !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-header {
    height: 0.52in !important;
    min-height: 0 !important;
    max-height: 0.52in !important;
    margin: 0 0 0.03in !important;
    overflow: hidden !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-header img {
    width: 0.48in !important;
    height: 0.43in !important;
    max-width: 0.48in !important;
    max-height: 0.43in !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-meta {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 0.03in !important;
    font-size: 6pt !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    table-layout: fixed !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table thead { display: table-header-group !important; }
  body:not(.portrait-card-print) .morning-week-sheet-table tbody tr {
    height: 0.205in !important;
    min-height: 0 !important;
    max-height: 0.205in !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-table th,
  body:not(.portrait-card-print) .morning-week-sheet-table td {
    height: 0.205in !important;
    min-height: 0 !important;
    padding: 1px !important;
    font-size: 5.8pt !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body:not(.portrait-card-print) .morning-week-sheet-page footer {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0.02in 0 0 !important;
    font-size: 5pt !important;
  }

  /* Month/year sheets should size to their real content, not reserve a second blank page. */
  body:not(.portrait-card-print) .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
  body:not(.portrait-card-print) .morning-month-table-wrap,
  body:not(.portrait-card-print) .morning-year-table-wrap {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* ================================================================
   PHASE 16 — WEEKLY SHEET FULL-PAGE / NO TRAILING BLANK PAGE
   ================================================================ */
@media print {
  @page morningLandscapeFinal { size: Letter landscape; margin: 0.16in; }

  html,
  body,
  #app,
  #appView,
  main,
  #content,
  .morning-week-sheet-print {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-print {
    display: block !important;
    width: 100% !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-page {
    page: morningLandscapeFinal !important;
    display: grid !important;
    grid-template-rows: 0.56in 0.27in 1fr 0.18in !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 7.28in !important;
    min-height: 7.28in !important;
    max-height: 7.28in !important;
    margin: 0 !important;
    padding: 0.03in !important;
    overflow: hidden !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-page + .morning-week-sheet-page {
    break-before: page !important;
    page-break-before: always !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-header {
    height: 0.56in !important;
    min-height: 0.56in !important;
    max-height: 0.56in !important;
    margin: 0 !important;
    padding: 0 0 0.02in !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-meta {
    height: 0.27in !important;
    min-height: 0.27in !important;
    max-height: 0.27in !important;
    margin: 0 !important;
    padding: 1px 4px !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-table {
    width: 100% !important;
    height: 6.22in !important;
    min-height: 6.22in !important;
    max-height: 6.22in !important;
    margin: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-table thead {
    height: 0.42in !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-table tbody tr {
    height: calc(5.80in / var(--pupil-count)) !important;
    min-height: calc(5.80in / var(--pupil-count)) !important;
    max-height: calc(5.80in / var(--pupil-count)) !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-table th,
  body:not(.portrait-card-print) .morning-week-sheet-table td {
    padding: 1px 2px !important;
    font-size: 6.4pt !important;
    line-height: 1.05 !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-table th small {
    font-size: 4.8pt !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-page footer {
    height: 0.18in !important;
    min-height: 0.18in !important;
    max-height: 0.18in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Prevent a hidden/empty last node or pseudo-element from becoming a page. */
  body:not(.portrait-card-print) .morning-week-sheet-print::before,
  body:not(.portrait-card-print) .morning-week-sheet-print::after,
  body:not(.portrait-card-print) .morning-week-sheet-page::before,
  body:not(.portrait-card-print) .morning-week-sheet-page::after {
    display: none !important;
    content: none !important;
  }
}

/* ================================================================
   PHASE 17 — THREE MORNING CHARTS: FULL PAGE, NO TRAILING BLANK
   ================================================================ */
@media print {
  @page morningCharts17 { size: Letter landscape; margin: 0.12in; }

  /* Remove every surrounding screen container from print geometry. */
  body:has(.morning-week-sheet-print),
  body:has(.morning-month-chart-report),
  body:has(.morning-year-chart-report) {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
  body:has(.morning-week-sheet-print) #app,
  body:has(.morning-week-sheet-print) #appView,
  body:has(.morning-week-sheet-print) main,
  body:has(.morning-week-sheet-print) #content,
  body:has(.morning-month-chart-report) #app,
  body:has(.morning-month-chart-report) #appView,
  body:has(.morning-month-chart-report) main,
  body:has(.morning-month-chart-report) #content,
  body:has(.morning-year-chart-report) #app,
  body:has(.morning-year-chart-report) #appView,
  body:has(.morning-year-chart-report) main,
  body:has(.morning-year-chart-report) #content {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .morning-week-sheet-print,
  .morning-month-chart-report,
  .morning-year-chart-report {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  /* Each real class is exactly one printable page, but slightly below the
     physical limit so Chromium cannot create a trailing blank sheet. */
  body:not(.portrait-card-print) .morning-week-sheet-page,
  body:not(.portrait-card-print) .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet {
    page: morningCharts17 !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 7.92in !important;
    min-height: 7.92in !important;
    max-height: 7.92in !important;
    margin: 0 !important;
    padding: 0.04in 0.06in !important;
    overflow: hidden !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  body:not(.portrait-card-print) .morning-week-sheet-page + .morning-week-sheet-page,
  body:not(.portrait-card-print) .morning-month-class-sheet + .morning-month-class-sheet,
  body:not(.portrait-card-print) .morning-year-class-sheet + .morning-year-class-sheet {
    break-before: page !important;
    page-break-before: always !important;
  }

  /* Compact header; give almost the entire page to the table. */
  .morning-week-sheet-header,
  .morning-month-print-header,
  .morning-year-print-header {
    flex: 0 0 0.62in !important;
    height: 0.62in !important;
    min-height: 0.62in !important;
    max-height: 0.62in !important;
    margin: 0 !important;
    padding: 0 0 0.03in !important;
    overflow: hidden !important;
  }
  .morning-week-sheet-header img,
  .morning-month-print-header img,
  .morning-year-print-header img {
    width: 0.52in !important;
    height: 0.52in !important;
    max-width: 0.52in !important;
    max-height: 0.52in !important;
    object-fit: contain !important;
  }
  .morning-week-sheet-header h1,
  .morning-month-print-header h1,
  .morning-year-print-header h1 { font-size: 14pt !important; line-height: 1 !important; margin: 0 !important; }
  .morning-week-sheet-header h2,
  .morning-month-print-header h2,
  .morning-year-print-header h2 { font-size: 8.5pt !important; line-height: 1 !important; margin: 1px 0 0 !important; }
  .morning-week-sheet-header p,
  .morning-month-print-header p,
  .morning-year-print-header p { font-size: 6pt !important; line-height: 1 !important; margin: 1px 0 0 !important; }

  .morning-week-sheet-meta,
  .morning-month-legend {
    flex: 0 0 0.24in !important;
    height: 0.24in !important;
    min-height: 0.24in !important;
    max-height: 0.24in !important;
    margin: 0 !important;
    padding: 1px 3px !important;
    font-size: 6pt !important;
    overflow: hidden !important;
  }

  .morning-week-sheet-table,
  .morning-month-table-wrap,
  .morning-year-table-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .morning-week-sheet-table,
  .morning-month-chart-table,
  .morning-year-chart-table {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
  }

  .morning-week-sheet-table thead,
  .morning-month-chart-table thead,
  .morning-year-chart-table thead {
    height: 0.42in !important;
    display: table-header-group !important;
  }

  .morning-week-sheet-table tbody tr,
  .morning-month-chart-table tbody tr,
  .morning-year-chart-table tbody tr {
    height: calc(6.55in / var(--pupil-count)) !important;
    min-height: calc(6.55in / var(--pupil-count)) !important;
    max-height: calc(6.55in / var(--pupil-count)) !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .morning-week-sheet-table th,
  .morning-week-sheet-table td,
  .morning-month-chart-table th,
  .morning-month-chart-table td,
  .morning-year-chart-table th,
  .morning-year-chart-table td {
    padding: 1px 2px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    overflow: hidden !important;
  }
  .morning-week-sheet-table th,
  .morning-week-sheet-table td { font-size: 6.6pt !important; }
  .morning-month-chart-table th,
  .morning-month-chart-table td { font-size: 6.2pt !important; }
  .morning-year-chart-table th,
  .morning-year-chart-table td { font-size: 6.1pt !important; }

  .morning-week-sheet-page footer {
    flex: 0 0 0.16in !important;
    height: 0.16in !important;
    min-height: 0.16in !important;
    max-height: 0.16in !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 5pt !important;
    overflow: hidden !important;
  }

  /* Never let an empty generated element become its own sheet. */
  .morning-week-sheet-print > :empty,
  .morning-month-chart-report > :empty,
  .morning-year-chart-report > :empty,
  .morning-week-sheet-page::before,
  .morning-week-sheet-page::after,
  .morning-month-class-sheet::before,
  .morning-month-class-sheet::after,
  .morning-year-class-sheet::before,
  .morning-year-class-sheet::after {
    display: none !important;
    content: none !important;
  }
}

/* ================================================================
   PHASE 18 — ISOLATED MORNING PRINT GEOMETRY
   Keeps the three morning charts on one full landscape sheet and
   prevents the application shell or report wrapper creating a blank page.
   ================================================================ */
@media print {
  @page morningPhase18 { size: Letter landscape; margin: 0.14in; }

  body.morning-chart-printing {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.morning-chart-printing > *:not(#app),
  body.morning-chart-printing #app > *:not(#appView),
  body.morning-chart-printing #appView > *:not(#content) {
    display: none !important;
  }

  body.morning-chart-printing #app,
  body.morning-chart-printing #appView,
  body.morning-chart-printing #content,
  body.morning-chart-printing .morning-week-sheet-print,
  body.morning-chart-printing .morning-month-chart-report,
  body.morning-chart-printing .morning-year-chart-report {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    break-before: auto !important;
    break-after: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }

  body.morning-chart-printing .morning-week-sheet-page,
  body.morning-chart-printing .morning-month-class-sheet,
  body.morning-chart-printing .morning-year-class-sheet {
    page: morningPhase18 !important;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 7.62in !important;
    min-height: 7.62in !important;
    max-height: 7.62in !important;
    margin: 0 !important;
    padding: 0.04in 0.05in !important;
    overflow: hidden !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body.morning-chart-printing .morning-week-sheet-page + .morning-week-sheet-page,
  body.morning-chart-printing .morning-month-class-sheet + .morning-month-class-sheet,
  body.morning-chart-printing .morning-year-class-sheet + .morning-year-class-sheet {
    break-before: page !important;
    page-break-before: always !important;
  }

  body.morning-chart-printing .morning-week-sheet-page:last-child,
  body.morning-chart-printing .morning-month-class-sheet:last-child,
  body.morning-chart-printing .morning-year-class-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body.morning-chart-printing .morning-week-sheet-header,
  body.morning-chart-printing .morning-month-print-header,
  body.morning-chart-printing .morning-year-print-header {
    flex: 0 0 0.58in !important;
    height: 0.58in !important;
    min-height: 0.58in !important;
    max-height: 0.58in !important;
    margin: 0 !important;
    padding: 0 0 0.02in !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-week-sheet-meta,
  body.morning-chart-printing .morning-month-legend {
    flex: 0 0 0.22in !important;
    height: 0.22in !important;
    min-height: 0.22in !important;
    max-height: 0.22in !important;
    margin: 0 !important;
    padding: 1px 3px !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-week-sheet-table,
  body.morning-chart-printing .morning-month-table-wrap,
  body.morning-chart-printing .morning-year-table-wrap {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-week-sheet-table,
  body.morning-chart-printing .morning-month-chart-table,
  body.morning-chart-printing .morning-year-chart-table {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
  }

  body.morning-chart-printing .morning-week-sheet-table tbody tr,
  body.morning-chart-printing .morning-month-chart-table tbody tr,
  body.morning-chart-printing .morning-year-chart-table tbody tr {
    height: calc(6.45in / var(--pupil-count)) !important;
    min-height: calc(6.45in / var(--pupil-count)) !important;
    max-height: calc(6.45in / var(--pupil-count)) !important;
  }

  body.morning-chart-printing .morning-week-sheet-page footer {
    flex: 0 0 0.14in !important;
    height: 0.14in !important;
    min-height: 0.14in !important;
    max-height: 0.14in !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-week-sheet-print > :empty,
  body.morning-chart-printing .morning-month-chart-report > :empty,
  body.morning-chart-printing .morning-year-chart-report > :empty,
  body.morning-chart-printing .morning-week-sheet-page::before,
  body.morning-chart-printing .morning-week-sheet-page::after,
  body.morning-chart-printing .morning-month-class-sheet::before,
  body.morning-chart-printing .morning-month-class-sheet::after,
  body.morning-chart-printing .morning-year-class-sheet::before,
  body.morning-chart-printing .morning-year-class-sheet::after {
    display: none !important;
    content: none !important;
  }
}

/* PHASE 22 — WEEKLY PRINT GRID + FULL-PAGE CLEANUP */
@media print {
  @page morningPhase22 {
    size: Letter landscape;
    margin: 0.14in;
  }

  body.morning-chart-printing .morning-week-sheet-page,
  body.morning-chart-printing .morning-month-class-sheet,
  body.morning-chart-printing .morning-year-class-sheet {
    page: morningPhase22 !important;
    width: 10.72in !important;
    height: 7.72in !important;
    min-height: 0 !important;
    max-height: 7.72in !important;
    margin: 0 !important;
    padding: 0.04in !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  body.morning-chart-printing .morning-week-sheet-page:not(:last-child),
  body.morning-chart-printing .morning-month-class-sheet:not(:last-child),
  body.morning-chart-printing .morning-year-class-sheet:not(:last-child) {
    break-after: page !important;
    page-break-after: always !important;
  }

  body.morning-chart-printing .morning-week-sheet-page:last-child,
  body.morning-chart-printing .morning-month-class-sheet:last-child,
  body.morning-chart-printing .morning-year-class-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body.morning-chart-printing .morning-week-sheet-header {
    flex: 0 0 0.54in !important;
    height: 0.54in !important;
    min-height: 0.54in !important;
    max-height: 0.54in !important;
    margin: 0 !important;
    padding: 0 0 0.02in !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.10in !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-week-sheet-header img {
    width: 0.58in !important;
    height: 0.50in !important;
    object-fit: contain !important;
  }

  body.morning-chart-printing .morning-week-sheet-header h1 {
    font-size: 14pt !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  body.morning-chart-printing .morning-week-sheet-header h2 {
    font-size: 8.5pt !important;
    line-height: 1 !important;
    margin: 2px 0 0 !important;
  }

  body.morning-chart-printing .morning-week-sheet-header p {
    font-size: 6pt !important;
    line-height: 1 !important;
    margin: 1px 0 0 !important;
  }

  body.morning-chart-printing .morning-week-sheet-meta {
    flex: 0 0 0.18in !important;
    height: 0.18in !important;
    min-height: 0.18in !important;
    max-height: 0.18in !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 5.8pt !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-week-sheet-table {
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 6.82in !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
    direction: rtl !important;
  }

  body.morning-chart-printing .morning-week-sheet-table thead {
    display: table-header-group !important;
  }

  body.morning-chart-printing .morning-week-sheet-table thead tr:first-child {
    height: 0.29in !important;
  }

  body.morning-chart-printing .morning-week-sheet-table thead tr:nth-child(2) {
    height: 0.24in !important;
  }

  body.morning-chart-printing .morning-week-sheet-table tbody tr {
    height: calc(6.19in / var(--pupil-count)) !important;
    min-height: calc(6.19in / var(--pupil-count)) !important;
    max-height: calc(6.19in / var(--pupil-count)) !important;
  }

  body.morning-chart-printing .morning-week-sheet-table th,
  body.morning-chart-printing .morning-week-sheet-table td {
    border: 1px solid #5c93d5 !important;
    padding: 0 !important;
    text-align: center !important;
    vertical-align: middle !important;
    overflow: hidden !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-num-head,
  body.morning-chart-printing .morning-week-sheet-table .week-sheet-num {
    width: 0.34in !important;
    font-size: 6.5pt !important;
    font-weight: 700 !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-name-head,
  body.morning-chart-printing .morning-week-sheet-table .week-sheet-name {
    width: 1.38in !important;
    font-size: 6.4pt !important;
    font-weight: 700 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    padding: 0 0.03in !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-day-head {
    font-size: 6.3pt !important;
    font-weight: 700 !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-day-head small {
    display: block !important;
    margin-top: 1px !important;
    font-size: 4.5pt !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-subhead {
    font-size: 4.9pt !important;
    font-weight: 700 !important;
    white-space: normal !important;
    line-height: 1.05 !important;
    padding: 0 1px !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-check-cell,
  body.morning-chart-printing .morning-week-sheet-table .week-sheet-late-cell {
    width: auto !important;
    text-align: center !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-check {
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    border: 1.6px solid #174d84 !important;
    border-radius: 2px !important;
    margin: 0 !important;
    vertical-align: middle !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  body.morning-chart-printing .morning-week-sheet-table .week-sheet-late-time {
    display: inline-block !important;
    min-width: 0.43in !important;
    margin: 0 !important;
    font-size: 6.2pt !important;
    letter-spacing: 0.4px !important;
    line-height: 1.05 !important;
    border-bottom: 1px solid #174d84 !important;
    white-space: nowrap !important;
  }

  body.morning-chart-printing .morning-week-sheet-page footer {
    flex: 0 0 0.12in !important;
    height: 0.12in !important;
    min-height: 0.12in !important;
    max-height: 0.12in !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 4.8pt !important;
    line-height: 1 !important;
    overflow: hidden !important;
  }

  body.morning-chart-printing .morning-month-chart-table th,
  body.morning-chart-printing .morning-month-chart-table td,
  body.morning-chart-printing .morning-year-chart-table th,
  body.morning-chart-printing .morning-year-chart-table td {
    text-align: center !important;
    vertical-align: middle !important;
    padding: 1px !important;
    box-sizing: border-box !important;
  }

  body.morning-chart-printing .morning-week-sheet-print::before,
  body.morning-chart-printing .morning-week-sheet-print::after,
  body.morning-chart-printing .morning-week-sheet-page::before,
  body.morning-chart-printing .morning-week-sheet-page::after {
    display: none !important;
    content: none !important;
  }
}

/* PHASE 29 — restored original dashboard action buttons; print-only fixes retained */

/* PHASE 30 — BOTH WEEKLY PRINTS: ONE PHYSICAL LETTER SHEET, NO CUT, NO BLANK */
@media print {
  @page weeklyPhysicalSafe { size: Letter landscape; margin: 0.18in; }

  html, body {
    height: auto !important;
    min-height: 0 !important;
  }

  /* Filled weekly report — exactly one class per physical sheet. */
  body:not(.portrait-card-print) .weekly-sheet-clean {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body:not(.portrait-card-print) .weekly-sheet-clean > .weekly-class-sheet {
    page: weeklyPhysicalSafe !important;
    width: 10.64in !important;
    height: 7.08in !important;
    min-height: 7.08in !important;
    max-height: 7.08in !important;
    margin: 0 !important;
    padding: 0.03in !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  body:not(.portrait-card-print) .weekly-sheet-clean > .weekly-class-sheet + .weekly-class-sheet {
    break-before: page !important;
    page-break-before: always !important;
  }

  body:not(.portrait-card-print) .weekly-sheet-clean > .weekly-class-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
    margin-bottom: 0 !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet > header {
    flex: 0 0 0.43in !important;
    height: 0.43in !important;
    min-height: 0.43in !important;
    max-height: 0.43in !important;
    margin: 0 0 0.01in !important;
    padding: 0 0 0.01in !important;
    overflow: hidden !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet > header img {
    width: 0.40in !important;
    height: 0.36in !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet > header h1 { font-size: 10.5pt !important; }
  body:not(.portrait-card-print) .weekly-class-sheet > header h2 { font-size: 7pt !important; }
  body:not(.portrait-card-print) .weekly-class-sheet > header p { font-size: 5pt !important; }

  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-note {
    flex: 0 0 0.12in !important;
    height: 0.12in !important;
    margin: 0 !important;
    font-size: 4.8pt !important;
    line-height: 1 !important;
    overflow: hidden !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet .table-wrap {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table {
    width: 100% !important;
    height: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table thead tr {
    height: 0.27in !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table tbody tr {
    height: calc(6.22in / var(--weekly-pupil-count, 26)) !important;
    min-height: 0 !important;
    max-height: none !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table th,
  body:not(.portrait-card-print) .weekly-class-sheet .weekly-sheet-table td {
    padding: 0 1px !important;
    font-size: 5.8pt !important;
    line-height: 1 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
  }

  body:not(.portrait-card-print) .weekly-sheet-clean::before,
  body:not(.portrait-card-print) .weekly-sheet-clean::after,
  body:not(.portrait-card-print) .weekly-class-sheet::before,
  body:not(.portrait-card-print) .weekly-class-sheet::after,
  body:not(.portrait-card-print) .weekly-sheet-clean > :empty {
    display: none !important;
    content: none !important;
  }
}

/* PHASE 32 — only the two weekly print sheets; one class per physical page */
@media print {
  @page weeklyLandscape { size: Letter landscape; margin: 0.16in; }

  body:has(.weekly-sheet-clean) {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }
  body:has(.weekly-sheet-clean) #sidebar,
  body:has(.weekly-sheet-clean) #topbar,
  body:has(.weekly-sheet-clean) .no-print {
    display: none !important;
  }
  body:has(.weekly-sheet-clean) #appView,
  body:has(.weekly-sheet-clean) #main,
  body:has(.weekly-sheet-clean) #content,
  body:has(.weekly-sheet-clean) .weekly-sheet-clean {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  body:has(.weekly-sheet-clean) .weekly-sheet-clean > .weekly-class-sheet {
    page: weeklyLandscape;
    width: 10.66in !important;
    height: 8.02in !important;
    min-height: 8.02in !important;
    max-height: 8.02in !important;
    margin: 0 !important;
    padding: 0.04in 0.05in !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
    break-after: page !important;
    page-break-after: always !important;
  }
  body:has(.weekly-sheet-clean) .weekly-sheet-clean > .weekly-class-sheet:last-child {
    break-after: auto !important;
    page-break-after: auto !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet > header {
    flex: 0 0 0.54in !important;
    height: 0.54in !important;
    min-height: 0.54in !important;
    max-height: 0.54in !important;
    margin: 0 0 0.025in !important;
    padding: 0 0 0.02in !important;
    gap: 0.07in !important;
    overflow: hidden !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet > header img {
    width: 0.44in !important;
    height: 0.36in !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet > header h1 { font-size: 10pt !important; line-height: 1 !important; margin: 0 !important; }
  body:has(.weekly-sheet-clean) .weekly-class-sheet > header h2 { font-size: 6.8pt !important; line-height: 1 !important; margin: 1px 0 !important; }
  body:has(.weekly-sheet-clean) .weekly-class-sheet > header p { font-size: 5pt !important; line-height: 1 !important; margin: 0 !important; }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-note {
    flex: 0 0 0.13in !important;
    height: 0.13in !important;
    margin: 0 0 0.025in !important;
    font-size: 5pt !important;
    line-height: 1 !important;
    overflow: hidden !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .table-wrap {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    border: 0 !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table thead tr {
    height: 0.32in !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table tbody tr {
    height: calc(6.95in / var(--weekly-pupil-count, 25)) !important;
    min-height: calc(6.95in / var(--weekly-pupil-count, 25)) !important;
    max-height: calc(6.95in / var(--weekly-pupil-count, 25)) !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table th,
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table td {
    padding: 0 2px !important;
    line-height: 1 !important;
    overflow: hidden !important;
    vertical-align: middle !important;
  }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table .student-name b { font-size: 6.7pt !important; }
  body:has(.weekly-sheet-clean) .weekly-class-sheet .weekly-sheet-table .student-name small { font-size: 4.8pt !important; margin: 0 !important; }
}

.student-address-link{
  direction:ltr!important;
  unicode-bidi:plaintext!important;
  text-align:left!important;
  display:inline-block!important;
  color:#0b5cad!important;
  text-decoration:underline!important;
  cursor:pointer!important;
  overflow-wrap:anywhere!important;
}
.student-address-link:hover{color:#073b72!important}

/* V8 — rebuilt Shacharis tab */
.morning-rebuilt{display:grid;gap:16px}.morning-rebuilt-toolbar{display:grid;grid-template-columns:auto minmax(150px,220px) minmax(220px,1fr);gap:12px;align-items:end;background:#fff;border:1px solid #c9d9ea;border-radius:20px;padding:16px;box-shadow:0 8px 22px rgba(20,63,105,.08)}.morning-view-switch,.morning-report-buttons{display:flex;gap:8px;flex-wrap:wrap}.morning-report-buttons{grid-column:1/-1}.morning-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.morning-mini-stats article{background:linear-gradient(180deg,#fff,#edf5fc);border:1px solid #c9d9ea;border-radius:18px;padding:15px;text-align:center}.morning-mini-stats strong{display:block;font-size:28px;color:#0c3f73}.morning-mini-stats span{color:#55718e}.morning-bulk-bar.rebuilt{position:sticky;top:0;z-index:5;background:#f7fbff;border:1px solid #b8cee3;border-radius:16px;padding:12px}.morning-day-table td,.morning-day-table th{vertical-align:middle}.morning-status-pill{border:0;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.morning-status-pill.status-ontime{background:#dcfce7;color:#166534}.morning-status-pill.status-lateExcused{background:#fef3c7;color:#92400e}.morning-status-pill.status-late{background:#fee2e2;color:#991b1b}.morning-status-pill.status-empty{background:#e8eef5;color:#526477}.morning-big-check{display:inline-flex;align-items:center;gap:8px;font-weight:800}.morning-big-check input{width:20px;height:20px}.morning-total{display:inline-grid;place-items:center;min-width:38px;height:38px;border-radius:12px;background:#0d4d87;color:#fff}.morning-week-table th small{display:block;font-size:11px;margin-top:4px;color:#58708a}@media(max-width:1050px){.morning-rebuilt-toolbar{grid-template-columns:1fr 1fr}.morning-search-label{grid-column:1/-1}.morning-mini-stats{grid-template-columns:repeat(2,1fr)}}

/* ===== V9 SHACHARIS REBUILD ===== */
.morning-v9{padding:18px;display:grid;gap:16px;background:#eef5fb;min-height:100%;color:#12365d}
.morning-v9-header,.morning-v9-controls,.morning-v9-bulk,.morning-v9-stats,.morning-v9-table{background:white;border:1px solid #c7d9ea;border-radius:18px;box-shadow:0 7px 22px rgba(18,54,93,.08)}
.morning-v9-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.morning-v9-header h1{margin:0;font-size:30px}.morning-v9-header p{margin:6px 0 0;font-weight:700}.morning-v9-nav{display:flex;gap:9px}
.morning-v9 button{border:1px solid #aac3dc;background:#edf5fc;color:#123b67;border-radius:11px;padding:10px 15px;font-weight:800;cursor:pointer}.morning-v9 button:hover{transform:translateY(-1px)}.morning-v9 button.primary,.morning-v9-tabs button.active{background:#124b84;color:white}.morning-v9 button.danger{background:#ffe7e4;color:#a32020;border-color:#ffc5be}
.morning-v9-controls{padding:14px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.morning-v9-controls label{display:grid;gap:5px;font-weight:800}.morning-v9-controls select,.morning-v9-controls input{min-height:42px;border:1px solid #b8cce0;border-radius:10px;padding:8px 12px;font:inherit}.morning-v9-controls .grow{flex:1;min-width:240px}.morning-v9-tabs,.morning-v9-report-buttons{display:flex;gap:7px;flex-wrap:wrap}
.morning-v9-bulk{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-wrap:wrap}.morning-v9-bulk b{margin-inline-end:auto}
.morning-v9-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;overflow:hidden}.morning-v9-stats article{padding:18px;text-align:center;border-inline-start:1px solid #d6e3ef}.morning-v9-stats article:first-child{border:0}.morning-v9-stats b{display:block;font-size:28px}.morning-v9-stats span{font-weight:700;color:#5e748c}
.morning-v9-table{overflow:auto}.morning-v9 table{width:100%;border-collapse:collapse;min-width:900px}.morning-v9 th{position:sticky;top:0;background:#dceaf6;padding:12px;z-index:1}.morning-v9 td{padding:10px;border-top:1px solid #dce6ef;text-align:center}.morning-v9 td:nth-child(2){text-align:right}.morning-v9 td small,.morning-v9 th small{display:block;color:#70849a;margin-top:3px}.m9-status,.m9-toggle{min-width:150px}.m9-status.s-ontime,.m9-status.s-lateExcused,.m9-toggle.on,.m9-mini.on{background:#dff7e8;color:#166b37;border-color:#9ed8b4}.m9-status.s-late{background:#ffe6e2;color:#9b2620}.m9-week-cell{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-width:130px}.m9-week-cell>span{grid-column:1/-1;font-size:12px}.m9-mini,.m9-points{padding:6px!important;font-size:12px}.m9-points{grid-column:1/-1}.m9-editor{display:grid;gap:12px}.m9-editor label{display:grid;gap:5px;font-weight:800}.m9-editor select,.m9-editor input,.m9-editor textarea{width:100%;border:1px solid #b7cadd;border-radius:9px;padding:10px;font:inherit}
@media(max-width:900px){.morning-v9-header{align-items:flex-start;gap:12px;flex-direction:column}.morning-v9-stats{grid-template-columns:repeat(2,1fr)}.morning-v9-controls{align-items:stretch}.morning-v9-controls>*{width:100%}}
