/* Lotus design tokens — the only place colours, type, spacing, radius and shadows are defined.
   Desktop (/lotus) and phone PWAs both load this file first. Other stylesheets only reference these variables.
   Ramps (--lotus-<family>-<step>) are fixed values and never change with the theme;
   semantic tokens (--lotus-primary, --lotus-text, ...) switch between light and .dark. */
:root{
  /* Brand: Đỏ Lotus #c43224 (= primary-600) */
  --lotus-primary-50:#fef3f1;--lotus-primary-100:#fde4df;--lotus-primary-200:#fbc9c0;--lotus-primary-300:#f5a293;--lotus-primary-400:#ec6e5c;
  --lotus-primary-500:#dc4836;--lotus-primary-600:#c43224;--lotus-primary-700:#a3291d;--lotus-primary-800:#7f2218;--lotus-primary-900:#561913;
  --lotus-neutral-0:#ffffff;--lotus-neutral-25:#fcfbfa;--lotus-neutral-50:#f7f7f8;--lotus-neutral-100:#f1f0ef;--lotus-neutral-200:#e8e5e1;
  --lotus-neutral-300:#d6d3cf;--lotus-neutral-400:#a7abb2;--lotus-neutral-500:#7b808a;--lotus-neutral-600:#656b76;--lotus-neutral-700:#4b5059;
  --lotus-neutral-800:#2c3036;--lotus-neutral-900:#20262f;--lotus-neutral-950:#171b22;
  --lotus-success-50:#effaf4;--lotus-success-100:#dcf3e6;--lotus-success-200:#b7e4ca;--lotus-success-300:#86cfa6;--lotus-success-400:#4fb07c;
  --lotus-success-500:#2a9862;--lotus-success-600:#21835b;--lotus-success-700:#1b6a49;--lotus-success-800:#165238;--lotus-success-900:#113b29;
  --lotus-warning-50:#fff8eb;--lotus-warning-100:#feefcc;--lotus-warning-200:#fbdc94;--lotus-warning-300:#f4c25a;--lotus-warning-400:#e3a233;
  --lotus-warning-500:#c98515;--lotus-warning-600:#a86b0d;--lotus-warning-700:#87550c;--lotus-warning-800:#66400c;--lotus-warning-900:#452c0a;
  --lotus-info-50:#f0f5fc;--lotus-info-100:#dfe9f8;--lotus-info-200:#bdd2f0;--lotus-info-300:#8fb2e3;--lotus-info-400:#5d8dd0;
  --lotus-info-500:#3a6fbb;--lotus-info-600:#2f5c9f;--lotus-info-700:#284b80;--lotus-info-800:#213b63;--lotus-info-900:#182a45;

  /* Semantic — light */
  --lotus-primary:var(--lotus-primary-600);--lotus-primary-hover:var(--lotus-primary-700);--lotus-primary-active:var(--lotus-primary-800);
  --lotus-primary-subtle:var(--lotus-primary-50);--lotus-primary-text:var(--lotus-primary-700);--lotus-on-primary:#fff;
  --lotus-page:var(--lotus-neutral-50);--lotus-surface:#fff;--lotus-sidebar:#fff;--lotus-soft:var(--lotus-neutral-25);--lotus-hover:var(--lotus-neutral-100);
  --lotus-text:var(--lotus-neutral-800);--lotus-muted:var(--lotus-neutral-600);--lotus-text-strong:var(--lotus-neutral-900);--lotus-text-secondary:var(--lotus-neutral-700);--lotus-subtle:var(--lotus-neutral-500);--lotus-border:var(--lotus-neutral-200);--lotus-border-strong:var(--lotus-neutral-300);
  --lotus-accent:var(--lotus-primary);--lotus-accent-soft:var(--lotus-primary-subtle);
  --lotus-table-header:var(--lotus-neutral-25);--lotus-table-heading:var(--lotus-neutral-600);
  --lotus-success:var(--lotus-success-600);--lotus-success-soft:var(--lotus-success-50);
  --lotus-warning:var(--lotus-warning-600);--lotus-warning-soft:var(--lotus-warning-50);
  --lotus-danger:#b42318;--lotus-danger-soft:#fef1ef;
  --lotus-info:var(--lotus-info-600);--lotus-info-soft:var(--lotus-info-50);
  /* Chart series in fixed order (validated: dataviz validate_palette, light surface). Charts use at most 3 series;
     slot 4 only with legend + table view (contrast 2.99:1). */
  --lotus-chart-1:var(--lotus-primary-600);--lotus-chart-2:var(--lotus-info-600);--lotus-chart-3:var(--lotus-success-600);--lotus-chart-4:var(--lotus-warning-500);
  /* Distinct geographic categories, fixed across farms, zoom levels and themes. */
  --lotus-map-zone-a:#f46963;--lotus-map-zone-b:#43d99a;--lotus-map-zone-c:#ffd166;
  --lotus-map-zone-d:#65baff;--lotus-map-zone-e:#c89cff;--lotus-map-zone-f:#ff9d57;
  --lotus-focus:0 0 0 3px color-mix(in srgb,var(--lotus-primary) 28%,transparent);

  /* Type */
  --lotus-font:InterVar,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --lotus-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --lotus-text-xs:11px;--lotus-text-sm:12px;--lotus-text-md:13px;--lotus-text-base:14px;--lotus-text-lg:16px;--lotus-text-xl:20px;--lotus-text-2xl:24px;

  /* Space, radius, elevation, size */
  --lotus-space-1:4px;--lotus-space-2:8px;--lotus-space-3:12px;--lotus-space-4:16px;--lotus-space-6:24px;--lotus-space-8:32px;--lotus-space:12px;
  --lotus-radius-sm:6px;--lotus-radius-md:8px;--lotus-radius:10px;--lotus-radius-lg:12px;--lotus-radius-xl:16px;
  --lotus-shadow-sm:0 1px 2px rgb(23 27 34/.06);--lotus-shadow-md:0 4px 12px rgb(23 27 34/.08);--lotus-shadow-lg:0 16px 40px rgb(23 27 34/.16);
  --lotus-control-height:36px;--lotus-control:36px;--lotus-row:36px;--lotus-touch:44px;
  --lotus-motion:160ms;--lotus-ease:cubic-bezier(.2,.7,.2,1);
  --lotus-backdrop:color-mix(in srgb,var(--lotus-neutral-950) 45%,transparent);

  /* shadcn-vue (HSL channels) mapped to the same palette */
  --background:0 0% 100%;--foreground:216 10% 19%;--card:0 0% 100%;--card-foreground:216 10% 19%;--popover:0 0% 100%;--popover-foreground:216 10% 19%;
  --primary:5 69% 45%;--primary-foreground:0 0% 100%;--secondary:30 14% 95%;--secondary-foreground:216 10% 19%;
  --muted:30 14% 95%;--muted-foreground:219 8% 43%;--accent:9 81% 96%;--accent-foreground:5 70% 38%;
  --destructive:4 77% 40%;--destructive-foreground:0 0% 100%;--border:34 13% 90%;--input:34 9% 83%;--ring:5 69% 45%;--radius:.625rem;
}
:root.dark{
  --lotus-primary:#ff8f80;--lotus-primary-hover:#ffa699;--lotus-primary-active:#ffbcb2;--lotus-primary-subtle:#3d2523;--lotus-primary-text:#ffa699;--lotus-on-primary:#1b1f26;
  --lotus-page:var(--lotus-neutral-950);--lotus-surface:var(--lotus-neutral-900);--lotus-sidebar:#1c222b;--lotus-soft:#262c35;--lotus-hover:#2c333d;
  --lotus-text:#eceef2;--lotus-muted:#b0b6c0;--lotus-text-strong:#f5f6f8;--lotus-text-secondary:#c7cbd3;--lotus-subtle:#8f97a3;--lotus-border:#3b414b;--lotus-border-strong:#4b525d;
  --lotus-table-header:#292e36;--lotus-table-heading:#c7cbd3;
  --lotus-success:#6fd19e;--lotus-success-soft:#173527;--lotus-warning:#f4c25a;--lotus-warning-soft:#3a2d12;
  --lotus-danger:#ff9b8f;--lotus-danger-soft:#3f2121;--lotus-info:#8fb2e3;--lotus-info-soft:#1c2a3d;
  /* Dark chart steps chosen separately and validated against the dark surface, not flipped from light. */
  --lotus-chart-1:var(--lotus-primary-500);--lotus-chart-2:var(--lotus-info-400);--lotus-chart-3:var(--lotus-success-500);--lotus-chart-4:var(--lotus-warning-600);
  --lotus-shadow-sm:0 1px 2px rgb(0 0 0/.3);--lotus-shadow-md:0 4px 12px rgb(0 0 0/.35);--lotus-shadow-lg:0 16px 40px rgb(0 0 0/.5);
  --background:216 19% 15%;--foreground:220 19% 94%;--card:216 19% 15%;--card-foreground:220 19% 94%;--popover:216 19% 15%;--popover-foreground:220 19% 94%;
  --primary:7 100% 75%;--primary-foreground:216 19% 13%;--secondary:216 13% 21%;--secondary-foreground:220 19% 94%;
  --muted:216 13% 21%;--muted-foreground:218 11% 72%;--accent:4 25% 19%;--accent-foreground:7 100% 80%;
  --destructive:6 100% 78%;--destructive-foreground:216 19% 13%;--border:218 12% 26%;--input:218 12% 30%;--ring:7 100% 75%;
}
@media (prefers-reduced-motion:reduce){:root{--lotus-motion:0ms}}
