/* #1024: explicit separation of QR lesson, roster lookup and account guidance. */
#firstUseLead .attendance-course-label{display:block;line-height:1.4;margin-bottom:6px;overflow-wrap:anywhere}
#firstUseLead .attendance-course-meta{display:block;line-height:1.45;margin:4px 0 8px;overflow-wrap:anywhere}
#firstUseLead .attendance-course-instruction{display:block;line-height:1.55;max-width:48ch}
.attendance-entry-card .attendance-group-picker{min-width:0}
.attendance-entry-card .attendance-field{min-width:0}
.attendance-entry-card .attendance-field select,
.attendance-entry-card .attendance-field input{max-width:100%;min-width:0}
.attendance-entry-card .attendance-hint{line-height:1.55}
@media(max-width:650px){
  .attendance-entry-card .attendance-course-instruction{margin-top:9px}
  .attendance-entry-card .attendance-entry-note{font-size:12px;line-height:1.5}
  .attendance-entry-card .claim-person{min-height:56px}
  /* The next-step label may span two lines on narrow phones; do not clip it. */
  #login .attendance-entry-card .lw-submit{height:auto;min-height:55px;padding:11px 13px;font-size:15px;line-height:1.35;white-space:normal;text-align:center}
}

/* Full identity must be readable before selecting a canonical student. */
#login .attendance-entry-card .claim-person strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#login .attendance-entry-card .claim-person>span{min-width:0;max-width:100%}
@media(max-width:650px){
  #login .attendance-entry-card .claim-person{flex-direction:column;align-items:flex-start;gap:7px}
  #login .attendance-entry-card .claim-person em{max-width:100%;white-space:normal;overflow-wrap:anywhere}
}

/* One visible decision at a time; hidden panels leave the keyboard tab order. */
#login .attendance-entry-card .claim-step-panel{display:grid;gap:14px;min-width:0}
#login .attendance-entry-card [data-claim-step].hidden{display:none}
#login .attendance-entry-card .claim-step-bar{display:grid;gap:12px;min-width:0}
#login .attendance-entry-card #claimBack{width:auto;justify-self:start;padding:9px 14px;min-height:44px}
#login .attendance-entry-card #claimStepTitle{font-size:17px;line-height:1.45;margin:0;overflow-wrap:anywhere;scroll-margin-top:16px}
#login .attendance-entry-card .claim-entry-choice{display:grid;gap:9px;padding-bottom:6px}
#login .attendance-entry-card #claimFindEntry{height:auto;min-height:55px;padding:13px 14px;line-height:1.3;font-size:16px;text-align:center}
#login .attendance-entry-card .claim-filter-tools{min-width:0;font-size:12px;color:inherit}
#login .attendance-entry-card .claim-filter-tools summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
#login .attendance-entry-card .claim-filter-tools[open] summary{margin-bottom:7px}
#login .attendance-entry-card .attendance-secondary-action{min-height:44px;padding:10px 12px;line-height:1.4}
#login .attendance-entry-card #claimSelected{overflow-wrap:anywhere}
#login .attendance-entry-card #claimRecovery{padding:0;border:0;background:none}
#login .attendance-entry-card #firstUseError{scroll-margin-top:16px}
#login .attendance-entry-card button:disabled{cursor:not-allowed}
#login .attendance-entry-card :is(button,summary):focus-visible{outline:2px solid currentColor;outline-offset:3px}

#login .attendance-entry-card #claimIdentityActions{display:grid;gap:10px}
#login .attendance-entry-card #claimIdentityActions.hidden{display:none}
#login .attendance-entry-card #claimSelected{display:grid;gap:6px;overflow-wrap:anywhere}
#login .attendance-entry-card #claimIdentityConfirm{height:auto;min-height:50px;padding:12px 14px}
