:root{--primary: #4338ca;--primary-hover: #3730a3;--primary-light: #e0e7ff;--secondary: #64748b;--sidebar-bg: #ffffff;--sidebar-text: #0f172a;--sidebar-text-muted: #64748b;--sidebar-active: #f1f5f9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg-body: #f1f5f9;--bg-card: #ffffff;--bg-hover: #f8fafc;--text-main: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 10px 10px -5px rgb(0 0 0 / .04);--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-body);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select,textarea{font-family:inherit;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;transition:all .2s;gap:.5rem}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-ghost{color:var(--text-muted)}.btn-ghost:hover{background-color:var(--bg-hover);color:var(--text-main)}.btn-danger{background-color:var(--danger);color:#fff}.badge{padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.input{width:100%;padding:.5rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-card);transition:box-shadow .2s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #4f46e51a}.flex-between{display:flex;align-items:center;justify-content:space-between}
