/* Cross-route containment and touch corrections from the 2026-07-29 mobile UX sweep. */
.auth-panel,
.auth-panel form,
.auth-panel label,
.settings-grid > .panel {
  min-width: 0;
}

.check--policy {
  display: grid;
  grid-template-columns: 1.25rem minmax(0, 1fr);
  align-items: start;
  gap: .45rem .65rem;
}

.check--policy input {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .1rem;
}

.check--policy .field-error {
  grid-column: 2;
}

.field-error,
.check--policy span,
.settings-grid .location-summary dd {
  min-width: 0;
  overflow-wrap: anywhere;
}

.assignment-form {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.assignment-roster,
.assignment-preview,
.assignment-heroes,
.assignment-hero,
.assignment-hero__details,
.assignment-hero__radar {
  min-width: 0;
  max-width: 100%;
}

.assignment-action-status,
.assignment-action-error {
  flex: 0 0 100%;
  width: 100%;
  margin: 0;
}

.assignment-action-status {
  color: var(--muted);
  font-size: .875rem;
}

#paypal-button-container {
  width: 100%;
  max-width: 32rem;
  min-width: 0;
  overflow: hidden;
}

#paypal-button-container > div,
#paypal-button-container iframe {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.relationship-card__summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
}

.relationship-card__mobile-detail {
  display: none;
}

.call-detail {
  scroll-margin-top: 1rem;
}

@media (max-width: 719px) {
  .settings-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .dossier,
  .dossier-header,
  .dossier-header > div,
  .dossier-grid,
  .dossier-grid > .panel {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .dossier-header {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .dossier-header > img {
    width: 100%;
    max-width: 280px;
    min-width: 0;
  }

  .status-line {
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  .relationship-card {
    padding: 1rem;
  }

  .relationship-card h2 {
    margin: .2rem 0;
    font-size: 1rem;
  }

  .relationship-card .relationship-score {
    margin: 0;
    font-size: 1.35rem;
  }

  .relationship-card__desktop-detail {
    display: none;
  }

  .relationship-card__mobile-detail {
    display: block;
    margin-top: .5rem;
  }

  .relationship-card__mobile-detail > summary {
    min-height: 44px;
    display: flex;
    align-items: center;
    cursor: pointer;
  }

}

@media (max-width: 520px) {
  .assignment-roster {
    overflow: visible;
  }

  .assignment-hero {
    --assignment-visual: 4.5rem;
    grid-template-columns: 1.25rem var(--assignment-visual) minmax(0, 1fr) var(--assignment-visual);
    gap: .4rem;
    padding: .5rem;
  }

  .assignment-hero input {
    width: 1.25rem;
    height: 1.25rem;
    min-height: 0;
  }

  .assignment-hero__details strong {
    font-size: .9rem;
  }

  .assignment-hero small {
    font-size: .75rem;
  }
}

@media (max-width: 480px) {
  .leaderboard-heading {
    flex-direction: column;
    align-items: stretch;
  }

  .leaderboard-heading > .button {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .assignment-hero {
    grid-template-columns: 1.25rem 4.5rem minmax(0, 1fr);
  }

  .assignment-hero__radar {
    grid-column: 2 / -1;
    width: 100%;
    height: 7.5rem;
  }
}

@media (pointer: coarse) {
  .command-map .maplibregl-ctrl-group button,
  .map-call {
    min-width: 44px;
    min-height: 44px;
  }
}
