:root{--primary: #1891FA;--primary-hover: #1579d6;--secondary: #ffffff;--bg-color: #f8fafc;--text-main: #1e293b;--text-muted: #64748b;--white: #ffffff;--error: #ef4444;--success: #10b981;--border: #e2e8f0;--radius: 8px;--shadow: 0 1px 3px 0 rgb(0 0 0 / .05), 0 1px 2px -1px rgb(0 0 0 / .1);--accent: #818cf8;--card-bg: #ffffff;--font-size-base: .8rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,Inter,-apple-system,sans-serif;background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color)}.container{max-width:800px;margin:0 auto;padding:1rem;width:100%;background-color:var(--bg-color)}.header{padding:1rem;text-align:center;position:sticky;top:0;z-index:10;background-color:var(--white);margin-bottom:20px;border-radius:8px;border:1px solid var(--border)}.header h1{font-size:2.5rem;letter-spacing:-.05em;background:linear-gradient(to right,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}button,.btn{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;border-radius:var(--radius);font-weight:400;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;font-size:var(--font-size-base);color:#fff}.btn{color:var(--white)}.btn-primary{background-color:var(--primary)}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary);color:var(--primary);border:1px solid var(--primary)}.btn-secondary:hover{background-color:var(--primary);color:var(--white)}.card{background:var(--card-bg);padding:1.5rem;border-radius:1rem;border:1px solid var(--border);transition:transform .2s ease,border-color .2s ease;margin-bottom:1rem}.card:hover{transform:translateY(-2px);border-color:var(--primary)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.input{width:100%;padding:.5rem .8rem;background:var(--secondary);border:1px solid var(--border);border-radius:.5rem;color:var(--foreground);font-size:1rem;outline:none;transition:border-color .2s ease}.input:focus{border-color:var(--primary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-content{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;top:2rem;position:absolute}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade{animation:fadeIn .4s ease forwards}
