:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: #1c2128;--bg-hover: #262c36;--border: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #656d76;--accent: #58a6ff;--green: #3fb950;--red: #f85149;--yellow: #d29922;--purple: #bc8cff;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--radius: 6px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-secondary);border-right:1px solid var(--border);padding:1rem 0;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0}.sidebar-logo{padding:.5rem 1.25rem 1.5rem;font-size:1.1rem;font-weight:700;color:var(--accent);letter-spacing:-.02em}.sidebar-logo span{color:var(--text-muted);font-weight:400;font-size:.75rem;display:block}.sidebar nav{flex:1}.sidebar a{display:flex;align-items:center;gap:.75rem;padding:.6rem 1.25rem;color:var(--text-secondary);text-decoration:none;font-size:.875rem;transition:background .15s,color .15s}.sidebar a:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar a.active{color:var(--accent);background:var(--bg-hover)}.sidebar-footer{padding:.75rem 1.25rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}.sidebar-status{display:flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}.status-dot.disconnected{background:var(--red)}.main-content{flex:1;margin-left:220px;padding:1.5rem 2rem}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card .label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-card .value{font-size:1.75rem;font-weight:700;font-family:var(--font-mono);margin-top:.25rem}.stat-card .value.green{color:var(--green)}.stat-card .value.red{color:var(--red)}.stat-card .value.accent{color:var(--accent)}.table-wrap{overflow-x:auto;margin-top:1rem}table{width:100%;border-collapse:collapse;font-size:.85rem}th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}td{padding:.55rem .75rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}tr:hover td{background:var(--bg-hover)}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase}.badge.green{background:#3fb95026;color:var(--green)}.badge.red{background:#f8514926;color:var(--red)}.badge.yellow{background:#d2992226;color:var(--yellow)}.badge.purple{background:#bc8cff26;color:var(--purple)}.badge.muted{background:#8b949e26;color:var(--text-muted)}.page-header{margin-bottom:1.5rem}.page-header h1{font-size:1.5rem;font-weight:700}.page-header p{color:var(--text-muted);font-size:.875rem;margin-top:.25rem}.confidence-bar{width:100%;height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.confidence-bar .fill{height:100%;border-radius:3px;transition:width .3s}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:.35rem}.form-group input,.form-group select{width:100%;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent)}button.btn{padding:.5rem 1.25rem;border:none;border-radius:var(--radius);font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}button.btn:hover{opacity:.85}button.btn-primary{background:var(--accent);color:#fff}button.btn-danger{background:var(--red);color:#fff}.orderbook{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.orderbook-side h3{font-size:.8rem;text-transform:uppercase;margin-bottom:.5rem;color:var(--text-muted)}.orderbook-row{display:flex;justify-content:space-between;padding:.2rem .5rem;font-family:var(--font-mono);font-size:.8rem}.loading{color:var(--text-muted);padding:2rem;text-align:center}.mono{font-family:var(--font-mono)}
