.mechanical-attendance-dialog{overflow:hidden}
.mechanical-attendance-dialog .session-management-shell{max-height:calc(100dvh - 38px)}
.mechanical-attendance-groups,.mechanical-build-follow-up{margin-bottom:18px}
.mechanical-attendance-groups .card-header,.mechanical-build-follow-up .card-header{align-items:flex-start;gap:12px}
.mechanical-attendance-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mechanical-attendance-group{border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}
.mechanical-attendance-group.is-current{border:2px solid var(--blue);background:var(--blue-soft)}
.mechanical-attendance-group summary{cursor:pointer;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}
.mechanical-attendance-group summary span{font-size:12px;color:var(--muted)}
.mechanical-attendance-group summary::after{content:'Show students ▾';font-size:12px;color:var(--blue);margin-top:2px}
.mechanical-attendance-group[open] summary::after{content:'Hide students ▴'}
.mechanical-attendance-group ul{padding-left:20px;margin:10px 0 0}
.mechanical-attendance-group li{margin:4px 0;overflow-wrap:anywhere}
.mechanical-attendance-group p{font-size:12px;margin:10px 0 0}
.mechanical-build-follow-up{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.mechanical-progress-list{display:grid;gap:10px}
.mechanical-progress-row{border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0;overflow-wrap:anywhere}
.mechanical-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mechanical-progress-heading p{font-size:12px;margin:5px 0 0}
.mechanical-progress-heading a{flex:none;text-decoration:none;min-height:40px;display:inline-flex;align-items:center}
.mechanical-progress-update{display:flex;flex-direction:column;gap:4px;margin-top:14px}
.mechanical-progress-update span{font-size:12px;color:var(--muted)}
.mechanical-progress-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0 0}
.mechanical-progress-details dt{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px}
.mechanical-progress-details dd{margin:0;white-space:pre-wrap;font-size:14px}
.mechanical-progress-empty{font-size:14px;margin:12px 0 0;color:var(--muted)}
@media(max-width:600px){
 .mechanical-attendance-group-grid,.mechanical-progress-details{grid-template-columns:1fr}
 .mechanical-attendance-groups .card-header{flex-direction:column}
 .mechanical-progress-heading{flex-direction:column;gap:8px}
 .mechanical-progress-row{padding:12px}
 .mechanical-progress-heading a,.mechanical-attendance-groups button{min-height:44px}
 .mechanical-attendance-dialog .session-management-shell{max-height:calc(100dvh - 16px)}
 .mechanical-attendance-dialog .attendance-row{min-width:0}
 .mechanical-attendance-dialog .attendance-copy{min-width:0;overflow-wrap:anywhere}
 .mechanical-attendance-dialog .attendance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
 .mechanical-attendance-dialog .attendance-actions button{min-height:44px}
}
