*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #07090f;--bg2: #0d1117;--bg3: #131a24;--border: rgba(255,255,255,.08);--border2: rgba(255,255,255,.14);--text: #e8edf5;--text2: #94a3b8;--text3: #4a5568;--accent: #5b8dee;--accent2: #7c6df8;--success: #22c55e;--warn: #f59e0b;--danger: #ef4444;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0,0,0,.4)}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Syne,sans-serif;letter-spacing:-.02em}a{color:inherit;text-decoration:none}input,textarea,select{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:14px;outline:none;padding:10px 14px;width:100%;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text3)}button{cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;border:none;border-radius:var(--radius-sm);transition:all .18s}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{padding:12px 18px;border-radius:10px;font-size:14px;font-weight:500;animation:slideUp .25s ease;border:1px solid;min-width:280px;display:flex;align-items:center;gap:10px}.toast-success{background:#052e16;border-color:#166534;color:#86efac}.toast-error{background:#2d0a0a;border-color:#991b1b;color:#fca5a5}.toast-info{background:#0c1a3a;border-color:#1e40af;color:#93c5fd}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
