:root{--bg:#11151c;--surface:#191f29;--surface-2:#202836;--border:#2b3547;--text:#e6eaf2;--text-muted:#8b95a9;--up:#26a69a;--down:#ef5350;--accent:#5b8def;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--text);font-size:14px}#root{min-height:100vh}.layout{min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:200px;padding:20px 12px;display:flex}.sidebar .brand{color:var(--accent);padding:0 10px 18px;font-size:18px;font-weight:700}.sidebar a{color:var(--text-muted);border-radius:8px;padding:9px 10px;font-weight:500;text-decoration:none}.sidebar a.active,.sidebar a:hover{color:var(--text);background:var(--surface-2)}.sidebar .spacer{flex:1}.content{flex:1;max-width:1400px;padding:24px;overflow-x:auto}.page-title{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;font-size:20px;font-weight:700;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}.card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:13px;font-weight:600}.grid{gap:14px;display:grid}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.stat-sub{color:var(--text-muted);margin-top:4px;font-size:12px}.pos{color:var(--up)}.neg{color:var(--down)}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 10px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);padding:9px 10px}tr:last-child td{border-bottom:none}button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.danger{background:var(--down)}button.ghost{border:1px solid var(--border);color:var(--text);background:0 0}input,select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;padding:8px 10px;font-size:13px}label{color:var(--text-muted);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.field{margin-bottom:12px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.badge{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.running{color:var(--up);background:#26a69a26}.badge.stopped{color:var(--text-muted);background:#8b95a926}.badge.long{color:var(--up);background:#26a69a26}.badge.short{color:var(--down);background:#ef535026}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.toggle-row:last-child{border-bottom:none}.switch{flex-shrink:0;width:40px;height:22px;position:relative}.switch input{opacity:0;width:0;height:0}.switch .slider{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;transition:all .15s;position:absolute;inset:0}.switch .slider:before{content:"";background:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:all .15s;position:absolute;top:2px;left:2px}.switch input:checked+.slider{border-color:var(--accent);background:#5b8def4d}.switch input:checked+.slider:before{background:var(--accent);transform:translate(18px)}.login-wrap{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:340px}.error-text{color:var(--down);margin-top:8px;font-size:13px}.muted{color:var(--text-muted)}.mode-tabs{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.mode-tabs button{color:var(--text-muted);background:0 0;border-radius:0;padding:7px 14px}.mode-tabs button.active{background:var(--surface-2);color:var(--text)}.signal-feed{flex-direction:column;gap:8px;max-height:260px;display:flex;overflow-y:auto}.signal-item{background:var(--surface-2);border-radius:8px;padding:8px 10px;font-size:12px}
