/* [project]/app/globals.css [app-client] (css) */
@layer base {
  :root {
    --background: #f8f8f8;
    --background-alt: #fff;
    --card: #fff;
    --card-elevated: #f0f0f0;
    --card-hover: #e8e8e8;
    --popover: #fff;
    --muted: #f0f0f0;
    --secondary: #e8e8e8;
    --accent: #f0f0f0;
    --foreground: #1a1a1a;
    --card-foreground: #1a1a1a;
    --muted-foreground: #999;
    --secondary-foreground: #666;
    --accent-foreground: #1a1a1a;
    --popover-foreground: #1a1a1a;
    --primary-foreground: #fff;
    --on-primary: #fff;
    --on-primary-alt: #1a1a1a;
    --border: #e0e0e0;
    --border-light: #eee;
    --input: #e0e0e0;
    --ring: #7cb342;
    --glass: #00000005;
    --glass-border: #0000000f;
    --primary: #7cb342;
    --destructive: #e53935;
    --destructive-foreground: #fff;
    --destructive-dim: #e5393514;
    --success: #43a047;
    --success-dim: #43a04714;
    --warning: #ffb300;
    --warning-dim: #ffb30014;
    --info: #00897b;
    --info-dim: #00897b14;
    --accent-lime: #7cb342;
    --accent-lime-dim: #7cb3421a;
    --accent-lime-dark: #7cb3420d;
    --accent-orange: #f57c00;
    --accent-orange-dim: #f57c0014;
    --accent-orange-dark: #f57c000a;
    --accent-teal: #00897b;
    --accent-teal-dim: #00897b14;
    --accent-teal-dark: #00897b0a;
    --macro-cal: #e8a44c;
    --macro-protein: #5bb5e0;
    --macro-carbs: #b07ce8;
    --macro-fat: #6ecf8e;
    --macro-protein-alt: #4caf7d;
    --macro-fat-alt: #5ba8d4;
    --chart-1: #e8a44c;
    --chart-2: #5bb5e0;
    --chart-3: #b07ce8;
    --chart-4: #6ecf8e;
    --chart-5: #f57c00;
    --vendor-instacart: #43b02a;
    --ai-purple: #9b8cff;
    --ai-purple-dim: #9b8cff1a;
    --nav-bg: #fff;
    --nav-border: #e0e0e0;
    --shadow-sm: 0 1px 4px #0000000a;
    --shadow-md: 0 2px 12px #0000000f;
    --shadow-lg: 0 8px 32px #0000001a;
    --shadow-xl: 0 12px 80px #0000001f;
    --img-overlay: linear-gradient(135deg, #c8e6b4f2, #f8f8f8fa);
    --img-overlay-2: linear-gradient(135deg, #b4dcdcf2, #f8f8f8fa);
    --img-overlay-3: linear-gradient(135deg, #e6c8aaf2, #f8f8f8fa);
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-2xl: 24px;
    --radius-full: 9999px;
    --duration-100: .1s;
    --duration-150: .15s;
    --duration-200: .2s;
    --duration-300: .3s;
    --duration-500: .5s;
    --ease-out: cubic-bezier(.2, 0, 0, 1);
    --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
    --text-xs: .75rem;
    --text-sm: .875rem;
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-xl: 1.25rem;
    --text-2xl: 1.5rem;
    --text-3xl: 1.875rem;
    --text-4xl: 2.25rem;
    --text-5xl: 3rem;
    --touch-target: 44px;
  }

  .dark {
    --background: #0d0d0d;
    --background-alt: #111;
    --card: #1a1a1a;
    --card-elevated: #242424;
    --card-hover: #2a2a2a;
    --popover: #1a1a1a;
    --muted: #242424;
    --secondary: #2a2a2a;
    --accent: #242424;
    --foreground: #fff;
    --card-foreground: #fff;
    --muted-foreground: #616161;
    --secondary-foreground: #9e9e9e;
    --accent-foreground: #fff;
    --popover-foreground: #fff;
    --primary-foreground: #0d0d0d;
    --on-primary: #0d0d0d;
    --on-primary-alt: #fff;
    --border: #2a2a2a;
    --border-light: #333;
    --input: #2a2a2a;
    --ring: #cf0;
    --glass: #ffffff0a;
    --glass-border: #ffffff14;
    --primary: #cf0;
    --destructive: #f44336;
    --destructive-foreground: #fff;
    --destructive-dim: #f443361a;
    --success: #4caf50;
    --success-dim: #4caf501a;
    --warning: #ffb300;
    --warning-dim: #ffb3001a;
    --info: #00bcd4;
    --info-dim: #00bcd41a;
    --accent-lime: #cf0;
    --accent-lime-dim: #ccff001a;
    --accent-lime-dark: #ccff000d;
    --accent-orange: #ff9800;
    --accent-orange-dim: #ff98001a;
    --accent-orange-dark: #ff98000d;
    --accent-teal: #00bcd4;
    --accent-teal-dim: #00bcd41a;
    --accent-teal-dark: #00bcd40d;
    --macro-cal: #e8a44c;
    --macro-protein: #5bb5e0;
    --macro-carbs: #b07ce8;
    --macro-fat: #6ecf8e;
    --macro-protein-alt: #4caf7d;
    --macro-fat-alt: #5ba8d4;
    --vendor-instacart: #43b02a;
    --ai-purple: #9b8cff;
    --ai-purple-dim: #9b8cff1a;
    --nav-bg: #0d0d0d;
    --nav-border: #1a1a1a;
    --shadow-sm: 0 1px 4px #0003;
    --shadow-md: 0 2px 12px #0000004d;
    --shadow-lg: 0 8px 32px #00000080;
    --shadow-xl: 0 12px 80px #00000080;
    --img-overlay: linear-gradient(135deg, #1a2a0ae6, #0d0d0df2);
    --img-overlay-2: linear-gradient(135deg, #0d1a1ae6, #0d0d0df2);
    --img-overlay-3: linear-gradient(135deg, #2a1a0ae6, #0d0d0df2);
  }

  * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  body {
    background: var(--background);
    color: var(--foreground);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: Outfit, Segoe UI, system-ui, sans-serif;
  }

  :focus-visible {
    outline: 2px solid var(--ring);
    outline-offset: 2px;
    border-radius: var(--radius-sm);
  }

  :focus:not(:focus-visible) {
    outline: none;
  }
}

@layer utilities {
  .touch-target {
    min-height: var(--touch-target);
    min-width: var(--touch-target);
  }

  .scrollbar-hide {
    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .scrollbar-hide::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }

  .safe-area-top {
    padding-top: env(safe-area-inset-top, 12px);
  }

  .safe-area-bottom {
    padding-bottom: env(safe-area-inset-bottom, 10px);
  }

  .text-balance {
    text-wrap: balance;
  }
}

@keyframes pulse {
  0% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: .5;
    transform: scale(1.05);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(.92);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes glowPulse {
  0%, 100% {
    box-shadow: 0 0 8px #b3ff0026;
  }

  50% {
    box-shadow: 0 0 20px #b3ff0059;
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }

  100% {
    background-position: 200% 0;
  }
}

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

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  cursor: pointer;
  background: #a8e06c;
  border: 3px solid #0a0a0a;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  margin-top: -8px;
  box-shadow: 0 0 10px #a8e06c4d;
}

input[type="range"]::-moz-range-thumb {
  cursor: pointer;
  background: #a8e06c;
  border: 3px solid #0a0a0a;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  box-shadow: 0 0 10px #a8e06c4d;
}

@media (prefers-reduced-motion: reduce) {
  *, :before, :after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/*# sourceMappingURL=app_globals_71f961d1.css.map*/