:root{--background:#fff;--foreground:#0f172a;--muted:#f8fafc;--muted-foreground:#64748b;--primary:#0ea5e9;--primary-foreground:#fff;--secondary:#f1f5f9;--secondary-foreground:#0f172a;--accent:#f0f9ff;--accent-foreground:#0369a1;--destructive:#ef4444;--destructive-foreground:#f8fafc;--border:#e2e8f0;--input:#e2e8f0;--ring:#0ea5e9;--radius:.5rem;--sidebar-bg:#f8fafc;--sidebar-border:#e2e8f0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-container{min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem;overflow-y:auto}.card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;transition:all .2s;box-shadow:0 1px 3px #0000000d}.card:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{background:#0284c7}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.btn-secondary:hover{background:#e2e8f0}.btn-ghost{color:var(--muted-foreground);background:0 0}.btn-ghost:hover{background:var(--muted);color:var(--foreground)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;width:260px;height:100vh;padding:1.5rem;display:flex;position:sticky;top:0}.nav-link{color:var(--muted-foreground);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.625rem .75rem;font-size:.875rem;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{background:var(--muted);color:var(--foreground)}.nav-link.active{background:var(--accent);color:var(--accent-foreground);font-weight:600}.label{color:var(--text-primary);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.input{border:1px solid var(--input);border-radius:var(--radius);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s}.input:focus{border-color:var(--primary);ring:2px solid var(--accent)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s forwards fadeIn}
