/* Guest management lives inside the phone-width application shell even when
   the browser viewport is desktop-sized. Size it from the card, not viewport. */
.workspace-access-panel,
.guest-pass-admin,
.guest-pass-admin * {
  box-sizing: border-box;
}

.workspace-access-panel {
  min-width: 0;
  overflow: hidden;
}

.guest-pass-admin {
  width: 100%;
  min-width: 0;
  padding: 16px;
  overflow: hidden;
}

.guest-pass-admin form {
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.guest-pass-admin form > input:first-child,
.guest-pass-admin form > button {
  grid-column: 1 / -1;
}

.guest-pass-admin input,
.guest-pass-admin select,
.guest-pass-admin button {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.guest-pass-admin form > button {
  min-height: 44px;
}

.guest-pass-grid {
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
}

.guest-pass-grid > div {
  width: 100%;
  min-width: 0;
  overflow: hidden;
}

.guest-pass-row,
.guest-access-row {
  width: 100%;
  min-width: 0;
}

.guest-pass-row > div,
.guest-access-row > div {
  overflow: hidden;
}

.guest-pass-row b,
.guest-access-row b,
.guest-pass-row small,
.guest-access-row small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 370px) {
  .guest-pass-admin { padding: 13px; }
  .guest-pass-admin form { grid-template-columns: minmax(0, 1fr); }
  .guest-pass-admin form > input:first-child,
  .guest-pass-admin form > button { grid-column: 1; }
}
