/* ══════════════════════════════════════════════
   Carehia Client Portal — Global Styles
   ══════════════════════════════════════════════ */

:root {
  --color-primary: #7C5CFF;
  --color-secondary: #4A90E2;
  --color-success: #22C55E;
  --color-warning: #F59E0B;
  --color-error: #EF4444;
  --color-bg: #F8FAFC;
  --color-card: #FFFFFF;
  --color-text-primary: #0F172A;
  --color-text-secondary: #475569;
  --color-border: #E2E8F0;
}

*, *::before, *::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html, body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: #F8FAFC;
  color: #0F172A;
  -webkit-font-smoothing: antialiased;
  overscroll-behavior-y: contain;
  height: 100%;
}

#root {
  height: 100%;
}

::-webkit-scrollbar {
  display: none;
}

scrollbar-width: none;

/* Prevent text size adjust on orientation change */
html {
  -webkit-text-size-adjust: 100%;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fade-in {
  animation: fadeIn 0.3s ease;
}

/* Input resets */
input, textarea, button, select {
  font-family: inherit;
  -webkit-appearance: none;
}

/* Safe-area padding for iOS */
.safe-bottom {
  padding-bottom: env(safe-area-inset-bottom, 16px);
}
