:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-danger-light:#fef2f2;--color-success:#16a34a;--color-success-light:#f0fdf4;--color-warning:#d97706;--color-warning-light:#fffbeb;--color-info:#0891b2;--color-info-light:#ecfeff;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-sidebar-bg:#1e293b;--color-sidebar-text:#cbd5e1;--color-sidebar-text-active:#fff;--color-sidebar-item-hover:#334155;--color-sidebar-item-active:#2563eb;--sidebar-width:260px;--sidebar-collapsed-width:64px;--topbar-height:60px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--transition:.15s ease;--transition-slow:.3s ease}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-border)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
