@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg:#0e1117;--surface:#161b24;--surface-2:#1e2531;--border:#2a3240;--text:#e7e9ee;--text-dim:#a7adbc;--text-faint:#6d7386;--accent:#d99a45;--accent-ink:#f0c07f;--ok:#4cbf85;--ok-soft:#16302389;--warn:#d99a45;--warn-soft:#3a2c1589;--stop:#e07a7a;--stop-soft:#3a1f1f89;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000059}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:15px;line-height:1.5}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}button{cursor:pointer;font-family:inherit}a{color:var(--accent-ink)}.app{flex-direction:column;gap:1rem;max-width:1040px;margin:0 auto;padding:1rem 1rem 3rem;display:flex}.header{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.9rem;padding:1.1rem 1.25rem;display:flex}.header-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.header-title{letter-spacing:-.01em;font-size:1.15rem;font-weight:700}.header-title .dot{color:var(--accent)}.chip{letter-spacing:.04em;border:1px solid var(--border);color:var(--text-dim);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:.28rem .6rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.68rem}.chip.ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.chip.stop{background:var(--stop-soft);color:var(--stop);border-color:#0000}.chip.warn{background:var(--warn-soft);color:var(--accent-ink);border-color:#0000}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.stat{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.2rem;padding:.6rem .75rem;display:flex}.stat-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-size:.68rem}.stat-value{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.05rem;font-weight:600}.stat-value.pos{color:var(--ok)}.stat-value.neg{color:var(--stop)}.controls{flex-wrap:wrap;gap:.6rem;display:flex}.btn{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;padding:.55rem 1rem;font-size:.85rem;font-weight:600}.btn:hover{border-color:var(--text-faint)}.btn.stop{background:var(--stop-soft);color:var(--stop);border-color:#0000}.btn.resume{background:var(--ok-soft);color:var(--ok);border-color:#0000}.btn:disabled{opacity:.5;cursor:default}.tabs{border-bottom:1px solid var(--border);gap:.35rem;padding-bottom:0;display:flex;overflow-x:auto}.tab{color:var(--text-dim);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem .9rem;font-size:.85rem;font-weight:600}.tab.active{color:var(--accent-ink);border-bottom-color:var(--accent)}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;padding:1.1rem 1.25rem}.panel h2{color:var(--text);margin:0 0 .85rem;font-size:.95rem}.panel .empty{color:var(--text-faint);padding:.5rem 0;font-size:.88rem}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.82rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.5rem .6rem}th{letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.66rem;font-weight:600}tr:last-child td{border-bottom:none}td.num{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}.pill{border-radius:999px;padding:.12rem .5rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.7rem;font-weight:600;display:inline-block}.pill.long,.pill.approve,.pill.trade{background:var(--ok-soft);color:var(--ok)}.pill.short,.pill.reject,.pill.no_trade{background:var(--stop-soft);color:var(--stop)}.pos{color:var(--ok)}.neg{color:var(--stop)}.reasoning{color:var(--text-dim);white-space:normal;max-width:360px;font-size:.8rem}.error-banner{border:1px solid var(--stop);background:var(--stop-soft);color:var(--stop);border-radius:8px;padding:.7rem .9rem;font-size:.85rem}.sparkline{width:100%;height:90px}footer.app-footer{text-align:center;color:var(--text-faint);padding-top:.5rem;font-size:.75rem}
