/* Base styles — Tailwind CDN handles most, these are extras */
* { box-sizing: border-box; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  margin: 0;
  min-height: 100dvh;
}

/* Hide pages by default, show via router */
[x-cloak] { display: none !important; }

/* Pull-to-refresh feel */
.page-enter { animation: fadeIn 0.15s ease-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Session card */
.session-card {
  transition: background-color 0.15s;
}
.session-card:active {
  background-color: rgba(37, 99, 235, 0.1);
}

/* Pulse for pending items */
.pulse-dot {
  width: 8px; height: 8px; border-radius: 50%;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

/* Bottom nav */
.nav-item.active {
  color: #2563eb;
}
.nav-item {
  color: #94a3b8;
}

/* Safe area for bottom nav on iOS */
.safe-bottom {
  padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
}
