/* ovo cream theme. Semantic tokens preserve the application's component states. */
:root:has(#root), :root:has(#root) [data-theme-preset] {
  --background: #fffaf3; --foreground: #654e48;
  --card: #fffdf9; --card-foreground: #654e48;
  --popover: #fffdf9; --popover-foreground: #654e48;
  --primary: #f4cdd9; --primary-foreground: #704254;
  --secondary: #fff0c6; --secondary-foreground: #78613d;
  --muted: #f7f0e7; --muted-foreground: #89746b;
  --accent: #fce6ec; --accent-foreground: #805063;
  --border: #eddfd5; --input: #e5d5cd; --ring: #c9859b;
  --sidebar: #fff6e9; --sidebar-foreground: #71594e;
  --sidebar-primary: #f4cdd9; --sidebar-primary-foreground: #704254;
  --sidebar-accent: #fae4e9; --sidebar-accent-foreground: #805063;
  --sidebar-border: #efdfd0; --sidebar-ring: #c9859b;
  --chart-1: #c8829a; --chart-2: #c3a05e; --chart-3: #92a478;
  --chart-4: #b0a1c6; --chart-5: #88adb3;
  --skeleton-base: #f1e9df; --skeleton-highlight: #fff9ef; --radius: .9rem;
}
/* A warm rose palette also supports the existing dark mode switch. */
:root.dark:has(#root), :root.dark:has(#root) [data-theme-preset] {
  --background: #282124; --foreground: #f3e5de;
  --card: #30282b; --card-foreground: #f3e5de;
  --popover: #352b2f; --popover-foreground: #f3e5de;
  --primary: #e9b5c7; --primary-foreground: #472c37;
  --secondary: #4a4030; --secondary-foreground: #f8e4b5;
  --muted: #3b3134; --muted-foreground: #c0aca8;
  --accent: #4d3640; --accent-foreground: #f8dce7;
  --border: #514146; --input: #5a474e; --ring: #e1a0b8;
  --sidebar: #2e2527; --sidebar-foreground: #f1dfd6;
  --sidebar-primary: #e9b5c7; --sidebar-primary-foreground: #472c37;
  --sidebar-accent: #49333d; --sidebar-accent-foreground: #f8dce7;
  --sidebar-border: #514146; --sidebar-ring: #e1a0b8;
  --skeleton-base: #3b3134; --skeleton-highlight: #514146;
}
html { accent-color: #c9859b; }
body { background-color: var(--background); }
[data-slot="card"] { box-shadow: 0 6px 24px #84554206; }
::selection { background: #f1c7d5; color: #654e48; }
#root .text-primary { color: #a65471; }
.dark #root .text-primary { color: #e9b5c7; }
.ovo-auth-card { position: relative; padding: 34px 30px; border: 1px solid var(--border); border-radius: 26px; background: var(--card); box-shadow: 0 12px 50px #b7817410; }
.ovo-auth-card:before { content: ''; display: block; width: 57px; height: 57px; background: url('/ovo-assets/ovo-logo.svg') center / contain no-repeat; margin: 0 auto 23px; transform: rotate(-7deg); }
.ovo-auth-card:after { content: '✿'; position: absolute; right: 25px; top: 22px; font-size: 29px; color: #d7bc80; transform: rotate(15deg); pointer-events: none; }
.ovo-auth-card input { min-height: 40px; background: var(--background); }
.ovo-auth-card button[type='submit'] { min-height: 41px; }
@media(max-width:480px) { .ovo-auth-card { padding: 26px 21px; } }
