/* NexusOne design tokens - GENERATED, do not edit.
   Source: ConfixInv.SharedWebRoot/wwwroot/assets/css/nexusone-theme.css (section 1).
   Refresh with ConfixInv/deploy/Sync-NexusTheme.ps1 (it also copies the theme into HRM). */
/* ---------- 1. tokens ----------
   <html> carries the user's appearance (set before paint by the script in _Layout, edited on /Appearance):
     data-nx           light | dark        (System is resolved to one of these by the script)
     data-nx-theme     field | studio | graphite | sage | ocean | stone
     data-nx-accent    lime | teal | ocean | cobalt | plum | amber | ink
     data-nx-icons     soft | vivid | mono
     data-nx-radius    sharp | default | soft
     data-nx-contrast  standard | high
   Selectors have no "html" so the preview cards on /Appearance can carry their own attributes. */

:root {
    --nx-r-xs: 6px; --nx-r-sm: 8px; --nx-r: 10px; --nx-r-lg: 12px;
    --nx-ease: cubic-bezier(.2, .8, .2, 1);
    --nx-fast: 140ms; --nx-med: 200ms;
}
[data-nx-radius="sharp"]   { --nx-r-xs: 4px; --nx-r-sm: 5px; --nx-r: 6px;  --nx-r-lg: 8px; }
[data-nx-radius="default"] { --nx-r-xs: 6px; --nx-r-sm: 8px; --nx-r: 10px; --nx-r-lg: 12px; }
[data-nx-radius="soft"]    { --nx-r-xs: 8px; --nx-r-sm: 10px; --nx-r: 14px; --nx-r-lg: 18px; }

