:root,:root[data-theme=dark]{color-scheme:dark;--c-bg: #0d0f14;--c-bg-subtle: #090a0e;--c-bg-elevated: #15181f;--c-surface: #15181f;--c-surface-2: #1f232e;--c-surface-3: #262b38;--c-surface-inset: #090a0e;--c-overlay: rgba(4, 6, 10, .68);--c-border: #232838;--c-border-strong: #303648;--c-border-subtle: #1b1f2b;--c-text: #e8ebf2;--c-text-2: #a3abbd;--c-text-3: #6f7789;--c-text-inverse: #0d0f14;--c-brand: #6366f1;--c-brand-hover: #818cf8;--c-brand-active: #4f46e5;--c-brand-soft: rgba(99, 102, 241, .16);--c-brand-soft-strong: rgba(99, 102, 241, .28);--c-brand-text: #a5b4fc;--c-success: #22c55e;--c-success-soft: rgba(34, 197, 94, .14);--c-success-text: #4ade80;--c-warning: #f59e0b;--c-warning-soft: rgba(245, 158, 11, .14);--c-warning-text: #fbbf24;--c-danger: #ef4444;--c-danger-soft: rgba(239, 68, 68, .14);--c-danger-text: #f87171;--c-info: #38bdf8;--c-info-soft: rgba(56, 189, 248, .14);--c-info-text: #7dd3fc;--c-chart-1: #6366f1;--c-chart-2: #22d3ee;--c-chart-3: #f59e0b;--c-chart-4: #ec4899;--c-chart-5: #34d399;--c-chart-grid: #262c3a;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 12px 32px -8px rgba(0, 0, 0, .65), 0 2px 8px rgba(0, 0, 0, .35);--shadow-pop: 0 16px 48px -12px rgba(0, 0, 0, .7);--scrollbar-thumb: #2c3242;--scrollbar-thumb-hover: #3a4257}:root[data-theme=light]{color-scheme:light;--c-bg: #f4f5f8;--c-bg-subtle: #eceef3;--c-bg-elevated: #ffffff;--c-surface: #ffffff;--c-surface-2: #f7f8fa;--c-surface-3: #eef0f4;--c-surface-inset: #f7f8fa;--c-overlay: rgba(16, 20, 30, .4);--c-border: #e2e5ec;--c-border-strong: #ccd1dc;--c-border-subtle: #eef0f4;--c-text: #171a22;--c-text-2: #5a6274;--c-text-3: #8b93a5;--c-text-inverse: #ffffff;--c-brand: #4f46e5;--c-brand-hover: #6366f1;--c-brand-active: #4338ca;--c-brand-soft: rgba(79, 70, 229, .1);--c-brand-soft-strong: rgba(79, 70, 229, .18);--c-brand-text: #4338ca;--c-success: #16a34a;--c-success-soft: rgba(22, 163, 74, .12);--c-success-text: #15803d;--c-warning: #d97706;--c-warning-soft: rgba(217, 119, 6, .12);--c-warning-text: #b45309;--c-danger: #dc2626;--c-danger-soft: rgba(220, 38, 38, .1);--c-danger-text: #b91c1c;--c-info: #0284c7;--c-info-soft: rgba(2, 132, 199, .12);--c-info-text: #0369a1;--c-chart-1: #4f46e5;--c-chart-2: #0891b2;--c-chart-3: #d97706;--c-chart-4: #db2777;--c-chart-5: #059669;--c-chart-grid: #e6e9f0;--shadow-1: 0 1px 2px rgba(16, 24, 40, .06);--shadow-2: 0 12px 28px -10px rgba(16, 24, 40, .18), 0 2px 6px rgba(16, 24, 40, .05);--shadow-pop: 0 18px 44px -14px rgba(16, 24, 40, .24);--scrollbar-thumb: #ccd1dc;--scrollbar-thumb-hover: #b3bac8}:root{--font-sans: -apple-system, BlinkMacSystemFont, Segoe UI, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Inter, Helvetica Neue, Arial, sans-serif;--font-mono: SFMono-Regular, JetBrains Mono, Consolas, Liberation Mono, Menlo, monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 26px;--fs-3xl: 32px;--fw-normal: 400;--fw-medium: 500;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-full: 999px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sidebar-w: 236px;--sidebar-w-collapsed: 60px;--topbar-h: 52px;--ease: cubic-bezier(.4, 0, .2, 1);--dur: .16s;--ctl-h: 32px;--ctl-h-sm: 26px;--row-h: 40px;--pad-y: 10px;--gap: 16px}:root[data-density=compact]{--ctl-h: 28px;--ctl-h-sm: 24px;--row-h: 32px;--pad-y: 6px;--gap: 12px}*,*:before,*:after{box-sizing:border-box}html,body,#app{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.55;color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4,h5,h6{font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1.4;color:var(--c-text)}ul,ol{margin:0;padding:0;list-style:none}a{color:var(--c-brand-text);text-decoration:none;transition:color var(--dur) var(--ease)}a:hover{color:var(--c-brand-hover)}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}table{border-collapse:collapse;border-spacing:0;width:100%}img,svg{display:block;max-width:100%}code,kbd,pre{font-family:var(--font-mono);font-size:.92em}hr{border:none;border-top:1px solid var(--c-border);margin:0}:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-full);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:content-box}::selection{background:var(--c-brand-soft-strong);color:var(--c-text)}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--c-text-2)}.dim{color:var(--c-text-3)}.row{display:flex;align-items:center}.row-gap-1{gap:var(--sp-1)}.row-gap-2{gap:var(--sp-2)}.row-gap-3{gap:var(--sp-3)}.row-gap-4{gap:var(--sp-4)}.grow{flex:1 1 auto;min-width:0}.stack-1{display:flex;flex-direction:column;gap:var(--sp-1)}.stack-2{display:flex;flex-direction:column;gap:var(--sp-2)}.stack-3{display:flex;flex-direction:column;gap:var(--sp-3)}.stack-4{display:flex;flex-direction:column;gap:var(--sp-4)}.text-right{text-align:right}.text-center{text-align:center}@media (max-width: 768px){.hide-below-md{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fade-enter-active,.fade-leave-active{transition:opacity var(--dur) var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes crm-spin{to{transform:rotate(360deg)}}@keyframes crm-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes crm-shimmer{0%{background-position:-320px 0}to{background-position:320px 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
