:root,[data-theme=light]{--bg: #f7f8fb;--bg-subtle: #f0f2f7;--card: #ffffff;--card-hover: #fafafc;--border: #e2e5ed;--border-light: #eceef4;--text: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--muted: #6b7280;--indigo: #6366f1;--indigo-light: #e0e7ff;--indigo-dark: #4f46e5;--green: #059669;--green-light: #d1fae5;--amber: #d97706;--amber-light: #fef3c7;--red: #dc2626;--red-light: #fee2e2;--teal: #0d9488;--teal-light: #ccfbf1;--pink: #db2777;--pink-light: #fce7f3;--orange: #ea580c;--orange-light: #ffedd5;--purple: #7c3aed;--purple-light: #ede9fe;--blue: #2563eb;--blue-light: #dbeafe;--yellow: #ca8a04;--yellow-light: #fef9c3;--gray: #6b7280;--gray-light: #f3f4f6;--shadow-ring: 0 0 0 1px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .04);--overlay: rgba(0, 0, 0, .45);--sidebar-bg: #ffffff;--sidebar-border: #e2e5ed}[data-theme=dark]{--bg: #0f1117;--bg-subtle: #161821;--card: #1a1c25;--card-hover: #22242e;--border: #2a2d3a;--border-light: #3d4155;--text: #f1f3f9;--text-secondary: #a0a6b8;--text-tertiary: #7a8199;--muted: #7a8199;--indigo: #818cf8;--indigo-light: #1e1b4b;--indigo-dark: #6366f1;--green: #34d399;--green-light: #064e3b;--amber: #fbbf24;--amber-light: #451a03;--red: #f87171;--red-light: #450a0a;--teal: #2dd4bf;--teal-light: #042f2e;--pink: #f472b6;--pink-light: #500724;--orange: #fb923c;--orange-light: #431407;--purple: #a78bfa;--purple-light: #2e1065;--blue: #60a5fa;--blue-light: #1e3a5f;--yellow: #fde047;--yellow-light: #3f3010;--gray: #9ca3af;--gray-light: #1f2937;--shadow-ring: 0 0 0 1px rgba(255, 255, 255, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .2);--overlay: rgba(0, 0, 0, .7);--sidebar-bg: #13151e;--sidebar-border: #2a2d3a}:root{--font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", "Monaco", "Cascadia Code", monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--fw-black: 900;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 16px;--text-2xl: 18px;--text-3xl: 20px;--text-4xl: 24px;--text-5xl: 28px;--text-6xl: 32px}:root{--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--space-5xl: 48px}:root{--radius-xs: 4px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px}:root{--transition: all .2s ease;--transition-fast: all .15s ease;--transition-slow: all .3s ease;--transition-card: all .2s cubic-bezier(.4, 0, .2, 1)}:root{--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-bg: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-notification: 800}:root{--sidebar-width: 220px;--sidebar-collapsed-width: 56px;--header-height: 56px;--content-max-width: 1280px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--fw-regular);color:var(--text);background-color:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color .2s ease,color .2s ease}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-bold);line-height:1.25;color:var(--text)}a{color:var(--indigo);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--indigo-dark)}p{color:var(--text-secondary);line-height:1.6}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-xs);padding:1px 6px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:focus-visible{outline:2px solid var(--indigo);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--indigo-light);color:var(--indigo-dark)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono{font-family:var(--font-mono)}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--sidebar-width);transition:margin-left .3s ease}.app-content{flex:1;padding:var(--space-3xl);overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3xl);gap:var(--space-lg)}.page-title{font-size:var(--text-5xl);font-weight:var(--fw-black);letter-spacing:-.02em;color:var(--text)}.page-subtitle{font-size:var(--text-md);color:var(--text-secondary);margin-top:var(--space-xs)}.divider{height:1px;background:var(--border);margin:var(--space-2xl) 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-5xl) var(--space-2xl);text-align:center;color:var(--text-tertiary);gap:var(--space-md)}.empty-state-icon{opacity:.4;margin-bottom:var(--space-sm)}.empty-state-title{font-size:var(--text-xl);font-weight:var(--fw-semibold);color:var(--text-secondary)}.empty-state-desc{font-size:var(--text-base);max-width:360px;line-height:1.6}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-subtle) 25%,var(--card-hover) 50%,var(--bg-subtle) 75%);background-size:800px 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}button,a,input,select,textarea{transition:var(--transition-fast)}