/* --- Field (NexusOne portal: green-black / sage cream) --- */
[data-nx="dark"][data-nx-theme="field"], html[data-nx="dark"]:not([data-nx-theme]) {
    --nx-bg: #0d1210; --nx-glass: rgba(26, 31, 28, .84); --nx-side: rgba(20, 25, 22, .95);
    --nx-card: #262d29; --nx-card-2: #222825; --nx-elev: #2f3632; --nx-input: rgba(0, 0, 0, .28); --nx-option: #1e2420;
    --nx-tx: #f4f7f5; --nx-tx2: #c5cdc9; --nx-tx3: #9fa9a5;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(120, 190, 120, .16) 0%, transparent 55%), radial-gradient(ellipse 90% 70% at 5% 100%, rgba(60, 110, 70, .24) 0%, transparent 50%);
}
[data-nx="light"][data-nx-theme="field"], html[data-nx="light"]:not([data-nx-theme]) {
    --nx-bg: #e4eadf; --nx-glass: rgba(246, 249, 242, .94); --nx-side: rgba(243, 247, 239, .97);
    --nx-card: #fafcf7; --nx-card-2: #f0f4eb; --nx-elev: #ffffff; --nx-input: #ffffff; --nx-option: #ffffff;
    --nx-tx: #1e2a1e; --nx-tx2: #3b4c3b; --nx-tx3: #5a6b5a;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(140, 180, 100, .18) 0%, transparent 55%);
}
/* --- Studio (cool slate) --- */
[data-nx="dark"][data-nx-theme="studio"] {
    --nx-bg: #0b1020; --nx-glass: rgba(17, 24, 39, .86); --nx-side: rgba(13, 19, 33, .96);
    --nx-card: #182133; --nx-card-2: #141c2c; --nx-elev: #1f2a3f; --nx-input: rgba(0, 0, 0, .25); --nx-option: #141c2c;
    --nx-tx: #f1f5f9; --nx-tx2: #c3ccd8; --nx-tx3: #94a3b8;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(99, 132, 255, .14) 0%, transparent 55%);
}
[data-nx="light"][data-nx-theme="studio"] {
    --nx-bg: #eef1f6; --nx-glass: rgba(255, 255, 255, .92); --nx-side: rgba(255, 255, 255, .97);
    --nx-card: #ffffff; --nx-card-2: #f6f8fb; --nx-elev: #ffffff; --nx-input: #ffffff; --nx-option: #ffffff;
    --nx-tx: #0f172a; --nx-tx2: #334155; --nx-tx3: #5b6779;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(148, 170, 230, .20) 0%, transparent 55%);
}
/* --- Graphite (pure neutral) --- */
[data-nx="dark"][data-nx-theme="graphite"] {
    --nx-bg: #0b0b0c; --nx-glass: rgba(23, 23, 25, .88); --nx-side: rgba(18, 18, 20, .96);
    --nx-card: #1d1d20; --nx-card-2: #18181a; --nx-elev: #252528; --nx-input: rgba(0, 0, 0, .3); --nx-option: #18181a;
    --nx-tx: #f5f5f5; --nx-tx2: #c9c9cc; --nx-tx3: #9d9da3;
    --nx-bgfx: none;
}
[data-nx="light"][data-nx-theme="graphite"] {
    --nx-bg: #f2f2f2; --nx-glass: rgba(255, 255, 255, .94); --nx-side: rgba(250, 250, 250, .98);
    --nx-card: #ffffff; --nx-card-2: #f7f7f7; --nx-elev: #ffffff; --nx-input: #ffffff; --nx-option: #ffffff;
    --nx-tx: #171717; --nx-tx2: #3d3d3d; --nx-tx3: #5f5f5f;
    --nx-bgfx: none;
}
/* --- Sage (green-grey, brand teal) --- */
[data-nx="dark"][data-nx-theme="sage"] {
    --nx-bg: #0b1311; --nx-glass: rgba(19, 30, 27, .86); --nx-side: rgba(15, 25, 22, .96);
    --nx-card: #1a2724; --nx-card-2: #16221f; --nx-elev: #22312d; --nx-input: rgba(0, 0, 0, .26); --nx-option: #16221f;
    --nx-tx: #eef6f3; --nx-tx2: #c2d1cc; --nx-tx3: #95a8a2;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(94, 200, 170, .12) 0%, transparent 55%);
}
[data-nx="light"][data-nx-theme="sage"] {
    --nx-bg: #eaf0ed; --nx-glass: rgba(250, 252, 251, .94); --nx-side: rgba(247, 250, 248, .97);
    --nx-card: #fbfdfc; --nx-card-2: #f1f6f3; --nx-elev: #ffffff; --nx-input: #ffffff; --nx-option: #ffffff;
    --nx-tx: #14231f; --nx-tx2: #344842; --nx-tx3: #536862;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(120, 190, 165, .16) 0%, transparent 55%);
}
/* --- Ocean (misty blue-green / deep sea) --- */
[data-nx="dark"][data-nx-theme="ocean"] {
    --nx-bg: #061317; --nx-glass: rgba(13, 31, 37, .86); --nx-side: rgba(9, 25, 30, .96);
    --nx-card: #11272d; --nx-card-2: #0e2227; --nx-elev: #173138; --nx-input: rgba(0, 0, 0, .26); --nx-option: #0e2227;
    --nx-tx: #ecf7f9; --nx-tx2: #bfd3d8; --nx-tx3: #8ea8ae;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(80, 190, 210, .14) 0%, transparent 55%);
}
[data-nx="light"][data-nx-theme="ocean"] {
    --nx-bg: #e7f1f3; --nx-glass: rgba(249, 252, 253, .94); --nx-side: rgba(246, 250, 251, .97);
    --nx-card: #f9fcfd; --nx-card-2: #eef5f7; --nx-elev: #ffffff; --nx-input: #ffffff; --nx-option: #ffffff;
    --nx-tx: #0d2329; --nx-tx2: #2f4a51; --nx-tx3: #4f6970;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(120, 190, 205, .18) 0%, transparent 55%);
}
/* --- Stone (warm paper / warm black) --- */
[data-nx="dark"][data-nx-theme="stone"] {
    --nx-bg: #12100e; --nx-glass: rgba(30, 27, 24, .86); --nx-side: rgba(24, 21, 19, .96);
    --nx-card: #241f1b; --nx-card-2: #1f1b18; --nx-elev: #2d2722; --nx-input: rgba(0, 0, 0, .26); --nx-option: #1f1b18;
    --nx-tx: #f7f3ee; --nx-tx2: #d3cac0; --nx-tx3: #a99f94;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(220, 170, 130, .10) 0%, transparent 55%);
}
[data-nx="light"][data-nx-theme="stone"] {
    --nx-bg: #f3efe9; --nx-glass: rgba(253, 251, 248, .94); --nx-side: rgba(251, 248, 244, .97);
    --nx-card: #fdfbf8; --nx-card-2: #f6f1eb; --nx-elev: #ffffff; --nx-input: #ffffff; --nx-option: #ffffff;
    --nx-tx: #1c1917; --nx-tx2: #44403c; --nx-tx3: #6b625a;
    --nx-bgfx: radial-gradient(ellipse 120% 80% at 75% -10%, rgba(230, 190, 150, .18) 0%, transparent 55%);
}

