/* Keep mobile assessment records in their existing single-student card.
   The hidden desktop table remains mounted for score synchronization.
   Preserve the desktop panel whenever it has a result/error message. */
@media (max-width: 768px) {
  html body.mobileAssessmentView #app .peAssessmentScrollableRegion > .peRecordDataPanel:has(> #assessResult:empty) {
    display: none !important;
  }
}

/* Align each roster name to its own class/number line without moving actions
   or changing the website's existing contact button and phone interaction. */
html body #mobileClubRoot .mobileClubMemberCard > .mobileClubMemberInfo {
  min-width: 0 !important;
  text-align: left !important;
}
html body #mobileClubRoot .mobileClubMemberInfo > .mobileClubMemberNameButton {
  display: flex !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
html body #mobileClubRoot .mobileClubMemberInfo > .mobileClubMemberNameButton > b,
html body #mobileClubRoot .mobileClubMemberInfo > small {
  margin-left: 0 !important;
  text-align: left !important;
}

/* Website contact detail: align the name immediately above its class line.
   Keep the existing phone number, dial link and close controls unchanged. */
html body #mobileClubDetailSheet[data-detail-type="contact"] .mobileClubContactIdentity {
  align-items: stretch !important;
  min-width: 0 !important;
  text-align: left !important;
}
html body #mobileClubDetailSheet[data-detail-type="contact"] .mobileClubContactIdentity > b,
html body #mobileClubDetailSheet[data-detail-type="contact"] .mobileClubContactIdentity > small {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
