.pwa-install-button {
  display: block;
  width: 100%;
  margin-top: 14px;
  border: 1px solid #bdcbd9;
  border-radius: 10px;
  padding: 11px 16px;
  background: #fff;
  color: var(--navy);
  font-weight: 800;
  cursor: pointer;
}

.pwa-install-button:hover { background: #edf6fa; }
.pwa-install-button[hidden] { display: none; }

.visitor-card.upcoming { border-left: 4px solid var(--amber); }
.pill.upcoming { background: #fff3d6; color: var(--amber); }
.visitor-top { align-items: flex-start; }
.visitor-top .pill {
  flex: 0 0 auto;
  max-width: min(220px, 45%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.link-button:disabled { cursor: wait; opacity: .7; }

@supports (padding: max(0px)) {
  .login-shell {
    padding-top: max(24px, env(safe-area-inset-top));
    padding-right: max(24px, env(safe-area-inset-right));
    padding-bottom: max(24px, env(safe-area-inset-bottom));
    padding-left: max(24px, env(safe-area-inset-left));
  }

  .topbar {
    height: auto;
    min-height: 76px;
    padding-top: env(safe-area-inset-top);
    padding-right: max(32px, env(safe-area-inset-right));
    padding-left: max(32px, env(safe-area-inset-left));
  }

  .workspace {
    padding-right: max(28px, env(safe-area-inset-right));
    padding-bottom: max(28px, env(safe-area-inset-bottom));
    padding-left: max(28px, env(safe-area-inset-left));
  }
}

@media (max-width: 900px) {
  @supports (padding: max(0px)) {
    .topbar {
      padding-right: max(18px, env(safe-area-inset-right));
      padding-left: max(18px, env(safe-area-inset-left));
    }

    .workspace {
      padding-right: max(18px, env(safe-area-inset-right));
      padding-bottom: max(18px, env(safe-area-inset-bottom));
      padding-left: max(18px, env(safe-area-inset-left));
    }
  }
}