/* --- shared per mode (borders, hovers, status colours: same meaning in every theme) --- */
[data-nx="dark"] {
    --nx-border: rgba(255, 255, 255, .08); --nx-border-2: rgba(255, 255, 255, .15);
    --nx-hover: rgba(255, 255, 255, .055); --nx-thead: rgba(255, 255, 255, .035); --nx-track: rgba(0, 0, 0, .24);
    --nx-pill-on: rgba(255, 255, 255, .92); --nx-pill-on-tx: #15181a;
    --nx-shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 18px 44px -28px rgba(0, 0, 0, .75);
    --nx-ok: #86d9a0;   --nx-ok-bg: rgba(110, 200, 140, .14);
    --nx-warn: #f3cf85; --nx-warn-bg: rgba(240, 190, 90, .14);
    --nx-bad: #f6a19a;  --nx-bad-bg: rgba(240, 120, 110, .14);
    --nx-info: #9ccbff; --nx-info-bg: rgba(120, 170, 255, .14);
    color-scheme: dark;
}
[data-nx="light"] {
    --nx-border: rgba(20, 30, 25, .10); --nx-border-2: rgba(20, 30, 25, .18);
    --nx-hover: rgba(20, 30, 25, .045); --nx-thead: rgba(20, 30, 25, .035); --nx-track: rgba(20, 30, 25, .06);
    --nx-pill-on: #ffffff; --nx-pill-on-tx: var(--nx-tx);
    --nx-shadow: 0 1px 2px rgba(20, 30, 25, .05), 0 12px 32px -22px rgba(20, 30, 25, .35);
    --nx-ok: #217a45;   --nx-ok-bg: #e3f4e8;
    --nx-warn: #8a5a06; --nx-warn-bg: #fbf0d9;
    --nx-bad: #b4312a;  --nx-bad-bg: #fbe6e4;
    --nx-info: #2457b8; --nx-info-bg: #e5edfb;
    color-scheme: light;
}
[data-nx="light"] { --nx-pill-on-shadow: 0 1px 2px rgba(20, 30, 25, .12); }
/* see-through "glass" cards (portal style): the page ground shows through */
[data-nx="dark"]  { --nx-glass-card: color-mix(in srgb, var(--nx-card) 62%, transparent); --nx-glass-card-hover: color-mix(in srgb, var(--nx-elev) 80%, transparent); }
[data-nx="light"] { --nx-glass-card: color-mix(in srgb, var(--nx-card) 58%, transparent); --nx-glass-card-hover: color-mix(in srgb, var(--nx-elev) 85%, transparent); }

