:root{--bg: #0f1117;--bg2: #161b27;--bg3: #1e2535;--border: #2a3347;--accent: #00d4a0;--accent2: #0099ff;--danger: #ff4d6d;--warn: #ffb830;--text: #e8edf5;--text2: #8892a4;--text3: #4a5568;--card: #161b27;--radius: 12px;--shadow: 0 4px 24px rgba(0,0,0,.4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:15px;line-height:1.6}h1,h2,h3{font-family:"DM Serif Display",serif;line-height:1.2}input,select,textarea{font-family:DM Sans,sans-serif;font-size:14px;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 14px;width:100%;outline:none;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}button{font-family:DM Sans,sans-serif;cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:500;transition:all .2s}.btn-primary{background:var(--accent);color:#0f1117;padding:10px 20px;font-weight:600}.btn-primary:hover{background:#00bfa0;transform:translateY(-1px)}.btn-secondary{background:var(--bg3);color:var(--text);padding:10px 20px;border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger);color:#fff;padding:8px 16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-green{background:#00d4a026;color:var(--accent)}.badge-blue{background:#0099ff26;color:var(--accent2)}.badge-red{background:#ff4d6d26;color:var(--danger)}.badge-yellow{background:#ffb83026;color:var(--warn)}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;color:var(--text2);font-weight:500}.divider{height:1px;background:var(--border);margin:20px 0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
