html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.card,
.row > input,
.row > select,
.row > textarea,
.row > button {
  min-width: 0;
}

.row > label {
  flex-basis: 180px;
  min-width: min(180px, 100%);
}

img,
svg {
  max-width: 100%;
}

@media (max-width: 600px) {
  header {
    align-items: flex-start;
    flex-wrap: wrap;
    padding: .65rem;
  }

  header span {
    margin-inline-start: 0;
    overflow-wrap: anywhere;
    width: 100%;
  }

  nav {
    scrollbar-width: thin;
  }

  main {
    padding: .65rem;
  }

  .grid {
    grid-template-columns: 1fr;
  }

  .row > label,
  .row > input,
  .row > select,
  .row > button {
    width: 100%;
  }

  table {
    max-width: 100%;
  }
}