/* --- accents (focus, links, selection, active items, primary buttons) --- */
[data-nx="dark"][data-nx-accent="lime"]   { --nx-accent: #e6f54e; --nx-accent-tx: #1a1f1c; --nx-accent-line: #e6f54e; }
[data-nx="light"][data-nx-accent="lime"]  { --nx-accent: #5f8f2e; --nx-accent-tx: #ffffff; --nx-accent-line: #4d7a22; }
[data-nx="dark"][data-nx-accent="teal"]   { --nx-accent: #6fd8c6; --nx-accent-tx: #06201c; --nx-accent-line: #7fe0cf; }
[data-nx="light"][data-nx-accent="teal"]  { --nx-accent: #0f766e; --nx-accent-tx: #ffffff; --nx-accent-line: #0f6b64; }
[data-nx="dark"][data-nx-accent="ocean"]  { --nx-accent: #7dd3e8; --nx-accent-tx: #062530; --nx-accent-line: #8ddbee; }
[data-nx="light"][data-nx-accent="ocean"] { --nx-accent: #0e7490; --nx-accent-tx: #ffffff; --nx-accent-line: #0c6680; }
[data-nx="dark"][data-nx-accent="cobalt"] { --nx-accent: #9dbdff; --nx-accent-tx: #0b1a3d; --nx-accent-line: #a9c5ff; }
[data-nx="light"][data-nx-accent="cobalt"]{ --nx-accent: #2563eb; --nx-accent-tx: #ffffff; --nx-accent-line: #1d4fc4; }
[data-nx="dark"][data-nx-accent="plum"]   { --nx-accent: #f0a8cb; --nx-accent-tx: #3a0f24; --nx-accent-line: #f3b5d3; }
[data-nx="light"][data-nx-accent="plum"]  { --nx-accent: #9d3f6b; --nx-accent-tx: #ffffff; --nx-accent-line: #8a345c; }
[data-nx="dark"][data-nx-accent="amber"]  { --nx-accent: #f6cf7a; --nx-accent-tx: #3a2600; --nx-accent-line: #f8d78e; }
[data-nx="light"][data-nx-accent="amber"] { --nx-accent: #b45309; --nx-accent-tx: #ffffff; --nx-accent-line: #9a4708; }
[data-nx="dark"][data-nx-accent="ink"]    { --nx-accent: #f2f2f2; --nx-accent-tx: #121212; --nx-accent-line: #f2f2f2; }
[data-nx="light"][data-nx-accent="ink"]   { --nx-accent: #1a1a1a; --nx-accent-tx: #ffffff; --nx-accent-line: #1a1a1a; }
html[data-nx="dark"]:not([data-nx-accent])  { --nx-accent: #e6f54e; --nx-accent-tx: #1a1f1c; --nx-accent-line: #e6f54e; }
html[data-nx="light"]:not([data-nx-accent]) { --nx-accent: #5f8f2e; --nx-accent-tx: #ffffff; --nx-accent-line: #4d7a22; }
[data-nx] { --nx-accent-soft: color-mix(in srgb, var(--nx-accent) 14%, transparent); }

/* --- high contrast: darker secondary text + borders in light, brighter in dark --- */
[data-nx="light"][data-nx-contrast="high"] {
    --nx-tx2: color-mix(in srgb, var(--nx-tx) 88%, #fff); --nx-tx3: color-mix(in srgb, var(--nx-tx) 74%, #fff);
    --nx-border: rgba(0, 0, 0, .22); --nx-border-2: rgba(0, 0, 0, .34);
}
[data-nx="dark"][data-nx-contrast="high"] {
    --nx-tx2: color-mix(in srgb, var(--nx-tx) 92%, #000); --nx-tx3: color-mix(in srgb, var(--nx-tx) 80%, #000);
    --nx-border: rgba(255, 255, 255, .2); --nx-border-2: rgba(255, 255, 255, .32);
}

