:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-success:#16a34a;--color-warning:#f59e0b;--color-danger:#dc2626;--color-info:#0ea5e9;--color-background:#f5f7fb;--color-surface:#fff;--color-text:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--font-family:"Inter", "Segoe UI", sans-serif;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--space-0:0;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 8px #00000014;--shadow-lg:0 10px 20px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{min-height:100vh}img,picture,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}html{font-size:16px}body{background:var(--color-background);min-height:100vh;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}img{max-width:100%;display:block}.app{min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:260px;min-height:100vh;display:flex}.sidebar-brand{padding:var(--space-xl);border-bottom:1px solid var(--color-border)}.sidebar-brand h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.sidebar-nav{gap:var(--space-xs);padding:var(--space-lg);flex-direction:column;flex:1;display:flex}.sidebar-nav a{border-radius:var(--radius-md);color:var(--color-text-muted);transition:var(--transition-fast);align-items:center;padding:12px 16px;display:flex}.sidebar-nav a:hover{color:var(--color-primary);background:#2563eb14}.sidebar-user{padding:var(--space-lg);border-top:1px solid var(--color-border)}.navbar{height:72px;padding:0 var(--space-lg);border-bottom:1px solid var(--color-border);align-items:center;display:flex}.workspace{padding:var(--space-xl);flex:1}.stack{flex-direction:column;display:flex}.stack-xs{gap:var(--space-xs)}.stack-sm{gap:var(--space-sm)}.stack-md{gap:var(--space-md)}.stack-lg{gap:var(--space-lg)}.stack-xl{gap:var(--space-xl)}.stack-2xl{gap:var(--space-2xl)}.page-header{margin-bottom:var(--space-2xl);justify-content:space-between;align-items:center;display:flex}.page-header-content{gap:var(--space-xs);flex-direction:column;display:flex}.page-header h1{font-size:var(--font-size-3xl);margin:0}.page-header p{color:var(--color-text-muted);margin:0}.page-header-actions{gap:var(--space-md);display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;font:inherit;border:1px solid #0000;padding:12px 20px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.card-header h3{font-size:var(--font-size-lg);margin:0}.card-body{padding:var(--space-lg)}.grid{gap:var(--space-xl);display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.container{width:100%;max-width:1440px;margin:0 auto}
