/* HSP Central responsive layout guard - authenticated Central only. */

/* Normal UI copy should wrap at word boundaries. Long technical values may still break when required. */
.page-content,
.card,
.card h1,.card h2,.card h3,.card h4,
.card p,.card b,.card small,.card span,
.card dt,.card dd,
.page-title-block,
.section-head,
.quick,
.notice,
.detail {
  min-width: 0;
  word-break: normal;
  overflow-wrap: break-word;
}

/* People Management mobile/tablet cards: keep identity content in the intended second column. */
@media (max-width: 1050px) {
  .s68-person-card {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }
  .s68-person-card > div:nth-child(2) {
    min-width: 0;
    width: 100%;
  }
  .s68-person-card > div:nth-child(2) h3,
  .s68-person-card > div:nth-child(2) small {
    width: auto;
    max-width: 100%;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    white-space: normal;
  }
  .s68-person-card > dl,
  .s68-person-card > .table-actions,
  .s68-person-card > .standing-badge {
    grid-column: 1 / -1 !important;
    min-width: 0;
  }
  .s68-person-card > .table-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
  }
  .s68-person-card > .table-actions .button {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
  .s68-person-card dl div {
    min-width: 0;
  }
  .s68-person-card dt {
    flex: 0 1 38%;
    min-width: 0;
  }
  .s68-person-card dd {
    flex: 1 1 62%;
    min-width: 0;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}

/* At narrower tablet/mobile widths, one card per row gives names/details room before wrapping. */
@media (max-width: 900px) {
  .s68-directory-cards {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .s68-person-card > .table-actions {
    grid-template-columns: 1fr;
  }
  .s68-person-card dl div {
    display: grid !important;
    grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr);
    align-items: start;
  }
  .s68-person-card dt,
  .s68-person-card dd {
    text-align: left;
  }
}

/* Generic responsive flex/grid safety for Central cards. */
@media (max-width: 900px) {
  .section-head > *,
  .card > *,
  .quick > *,
  .detail > * {
    min-width: 0;
  }
}
