/**
 * NS admin design tokens — the single source of truth for every NS admin screen.
 *
 * WHY THIS FILE EXISTS
 *
 * Each NS admin screen used to declare its own copy of the palette on its own
 * root class (.nk-settings-app, .nk-dashboard, .nk-wizard, .nk-cond-root,
 * .nk-lib-overlay). Six copies drifted: --nk-accent was the brand pink #3859e9
 * on four screens and #3859e9 (blue) in the Library modal, --nk-accent-hover
 * was orange on the Dashboard, and 25 tokens in total disagreed across files.
 * The result was screens that were supposed to look like one product and did
 * not. Define a token HERE and nowhere else.
 *
 * HOW IT WORKS
 *
 * Values live on :root so they cascade into every screen container regardless
 * of its class. Dark mode has two paths, matching the convention the screens
 * already used:
 *
 *   - `@media (prefers-color-scheme: dark)` — follows the OS.
 *   - `[data-nk-theme="dark"]` / `[data-nk-theme="light"]` — an explicit choice
 *     on a screen's root element, which must beat the media query in BOTH
 *     directions, so light is re-declared too.
 *
 * Accent shades are derived from --nk-accent with color-mix() rather than
 * hard-coded, so a rebrand is one line and the shades cannot drift out of sync.
 *
 * Screen stylesheets declare this as a dependency (see Helpers\AdminTokens),
 * so it is always present and always loads first.
 */

