/* Invoay ERP tokens — generated from the design system's tokens.json
   (https://claude.ai/artifact/3sD5A7Mbd4RGGJFjcsSmkA). Do not edit by hand.

   Scoped per component, not on :root: every Invoay component root declares the tokens itself, so
   components work anywhere without a wrapper and never collide with bootstrap-shadcn.css, which owns
   --bg, --primary, --radius-md… on :root. Use .iv-scope on any block whose own CSS reads the tokens.
   Dark theme: data-theme="dark" on <html>. */

:where(.iv-scope, .iv-dx, .iv-btn, .iv-field, .iv-label, .iv-check, .iv-badge, .iv-tabs, .iv-seg, .iv-alert, .iv-card, .iv-grid, .iv-ph, .iv-crumbs, .iv-side, .iv-nav-item, .iv-overlay, .iv-dialog, .iv-toasts, .iv-toast, .iv-chip, .iv-spin, .iv-skel, .iv-icon, .iv-dx-pop, [class*="dxpcDropDown_"]:has(.iv-dx-pop), #toast-container, .swal2-container, .daterangepicker, .iv-legacy-dash) {
    --brand-blue: #239fd9;
    --brand-magenta: #e6408f;
    --brand-violet: #5b2d82;
    --bg: #f6f7f9;
    --surface: #ffffff;
    --surface-sunken: #f1f3f6;
    --surface-hover: #f4f6f9;
    --surface-raised: #ffffff;
    --overlay: rgba(15, 23, 41, 0.45);
    --ink: #0f1729;
    --ink-muted: #525d6f;
    --ink-subtle: #667085;
    --ink-inverse: #ffffff;
    --line: #e4e8ee;
    --line-strong: #d3d9e2;
    --control-border: #808a9c;
    --primary: #0b67a3;
    --primary-hover: #0a5a8f;
    --on-primary: #ffffff;
    --primary-soft: #e8f4fb;
    --focus-ring: #0b67a3;
    --accent: #c2185b;
    --accent-soft: #fdecf3;
    --on-accent: #ffffff;
    --success: #13723f;
    --success-soft: #e9f7ef;
    --warning: #9a5300;
    --warning-soft: #fff4e5;
    --danger: #b42318;
    --danger-soft: #fdecea;
    --on-danger: #ffffff;
    --info: #155fb5;
    --info-soft: #eaf2fd;
    --chart-1: #0b67a3;
    --chart-2: #c2185b;
    --chart-3: #0f8a7e;
    --chart-4: #c27803;
    --chart-5: #6941c6;
    --chart-6: #64748b;
    --shadow-xs: 0 1px 2px rgba(15, 23, 41, 0.05);
    --shadow-sm: 0 1px 3px rgba(15, 23, 41, 0.06), 0 1px 2px rgba(15, 23, 41, 0.04);
    --shadow-md: 0 8px 24px -6px rgba(15, 23, 41, 0.12), 0 2px 6px rgba(15, 23, 41, 0.05);
    --shadow-lg: 0 24px 48px -12px rgba(15, 23, 41, 0.22);
    --space-0: 2px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-8: 32px;
    --space-12: 48px;
    --radius-xs: 4px;
    --radius-sm: 6px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-full: 9999px;
    --control-sm: 28px;
    --control-md: 34px;
    --control-lg: 40px;
    --row-compact: 32px;
    --row-comfortable: 40px;
    --topbar-height: 52px;
    --sidebar-width: 248px;
    --content-max: 1440px;
    --z-sticky: 10;
    --z-topbar: 30;
    --z-dropdown: 40;
    /* Above the pinned footer (1020) and side bar (1010). */
    --z-dialog: 1060;
    --z-toast: 1070;
    --font-sans: "Geist", "Noto Sans Devanagari", "Segoe UI", system-ui, sans-serif;
    --font-mono: "Geist Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
    --dur-fast: 120ms;
    --dur-base: 180ms;
    --dur-slow: 240ms;
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
}

[data-theme="dark"] :where(.iv-scope, .iv-dx, .iv-btn, .iv-field, .iv-label, .iv-check, .iv-badge, .iv-tabs, .iv-seg, .iv-alert, .iv-card, .iv-grid, .iv-ph, .iv-crumbs, .iv-side, .iv-nav-item, .iv-overlay, .iv-dialog, .iv-toasts, .iv-toast, .iv-chip, .iv-spin, .iv-skel, .iv-icon, .iv-dx-pop, [class*="dxpcDropDown_"]:has(.iv-dx-pop), #toast-container, .swal2-container, .daterangepicker, .iv-legacy-dash),
:where(.iv-scope, .iv-dx, .iv-btn, .iv-field, .iv-label, .iv-check, .iv-badge, .iv-tabs, .iv-seg, .iv-alert, .iv-card, .iv-grid, .iv-ph, .iv-crumbs, .iv-side, .iv-nav-item, .iv-overlay, .iv-dialog, .iv-toasts, .iv-toast, .iv-chip, .iv-spin, .iv-skel, .iv-icon, .iv-dx-pop, [class*="dxpcDropDown_"]:has(.iv-dx-pop), #toast-container, .swal2-container, .daterangepicker, .iv-legacy-dash)[data-theme="dark"] {
    --brand-blue: #239fd9;
    --brand-magenta: #e6408f;
    --brand-violet: #7b4bb0;
    --bg: #0d1117;
    --surface: #161b23;
    --surface-sunken: #11161d;
    --surface-hover: #1c222c;
    --surface-raised: #1d232d;
    --overlay: rgba(0, 0, 0, 0.6);
    --ink: #e8ecf2;
    --ink-muted: #9aa4b4;
    --ink-subtle: #7d8797;
    --ink-inverse: #0d1117;
    --line: #262d38;
    --line-strong: #323a47;
    --control-border: #626c7e;
    --primary: #4cb8ec;
    --primary-hover: #6cc6f0;
    --on-primary: #04131d;
    --primary-soft: #0f2a3b;
    --focus-ring: #4cb8ec;
    --accent: #f472b6;
    --accent-soft: #3a1527;
    --on-accent: #1a0510;
    --success: #4ade80;
    --success-soft: #0f2a1b;
    --warning: #fbbf24;
    --warning-soft: #2e2208;
    --danger: #ff8a7a;
    --danger-soft: #3a1512;
    --on-danger: #120407;
    --info: #7cb4ff;
    --info-soft: #10223d;
    --chart-1: #4cb8ec;
    --chart-2: #f472b6;
    --chart-3: #2dd4bf;
    --chart-4: #fbbf24;
    --chart-5: #a78bfa;
    --chart-6: #94a3b8;
    --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.4);
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.5);
    --shadow-md: 0 8px 24px -6px rgba(0, 0, 0, 0.6);
    --shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, 0.75);
}

/* Converted pages set ViewBag.BodyClass = "iv-page" in the ERP layout so the whole page takes the
   canvas colour (the bg token). Only the colour is set here: declaring tokens on <body> would leak
   into the Bootstrap navbar, which still reads bootstrap-shadcn.css. */
body.iv-page {
    background-color: #f6f7f9;
}

[data-theme="dark"] body.iv-page {
    background-color: #0d1117;
}
