    body {
      font-family: sans-serif;
      margin: 0;
      padding: 2em;
    }
    #guest-checkin-container {
      display: grid;
      grid-template-columns: 1fr;
      gap: 2em;
    }
    @media (min-width: 768px) and (orientation: landscape) {
      #guest-checkin-container {
        grid-template-columns: 1fr 2fr;
      }
    }
    #guest-search {
      font-size: 1.5em;
      margin: 1em 0;
      padding: 0.5em;
    }

    @media (max-width: 600px), (orientation: portrait) {
      #guest-search {
        width: 90%;
        max-width: 400px;
      }
    }
    #tabs {
      display: flex;
      margin-bottom: 1em;
      border-bottom: 2px solid #ccc;
    }
    #tabs button {
      background: #e0e0e0;
      border: 1px solid #ccc;
      border-bottom: none;
      border-radius: 8px 8px 0 0;
      margin-right: 0.5em;
      padding: 0.5em 1em;
      cursor: pointer;
      font-weight: bold;
      position: relative;
      top: 2px;
    }
    #tabs button.active {
      background: white;
      border-bottom: 2px solid white;
    }
    .checkin-btn {
      background-color: #0073aa;
      color: #fff;
      padding: 0.4em 0.9em;
      border: none;
      border-radius: 5px;
      text-decoration: none;
      font-weight: bold;
      font-size: 0.9em;
      transition: background-color 0.2s;
    }
    .checkin-btn:hover {
      background-color: #005f8d;
    }
    .strikethrough {
      text-decoration: line-through;
      opacity: 0.7;
    }
    .attendee-entry.match {
      animation: flashBg 1s infinite alternate;
    }
    @keyframes flashBg {
      0%      { background-color:rgb(255, 255, 255); }
      100%    { background-color: #ffeeba; }
    }
    .reservation {
      margin-bottom: .5em;
      padding: 1em;
      border: 2px solid #ccc;
      border-radius: 8px;
      background: #fdfdfd;
    }
    .reservation h3 {
      margin-top: 0;
      margin-bottom: .25em;
    }
    .attendee-sublist {
      list-style: none;
      padding-left: 1em;
      margin-top: 0;
      margin-bottom: 0;
    }
    .attendee-entry {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid #eee;
      padding: 0.5em 0;
    }
    .attendee-entry .veg {
      color: green;
      font-weight: bold;
    }
    .attendee-entry:last-child {
      border-bottom: none;
    }