html {
  font-size: 15px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  background: #f6f7f9;
}

.card {
  border: 0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
}

.stat {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: nowrap;
}

/* Guest report form: big touch targets on phones. */
.guest-form .form-control,
.guest-form .form-select {
  padding: .7rem .85rem;
  font-size: 1.05rem;
}

.guest-form .btn-lg {
  padding: .85rem;
}

/* Honeypot field for bots; hidden from people and screen readers. */
.hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.scan-input {
  font-size: 1.6rem;
  letter-spacing: .05em;
}

.timeline {
  list-style: none;
  padding-left: 0;
}

.timeline li {
  border-left: 2px solid #dee2e6;
  padding: 0 0 .9rem 1rem;
  position: relative;
}

.timeline li::before {
  content: "";
  position: absolute;
  left: -6px;
  top: .35rem;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #6c757d;
}

/* Printable sheets (disposal list): only the table and the sign-off line. */
.print-only {
  display: none;
}

.tick-box {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 1px solid #000;
}

@media print {
  body {
    background: #fff;
  }

  header,
  .no-print,
  .alert {
    display: none !important;
  }

  .print-only {
    display: table-cell;
  }

  p.print-only {
    display: block;
  }

  .card {
    box-shadow: none;
  }

  .disposal-sheet td,
  .disposal-sheet th {
    padding: .25rem .4rem;
  }
}
