*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #4F6BF4;--blue-dark: #3451D1;--blue-light: #EEF1FE;--purple: #7C3AED;--purple-light: #F3F0FF;--green: #22C55E;--green-light: #DCFCE7;--amber: #F59E0B;--amber-light: #FEF3C7;--red: #EF4444;--red-light: #FEE2E2;--teal: #0EA5E9;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-500: #64748B;--slate-700: #334155;--slate-900: #0F172A;--radius: 16px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(79,107,244,.1);--shadow-lg: 0 8px 40px rgba(79,107,244,.15)}html,body{height:100%;font-family:Nunito,sans-serif;background:var(--slate-50);color:var(--slate-900);-webkit-font-smoothing:antialiased}#root{height:100%}button{cursor:pointer;font-family:inherit;border:none;outline:none}input,select,textarea{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);font-weight:700;font-size:15px;transition:all .15s ease}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-primary:active{transform:translateY(0)}.btn-green{background:var(--green);color:#fff}.btn-green:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-purple{background:var(--purple);color:#fff}.btn-purple:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn-red{background:var(--red);color:#fff}.btn-red:hover{filter:brightness(1.05)}.btn-ghost{background:transparent;color:var(--slate-500);border:2px solid var(--slate-200)}.btn-ghost:hover{background:var(--slate-100)}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:100px;font-size:12px;font-weight:700}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}@keyframes bounce-in{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-up{animation:slide-up .3s ease forwards}
