/* ═══════════════════════════════════════════════════════════════════════════
   «B+ — کارت بانکی» design tokens (both panels)
   The spec is ui_shared/design_bplus/*.dc.html (owner-approved mockups); the guide is
   ui_shared/BPLUS_GUIDE.md. Light is the base; dark («شب»، the old navy palette with glows)
   applies with the system setting unless the viewer picked a theme (html[data-theme]).
   Telegram Mini App overlays its own ground/surface/text colours at runtime (js/tg.js).
   Reseller branding overrides only the --accent* group (ui_shared/brand.py).
   Never use raw hex in templates or component CSS: pick a token by role.
   ═══════════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: "Vazirmatn";
  /* vazirmatn@33.0.3 (OFL-1.1), variable wght 100–900, subset to Persian + Latin. VENDOR.md */
  src: url("../fonts/Vazirmatn-wght.woff2") format("woff2-variations"),
       url("../fonts/Vazirmatn-wght.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Space Grotesk";
  /* Space Grotesk (OFL-1.1), variable wght 300–700, Latin only: figures (money, counts, stats) */
  src: url("../fonts/SpaceGrotesk-wght-latin.woff2") format("woff2-variations"),
       url("../fonts/SpaceGrotesk-wght-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2212, U+2215;
}
@font-face {
  font-family: "Fira Code";
  /* Fira Code (OFL-1.1), variable wght 300–700, Latin only: eyebrows, codes, bot usernames */
  src: url("../fonts/FiraCode-wght-latin.woff2") format("woff2-variations"),
       url("../fonts/FiraCode-wght-latin.woff2") format("woff2");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2212, U+2215;
}

:root {
  color-scheme: light;

  /* type families: text · figures · eyebrows/codes */
  --font: "Vazirmatn", Tahoma, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-num: "Space Grotesk", "Vazirmatn", Tahoma, system-ui, sans-serif;
  --font-mono: "Fira Code", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* surfaces (ground → surface; inset = wells inside cards; surface-2/3 = tracks, hover) */
  --ground: #F4F5F7;
  --ground-wash: linear-gradient(180deg, #DCE7FF 0, #EEF3FF 220px, rgb(244 245 247 / 0) 460px);
  --ground-wash-admin: linear-gradient(180deg, #E6EDFF 0, rgb(244 245 247 / 0) 420px);
  --surface: #FFFFFF;
  --surface-2: #F2F4F7;
  --surface-3: #EAECF0;
  --inset: #F9FAFB;
  --elevated: #FFFFFF;          /* menus, dialogs, sheets */
  --sidebar: #FFFFFF;           /* reseller (light) sidebar; the admin sidebar is navy (--nav-*) */

  /* lines */
  --border: #EAECF0;            /* hairlines: list rules, table rules, dark-mode cards */
  --border-strong: #E4E7EC;     /* chips, secondary buttons */
  --border-control: #C3CAD5;    /* inputs (filled + 1.5px; focus ring 2px accent) */
  --border-dashed: #D0D5DD;

  /* text */
  --text: #101828;
  --text-2: #475467;
  --text-3: #344054;            /* icons on round buttons, secondary button ink */
  --muted: #667085;
  --faint: #98A2B3;             /* decorative only (inactive dock labels, separators) */

  /* accent (brand blue) + the bank-card ramp around it */
  --accent: #2563EB;
  --accent-hover: #1D4ED8;
  --accent-text: #2563EB;       /* links, focus ring, selected */
  --accent-strong: #1D4ED8;     /* text on accent tints */
  --accent-2: #3B82F6;          /* light end of gradients */
  --accent-deep: #1E3A8A;
  --accent-night: #172554;
  --on-accent: #FFFFFF;
  --accent-tint: #EFF4FF;
  --accent-tint-2: #DBEAFE;
  --accent-ring: rgb(37 99 235 / .12);
  --grad-accent: linear-gradient(145deg, var(--accent-2), var(--accent));
  --grad-hero: linear-gradient(140deg, var(--accent-night) 0%, var(--accent-deep) 30%, var(--accent) 70%, var(--accent-2) 100%);
  --grad-hero-wide: linear-gradient(135deg, var(--accent-night) 0%, var(--accent-deep) 28%, var(--accent) 68%, var(--accent-2) 100%);
  --hero-stack-1: linear-gradient(140deg, #93C5FD, #60A5FA);
  --hero-stack-2: linear-gradient(140deg, #3B82F6, #1D4ED8);
  --hero-border: transparent;
  --hero-shadow: 0 22px 44px rgb(30 58 138 / .38);
  --hero-glow: none;

  /* status pairs: strong text + tint background (pills, rows, callouts) and a solid swatch */
  --success: #15803D;  --success-tint: #DCFCE7;  --success-soft: #F0FDF4;  --success-solid: #22C55E;
  --warning: #B54708;  --warning-tint: #FEF0C7;  --warning-soft: #FFFAEB;  --warning-solid: #F59E0B;
  --danger:  #B42318;  --danger-tint:  #FEE4E2;  --danger-soft:  #FEF3F2;  --danger-solid:  #D92D20;
  --info:    #1D4ED8;  --info-tint:    #DBEAFE;  --info-soft:    #EFF4FF;  --info-solid:    #2563EB;
  /* decorative tones (icon tiles, platform tiles, chart accents) — never alone for status */
  --orange: #C2410C;   --orange-tint: #FFEDD5;   --orange-soft: #FFF7ED;   --orange-solid: #F97316;  --orange-line: #FED7AA;
  --purple: #6D28D9;   --purple-tint: #EDE9FE;   --purple-soft: #F5F3FF;   --purple-solid: #7C3AED;
  --sky:    #0369A1;   --sky-tint:    #E0F2FE;   --sky-soft:    #F0F9FF;   --sky-solid:    #0EA5E9;
  --pink:   #BE185D;   --pink-tint:   #FCE7F3;   --pink-soft:   #FDF2F8;   --pink-solid:   #DB2777;
  --red:    #B91C1C;   --red-tint:    #FEE2E2;   --red-soft:    #FEF2F2;   --red-solid:    #DC2626;
  --green:  #15803D;   --green-tint:  #DCFCE7;   --green-soft:  #F0FDF4;   --green-solid:  #16A34A;
  --amber:  #B45309;   --amber-tint:  #FEF3C7;   --amber-soft:  #FFFBEB;   --amber-solid:  #F59E0B;
  --bronze: #9A5B2A;   --bronze-tint: #F5EBE0;   --bronze-soft: #FBF5EF;   --bronze-solid: #C47F45;
  --ink-tile: #101828; --ink-tile-tint: #F2F4F7;
  --danger-solid-text: #FFFFFF;

  /* tier medallions (radial «coin» gradients) */
  --medal-bronze: radial-gradient(circle at 35% 30%, #F3C9A2, #C47F45 62%, #9A5B2A);
  --medal-silver: radial-gradient(circle at 35% 30%, #F8FAFC, #A8B3C4 62%, #6B7789);
  --medal-gold:   radial-gradient(circle at 35% 30%, #FEF3C7, #F2B632 60%, #B7791F);
  --medal-ink-bronze: #3B2413; --medal-ink-silver: #1F2937; --medal-ink-gold: #5B3A06;
  --progress-gold: linear-gradient(90deg, #FDE68A, #F3C9A2);
  --emv: linear-gradient(135deg, #F8E3A6, #C9A23F);

  /* dark navy pieces (admin sidebar, bot card, floating dock) */
  --nav-bg: linear-gradient(180deg, #0F172A, #111C34);
  --nav-text: #CBD5E1;
  --nav-muted: #94A3B8;
  --nav-hover: rgb(255 255 255 / .06);
  --nav-card: rgb(255 255 255 / .06);
  --nav-line: rgb(255 255 255 / .08);
  --dock-bg: rgb(15 23 42 / .96);
  --dock-border: transparent;
  --dock-text: #98A2B3;
  --dock-shadow: 0 16px 34px rgb(15 23 42 / .35);
  --botcard-bg: linear-gradient(135deg, #0F172A, #1E293B);
  --botcard-border: transparent;
  --botcard-shadow: 0 10px 24px rgb(15 23 42 / .25);

  /* charts: categorical slots, assigned in order; status colours are never series colours */
  --chart-1: #2563EB;
  --chart-2: #F97316;
  --chart-3: #16A34A;
  --chart-4: #7C3AED;
  --chart-5: #DB2777;
  --chart-prev: #98A2B3;
  --chart-grid: #F2F4F7;
  --chart-axis: #EAECF0;
  --bar-soft: #DBEAFE;
  --bar-grad: linear-gradient(180deg, #3B82F6, #1D4ED8);

  /* elevation: soft layered shadows on white cards (light); hairlines in dark */
  --shadow-card: 0 4px 18px rgb(16 24 40 / .06);
  --shadow-card-lg: 0 6px 24px rgb(16 24 40 / .07);
  --shadow-btn: 0 4px 12px rgb(16 24 40 / .08);
  --shadow-soft: 0 2px 6px rgb(16 24 40 / .08);
  --shadow-accent: 0 12px 24px rgb(37 99 235 / .32);
  --shadow-accent-lg: 0 12px 24px rgb(37 99 235 / .5);
  --shadow-pop: 0 2px 6px rgb(16 24 40 / .06), 0 18px 40px -8px rgb(16 24 40 / .18);
  --shadow-sheet: 0 2px 6px rgb(16 24 40 / .06), 0 30px 60px -12px rgb(16 24 40 / .28);
  --card-border: transparent;
  --scrim: rgb(15 23 42 / .45);

  /* radii — child radius never exceeds its parent */
  --r-xs: 8px;
  --r-control: 14px;            /* inputs, buttons */
  --r-chip: 13px;               /* quick-amount chips, small action buttons */
  --r-tile: 20px;               /* quick-action tiles, product cards */
  --r-card: 24px;               /* section cards */
  --r-card-sm: 22px;            /* KPI tiles */
  --r-hero: 28px;               /* bank card */
  --r-sheet: 28px;              /* dialogs, sheets, drawer */
  --r-pill: 999px;

  /* motion */
  --dur-1: 120ms;
  --dur-2: 180ms;
  --dur-3: 260ms;
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-in: cubic-bezier(.4, 0, .7, .2);

  /* type scale (desktop) — size / line-height */
  --fs-kpi: 32px;   --lh-kpi: 40px;
  --fs-h1: 26px;    --lh-h1: 36px;
  --fs-h2: 16px;    --lh-h2: 26px;
  --fs-h3: 15.5px;  --lh-h3: 24px;
  --fs-body: 15px;  --lh-body: 26px;
  --fs-sm: 13.5px;  --lh-sm: 22px;
  --fs-label: 13.5px; --lh-label: 20px;
  --fs-cap: 12px;   --lh-cap: 18px;   /* floor: nothing Persian smaller than 11px */

  /* spacing (4px base) */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-14: 56px; --sp-18: 72px;
  --gutter: 18px;
  --card-pad: 18px;
  --gap: 18px;

  /* density */
  --row-h: 48px;
  --control-h: 44px;

  /* shell */
  --sidebar-w: 260px;
  --rail-w: 76px;
  --topbar-h: 72px;
  --tabbar-h: 70px;
  --dock-gap: 16px;
  --page-max: 1320px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  /* small per-theme details of B+ components (light values; dark ones below) */
  --avatar-bg: linear-gradient(135deg, #FFFFFF, #E0E9FF);
  --avatar-border: #FFFFFF;
  --avatar-ink: var(--accent);
  --avatar-shadow: 0 6px 16px rgb(30 58 138 / .16);
  --seg-on: #FFFFFF;
  --progress-glow: none;
  --dot-glow: none;
  --ring-track: #EEF2F6;
  --qa-shadow: 0 6px 16px rgb(16 24 40 / .08);
  --onb-next-border: #BFD3FE;
  --onb-next-mark: #93C5FD;
  --onb-done-ink: #FFFFFF;
  --botcard-glow: none;
  --botcard-dot-border: #0F172A;
  --botcard-btn-bg: rgb(255 255 255 / .08);
  --botcard-btn-border: rgb(255 255 255 / .18);
  --botcard-btn-ink: #FFFFFF;
  --health-warn-line: #FDE68A;
  --health-danger-line: #FECDCA;
  --sky-line: #BAE6FD;
  --alert-orange-title: #7C2D12;  --alert-orange-sub: #9A3412;
  --alert-info-title: #1E3A8A;    --alert-info-sub: #1D4ED8;
  --alert-danger-title: #7A271A;  --alert-danger-sub: #B42318;
  --kt-icon: inline-grid;         /* dark: KPI tiles drop the icon tile for a coloured top edge */
  --kt-edge: 1px;
}

@media (min-width: 768px) {
  :root { --gutter: 24px; --card-pad: 22px; --gap: 18px; }
}
@media (min-width: 1280px) {
  :root { --gutter: 28px; }
}
@media (max-width: 767px) {
  :root {
    --fs-kpi: 28px;  --lh-kpi: 36px;
    --fs-h1: 21px;   --lh-h1: 30px;
    --fs-h2: 15.5px; --lh-h2: 24px;
    --fs-body: 15px; --lh-body: 26px;
    --fs-label: 14px; --lh-label: 22px;
  }
}
/* owner desktop compact density (toggle in the user menu) */
:root[data-density="compact"] { --row-h: 40px; --control-h: 38px; }
@media (pointer: coarse) {
  :root, :root[data-density="compact"] { --row-h: 48px; --control-h: 44px; }
}

/* ── dark («شب»): the old navy palette with glows (B2-Home-Dark) — system preference ── */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --ground: #0B1120;
    --ground-wash: radial-gradient(130% 560px at 80% 0, #1E3A8A 0%, rgb(11 17 32 / 0) 70%);
    --ground-wash-admin: radial-gradient(120% 520px at 70% 0, rgb(30 58 138 / .75) 0%, rgb(11 17 32 / 0) 70%);
    --surface: #131A29;
    --surface-2: #0F1626;
    --surface-3: #1B2436;
    --inset: #0F1626;
    --elevated: #182033;
    --sidebar: #0F1626;
    --border: #26304A;
    --border-strong: #33405E;
    --border-control: #4F5E7F;
    --border-dashed: #33405E;
    --text: #F2F6FC;
    --text-2: #CBD5E1;
    --text-3: #CBD5E1;
    --muted: #9AA7BD;
    --faint: #64748B;
    --accent: #3B82F6;
    --accent-hover: #2563EB;
    --accent-text: #60A5FA;
    --accent-strong: #93C5FD;
    --accent-2: #60A5FA;
    --on-accent: #FFFFFF;
    --accent-tint: #172B4D;
    --accent-tint-2: #1E2C4D;
    --accent-ring: rgb(96 165 250 / .22);
    --grad-hero: linear-gradient(140deg, var(--accent-night) 0%, var(--accent-deep) 30%, var(--accent) 75%, #60A5FA 100%);
    --grad-hero-wide: linear-gradient(135deg, var(--accent-night) 0%, var(--accent-deep) 28%, var(--accent) 70%, #60A5FA 100%);
    --hero-stack-1: linear-gradient(140deg, #1E3A8A, #1E3A8A);
    --hero-stack-2: linear-gradient(140deg, #1D4ED8, #1D4ED8);
    --hero-border: rgb(147 197 253 / .25);
    --hero-shadow: 0 0 0 1px rgb(96 165 250 / .08), 0 24px 50px rgb(0 0 0 / .5), 0 0 60px rgb(59 130 246 / .25);
    --hero-glow: 0 0 24px rgb(147 197 253 / .45);
    --success: #6EE7B7;  --success-tint: rgb(52 211 153 / .14);  --success-soft: rgb(52 211 153 / .08);  --success-solid: #34D399;
    --warning: #FCD34D;  --warning-tint: rgb(251 191 36 / .14);  --warning-soft: rgb(251 191 36 / .08);  --warning-solid: #FBBF24;
    --danger:  #FCA5A5;  --danger-tint:  rgb(248 113 113 / .16); --danger-soft:  rgb(248 113 113 / .08); --danger-solid:  #DC2626;
    --info:    #93C5FD;  --info-tint:    rgb(96 165 250 / .16);  --info-soft:    rgb(96 165 250 / .08);  --info-solid:    #60A5FA;
    --orange: #FDBA74;   --orange-tint: rgb(251 146 60 / .16);  --orange-soft: rgb(251 146 60 / .10);  --orange-solid: #FB923C;  --orange-line: rgb(251 146 60 / .35);
    --purple: #C4B5FD;   --purple-tint: rgb(167 139 250 / .16); --purple-soft: rgb(167 139 250 / .08); --purple-solid: #A78BFA;
    --sky:    #7DD3FC;   --sky-tint:    rgb(56 189 248 / .14);  --sky-soft:    rgb(56 189 248 / .08);  --sky-solid:    #38BDF8;
    --pink:   #F9A8D4;   --pink-tint:   rgb(244 114 182 / .14); --pink-soft:   rgb(244 114 182 / .08); --pink-solid:   #F472B6;
    --red:    #FCA5A5;   --red-tint:    rgb(248 113 113 / .14); --red-soft:    rgb(248 113 113 / .08); --red-solid:    #F87171;
    --green:  #6EE7B7;   --green-tint:  rgb(52 211 153 / .14);  --green-soft:  rgb(52 211 153 / .08);  --green-solid:  #34D399;
    --amber:  #FCD34D;   --amber-tint:  rgb(251 191 36 / .14);  --amber-soft:  rgb(251 191 36 / .08);  --amber-solid:  #FBBF24;
    --bronze: #E7B48A;   --bronze-tint: rgb(196 127 69 / .18);  --bronze-soft: rgb(196 127 69 / .08);  --bronze-solid: #C47F45;
    --ink-tile: #F2F6FC; --ink-tile-tint: #1B2436;
    --nav-bg: linear-gradient(180deg, #0B1120, #0F172A);
    --nav-card: rgb(255 255 255 / .05);
    --dock-bg: rgb(19 26 41 / .96);
    --dock-border: #26304A;
    --dock-text: #9AA7BD;
    --dock-shadow: 0 16px 34px rgb(0 0 0 / .5);
    --botcard-bg: linear-gradient(135deg, #1B2436, #131A29);
    --botcard-border: #33405E;
    --botcard-shadow: none;
    --chart-1: #60A5FA; --chart-2: #FB923C; --chart-3: #34D399; --chart-4: #A78BFA; --chart-5: #F472B6;
    --chart-prev: #64748B;
    --chart-grid: #1F2A40;
    --chart-axis: #33405E;
    --bar-soft: #1E2C4D;
    --bar-grad: linear-gradient(180deg, #60A5FA, #2563EB);
    --shadow-card: none;
    --shadow-card-lg: none;
    --shadow-btn: none;
    --shadow-soft: none;
    --shadow-accent: 0 0 22px rgb(59 130 246 / .45);
    --shadow-accent-lg: 0 0 26px rgb(59 130 246 / .6);
    --shadow-pop: 0 0 0 1px #26304A, 0 18px 40px rgb(0 0 0 / .55);
    --shadow-sheet: 0 0 0 1px #26304A, 0 30px 60px rgb(0 0 0 / .6);
    --card-border: #26304A;
    --scrim: rgb(0 0 0 / .6);
    --avatar-bg: linear-gradient(135deg, #1E293B, #0F172A);
    --avatar-border: #33405E;
    --avatar-ink: #93C5FD;
    --avatar-shadow: none;
    --seg-on: #1B2436;
    --progress-glow: 0 0 10px rgb(253 230 138 / .6);
    --dot-glow: 0 0 8px #60A5FA;
    --ring-track: #1B2436;
    --qa-shadow: none;
    --onb-next-border: #33405E;
    --onb-next-mark: #60A5FA;
    --onb-done-ink: #052E1F;
    --botcard-glow: 0 0 20px rgb(59 130 246 / .4);
    --botcard-dot-border: #131A29;
    --botcard-btn-bg: #0F1626;
    --botcard-btn-border: #33405E;
    --botcard-btn-ink: #CBD5E1;
    --health-warn-line: rgb(251 191 36 / .35);
    --health-danger-line: rgb(248 113 113 / .35);
    --sky-line: rgb(56 189 248 / .35);
    --alert-orange-title: #FED7AA;  --alert-orange-sub: #FDBA74;
    --alert-info-title: #BFDBFE;    --alert-info-sub: #93C5FD;
    --alert-danger-title: #FECACA;  --alert-danger-sub: #FCA5A5;
    --kt-icon: none;
    --kt-edge: 2px;
  }
}
/* ── dark: explicit choice (in-app toggle, Telegram colorScheme=dark) — same values ── */
:root[data-theme="dark"] {
  color-scheme: dark;
  --ground: #0B1120;
  --ground-wash: radial-gradient(130% 560px at 80% 0, #1E3A8A 0%, rgb(11 17 32 / 0) 70%);
  --ground-wash-admin: radial-gradient(120% 520px at 70% 0, rgb(30 58 138 / .75) 0%, rgb(11 17 32 / 0) 70%);
  --surface: #131A29;
  --surface-2: #0F1626;
  --surface-3: #1B2436;
  --inset: #0F1626;
  --elevated: #182033;
  --sidebar: #0F1626;
  --border: #26304A;
  --border-strong: #33405E;
  --border-control: #4F5E7F;
  --border-dashed: #33405E;
  --text: #F2F6FC;
  --text-2: #CBD5E1;
  --text-3: #CBD5E1;
  --muted: #9AA7BD;
  --faint: #64748B;
  --accent: #3B82F6;
  --accent-hover: #2563EB;
  --accent-text: #60A5FA;
  --accent-strong: #93C5FD;
  --accent-2: #60A5FA;
  --on-accent: #FFFFFF;
  --accent-tint: #172B4D;
  --accent-tint-2: #1E2C4D;
  --accent-ring: rgb(96 165 250 / .22);
  --grad-hero: linear-gradient(140deg, var(--accent-night) 0%, var(--accent-deep) 30%, var(--accent) 75%, #60A5FA 100%);
  --grad-hero-wide: linear-gradient(135deg, var(--accent-night) 0%, var(--accent-deep) 28%, var(--accent) 70%, #60A5FA 100%);
  --hero-stack-1: linear-gradient(140deg, #1E3A8A, #1E3A8A);
  --hero-stack-2: linear-gradient(140deg, #1D4ED8, #1D4ED8);
  --hero-border: rgb(147 197 253 / .25);
  --hero-shadow: 0 0 0 1px rgb(96 165 250 / .08), 0 24px 50px rgb(0 0 0 / .5), 0 0 60px rgb(59 130 246 / .25);
  --hero-glow: 0 0 24px rgb(147 197 253 / .45);
  --success: #6EE7B7;  --success-tint: rgb(52 211 153 / .14);  --success-soft: rgb(52 211 153 / .08);  --success-solid: #34D399;
  --warning: #FCD34D;  --warning-tint: rgb(251 191 36 / .14);  --warning-soft: rgb(251 191 36 / .08);  --warning-solid: #FBBF24;
  --danger:  #FCA5A5;  --danger-tint:  rgb(248 113 113 / .16); --danger-soft:  rgb(248 113 113 / .08); --danger-solid:  #DC2626;
  --info:    #93C5FD;  --info-tint:    rgb(96 165 250 / .16);  --info-soft:    rgb(96 165 250 / .08);  --info-solid:    #60A5FA;
  --orange: #FDBA74;   --orange-tint: rgb(251 146 60 / .16);  --orange-soft: rgb(251 146 60 / .10);  --orange-solid: #FB923C;  --orange-line: rgb(251 146 60 / .35);
  --purple: #C4B5FD;   --purple-tint: rgb(167 139 250 / .16); --purple-soft: rgb(167 139 250 / .08); --purple-solid: #A78BFA;
  --sky:    #7DD3FC;   --sky-tint:    rgb(56 189 248 / .14);  --sky-soft:    rgb(56 189 248 / .08);  --sky-solid:    #38BDF8;
  --pink:   #F9A8D4;   --pink-tint:   rgb(244 114 182 / .14); --pink-soft:   rgb(244 114 182 / .08); --pink-solid:   #F472B6;
  --red:    #FCA5A5;   --red-tint:    rgb(248 113 113 / .14); --red-soft:    rgb(248 113 113 / .08); --red-solid:    #F87171;
  --green:  #6EE7B7;   --green-tint:  rgb(52 211 153 / .14);  --green-soft:  rgb(52 211 153 / .08);  --green-solid:  #34D399;
  --amber:  #FCD34D;   --amber-tint:  rgb(251 191 36 / .14);  --amber-soft:  rgb(251 191 36 / .08);  --amber-solid:  #FBBF24;
  --bronze: #E7B48A;   --bronze-tint: rgb(196 127 69 / .18);  --bronze-soft: rgb(196 127 69 / .08);  --bronze-solid: #C47F45;
  --ink-tile: #F2F6FC; --ink-tile-tint: #1B2436;
  --nav-bg: linear-gradient(180deg, #0B1120, #0F172A);
  --nav-card: rgb(255 255 255 / .05);
  --dock-bg: rgb(19 26 41 / .96);
  --dock-border: #26304A;
  --dock-text: #9AA7BD;
  --dock-shadow: 0 16px 34px rgb(0 0 0 / .5);
  --botcard-bg: linear-gradient(135deg, #1B2436, #131A29);
  --botcard-border: #33405E;
  --botcard-shadow: none;
  --chart-1: #60A5FA; --chart-2: #FB923C; --chart-3: #34D399; --chart-4: #A78BFA; --chart-5: #F472B6;
  --chart-prev: #64748B;
  --chart-grid: #1F2A40;
  --chart-axis: #33405E;
  --bar-soft: #1E2C4D;
  --bar-grad: linear-gradient(180deg, #60A5FA, #2563EB);
  --shadow-card: none;
  --shadow-card-lg: none;
  --shadow-btn: none;
  --shadow-soft: none;
  --shadow-accent: 0 0 22px rgb(59 130 246 / .45);
  --shadow-accent-lg: 0 0 26px rgb(59 130 246 / .6);
  --shadow-pop: 0 0 0 1px #26304A, 0 18px 40px rgb(0 0 0 / .55);
  --shadow-sheet: 0 0 0 1px #26304A, 0 30px 60px rgb(0 0 0 / .6);
  --card-border: #26304A;
  --scrim: rgb(0 0 0 / .6);
  --avatar-bg: linear-gradient(135deg, #1E293B, #0F172A);
  --avatar-border: #33405E;
  --avatar-ink: #93C5FD;
  --avatar-shadow: none;
  --seg-on: #1B2436;
  --progress-glow: 0 0 10px rgb(253 230 138 / .6);
  --dot-glow: 0 0 8px #60A5FA;
  --ring-track: #1B2436;
  --qa-shadow: none;
  --onb-next-border: #33405E;
  --onb-next-mark: #60A5FA;
  --onb-done-ink: #052E1F;
  --botcard-glow: 0 0 20px rgb(59 130 246 / .4);
  --botcard-dot-border: #131A29;
  --botcard-btn-bg: #0F1626;
  --botcard-btn-border: #33405E;
  --botcard-btn-ink: #CBD5E1;
  --health-warn-line: rgb(251 191 36 / .35);
  --health-danger-line: rgb(248 113 113 / .35);
  --sky-line: rgb(56 189 248 / .35);
  --alert-orange-title: #FED7AA;  --alert-orange-sub: #FDBA74;
  --alert-info-title: #BFDBFE;    --alert-info-sub: #93C5FD;
  --alert-danger-title: #FECACA;  --alert-danger-sub: #FCA5A5;
  --kt-icon: none;
  --kt-edge: 2px;
}
