:root {
  /* Premium feminine cream palette */
  --background: oklch(0.98 0.005 75);
  --foreground: oklch(0.18 0.02 30);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.18 0.02 30);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.18 0.02 30);
  /* Soft rose gold primary */
  --primary: oklch(0.55 0.12 15);
  --primary-foreground: oklch(0.99 0.005 75);
  /* Warm neutral secondary */
  --secondary: oklch(0.95 0.008 75);
  --secondary-foreground: oklch(0.25 0.02 30);
  --muted: oklch(0.94 0.01 75);
  --muted-foreground: oklch(0.5 0.02 30);
  /* Soft blush accent */
  --accent: oklch(0.92 0.03 15);
  --accent-foreground: oklch(0.25 0.02 30);
  --destructive: oklch(0.55 0.2 25);
  --destructive-foreground: oklch(0.98 0 0);
  --border: oklch(0.9 0.01 75);
  --input: oklch(0.92 0.008 75);
  --ring: oklch(0.55 0.12 15);
  /* Success state */
  --success: oklch(0.65 0.15 145);
  --success-foreground: oklch(0.98 0 0);
  --chart-1: oklch(0.55 0.12 15);
  --chart-2: oklch(0.65 0.08 145);
  --chart-3: oklch(0.6 0.1 250);
  --chart-4: oklch(0.7 0.12 75);
  --chart-5: oklch(0.5 0.1 30);
  --radius: 1rem;
  --sidebar: oklch(0.97 0.005 75);
  --sidebar-foreground: oklch(0.18 0.02 30);
  --sidebar-primary: oklch(0.55 0.12 15);
  --sidebar-primary-foreground: oklch(0.99 0.005 75);
  --sidebar-accent: oklch(0.94 0.02 15);
  --sidebar-accent-foreground: oklch(0.25 0.02 30);
  --sidebar-border: oklch(0.9 0.01 75);
  --sidebar-ring: oklch(0.55 0.12 15);
}

.dark {
  /* Rich cinematic dark mode */
  --background: oklch(0.14 0.015 30);
  --foreground: oklch(0.95 0.008 75);
  --card: oklch(0.18 0.015 30);
  --card-foreground: oklch(0.95 0.008 75);
  --popover: oklch(0.18 0.015 30);
  --popover-foreground: oklch(0.95 0.008 75);
  /* Soft rose gold primary in dark */
  --primary: oklch(0.7 0.12 15);
  --primary-foreground: oklch(0.12 0.015 30);
  /* Dark neutral secondary */
  --secondary: oklch(0.24 0.015 30);
  --secondary-foreground: oklch(0.92 0.008 75);
  --muted: oklch(0.22 0.015 30);
  --muted-foreground: oklch(0.65 0.02 75);
  /* Soft blush accent in dark */
  --accent: oklch(0.28 0.04 15);
  --accent-foreground: oklch(0.92 0.008 75);
  --destructive: oklch(0.5 0.18 25);
  --destructive-foreground: oklch(0.95 0 0);
  --border: oklch(0.28 0.015 30);
  --input: oklch(0.24 0.015 30);
  --ring: oklch(0.7 0.12 15);
  /* Success state dark */
  --success: oklch(0.6 0.15 145);
  --success-foreground: oklch(0.12 0 0);
  --chart-1: oklch(0.7 0.12 15);
  --chart-2: oklch(0.6 0.1 145);
  --chart-3: oklch(0.55 0.12 250);
  --chart-4: oklch(0.65 0.1 75);
  --chart-5: oklch(0.55 0.12 30);
  --sidebar: oklch(0.16 0.015 30);
  --sidebar-foreground: oklch(0.95 0.008 75);
  --sidebar-primary: oklch(0.7 0.12 15);
  --sidebar-primary-foreground: oklch(0.12 0.015 30);
  --sidebar-accent: oklch(0.28 0.04 15);
  --sidebar-accent-foreground: oklch(0.92 0.008 75);
  --sidebar-border: oklch(0.28 0.015 30);
  --sidebar-ring: oklch(0.7 0.12 15);
}

html,
body {
  margin: 0;
  padding: 0;
}

.pt-safe {
  padding-top: env(safe-area-inset-top, 0);
}

.pb-safe {
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.bottom-nav {
  padding: 0;
}

.nav-btn {
  border: 0;
  background: transparent;
  color: var(--muted-foreground, #7f7268);
  cursor: pointer;
}

.nav-btn.active {
  color: var(--primary, #c97b84);
}

.nav-btn.active .nav-icon {
  background: rgba(201, 123, 132, 0.15);
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
