:root {
  --background: 42 45% 94%;
  --foreground: 342 31% 16%;
  --primary: 346 58% 29%;
  --primary-foreground: 42 54% 96%;
  --secondary: 37 42% 56%;
  --secondary-foreground: 342 31% 16%;
  --muted: 38 32% 87%;
  --muted-foreground: 342 12% 42%;
  --destructive: 2 65% 44%;
  --destructive-foreground: 42 54% 96%;
  --border: 36 24% 78%;
  --card: 42 50% 98%;
  --shadow-sm: 0 6px 18px hsl(346 58% 16% / 0.08);
  --shadow-md: 0 18px 45px hsl(346 58% 16% / 0.13);
  --shadow-lg: 0 28px 75px hsl(346 58% 16% / 0.18);
  --transition-fast: 160ms ease;
  --transition-smooth: 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
  --radius-sm: 0.75rem;
  --radius-md: 1.15rem;
  --radius-lg: 1.65rem;
}
.dark {
  --background: 342 28% 9%;
  --foreground: 42 45% 94%;
  --primary: 37 48% 62%;
  --primary-foreground: 342 30% 12%;
  --secondary: 346 50% 35%;
  --secondary-foreground: 42 45% 94%;
  --muted: 342 18% 18%;
  --muted-foreground: 40 20% 74%;
  --destructive: 2 62% 52%;
  --destructive-foreground: 42 54% 96%;
  --border: 342 16% 26%;
  --card: 342 26% 13%;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: radial-gradient(circle at top left, hsl(var(--secondary) / 0.2), transparent 32rem), hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
input, textarea, select { font-size: max(16px, 1rem); }
.bg-1 { background: hsl(var(--background)); }
.bg-2 { background: hsl(var(--card)); }
.bg-3 { background: hsl(var(--muted)); }
.bg-4 { background: hsl(var(--primary)); }
.text-primary { color: hsl(var(--foreground)); }
.text-secondary { color: hsl(var(--muted-foreground)); }
.text-tertiary { color: hsl(var(--secondary)); }
.accent { color: hsl(var(--primary)); }
.concierge-card {
  background: linear-gradient(145deg, hsl(var(--card) / 0.98), hsl(var(--card) / 0.82));
  border: 1px solid hsl(var(--border));
  box-shadow: var(--shadow-sm);
  border-radius: var(--radius-lg);
  transition: transform var(--transition-smooth), box-shadow var(--transition-smooth), border-color var(--transition-smooth);
}
.concierge-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: hsl(var(--secondary) / 0.5); }
.brass-line { background: linear-gradient(90deg, transparent, hsl(var(--secondary)), transparent); height: 1px; }
.bottom-safe { padding-bottom: calc(0.75rem + env(safe-area-inset-bottom)); }
.top-safe { padding-top: env(safe-area-inset-top); }
