:root{
  --bg:#0b0f17; --panel:#121826; --panel2:#182033; --line:#243049; --text:#e5e9f2; --muted:#8a96ad;
  --green:#16a34a; --green-bg:rgba(22,163,74,.14); --red:#dc2626; --red-bg:rgba(220,38,38,.14);
  --amber:#f59e0b; --amber-bg:rgba(245,158,11,.14); --blue:#3b82f6;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:inherit}
.hidden{display:none!important}
.muted{color:var(--muted)} .small{font-size:12px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}
.brand{font-weight:700;font-size:17px}.brand .sub{font-weight:400;color:var(--muted);font-size:12px;margin-left:8px}
.top-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.clock{font-variant-numeric:tabular-nums;color:var(--muted)}
.badge{padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700;background:var(--panel2)}
.badge.demo{background:var(--amber-bg);color:var(--amber)} .badge.live{background:var(--green-bg);color:#4ade80}
.btn{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:7px 12px;cursor:pointer;text-decoration:none;font-size:13px}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}
.btn:disabled{opacity:.5}
.banner{padding:8px 16px;background:var(--amber-bg);color:var(--amber);font-size:13px;border-bottom:1px solid var(--line)}
.global-strip{display:flex;gap:18px;overflow-x:auto;padding:8px 16px;border-bottom:1px solid var(--line);font-size:12px;white-space:nowrap}
.global-strip .g b{margin-right:4px;color:var(--muted);font-weight:500}
.up{color:#4ade80}.down{color:#f87171}
.tabs{display:flex;gap:4px;padding:8px 16px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{background:none;border:0;color:var(--muted);padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;font-size:14px}
.tab.active{color:var(--text);border-bottom-color:var(--blue)}
main{padding:14px 16px}
.tab-pane{display:none}.tab-pane.active{display:block}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;transition:border-color .15s}
.card.sel{border-color:var(--blue)}
.card.go-long{box-shadow:inset 3px 0 0 var(--green)} .card.go-short{box-shadow:inset 3px 0 0 var(--red)}
.card-h{display:flex;justify-content:space-between;align-items:baseline}
.card-h .name{font-weight:700}.card-h .px{font-variant-numeric:tabular-nums;font-size:16px}
.action{margin:8px 0;padding:8px;border-radius:8px;text-align:center;font-weight:800;font-size:18px;letter-spacing:.5px;background:var(--panel2);color:var(--muted)}
.action.long{background:var(--green-bg);color:#4ade80}.action.short{background:var(--red-bg);color:#f87171}
.action.wait{background:var(--amber-bg);color:var(--amber)}
.action .life{display:block;font-size:11px;font-weight:600;letter-spacing:0;margin-top:2px}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}
.chip{font-size:11px;padding:2px 7px;border-radius:999px;background:var(--panel2);color:var(--muted)}
.chip.bull{color:#4ade80}.chip.bear{color:#f87171}
.scorebars{display:grid;grid-template-columns:40px 1fr 38px;gap:4px 6px;align-items:center;font-size:12px;margin:6px 0}
.bar{height:7px;background:var(--panel2);border-radius:4px;overflow:hidden}
.bar>i{display:block;height:100%}
.plan{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 8px;font-size:12px;margin-top:6px;font-variant-numeric:tabular-nums}
.plan div span{color:var(--muted);display:block;font-size:10px;text-transform:uppercase}
.fails{margin:6px 0 0;padding-left:16px;color:#fca5a5;font-size:11.5px}
.reasons{margin:4px 0 0;padding-left:16px;color:var(--muted);font-size:11.5px}
.detail{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;margin-top:14px}
.chart-wrap,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px}
.chart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:6px}
.legend{font-size:12px;color:var(--muted)} .legend i{display:inline-block;width:10px;height:3px;margin:0 4px 2px 10px;vertical-align:middle}
.chart-main{height:420px}.chart-sub{height:110px;margin-top:4px}
.side{display:flex;flex-direction:column;gap:12px}
.panel h3{margin:0 0 8px;font-size:14px}
.checklist{margin:0;padding-left:20px;font-size:12.5px}
.checklist li{margin:3px 0}.checklist li.ok::marker{color:#4ade80}.checklist li.no{color:var(--muted)}
.checklist li .tick{margin-left:4px}
.comp{display:grid;grid-template-columns:110px 1fr 44px;gap:4px;align-items:center;font-size:12px}
.alerts{list-style:none;margin:0;padding:0;max-height:260px;overflow:auto;font-size:12px}
.alerts li{padding:5px 0;border-bottom:1px solid var(--line)}
.alerts li.signal{color:#93c5fd}.alerts li.success{color:#4ade80}.alerts li.warn{color:#fca5a5}.alerts li.muted{color:var(--muted)}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;min-width:110px}
.stat b{display:block;font-size:18px;font-variant-numeric:tabular-nums}.stat span{font-size:11px;color:var(--muted)}
.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:14px}
table{border-collapse:collapse;width:100%;font-size:12px}
th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{color:var(--muted);font-weight:500;background:var(--panel2)}
.form-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}
input,select,textarea{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:6px 8px;font:inherit}
textarea{width:100%;font-family:ui-monospace,monospace;font-size:12px;margin:8px 0}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0}
.settings-grid fieldset{border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}
.settings-grid legend{color:var(--text);font-weight:600;font-size:12px}
.foot{padding:12px 16px 24px;border-top:1px solid var(--line)}
.warnbox{background:var(--amber-bg);color:var(--amber);padding:8px 10px;border-radius:8px;font-size:12px;margin:8px 0}
code{background:var(--panel2);padding:1px 4px;border-radius:4px}
@media (max-width:900px){.detail{grid-template-columns:1fr}.chart-main{height:320px}}
.side .panel, .card, .warnbox { min-width: 0; overflow-wrap: anywhere; }
body { overflow-x: hidden; }
