@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&display=swap");:root{--bg:#0f1117;--bg2:#161b27;--bg3:#1e2535;--border:#2a3347;--border2:#374151;--text:#f1f5f9;--text2:#94a3b8;--text3:#64748b;--accent:#6366f1;--accent2:#818cf8;--accent-bg:rgba(99,102,241,.12);--green:#10b981;--green-bg:rgba(16,185,129,.12);--yellow:#f59e0b;--yellow-bg:rgba(245,158,11,.12);--red:#ef4444;--red-bg:rgba(239,68,68,.12);--radius:10px;--sidebar-w:240px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}input,select,textarea{font-family:DM Sans,sans-serif;background:var(--bg3);border:1.5px solid var(--border);color:var(--text);border-radius:var(--radius);padding:10px 14px;font-size:14px;outline:none;width:100%;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text3)}button{font-family:DM Sans,sans-serif;cursor:pointer}a{text-decoration:none;color:inherit}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border);border-radius:var(--radius);padding:10px 20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.card{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:24px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}.badge-green{background:var(--green-bg);color:var(--green)}.badge-yellow{background:var(--yellow-bg);color:var(--yellow)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-accent{background:var(--accent-bg);color:var(--accent2)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .3s ease forwards}