.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  padding: 11px 16px;
  background: #1769e0;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.button-link.secondary {
  background: #fff;
  color: #1769e0;
  border: 1px solid #bdd5f8;
}

.admin-login {
  max-width: 520px;
  margin: 8vh auto;
}

.member-login { max-width: 480px; margin: 7vh auto; }
.member-login-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.member-login-actions > * { min-height: 44px; }
.topbar-logout { margin-left: auto; background: #ffffff18; }
.topbar-logout + .badge { margin-left: 0; }
.room-box { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e5eaf2; }
.room-code { font-size: 32px; letter-spacing: .16em; color: #0d2e57; }

.admin-session-matches table { min-width: 1080px; }
.admin-session-matches td { vertical-align: middle; }
.admin-match-timer {
  display: inline-block;
  min-width: 64px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef5ff;
  color: #0d2e57;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.action.complete { color: #40546b; background: #e8edf4; }

[hidden] {
  display: none !important;
}

@media (max-width: 520px) {
  .member-login-actions > * { flex: 1 1 100%; }
}
