/**
 * VIP ProxyGuard — full UI themes (data-theme on <html>), aligned with VIP Codec catalog.
 */

html[data-theme="guard"],
html[data-dgs-theme="guard"] {
    --dgs-p-bg: #0b0e14;
    --dgs-p-surface: #151921;
    --dgs-p-surface-2: #10141c;
    --dgs-p-border: rgba(71, 85, 105, 0.35);
    --dgs-p-text: #f1f5f9;
    --dgs-p-muted: #8b95a8;
    --dgs-accent: #3b82f6;
    --dgs-accent-hover: #2563eb;
    --dgs-accent-dim: rgba(59, 130, 246, 0.18);
    --dgs-accent-border: rgba(59, 130, 246, 0.42);
    --dgs-accent-glow: rgba(59, 130, 246, 0.45);
    --dgs-sidebar-gradient: linear-gradient(180deg, #070a10 0%, #0d1017 55%, #111827 100%);
    --dgs-topbar-bg: rgba(13, 16, 23, 0.96);
    --dgs-main-gradient: linear-gradient(165deg, #0d1017 0%, #0b0e14 48%, #0a0e14 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(21, 25, 33, 0.98), rgba(15, 20, 28, 0.98));
    /* Guard — component tokens (default look, unchanged) */
    --dgs-main-glow-a: radial-gradient(1200px 600px at 10% -10%, rgba(59, 130, 246, 0.08), transparent 55%);
    --dgs-main-glow-b: radial-gradient(900px 500px at 90% 0%, rgba(168, 85, 247, 0.06), transparent 50%);
    --dgs-table-stripe-odd: rgba(22, 29, 46, 0.85);
    --dgs-table-stripe-even: rgba(18, 24, 38, 0.45);
    --dgs-table-hover: rgba(59, 130, 246, 0.12);
    --dgs-table-code-bg: rgba(59, 130, 246, 0.12);
    --dgs-table-code-fg: #93c5fd;
    --dgs-table-link: #34d399;
    --dgs-strip-bg: linear-gradient(90deg, rgba(10, 14, 24, 0.99), rgba(14, 20, 34, 0.99));
    --dgs-strip-border: rgba(96, 165, 250, 0.22);
    --dgs-strip-chip-bg: rgba(22, 30, 48, 0.92);
    --dgs-strip-chip-border: rgba(148, 163, 184, 0.22);
    --dgs-strip-chip-text: #b8c5d6;
    --dgs-metrics-bg: rgba(8, 12, 22, 0.62);
    --dgs-metrics-border: rgba(148, 163, 184, 0.18);
    --dgs-metrics-label: #64748b;
    --dgs-metrics-value: #f8fafc;
    --dgs-topnav-link-color: #94a3b8;
    --dgs-topnav-link-active-fg: #ffffff;
    --dgs-quick-card-bg: #ffffff;
    --dgs-quick-card-fg: #0f172a;
    --dgs-quick-card-muted: #475569;
    --dgs-quick-card-border: #e2e8f0;
}

html[data-theme="aurora"] {
    --dgs-p-bg: #120818;
    --dgs-p-surface: #241230;
    --dgs-p-surface-2: #1a0f24;
    --dgs-p-border: rgba(244, 114, 182, 0.2);
    --dgs-p-text: #fdf4ff;
    --dgs-p-muted: #c4a8d4;
    --dgs-accent: #f472b6;
    --dgs-accent-hover: #ec4899;
    --dgs-accent-dim: rgba(244, 114, 182, 0.22);
    --dgs-accent-border: rgba(244, 114, 182, 0.45);
    --dgs-accent-glow: rgba(192, 132, 252, 0.45);
    --dgs-sidebar-gradient: linear-gradient(188deg, #831843 0%, #9d174d 35%, #5b21b6 100%);
    --dgs-topbar-bg: rgba(26, 15, 36, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #1a0f24 0%, #120818 50%, #0f0614 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(36, 18, 48, 0.96), rgba(26, 15, 36, 0.96));
}

html[data-theme="obsidian"] {
    --dgs-p-bg: #080c11;
    --dgs-p-surface: #111c28;
    --dgs-p-surface-2: #0f1724;
    --dgs-p-border: rgba(125, 211, 252, 0.16);
    --dgs-p-text: #e8eef7;
    --dgs-p-muted: #8ba3bd;
    --dgs-accent: #22d3ee;
    --dgs-accent-hover: #06b6d4;
    --dgs-accent-dim: rgba(34, 211, 238, 0.18);
    --dgs-accent-border: rgba(34, 211, 238, 0.42);
    --dgs-accent-glow: rgba(34, 211, 238, 0.45);
    --dgs-sidebar-gradient: linear-gradient(188deg, #0c4a6e 0%, #164e63 45%, #1e3a8a 100%);
    --dgs-topbar-bg: rgba(15, 25, 40, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #0f1928 0%, #080c11 50%, #060a10 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(17, 28, 40, 0.97), rgba(12, 20, 32, 0.97));
}

html[data-theme="ember"] {
    --dgs-p-bg: #120c09;
    --dgs-p-surface: #261c14;
    --dgs-p-surface-2: #1c1410;
    --dgs-p-border: rgba(251, 191, 36, 0.18);
    --dgs-p-text: #fef3e9;
    --dgs-p-muted: #b09a87;
    --dgs-accent: #fb923c;
    --dgs-accent-hover: #f97316;
    --dgs-accent-dim: rgba(251, 146, 60, 0.22);
    --dgs-accent-border: rgba(251, 146, 60, 0.45);
    --dgs-accent-glow: rgba(251, 146, 60, 0.45);
    --dgs-sidebar-gradient: linear-gradient(178deg, #7c2d12 0%, #9a3412 50%, #451a03 100%);
    --dgs-topbar-bg: rgba(28, 20, 16, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #1a120c 0%, #120c09 50%, #0e0806 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(42, 28, 18, 0.96), rgba(28, 20, 16, 0.96));
}

html[data-theme="botanical"] {
    --dgs-p-bg: #060d0c;
    --dgs-p-surface: #0f201c;
    --dgs-p-surface-2: #0f1a17;
    --dgs-p-border: rgba(45, 212, 191, 0.18);
    --dgs-p-text: #ecfdf8;
    --dgs-p-muted: #86b8ad;
    --dgs-accent: #2dd4bf;
    --dgs-accent-hover: #14b8a6;
    --dgs-accent-dim: rgba(45, 212, 191, 0.2);
    --dgs-accent-border: rgba(45, 212, 191, 0.45);
    --dgs-accent-glow: rgba(45, 212, 191, 0.4);
    --dgs-sidebar-gradient: linear-gradient(188deg, #011612 0%, #064e3b 55%, #022f2a 100%);
    --dgs-topbar-bg: rgba(12, 28, 24, 0.93);
    --dgs-main-gradient: linear-gradient(165deg, #0c1816 0%, #060d0c 50%, #040908 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(15, 32, 28, 0.96), rgba(10, 26, 23, 0.96));
}

html[data-theme="nord"] {
    --dgs-p-bg: #2e3440;
    --dgs-p-surface: #3b4252;
    --dgs-p-surface-2: #343b48;
    --dgs-p-border: rgba(136, 192, 208, 0.22);
    --dgs-p-text: #eceff4;
    --dgs-p-muted: #a8b0bd;
    --dgs-accent: #88c0d0;
    --dgs-accent-hover: #5e81ac;
    --dgs-accent-dim: rgba(136, 192, 208, 0.2);
    --dgs-accent-border: rgba(136, 192, 208, 0.45);
    --dgs-accent-glow: rgba(136, 192, 208, 0.35);
    --dgs-sidebar-gradient: linear-gradient(180deg, #3b4252 0%, #2e3440 100%);
    --dgs-topbar-bg: rgba(46, 52, 64, 0.96);
    --dgs-main-gradient: linear-gradient(165deg, #343b48 0%, #2e3440 50%, #292e38 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(59, 66, 82, 0.96), rgba(46, 52, 64, 0.96));
}

html[data-theme="midnight"] {
    --dgs-p-bg: #050810;
    --dgs-p-surface: #0e1626;
    --dgs-p-surface-2: #0a1220;
    --dgs-p-border: rgba(56, 189, 248, 0.16);
    --dgs-p-text: #e8f4ff;
    --dgs-p-muted: #7a9ab8;
    --dgs-accent: #38bdf8;
    --dgs-accent-hover: #0ea5e9;
    --dgs-accent-dim: rgba(56, 189, 248, 0.18);
    --dgs-accent-border: rgba(56, 189, 248, 0.42);
    --dgs-accent-glow: rgba(56, 189, 248, 0.45);
    --dgs-sidebar-gradient: linear-gradient(188deg, #020617 0%, #0c1929 45%, #1e3a5f 100%);
    --dgs-topbar-bg: rgba(10, 18, 32, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #0a1220 0%, #050810 50%, #030508 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(14, 22, 38, 0.97), rgba(10, 18, 32, 0.97));
}

html[data-theme="copper"] {
    --dgs-p-bg: #100a06;
    --dgs-p-surface: #241a12;
    --dgs-p-surface-2: #1a120c;
    --dgs-p-border: rgba(217, 119, 6, 0.2);
    --dgs-p-text: #fef3e2;
    --dgs-p-muted: #b8956f;
    --dgs-accent: #f59e0b;
    --dgs-accent-hover: #d97706;
    --dgs-accent-dim: rgba(245, 158, 11, 0.2);
    --dgs-accent-border: rgba(245, 158, 11, 0.45);
    --dgs-accent-glow: rgba(245, 158, 11, 0.4);
    --dgs-sidebar-gradient: linear-gradient(178deg, #431407 0%, #7c2d12 55%, #292524 100%);
    --dgs-topbar-bg: rgba(26, 18, 12, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #1a120c 0%, #100a06 50%, #0c0704 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(36, 26, 18, 0.96), rgba(26, 18, 12, 0.96));
}

html[data-theme="sunset"] {
    --dgs-p-bg: #1a0510;
    --dgs-p-surface: #2d0f1f;
    --dgs-p-surface-2: #240818;
    --dgs-p-border: rgba(251, 113, 133, 0.2);
    --dgs-p-text: #fff1f2;
    --dgs-p-muted: #d4a0ad;
    --dgs-accent: #fb7185;
    --dgs-accent-hover: #f43f5e;
    --dgs-accent-dim: rgba(251, 113, 133, 0.22);
    --dgs-accent-border: rgba(251, 113, 133, 0.45);
    --dgs-accent-glow: rgba(251, 113, 133, 0.4);
    --dgs-sidebar-gradient: linear-gradient(188deg, #4c0519 0%, #9f1239 45%, #701a75 100%);
    --dgs-topbar-bg: rgba(36, 10, 24, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #240818 0%, #1a0510 50%, #12030a 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(45, 15, 31, 0.96), rgba(36, 10, 24, 0.96));
}

html[data-theme="royal"] {
    --dgs-p-bg: #1a0b3d;
    --dgs-p-surface: #2e1065;
    --dgs-p-surface-2: #240a52;
    --dgs-p-border: rgba(167, 139, 250, 0.22);
    --dgs-p-text: #f5f3ff;
    --dgs-p-muted: #c4b5fd;
    --dgs-accent: #a78bfa;
    --dgs-accent-hover: #8b5cf6;
    --dgs-accent-dim: rgba(167, 139, 250, 0.22);
    --dgs-accent-border: rgba(167, 139, 250, 0.45);
    --dgs-accent-glow: rgba(167, 139, 250, 0.45);
    --dgs-sidebar-gradient: linear-gradient(188deg, #4c1d95 0%, #6d28d9 50%, #312e81 100%);
    --dgs-topbar-bg: rgba(36, 16, 80, 0.94);
    --dgs-main-gradient: linear-gradient(165deg, #240a52 0%, #1a0b3d 50%, #120828 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(46, 16, 101, 0.96), rgba(36, 16, 80, 0.96));
}

html[data-theme="neon"] {
    --dgs-p-bg: #020804;
    --dgs-p-surface: #061208;
    --dgs-p-surface-2: #041006;
    --dgs-p-border: rgba(74, 222, 128, 0.2);
    --dgs-p-text: #ecfdf5;
    --dgs-p-muted: #6ee7a0;
    --dgs-accent: #4ade80;
    --dgs-accent-hover: #22c55e;
    --dgs-accent-dim: rgba(74, 222, 128, 0.16);
    --dgs-accent-border: rgba(74, 222, 128, 0.42);
    --dgs-accent-glow: rgba(74, 222, 128, 0.45);
    --dgs-sidebar-gradient: linear-gradient(180deg, #022c22 0%, #041006 55%, #000000 100%);
    --dgs-topbar-bg: rgba(4, 16, 8, 0.96);
    --dgs-main-gradient: linear-gradient(165deg, #041006 0%, #020804 50%, #010402 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(6, 18, 8, 0.97), rgba(4, 16, 8, 0.97));
}

html[data-theme="lumen"] {
    --dgs-p-bg: #f1f5f9;
    --dgs-p-surface: #ffffff;
    --dgs-p-surface-2: #f8fafc;
    --dgs-p-border: rgba(99, 102, 241, 0.2);
    --dgs-p-text: #0f172a;
    --dgs-p-muted: #64748b;
    --dgs-accent: #4f46e5;
    --dgs-accent-hover: #4338ca;
    --dgs-accent-dim: rgba(79, 70, 229, 0.12);
    --dgs-accent-border: rgba(79, 70, 229, 0.35);
    --dgs-accent-glow: rgba(79, 70, 229, 0.25);
    --dgs-sidebar-gradient: linear-gradient(188deg, #3730a3 0%, #4f46e5 55%, #312e81 100%);
    --dgs-topbar-bg: rgba(255, 255, 255, 0.92);
    --dgs-main-gradient: linear-gradient(165deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
    --dgs-topnav-bg: linear-gradient(90deg, rgba(248, 250, 252, 0.98), rgba(241, 245, 249, 0.98));
    --dgs-main-glow-a: radial-gradient(1200px 600px at 10% -10%, rgba(79, 70, 229, 0.07), transparent 55%);
    --dgs-main-glow-b: radial-gradient(900px 500px at 90% 0%, rgba(99, 102, 241, 0.05), transparent 50%);
    --dgs-table-stripe-odd: rgba(241, 245, 249, 0.95);
    --dgs-table-stripe-even: rgba(255, 255, 255, 0.98);
    --dgs-table-hover: rgba(79, 70, 229, 0.1);
    --dgs-table-code-bg: rgba(79, 70, 229, 0.1);
    --dgs-table-code-fg: #4338ca;
    --dgs-table-link: #4f46e5;
    --dgs-strip-bg: linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.98));
    --dgs-strip-border: rgba(99, 102, 241, 0.22);
    --dgs-strip-chip-bg: rgba(255, 255, 255, 0.92);
    --dgs-strip-chip-border: rgba(148, 163, 184, 0.28);
    --dgs-strip-chip-text: #334155;
    --dgs-metrics-bg: rgba(255, 255, 255, 0.88);
    --dgs-metrics-border: rgba(148, 163, 184, 0.28);
    --dgs-metrics-label: #64748b;
    --dgs-metrics-value: #0f172a;
    --dgs-topnav-link-color: #64748b;
    --dgs-topnav-link-active-fg: #0f172a;
    --dgs-quick-card-bg: #ffffff;
    --dgs-quick-card-fg: #0f172a;
    --dgs-quick-card-muted: #475569;
    --dgs-quick-card-border: #e2e8f0;
}

/* Non-guard dark themes — derive table/strip/metrics from accent */
html[data-theme]:not([data-theme="guard"]):not([data-theme="lumen"]) {
    --dgs-main-glow-a: radial-gradient(1200px 600px at 10% -10%, var(--dgs-accent-dim), transparent 55%);
    --dgs-main-glow-b: radial-gradient(900px 500px at 90% 0%, color-mix(in srgb, var(--dgs-accent) 10%, transparent), transparent 50%);
    --dgs-table-stripe-odd: color-mix(in srgb, var(--dgs-p-surface-2) 92%, var(--dgs-accent) 8%);
    --dgs-table-stripe-even: color-mix(in srgb, var(--dgs-p-surface) 75%, transparent);
    --dgs-table-hover: var(--dgs-accent-dim);
    --dgs-table-code-bg: var(--dgs-accent-dim);
    --dgs-table-code-fg: color-mix(in srgb, var(--dgs-accent) 80%, white);
    --dgs-table-link: color-mix(in srgb, var(--dgs-accent) 70%, #34d399);
    --dgs-strip-bg: linear-gradient(90deg, color-mix(in srgb, var(--dgs-p-bg) 97%, var(--dgs-accent)), color-mix(in srgb, var(--dgs-p-surface-2) 96%, var(--dgs-accent)));
    --dgs-strip-border: var(--dgs-accent-border);
    --dgs-strip-chip-bg: color-mix(in srgb, var(--dgs-p-surface) 90%, var(--dgs-accent));
    --dgs-strip-chip-border: var(--dgs-p-border);
    --dgs-strip-chip-text: var(--dgs-p-text);
    --dgs-metrics-bg: color-mix(in srgb, var(--dgs-p-surface) 78%, transparent);
    --dgs-metrics-border: var(--dgs-p-border);
    --dgs-metrics-label: var(--dgs-p-muted);
    --dgs-metrics-value: var(--dgs-p-text);
    --dgs-topnav-link-color: var(--dgs-p-muted);
    --dgs-topnav-link-active-fg: #ffffff;
    --dgs-quick-card-bg: color-mix(in srgb, var(--dgs-p-surface) 88%, white);
    --dgs-quick-card-fg: var(--dgs-p-text);
    --dgs-quick-card-muted: var(--dgs-p-muted);
    --dgs-quick-card-border: var(--dgs-p-border);
}

/* Apply theme tokens to shell */
body.dgs-premium {
    background: var(--dgs-p-bg);
    color: var(--dgs-p-text);
}

body.dgs-premium #layout-wrapper .dgs-sidenav.vertical-menu {
    background: var(--dgs-sidebar-gradient) !important;
    border-right-color: var(--dgs-p-border) !important;
    box-shadow: 4px 0 32px rgba(0, 0, 0, 0.35);
}

body.dgs-premium #layout-wrapper header#page-topbar.dgs-topbar {
    background: var(--dgs-topbar-bg) !important;
    border-bottom-color: var(--dgs-p-border) !important;
}

body.dgs-premium #layout-wrapper.dgs-app .dgs-topnav {
    background: var(--dgs-topnav-bg) !important;
    border-bottom-color: var(--dgs-p-border);
}

body.dgs-premium .dgs-premium-card,
body.dgs-premium #layout-wrapper .card {
    background: var(--dgs-p-surface) !important;
    border-color: var(--dgs-p-border) !important;
    color: var(--dgs-p-text);
}

body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu .menu-title {
    color: var(--dgs-p-muted);
}

body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu ul li > a {
    color: var(--dgs-p-text);
}

body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu ul li.mm-active > a,
body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu ul li.active > a {
    color: #fff !important;
    background: var(--dgs-accent-dim) !important;
    box-shadow: inset 3px 0 0 var(--dgs-accent), 0 0 0 1px var(--dgs-accent-border) !important;
}

body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu ul li > a:hover,
body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu ul li > a:focus {
    color: var(--dgs-accent) !important;
    background: var(--dgs-accent-dim) !important;
}

body.dgs-premium .btn-primary {
    background-color: var(--dgs-accent) !important;
    border-color: var(--dgs-accent) !important;
}

body.dgs-premium .btn-primary:hover {
    background-color: var(--dgs-accent-hover) !important;
    border-color: var(--dgs-accent-hover) !important;
}

html[data-theme="lumen"] body.dgs-premium #layout-wrapper .dgs-sidenav #sidebar-menu ul li > a {
    color: rgba(255, 255, 255, 0.92);
}

html[data-theme="lumen"] body.dgs-premium .text-muted,
html[data-theme="lumen"] body.dgs-premium .dgs-p-muted {
    color: var(--dgs-p-muted) !important;
}
