/* CSP hover fixes - auth pages */

@keyframes login-submit-spin {
  to { transform: rotate(360deg); }
}

/* LoginPage */
.passkey-login-btn:hover { background: #e7f3ff !important; }
.contact-link:hover { background: #e5e5e7 !important; color: #1d1d1f !important; }

/* RegisterPage form styles */
.register-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.register-form .form-group {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.register-form input,
.register-form select {
  width: 100%;
}
.register-form .field-note {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #6e6e73;
  line-height: 1.5;
}
.register-form .required-mark {
  color: #ff3b30;
  margin-left: 0.25rem;
}

/* ProfilePage */
.profile-update-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(52, 199, 89, 0.35) !important; }

/* CSP hover fixes - user pages */

/* HomePage */
.home-nav-link { transition: all 0.2s; }
.home-nav-link:hover { background-color: #f5f5f7 !important; border-color: #d2d2d7 !important; transform: translateY(-2px) !important; }

.home-checkin-btn { transition: background 0.2s; }
.home-checkin-btn:hover { background: #2fb350 !important; }

.home-coin-history-btn { transition: all 0.2s; }
.home-coin-history-btn:hover { background: #f5f5f7 !important; border-color: #e5e5e7 !important; }

/* UserEventsPage */
.event-detail-badge-btn { transition: background 0.2s; }
.event-detail-badge-btn:hover { background: #5a5a5f !important; }

.event-cancel-btn { transition: background 0.2s; }
.event-cancel-btn:hover { background: #f5f5f7 !important; }

.event-apply-form-btn { transition: background 0.2s; }
.event-apply-form-btn:hover { background: #0051d5 !important; }

.event-booking-form-btn { transition: background 0.2s; }
.event-booking-form-btn:hover { background: #0051d5 !important; }

.event-booking-form-btn-muted { transition: background 0.2s; }
.event-booking-form-btn-muted:hover { background: #1d1d1f !important; }

.event-checkin-btn { transition: background 0.2s; }
.event-checkin-btn:hover { background: #2fb350 !important; }

.event-detail-url-btn { transition: all 0.2s; }
.event-detail-url-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(0, 122, 255, 0.4) !important; }

.event-modal-apply-btn { transition: all 0.2s; }
.event-modal-apply-btn:hover { transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(0, 122, 255, 0.4) !important; }

/* RankTooltip */
.rank-info-wrapper:hover .rank-tooltip,
.rank-info-wrapper:focus-within .rank-tooltip {
  display: block !important;
}

.rank-display {
  user-select: none;
}

@media (hover: none) {
  .rank-info-wrapper .rank-tooltip {
    display: none !important;
  }

  .rank-info-wrapper.active .rank-tooltip {
    display: block !important;
  }
}

/* CSP hover fixes - admin core pages */

/* AdminDashboardPage */
.admin-stat-card { transition: transform 0.2s, box-shadow 0.2s; }
.admin-stat-card:hover { transform: translateY(-4px) !important; box-shadow: 0 8px 12px rgba(0,0,0,0.15) !important; }
.admin-dashboard-row:hover { background: #f5f5f7 !important; }

/* AdminApiKeysPage */
.admin-api-key-btn-primary { transition: background 0.2s; }
.admin-api-key-btn-primary:hover { background: #0056b3 !important; }
.admin-api-key-btn-success { transition: background 0.2s; }
.admin-api-key-btn-success:hover { background: #218838 !important; }

/* AdminApiReferencePage */
.admin-api-ref-btn-muted { transition: background 0.2s; }
.admin-api-ref-btn-muted:hover { background: #5a5a5f !important; }
.admin-api-ref-btn-danger { transition: background 0.2s; }
.admin-api-ref-btn-danger:hover { background: #c82333 !important; }

/* CSP hover fixes - admin event pages + layout */

/* AdminEventBookingsPage */
.admin-booking-action-btn { transition: opacity 0.2s; }
.admin-booking-action-btn:hover { opacity: 0.8 !important; }

/* SecurityPage */
.security-danger-btn { transition: background 0.2s; }
.security-danger-btn:hover { background: #fff1f0 !important; }

.security-blue-btn { transition: background 0.2s; }
.security-blue-btn:hover { background: #f8fafc !important; }

.security-passkey-btn { transition: transform 0.2s, box-shadow 0.2s; }
.security-passkey-btn:hover { transform: translateY(-1px) !important; box-shadow: 0 4px 8px rgba(6, 199, 85, 0.3) !important; }

.security-muted-btn { transition: transform 0.2s, background 0.2s, box-shadow 0.2s; }
.security-muted-btn:hover { transform: translateY(-1px) !important; background: #5a5a5f !important; box-shadow: 0 4px 8px rgba(90, 90, 95, 0.28) !important; }

/* AdminSecurityPage */
.admin-security-action-btn { transition: background 0.2s; }
.admin-security-action-btn:hover { background: #e7f3ff !important; }

/* ApiPermissionOption */
.api-permission-option { transition: border-color 0.2s, background 0.2s; }
.api-permission-option:hover { border-color: #007bff !important; background: #e7f3ff !important; }
