/* NexusDoc — generated from tokens.json (Design-Vorlage https://claude.ai/artifact/2fjUhT4vDF5Z2H9i7WEru4). Nicht von Hand ändern: Werte in der Vorlage pflegen. */
:root,
[data-theme='dunkel'] {
  --zinc-50: #f6f8fb;
  --zinc-100: #eef1f6;
  --zinc-200: #e0e5ed;
  --zinc-300: #cbd3df;
  --zinc-400: #96a1b4;
  --zinc-500: #67748b;
  --zinc-600: #4b576d;
  --zinc-700: #374254;
  --zinc-800: #232b3a;
  --zinc-900: #151b26;
  --zinc-950: #0b0f16;
  --blue-50: #eef2ff;
  --blue-100: #e0e7ff;
  --blue-200: #c8d4fe;
  --blue-300: #a7b9fc;
  --blue-400: #8397f8;
  --blue-500: #5b6ceb;
  --blue-600: #4152dd;
  --blue-700: #3341b4;
  --blue-800: #2b3690;
  --blue-900: #273072;
  --blue-950: #181d4a;
  --cyan-400: #22d3ee;
  --cyan-500: #06b6d4;
  --bg: var(--zinc-950);
  --surface: var(--zinc-900);
  --surface-hover: var(--zinc-800);
  --surface-inset: var(--zinc-950);
  --surface-subtle: rgba(11, 15, 22, 0.45);
  --line: var(--zinc-800);
  --line-soft: var(--zinc-800);
  --line-control: var(--zinc-700);
  --line-control-hover: var(--zinc-600);
  --text-strong: var(--zinc-50);
  --text: var(--zinc-100);
  --text-body: var(--zinc-300);
  --text-muted: var(--zinc-400);
  --text-faint: var(--zinc-500);
  --accent: var(--blue-400);
  --accent-deep: var(--blue-500);
  --accent-hover: var(--blue-300);
  --accent-deep-hover: var(--blue-400);
  --on-accent: var(--zinc-950);
  --link: var(--blue-400);
  --link-hover: var(--blue-300);
  --focus: var(--blue-500);
  --active-bg: rgba(24, 29, 74, 0.5);
  --active-text: var(--blue-300);
  --active-line: var(--blue-400);
  --active-border: rgba(91, 108, 235, 0.5);
  --tab-line: var(--blue-400);
  --glass-header: rgba(11, 15, 22, 0.6);
  --glass-sidebar: rgba(21, 27, 38, 0.6);
  --glass-card: rgba(21, 27, 38, 0.6);
  --cable-copper: var(--zinc-400);
  --cable-fiber: var(--cyan-500);
  --cable-mixed: var(--blue-500);
  --load-ok: var(--cyan-500);
  --load-warn: #f59e0b;
  --load-crit: #ef4444;
  --track: var(--zinc-800);
  --badge-neutral-bg: var(--zinc-800);
  --badge-neutral-text: var(--zinc-300);
  --badge-neutral-ring: var(--zinc-700);
  --badge-blue-bg: var(--blue-950);
  --badge-blue-text: var(--blue-300);
  --badge-blue-ring: var(--blue-900);
  --badge-green-bg: #022c22;
  --badge-green-text: #6ee7b7;
  --badge-green-ring: #064e3b;
  --badge-amber-bg: #451a03;
  --badge-amber-text: #fcd34d;
  --badge-amber-ring: #78350f;
  --badge-red-bg: #450a0a;
  --badge-red-text: #fca5a5;
  --badge-red-ring: #7f1d1d;
  --count-bg: rgba(245, 158, 11, 0.15);
  --count-text: #fcd34d;
  --bell-dot: #f59e0b;
  --danger-text: #f87171;
  --danger-line: rgba(127, 29, 29, 0.7);
  --danger-hover: rgba(69, 10, 10, 0.4);
  --alert-err-bg: rgba(239, 68, 68, 0.1);
  --alert-err-text: #f87171;
  --alert-err-line: rgba(239, 68, 68, 0.3);
  --cta-from: var(--blue-600);
  --cta-to: var(--cyan-500);
  --cta-hover-from: var(--blue-500);
  --cta-hover-to: var(--cyan-400);
  --orb-cyan: rgba(6, 182, 212, 0.1);
  --orb-blue: rgba(65, 82, 221, 0.1);
  --role-switch: var(--blue-400);
  --role-switch-bg: rgba(24, 29, 74, 0.5);
  --role-router: #a78bfa;
  --role-router-bg: rgba(46, 16, 101, 0.5);
  --role-firewall: #f87171;
  --role-firewall-bg: rgba(69, 10, 10, 0.5);
  --role-server: #34d399;
  --role-server-bg: rgba(2, 44, 34, 0.5);
  --role-ap: #22d3ee;
  --role-ap-bg: rgba(8, 51, 68, 0.5);
  --role-storage: #2dd4bf;
  --role-storage-bg: rgba(4, 47, 46, 0.5);
  --role-patch: #fbbf24;
  --role-patch-bg: rgba(69, 26, 3, 0.5);
  --tint-blue-bg: #181d4a;
  --tint-blue-text: #a7b9fc;
  --tint-emerald-bg: #022c22;
  --tint-emerald-text: #6ee7b7;
  --tint-amber-bg: #451a03;
  --tint-amber-text: #fcd34d;
  --tint-violet-bg: #2e1065;
  --tint-violet-text: #c4b5fd;
  --tint-rose-bg: #4c0519;
  --tint-rose-text: #fda4af;
  --tint-teal-bg: #042f2e;
  --tint-teal-text: #5eead4;
  --tint-cyan-bg: #083344;
  --tint-cyan-text: #67e8f9;
  --menu-bg: rgba(21, 27, 38, 0.95);
  --drawer-scrim: rgba(21, 27, 38, 0.25);
  --timeline-dot: var(--blue-400);
  --shadow-xs: 0 1px 2px 0 rgba(16, 24, 40, 0.04);
  --shadow-sm:
    0 1px 1px 0 rgba(16, 24, 40, 0.04), 0 1px 3px 0 rgba(16, 24, 40, 0.05),
    0 2px 8px -2px rgba(16, 24, 40, 0.05);
  --shadow-md:
    0 1px 2px 0 rgba(16, 24, 40, 0.05), 0 3px 6px -2px rgba(16, 24, 40, 0.06),
    0 8px 18px -4px rgba(16, 24, 40, 0.08);
  --shadow-lg:
    0 2px 4px -1px rgba(16, 24, 40, 0.05), 0 8px 16px -4px rgba(16, 24, 40, 0.08),
    0 20px 40px -8px rgba(16, 24, 40, 0.14);
  --shadow-card: 0 0 0 1px rgba(255, 255, 255, 0.05);
  --shadow-primary: none;
  --shadow-login: 0 0 40px rgba(0, 0, 0, 0.5);
  --shadow-cta: 0 0 15px rgba(6, 182, 212, 0.4);
  --shadow-cta-hover: 0 0 25px rgba(6, 182, 212, 0.6);
}
[data-theme='hell'] {
  --zinc-50: #f6f8fb;
  --zinc-100: #eef1f6;
  --zinc-200: #e0e5ed;
  --zinc-300: #cbd3df;
  --zinc-400: #96a1b4;
  --zinc-500: #67748b;
  --zinc-600: #4b576d;
  --zinc-700: #374254;
  --zinc-800: #232b3a;
  --zinc-900: #151b26;
  --zinc-950: #0b0f16;
  --blue-50: #eef2ff;
  --blue-100: #e0e7ff;
  --blue-200: #c8d4fe;
  --blue-300: #a7b9fc;
  --blue-400: #8397f8;
  --blue-500: #5b6ceb;
  --blue-600: #4152dd;
  --blue-700: #3341b4;
  --blue-800: #2b3690;
  --blue-900: #273072;
  --blue-950: #181d4a;
  --cyan-400: #22d3ee;
  --cyan-500: #06b6d4;
  --bg: var(--zinc-100);
  --surface: #ffffff;
  --surface-hover: var(--zinc-50);
  --surface-inset: #ffffff;
  --surface-subtle: rgba(246, 248, 251, 0.7);
  --line: rgba(224, 229, 237, 0.8);
  --line-soft: var(--zinc-100);
  --line-control: var(--zinc-300);
  --line-control-hover: var(--zinc-400);
  --text-strong: var(--zinc-900);
  --text: var(--zinc-900);
  --text-body: var(--zinc-700);
  --text-muted: var(--zinc-500);
  --text-faint: var(--zinc-400);
  --accent: var(--blue-500);
  --accent-deep: var(--blue-600);
  --accent-hover: var(--blue-600);
  --accent-deep-hover: var(--blue-700);
  --on-accent: #ffffff;
  --link: var(--blue-600);
  --link-hover: var(--blue-700);
  --focus: var(--blue-500);
  --active-bg: var(--blue-50);
  --active-text: var(--blue-700);
  --active-line: var(--blue-500);
  --active-border: var(--blue-300);
  --tab-line: var(--blue-600);
  --glass-header: rgba(255, 255, 255, 0.65);
  --glass-sidebar: rgba(255, 255, 255, 0.7);
  --glass-card: rgba(255, 255, 255, 0.8);
  --cable-copper: var(--zinc-400);
  --cable-fiber: var(--cyan-500);
  --cable-mixed: var(--blue-500);
  --load-ok: var(--cyan-500);
  --load-warn: #f59e0b;
  --load-crit: #ef4444;
  --track: var(--zinc-200);
  --badge-neutral-bg: var(--zinc-100);
  --badge-neutral-text: var(--zinc-700);
  --badge-neutral-ring: var(--zinc-200);
  --badge-blue-bg: var(--blue-50);
  --badge-blue-text: var(--blue-700);
  --badge-blue-ring: var(--blue-200);
  --badge-green-bg: #ecfdf5;
  --badge-green-text: #047857;
  --badge-green-ring: #a7f3d0;
  --badge-amber-bg: #fffbeb;
  --badge-amber-text: #92400e;
  --badge-amber-ring: #fde68a;
  --badge-red-bg: #fef2f2;
  --badge-red-text: #b91c1c;
  --badge-red-ring: #fecaca;
  --count-bg: rgba(245, 158, 11, 0.15);
  --count-text: #b45309;
  --bell-dot: #f59e0b;
  --danger-text: #b91c1c;
  --danger-line: #fecaca;
  --danger-hover: #fef2f2;
  --alert-err-bg: #fef2f2;
  --alert-err-text: #b91c1c;
  --alert-err-line: #fca5a5;
  --cta-from: var(--blue-600);
  --cta-to: var(--cyan-500);
  --cta-hover-from: var(--blue-500);
  --cta-hover-to: var(--cyan-400);
  --orb-cyan: rgba(6, 182, 212, 0.15);
  --orb-blue: rgba(91, 108, 235, 0.15);
  --role-switch: var(--blue-500);
  --role-switch-bg: var(--blue-50);
  --role-router: #8b5cf6;
  --role-router-bg: #f5f3ff;
  --role-firewall: #ef4444;
  --role-firewall-bg: #fef2f2;
  --role-server: #10b981;
  --role-server-bg: #ecfdf5;
  --role-ap: #06b6d4;
  --role-ap-bg: #ecfeff;
  --role-storage: #14b8a6;
  --role-storage-bg: #f0fdfa;
  --role-patch: #f59e0b;
  --role-patch-bg: #fffbeb;
  --tint-blue-bg: #e0e7ff;
  --tint-blue-text: #3341b4;
  --tint-emerald-bg: #d1fae5;
  --tint-emerald-text: #047857;
  --tint-amber-bg: #fef3c7;
  --tint-amber-text: #92400e;
  --tint-violet-bg: #ede9fe;
  --tint-violet-text: #6d28d9;
  --tint-rose-bg: #ffe4e6;
  --tint-rose-text: #be123c;
  --tint-teal-bg: #ccfbf1;
  --tint-teal-text: #0f766e;
  --tint-cyan-bg: #cffafe;
  --tint-cyan-text: #0e7490;
  --menu-bg: rgba(255, 255, 255, 0.95);
  --drawer-scrim: rgba(21, 27, 38, 0.25);
  --timeline-dot: var(--blue-500);
  --shadow-xs: 0 1px 2px 0 rgba(16, 24, 40, 0.04);
  --shadow-sm:
    0 1px 1px 0 rgba(16, 24, 40, 0.04), 0 1px 3px 0 rgba(16, 24, 40, 0.05),
    0 2px 8px -2px rgba(16, 24, 40, 0.05);
  --shadow-md:
    0 1px 2px 0 rgba(16, 24, 40, 0.05), 0 3px 6px -2px rgba(16, 24, 40, 0.06),
    0 8px 18px -4px rgba(16, 24, 40, 0.08);
  --shadow-lg:
    0 2px 4px -1px rgba(16, 24, 40, 0.05), 0 8px 16px -4px rgba(16, 24, 40, 0.08),
    0 20px 40px -8px rgba(16, 24, 40, 0.14);
  --shadow-card:
    0 1px 1px 0 rgba(16, 24, 40, 0.04), 0 1px 3px 0 rgba(16, 24, 40, 0.05),
    0 2px 8px -2px rgba(16, 24, 40, 0.05);
  --shadow-primary: 0 1px 2px 0 rgba(65, 82, 221, 0.25), 0 1px 3px 0 rgba(65, 82, 221, 0.25);
  --shadow-login:
    0 2px 4px -1px rgba(16, 24, 40, 0.05), 0 8px 16px -4px rgba(16, 24, 40, 0.08),
    0 20px 40px -8px rgba(16, 24, 40, 0.14);
  --shadow-cta: 0 0 15px rgba(6, 182, 212, 0.4);
  --shadow-cta-hover: 0 0 25px rgba(6, 182, 212, 0.6);
}
:root {
  --space-0_5: 2px;
  --space-1: 4px;
  --space-1_5: 6px;
  --space-2: 8px;
  --space-2_5: 10px;
  --space-3: 12px;
  --space-3_5: 14px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-14: 56px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 11px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-full: 9999px;
  --sidebar-width: 256px;
  --header-height: 56px;
  --content-max: 1280px;
  --dialog-width: 32rem;
  --login-width: 24rem;
  --font-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
  --font-mono: 'Geist Mono', ui-monospace, monospace;
}
