/* Qvilio design system v2 — shared tokens (approved 20.10.2026). Identical in every Qvilio repo.
   Dark is the default; light = <html data-theme="light">. Theme is chosen in the top bar and kept in
   localStorage "qvilio-theme" (applied before first paint by /theme-boot.js). */
:root, :root[data-theme="dark"] {
  --q-bg: #07090c;
  --q-glow-1: rgba(0,140,209,.55);   /* top-right blue aurora */
  --q-glow-2: rgba(79,70,199,.35);   /* top-left indigo aurora */
  --q-pattern: rgba(255,255,255,.05);/* circle pattern, top 460px only, masked */
  --q-panel: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.02));
  --q-panel-2: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  --q-panel-solid: #12171d;          /* for dropdowns/modals/tables needing opaque bg */
  --q-panel-shadow: inset 0 1px 0 rgba(255,255,255,.1), inset 0 0 0 1px rgba(255,255,255,.07), 0 40px 80px -40px rgba(0,0,0,.9);
  --q-line: rgba(255,255,255,.08);
  --q-chip-line: rgba(255,255,255,.2);
  --q-inset: rgba(255,255,255,.05);  /* inner tiles, inputs */
  --q-ink: #ffffff; --q-ink-2: #eef2f5; --q-ink-soft: #b7c0ca; --q-ink-faint: #8a94a0;
  --q-accent: #3badea; --q-accent-strong: #008cd1; --q-accent-text: #3badea; --q-accent-light: #7fd3ff;
  --q-indigo: #8b85ff; --q-indigo-deep: #6d5cff;
  --q-amber: #ffc069; --q-amber-text: #ffd59a; --q-amber-deep: #f3a33b;
  --q-green: #2fcf78; --q-green-text: #5fe09a;
  --q-red: #ef6b6b;
  --q-btn-primary-bg: #ffffff; --q-btn-primary-ink: #07090c;   /* white pill */
  --q-hero-grad: linear-gradient(135deg, #5cc3f5, #2a8fe0 55%, #5a4fe0); --q-hero-ink: #07090c; /* "do this today" card */
  --q-num-grad: linear-gradient(180deg, #ffffff, #a6dcf7); /* giant numbers, background-clip:text */
  --q-nav-on-bg: rgba(59,173,234,.34); --q-nav-on-ring: inset 0 0 0 1px rgba(127,211,255,.65), 0 0 22px -2px rgba(59,173,234,.75); --q-nav-on-ink: #ffffff; --q-nav-bar: #3badea;
}
:root[data-theme="light"] {
  --q-bg: #f3f6f9;
  --q-glow-1: rgba(0,140,209,.16); --q-glow-2: rgba(79,70,199,.08);
  --q-pattern: rgba(14,18,22,.05);
  --q-panel: #ffffff; --q-panel-2: #ffffff; --q-panel-solid: #ffffff;
  --q-panel-shadow: inset 0 0 0 1px #e4e9ee, 0 24px 60px -34px rgba(14,18,22,.28);
  --q-line: rgba(14,18,22,.08); --q-chip-line: rgba(14,18,22,.18); --q-inset: rgba(14,18,22,.04);
  --q-ink: #0E1216; --q-ink-2: #1f2a37; --q-ink-soft: #3b4450; --q-ink-faint: #5f6874;
  --q-accent: #3badea; --q-accent-strong: #008cd1; --q-accent-text: #00618f; --q-accent-light: #008cd1;
  --q-amber-text: #8a4f00; --q-green-text: #087a3f; --q-red-text: #b42318;
  --q-btn-primary-bg: #0E1216; --q-btn-primary-ink: #ffffff;
  --q-num-grad: linear-gradient(180deg, #0E1216, #00618f);
  --q-nav-on-bg: rgba(0,140,209,.14); --q-nav-on-ring: inset 0 0 0 1px rgba(0,140,209,.4), 0 6px 18px -8px rgba(0,140,209,.65); --q-nav-on-ink: #00618f; --q-nav-bar: #008cd1;
}
