/* V4.0 build 4081 / 4078-2.2 — safe attendance folding layer.
   No attendance initialization or data logic is changed. */
#attendanceView .attendance-grid { align-items: start; }
#attendanceView details.panel { padding: 0; overflow: clip; }
#attendanceView details.panel > .attendance-fold-summary {
  list-style: none; cursor: pointer; display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:16px 18px; font-weight:800; font-size:16px; user-select:none;
}
#attendanceView details.panel > .attendance-fold-summary::-webkit-details-marker { display:none; }
#attendanceView details.panel > .attendance-fold-summary + * { margin-top:0; }
#attendanceView details.panel[open] > .attendance-fold-summary { border-bottom:1px solid rgba(127,127,127,.18); }
#attendanceView details.panel > .attendance-fold-summary ~ * { margin-left:16px; margin-right:16px; }
#attendanceView details.panel > .attendance-fold-summary ~ *:last-child { margin-bottom:16px; }
.attendance-fold-chevron { font-size:20px; line-height:1; transition:transform .15s ease; opacity:.65; }
details[open] > .attendance-fold-summary .attendance-fold-chevron { transform:rotate(180deg); }
.attendance-review-groups { display:grid; gap:10px; margin-top:12px; }
.attendance-review-group { border:1px solid rgba(127,127,127,.22); border-radius:12px; overflow:hidden; }
.attendance-review-group > summary { list-style:none; cursor:pointer; padding:13px 14px; font-weight:750; }
.attendance-review-group > summary::-webkit-details-marker { display:none; }
.attendance-review-group[open] > summary { border-bottom:1px solid rgba(127,127,127,.18); }
.attendance-review-group > div { padding:10px 12px 12px; }
@media (max-width: 760px){
  #attendanceView .attendance-grid { display:block; }
  #attendanceView details.panel { margin-bottom:10px; }
  #attendanceView details.panel > .attendance-fold-summary { padding:15px 14px; }
  #attendanceView details.panel > .attendance-fold-summary ~ * { margin-left:12px; margin-right:12px; }
}
