/* Blazing UI - design tokens. Light by default, dark when the OS asks for it
   (unless the user picked light), or when the user picked dark (html[data-theme]). */

@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../fonts/plus-jakarta-sans.woff2") format("woff2");
    font-weight: 200 800; font-style: normal; font-display: swap;
}
@font-face {
    font-family: "Plus Jakarta Sans";
    src: url("../fonts/plus-jakarta-sans-italic.woff2") format("woff2");
    font-weight: 200 800; font-style: italic; font-display: swap;
}
@font-face {
    font-family: "JetBrains Mono";
    src: url("../fonts/jetbrains-mono.woff2") format("woff2");
    font-weight: 100 800; font-style: normal; font-display: swap;
}

:root {
    color-scheme: light;
    --font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

    /* brand */
    --brand-1: #4f46e5;
    --brand-2: #7c3aed;
    --brand: var(--brand-1);
    --brand-grad: linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 100%);
    --flame: #ff6a00;
    --flame-soft: #fff1e6;
    --flame-text: #c2410c;

    /* modules */
    --mod-opd: #0d9488;
    --mod-ipd: #2563eb;
    --mod-billing: #d97706;
    --mod-store: #16a34a;
    --mod-emr: #db2777;
    --mod-reports: #7c3aed;
    --mod-hr: #ea580c;
    --mod-admin: #475569;
    --mod-crm: #0891b2;
    --mod: var(--brand);

    /* surfaces */
    --bg: #f4f5fb;
    --bg-2: #eceef8;
    --surface: #ffffff;
    --surface-2: #f8f9fd;
    --surface-3: #eef0f8;
    --glass: rgba(255, 255, 255, .72);
    --line: #e3e6f0;
    --line-2: #d3d8e6;
    --text: #141a33;
    --text-2: #4a5170;
    --text-3: #7a819f;
    --on-brand: #ffffff;
    --focus: rgba(79, 70, 229, .35);

    /* status */
    --ok: #16a34a;     --ok-soft: #e8f7ee;
    --warn: #d97706;   --warn-soft: #fdf3e2;
    --bad: #dc2626;    --bad-soft: #fde9e9;
    --info: #2563eb;   --info-soft: #e7effd;

    /* shape */
    --r-xs: 6px;
    --r-sm: 10px;
    --r: 14px;
    --r-lg: 20px;
    --r-pill: 999px;
    --shadow-1: 0 1px 2px rgba(20, 26, 51, .06), 0 1px 1px rgba(20, 26, 51, .04);
    --shadow-2: 0 1px 2px rgba(20, 26, 51, .05), 0 4px 12px -2px rgba(20, 26, 51, .08), 0 12px 32px -8px rgba(20, 26, 51, .08);
    --shadow-3: 0 2px 4px rgba(20, 26, 51, .06), 0 12px 28px -6px rgba(20, 26, 51, .16), 0 32px 64px -16px rgba(20, 26, 51, .18);
    --shadow-brand: 0 6px 18px -6px rgba(79, 70, 229, .55);

    /* layout */
    --topbar-h: 60px;
    --sidebar-w: 280px;
    --sidebar-w-mini: 72px;
    --bottombar-h: 64px;
    --ease: cubic-bezier(.2, .8, .2, 1);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --bg: #0b0e1a;
        --bg-2: #10142a;
        --surface: #141a30;
        --surface-2: #181f3a;
        --surface-3: #1f2747;
        --glass: rgba(16, 20, 38, .72);
        --line: #252d4d;
        --line-2: #313b62;
        --text: #e8eaf6;
        --text-2: #b0b6d3;
        --text-3: #7d84a8;
        --brand: #8b85ff;
        --focus: rgba(139, 133, 255, .45);
        --flame-soft: #2e1d12;
        --flame-text: #ff9a52;
        --ok-soft: #10291c; --warn-soft: #2d2210; --bad-soft: #301417; --info-soft: #121f3d;
        --mod-opd: #2dd4bf; --mod-ipd: #60a5fa; --mod-billing: #fbbf24; --mod-store: #4ade80;
        --mod-emr: #f472b6; --mod-reports: #a78bfa; --mod-hr: #fb923c; --mod-admin: #94a3b8; --mod-crm: #22d3ee;
        --shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
        --shadow-2: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px -6px rgba(0, 0, 0, .5);
        --shadow-3: 0 2px 6px rgba(0, 0, 0, .4), 0 24px 56px -12px rgba(0, 0, 0, .7);
    }
}
:root[data-theme="dark"] {
    color-scheme: dark;
    --bg: #0b0e1a;
    --bg-2: #10142a;
    --surface: #141a30;
    --surface-2: #181f3a;
    --surface-3: #1f2747;
    --glass: rgba(16, 20, 38, .72);
    --line: #252d4d;
    --line-2: #313b62;
    --text: #e8eaf6;
    --text-2: #b0b6d3;
    --text-3: #7d84a8;
    --brand: #8b85ff;
    --focus: rgba(139, 133, 255, .45);
    --flame-soft: #2e1d12;
    --flame-text: #ff9a52;
    --ok-soft: #10291c; --warn-soft: #2d2210; --bad-soft: #301417; --info-soft: #121f3d;
    --mod-opd: #2dd4bf; --mod-ipd: #60a5fa; --mod-billing: #fbbf24; --mod-store: #4ade80;
    --mod-emr: #f472b6; --mod-reports: #a78bfa; --mod-hr: #fb923c; --mod-admin: #94a3b8; --mod-crm: #22d3ee;
    --shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
    --shadow-2: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px -6px rgba(0, 0, 0, .5);
    --shadow-3: 0 2px 6px rgba(0, 0, 0, .4), 0 24px 56px -12px rgba(0, 0, 0, .7);
}

[data-module="opd"] { --mod: var(--mod-opd); }
[data-module="ipd"] { --mod: var(--mod-ipd); }
[data-module="billing"] { --mod: var(--mod-billing); }
[data-module="store"] { --mod: var(--mod-store); }
[data-module="emr"] { --mod: var(--mod-emr); }
[data-module="reports"] { --mod: var(--mod-reports); }
[data-module="hr"] { --mod: var(--mod-hr); }
[data-module="admin"] { --mod: var(--mod-admin); }
[data-module="crm"] { --mod: var(--mod-crm); }