:root {
	--nk-accent:               #3859e9;
	--nk-accent-contrast:      #fff;
	--nk-accent-foreground:    #ffffff;
	--nk-accent-hover:         color-mix( in srgb, var(--nk-accent) 85%, #000 );
	--nk-accent-ink:           #ffffff;
	--nk-accent-ring:          color-mix( in srgb, var(--nk-accent) 12%, transparent );
	--nk-accent-shadow:        color-mix( in srgb, var(--nk-accent) 40%, transparent );
	--nk-accent-soft:          color-mix( in srgb, var(--nk-accent) 10%, transparent );
	--nk-bg:                   #f0f0f0;
	--nk-bg-muted:             #f4f4f5;
	--nk-bg-muted-hover:       #eef0f3;
	--nk-bg-surface:           #ffffff;
	--nk-blank-from:           #eceef1;
	--nk-blank-to:             #f7f8fa;
	--nk-btn-bg:               #ffffff;
	--nk-card-bg:              #f4f4f5;
	--nk-card-border:          #dadadd;
	--nk-card-border-hover:    #d2d2d5;
	--nk-card-hover-shadow:    rgba(20, 24, 33, .1);
	--nk-card-radius:          var(--nk-radius-lg);
	--nk-danger-bg:            #fcf0f1;
	--nk-exclude-bg:           rgba(194, 65, 12, .07);
	--nk-footer-bg:            var(--nk-bg);
	--nk-header-bg:            var(--nk-bg);
	--nk-header-shadow:        rgba(0, 0, 0, .14);
	--nk-modal-bg:             #f6f7f8;
	--nk-page-bg:              #f0f0f0;
	--nk-surface:              #f4f4f5;
	--nk-surface-hover:        #f1f2f4;
	--nk-danger-text:          #b32d2e;
	--nk-faint:                #8a8f98;
	--nk-icon-muted:           #71717a;
	--nk-ink:                  #1e2026;
	--nk-ink-hover:            #1e1e1e;
	--nk-link-hover:           var(--nk-accent);
	--nk-muted:                #565b63;
	--nk-secondary-ink:        #ffffff;
	--nk-text:                 #1e2026;
	--nk-text-faint:           #9aa0a8;
	--nk-text-muted:           #6d7078;
	--nk-border:               #8d8d8d57;
	--nk-border-2:             #8d8d8d73;
	--nk-border-soft:          #8d8d8d33;
	--nk-btn-border:           #d4d4d8;
	--nk-danger-border:        #f0b4b5;
	--nk-exclude-line:         rgba(194, 65, 12, .55);
	--nk-fav-tint-border:      #f7c4dc;
	--nk-item-border:          transparent;
	--nk-line:                 #e4e4e4;
	--nk-notice-line:          #f0dcb4;
	--nk-danger:               #c0392b;
	--nk-danger-soft:          #f5e5e3;
	--nk-danger-solid:         #d32b2b;
	--nk-danger-solid-hover:   #ae2727;
	--nk-danger-tint:          #f7e1e1;
	--nk-exclude:              #c2410c;
	--nk-exclude-soft:         #f3e5e0;
	--nk-include:              #17a275;
	--nk-include-soft:         #d8f2e3;
	--nk-success:              #17a275;
	--nk-success-soft:         #d8f2e3;
	--nk-info:                 #2563eb;
	--nk-info-soft:            #dbeafe;
	--nk-src-google:           #7c3aed;
	--nk-src-custom:           #2563eb;
	--nk-warning:              #c2410c;
	--nk-warning-soft:         #f3e5e0;
	--nk-btn-hover:            #fafafa;
	--nk-item-radius:          var(--nk-radius-brand);
	--nk-radius:               10px;
	--nk-radius-brand:         12px;
	--nk-radius-lg:            16px;
	--nk-radius-sm:            5px;
	--nk-shadow:               0 20px 60px -12px rgba(20, 24, 40, .3), 0 4px 12px -4px rgba(20, 24, 40, .14);
	--nk-shadow-sm:            0 1px 2px rgba(20,24,40,.05);
	--nk-shadow-xs:            0px 1px 2px rgba(16, 24, 40, .05);
	--nk-space:                16px;
	--nk-space-lg:             24px;
	--nk-space-sm:             12px;
	--nk-space-xs:             8px;
	--nk-font-admin:           'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--nk-font-mono:            ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	--nk-chevron:              url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8f98' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--nk-fav:                  #ec4899;
	--nk-fav-tint:             #fdeef5;
	--nk-icon:                 #7a7e87;
	--nk-item-title:           #1e1e1e;
	--nk-notice:               #e18121;
	--nk-notice-soft:          #fdf5e6;
	--nk-raised:               #ffffff;
	--nk-raised-hover:         #fafafa;
	--nk-ring:                 0%;
	--nk-scrim:                rgba(15, 17, 21, .5);
	--nk-secondary:            #1e2026;
	--nk-secondary-soft:       rgba(24, 24, 25, 0.1);
	--nk-title:                #1e1e1e;
}

/* Follows the OS. Guarded so an explicit Light choice still wins. */
@media ( prefers-color-scheme: dark ) {
	:root:not([data-nk-theme="light"]) {
		--nk-accent:               #5e84eb;
		--nk-accent-text:          color-mix( in srgb, var(--nk-accent) 82%, #fff );
		--nk-accent-contrast:      #fff;
		--nk-accent-hover:         color-mix( in srgb, var(--nk-accent) 82%, #fff );
		--nk-accent-ink:           #ffffff;
		--nk-accent-ring:          color-mix( in srgb, var(--nk-accent) 30%, transparent );
		--nk-accent-shadow:        color-mix( in srgb, var(--nk-accent) 45%, transparent );
		--nk-accent-soft:          color-mix( in srgb, var(--nk-accent) 16%, transparent );
		--nk-bg:                   #181717;
		--nk-bg-muted:             #8989891f;
		--nk-bg-muted-hover:       #272727;
		--nk-blank-from:           #2a2c30;
		--nk-blank-to:             #232428;
		--nk-btn-bg:               transparent;
		--nk-card-bg:              rgba(24, 24, 27, .6);
		--nk-card-border:          rgb(131 131 131 / 40%);
		--nk-card-border-hover:    rgb(131 131 131 / 60%);
		--nk-card-hover-shadow:    rgba(0, 0, 0, .45);
		--nk-danger-bg:            #3a2226;
		--nk-exclude-bg:           rgba(240, 134, 94, .1);
		--nk-footer-bg:            var(--nk-bg);
		--nk-header-bg:            var(--nk-bg);
		--nk-header-shadow:        rgba(0, 0, 0, .4);
		--nk-modal-bg:             #1c1d21;
		--nk-page-bg:              #19191a;
		--nk-surface:              #1e1e1e;
		--nk-surface-hover:        #2b2d32;
		--nk-danger-text:          #ff8a9b;
		--nk-faint:                #868a92;
		--nk-icon-muted:           #a1a1aa;
		--nk-ink:                  #f2f3f5;
		--nk-ink-hover:            #ffffff;
		--nk-link-hover:           var(--nk-accent);
		--nk-muted:                #ffffff99;
		--nk-text:                 #ffffffc4;
		--nk-text-faint:           #75787e;
		--nk-text-muted:           #9a9da3;
		--nk-border:               #3a3b41;
		--nk-border-2:             #494a52;
		--nk-border-soft:          #3d3f45;
		--nk-btn-border:           rgb(131 131 131 / 40%);
		--nk-danger-border:        #5c2c33;
		--nk-exclude-line:         rgba(240, 134, 94, .55);
		--nk-fav-tint-border:      #5c2f43;
		--nk-item-border:          rgb(131 131 131 / 40%);
		--nk-line:                 #35363b;
		--nk-notice-line:          rgba(224, 163, 54, .28);
		--nk-danger:               #ffa69f;
		--nk-danger-soft:          #f0736a2e;
		--nk-danger-solid:         #c0392b;
		--nk-danger-solid-hover:   #a5311f;
		--nk-danger-tint:          #4a2a2c;
		--nk-exclude:              #f0865e;
		--nk-include:              #17a275;
		--nk-success:              #49bf74;
		--nk-bg-surface:           #1e1e1e;
		--nk-exclude-soft:         rgba(240, 134, 94, .16);
		--nk-include-soft:         rgba(74, 222, 128, .16);
		--nk-success-soft:         rgba(74, 222, 128, .16);
		--nk-secondary:            #f2f3f5;
		--nk-secondary-ink:        #1e2026;
		--nk-secondary-soft:       rgba(242, 243, 245, .12);
		--nk-shadow-xs:            0px 1px 2px rgba(0, 0, 0, .4);
		--nk-chevron:              url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b6b9c0' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
		--nk-src-google:           #c4b5fd;
		--nk-src-custom:           #93c5fd;
		--nk-warning:              #fb923c;
		--nk-warning-soft:         rgba(251, 146, 60, .12);
		--nk-btn-hover:            rgb(131 131 131 / 20%);
		--nk-shadow:               0 24px 64px -12px rgba(0, 0, 0, .6), 0 4px 14px -4px rgba(0, 0, 0, .5);
		--nk-shadow-sm:            0 1px 2px rgba(0,0,0,.35);
		--nk-fav:                  #f472b6;
		--nk-fav-tint:             #3a2430;
		--nk-icon:                 #9a9da3;
		--nk-item-title:           #f4f4f5;
		--nk-notice:               #e0a336;
		--nk-notice-soft:          rgba(224, 163, 54, .10);
		--nk-raised:               #1e1e1e;
		--nk-raised-hover:         color-mix(in srgb, var(--nk-raised) 20%, transparent);
		--nk-scrim:                rgba(0, 0, 0, .65);
		--nk-title:                #ffffff;
		--nk-info:                 #60a5fa;
		--nk-info-soft:            rgba(96, 165, 250, .16);
}
}

/* An explicit per-screen choice beats the OS preference — in BOTH directions,
   which is why light is re-declared rather than left to :root. The two blocks
   below are generated from one source and must always carry the same keys. */
[data-nk-theme="dark"] {
	--nk-accent:               #5e84eb;
	--nk-accent-text:          color-mix( in srgb, var(--nk-accent) 82%, #fff );
	--nk-accent-contrast:      #fff;
	--nk-accent-hover:         color-mix( in srgb, var(--nk-accent) 82%, #fff );
	--nk-accent-ink:           #ffffff;
	--nk-accent-ring:          color-mix( in srgb, var(--nk-accent) 30%, transparent );
	--nk-accent-shadow:        color-mix( in srgb, var(--nk-accent) 45%, transparent );
	--nk-accent-soft:          color-mix( in srgb, var(--nk-accent) 16%, transparent );
	--nk-bg:                   #181717;
	--nk-bg-muted:             #8989891f;
	--nk-bg-muted-hover:       #272727;
	--nk-blank-from:           #2a2c30;
	--nk-blank-to:             #232428;
	--nk-btn-bg:               transparent;
	--nk-card-bg:              rgba(24, 24, 27, .6);
	--nk-card-border:          rgb(131 131 131 / 40%);
	--nk-card-border-hover:    rgb(131 131 131 / 60%);
	--nk-card-hover-shadow:    rgba(0, 0, 0, .45);
	--nk-danger-bg:            #3a2226;
	--nk-exclude-bg:           rgba(240, 134, 94, .1);
	--nk-footer-bg:            var(--nk-bg);
	--nk-header-bg:            var(--nk-bg);
	--nk-header-shadow:        rgba(0, 0, 0, .4);
	--nk-modal-bg:             #1c1d21;
	--nk-page-bg:              #19191a;
	--nk-surface:              #1e1e1e;
	--nk-surface-hover:        #2b2d32;
	--nk-danger-text:          #ff8a9b;
	--nk-faint:                #868a92;
	--nk-icon-muted:           #a1a1aa;
	--nk-ink:                  #f2f3f5;
	--nk-ink-hover:            #ffffff;
	--nk-link-hover:           var(--nk-accent);
	--nk-muted:                #ffffff99;
	--nk-text:                 #ffffffc4;
	--nk-text-faint:           #75787e;
	--nk-text-muted:           #9a9da3;
	--nk-border:               #3a3b41;
	--nk-border-2:             #494a52;
	--nk-border-soft:          #3d3f45;
	--nk-btn-border:           rgb(131 131 131 / 40%);
	--nk-danger-border:        #5c2c33;
	--nk-exclude-line:         rgba(240, 134, 94, .55);
	--nk-fav-tint-border:      #5c2f43;
	--nk-item-border:          rgb(131 131 131 / 40%);
	--nk-line:                 #35363b;
	--nk-notice-line:          rgba(224, 163, 54, .28);
	--nk-danger:               #ffa69f;
	--nk-danger-soft:          #f0736a2e;
	--nk-danger-solid:         #c0392b;
	--nk-danger-solid-hover:   #a5311f;
	--nk-danger-tint:          #4a2a2c;
	--nk-exclude:              #f0865e;
	--nk-include:              #17a275;
	--nk-success:              #49bf74;
	--nk-bg-surface:           #1e1e1e;
	--nk-exclude-soft:         rgba(240, 134, 94, .16);
	--nk-include-soft:         rgba(74, 222, 128, .16);
	--nk-success-soft:         rgba(74, 222, 128, .16);
	--nk-secondary:            #f2f3f5;
	--nk-secondary-ink:        #1e2026;
	--nk-secondary-soft:       rgba(242, 243, 245, .12);
	--nk-shadow-xs:            0px 1px 2px rgba(0, 0, 0, .4);
	--nk-chevron:              url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23b6b9c0' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--nk-src-google:           #c4b5fd;
	--nk-src-custom:           #93c5fd;
	--nk-warning:              #fb923c;
	--nk-warning-soft:         rgba(251, 146, 60, .12);
	--nk-btn-hover:            rgb(131 131 131 / 20%);
	--nk-shadow:               0 24px 64px -12px rgba(0, 0, 0, .6), 0 4px 14px -4px rgba(0, 0, 0, .5);
	--nk-shadow-sm:            0 1px 2px rgba(0,0,0,.35);
	--nk-fav:                  #f472b6;
	--nk-fav-tint:             #3a2430;
	--nk-icon:                 #9a9da3;
	--nk-item-title:           #f4f4f5;
	--nk-notice:               #e0a336;
	--nk-notice-soft:          rgba(224, 163, 54, .10);
	--nk-raised:               #1e1e1e;
	--nk-raised-hover:         color-mix(in srgb, var(--nk-raised) 20%, transparent);
	--nk-scrim:                rgba(0, 0, 0, .65);
	--nk-title:                #ffffff;
	--nk-info:                 #60a5fa;
	--nk-info-soft:            rgba(96, 165, 250, .16);
}

[data-nk-theme="light"] {
	--nk-accent:               #3859e9;
	--nk-accent-contrast:      #fff;
	--nk-accent-hover:         color-mix( in srgb, var(--nk-accent) 85%, #000 );
	--nk-accent-ink:           #ffffff;
	--nk-accent-ring:          color-mix( in srgb, var(--nk-accent) 12%, transparent );
	--nk-accent-shadow:        color-mix( in srgb, var(--nk-accent) 40%, transparent );
	--nk-accent-soft:          color-mix( in srgb, var(--nk-accent) 10%, transparent );
	--nk-bg:                   #f0f0f0;
	--nk-bg-muted:             #f4f4f5;
	--nk-bg-muted-hover:       #eef0f3;
	--nk-blank-from:           #eceef1;
	--nk-blank-to:             #f7f8fa;
	--nk-btn-bg:               #ffffff;
	--nk-card-bg:              #f4f4f5;
	--nk-card-border:          #dadadd;
	--nk-card-border-hover:    #d2d2d5;
	--nk-card-hover-shadow:    rgba(20, 24, 33, .1);
	--nk-danger-bg:            #fcf0f1;
	--nk-exclude-bg:           rgba(194, 65, 12, .07);
	--nk-footer-bg:            var(--nk-bg);
	--nk-header-bg:            var(--nk-bg);
	--nk-header-shadow:        rgba(0, 0, 0, .14);
	--nk-modal-bg:             #f6f7f8;
	--nk-page-bg:              #f0f0f0;
	--nk-surface:              #f4f4f5;
	--nk-surface-hover:        #f1f2f4;
	--nk-danger-text:          #b32d2e;
	--nk-faint:                #8a8f98;
	--nk-icon-muted:           #71717a;
	--nk-ink:                  #1e2026;
	--nk-ink-hover:            #1e1e1e;
	--nk-link-hover:           var(--nk-accent);
	--nk-muted:                #565b63;
	--nk-text:                 #1e2026;
	--nk-text-faint:           #9aa0a8;
	--nk-text-muted:           #6d7078;
	--nk-border:               #8d8d8d57;
	--nk-border-2:             #8d8d8d73;
	--nk-border-soft:          #8d8d8d33;
	--nk-btn-border:           #d4d4d8;
	--nk-danger-border:        #f0b4b5;
	--nk-exclude-line:         rgba(194, 65, 12, .55);
	--nk-fav-tint-border:      #f7c4dc;
	--nk-item-border:          transparent;
	--nk-line:                 #e4e4e4;
	--nk-notice-line:          #f0dcb4;
	--nk-danger:               #c0392b;
	--nk-danger-soft:          #f5e5e3;
	--nk-danger-solid:         #d32b2b;
	--nk-danger-solid-hover:   #ae2727;
	--nk-danger-tint:          #f7e1e1;
	--nk-exclude:              #c2410c;
	--nk-include:              #17a275;
	--nk-success:              #17a275;
	--nk-bg-surface:           #ffffff;
	--nk-exclude-soft:         #f3e5e0;
	--nk-include-soft:         #d8f2e3;
	--nk-success-soft:         #d8f2e3;
	--nk-secondary:            #1e2026;
	--nk-secondary-ink:        #ffffff;
	--nk-secondary-soft:       rgba(24, 24, 25, 0.1);
	--nk-shadow-xs:            0px 1px 2px rgba(16, 24, 40, .05);
	--nk-chevron:              url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a8f98' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--nk-src-google:           #7c3aed;
	--nk-src-custom:           #2563eb;
	--nk-warning:              #c2410c;
	--nk-warning-soft:         #f3e5e0;
	--nk-btn-hover:            #fafafa;
	--nk-shadow:               0 20px 60px -12px rgba(20, 24, 40, .3), 0 4px 12px -4px rgba(20, 24, 40, .14);
	--nk-shadow-sm:            0 1px 2px rgba(20,24,40,.05);
	--nk-fav:                  #ec4899;
	--nk-fav-tint:             #fdeef5;
	--nk-icon:                 #7a7e87;
	--nk-item-title:           #1e1e1e;
	--nk-notice:               #e18121;
	--nk-notice-soft:          #fdf5e6;
	--nk-raised:               #ffffff;
	--nk-raised-hover:         #fafafa;
	--nk-scrim:                rgba(15, 17, 21, .5);
	--nk-title:                #1e1e1e;
	--nk-info:                 #2563eb;
	--nk-info-soft:            #dbeafe;
}
