/* ============================================================
   Elliott Wave workspace — single-chart + MTF context strip
   ============================================================ */
#ew-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg);position:relative;overflow:hidden}
#ew-pane[hidden]{display:none !important}

.ew-toolbar{
  flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:8px 14px;border-bottom:1px solid var(--border);background:#fafbfc;font-size:11px;letter-spacing:.06em;
}
.ew-toolbar-left{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ew-toolbar-left strong{font-weight:700;letter-spacing:.14em}
.ew-meta{color:var(--fg-dim);font-size:10.5px;font-weight:400}

#ew-inst{
  font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  background:#fff;border:1px solid var(--border);border-radius:2px;padding:4px 8px;color:var(--fg);
}

.ew-tf-tabs{display:flex;gap:2px;background:#eef0f3;padding:2px;border-radius:3px}
.ew-tf-tab{
  appearance:none;background:transparent;border:none;color:var(--fg);font-family:inherit;
  font-size:10.5px;letter-spacing:.12em;font-weight:700;padding:4px 10px;border-radius:2px;cursor:pointer;
  text-transform:uppercase;
}
.ew-tf-tab:hover{background:#fff}
.ew-tf-tab.active{background:var(--fg);color:#fff}

.ew-toolbar-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ew-toolbar-right label{display:flex;gap:5px;align-items:center;color:var(--fg-dim);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em}
.ew-toolbar-right select,.ew-toolbar-right input{
  font-family:inherit;font-size:11px;background:#fff;border:1px solid var(--border);border-radius:2px;padding:3px 6px;color:var(--fg);
}
.ew-toolbar-right button{
  appearance:none;background:#fff;color:var(--fg);border:1px solid var(--border);border-radius:2px;
  padding:5px 10px;font-family:inherit;font-size:10.5px;letter-spacing:.14em;font-weight:700;cursor:pointer;text-transform:uppercase;
}
.ew-toolbar-right button:hover{background:#eef0f3}
#ew-run{background:var(--fg);color:#fff;border-color:var(--fg);padding:5px 14px;font-size:11px}
#ew-run:hover{background:#333}

/* ---- body split ---- */
.ew-body{flex:1;display:flex;min-height:0;overflow:hidden}
.ew-sidebar{flex:0 0 300px;border-right:1px solid var(--border);background:#fafbfc;overflow:auto;font-size:11px}
.ew-sidebar h4{
  margin:0;padding:9px 12px 6px;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  font-weight:700;color:var(--fg-dim);border-bottom:1px solid var(--border-2);
}
.ew-sidebar section{border-bottom:1px solid var(--border);padding:6px 12px 10px}

.ew-main{flex:1;position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
.ew-chart{flex:1;min-height:0;position:relative}

/* ---- degrees tree ---- */
.ew-deg-tree{display:flex;flex-direction:column;gap:2px}
.ew-deg{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:2px}
.ew-deg:hover{background:#eef0f3}
.ew-deg input{margin:0}
.ew-deg .dot{width:10px;height:10px;border-radius:2px;flex:0 0 10px}
.ew-deg .name{flex:1;font-size:11px}
.ew-deg .count{color:var(--fg-dim);font-size:9.5px;font-variant-numeric:tabular-nums}

/* ---- scenario list ---- */
.ew-scenarios{display:flex;flex-direction:column;gap:4px}
.ew-scenario{border:1px solid var(--border);border-radius:3px;padding:6px 8px;background:#fff;cursor:pointer;display:flex;flex-direction:column;gap:3px}
.ew-scenario.active{border-color:var(--fg);box-shadow:inset 0 0 0 1px var(--fg)}
.ew-scenario .title{font-size:10.5px;font-weight:700;display:flex;justify-content:space-between;align-items:center}
.ew-scenario .prob{font-size:10.5px;color:var(--accent);font-variant-numeric:tabular-nums}
.ew-scenario .bar{height:3px;background:#eef0f3;border-radius:2px;overflow:hidden}
.ew-scenario .bar > div{height:100%;background:linear-gradient(90deg,#1aa874,#1a78d6)}
.ew-scenario .desc{font-size:9.5px;color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ew-scenario .tags{display:flex;gap:4px;margin-top:2px}
.ew-scenario .tag{font-size:9px;padding:1px 5px;border-radius:2px;font-weight:700;letter-spacing:.06em}
.ew-scenario .tag.bull{background:#e8f5ec;color:#0e7e44}
.ew-scenario .tag.bear{background:#fbe8eb;color:#a31423}

/* ---- MTF bias card ---- */
.ew-mtf-dir{display:flex;justify-content:space-between;align-items:center;color:#fff;padding:7px 10px;border-radius:3px;font-weight:700;letter-spacing:.12em;font-size:11px}
.ew-mtf-dir .conf{font-size:10px;opacity:.92;font-variant-numeric:tabular-nums}
.ew-mtf-conflict{font-size:10px;color:#c98a17;margin-top:6px;padding:4px 6px;background:#fff8eb;border-radius:2px}

/* ---- HTF strip ---- */
.ew-htf-strip{display:flex;flex-direction:column;gap:2px}
.ew-htf-row{
  display:grid;grid-template-columns:34px 70px 1fr auto auto;gap:6px;align-items:center;
  font-size:10px;padding:4px 6px;background:#fff;border:1px solid var(--border-2);border-radius:2px;cursor:pointer;
}
.ew-htf-row:hover{background:#eef0f3}
.ew-htf-row.active{border-color:var(--fg);background:#fffceb}
.ew-htf-row .tf{font-weight:700;font-size:9.5px;letter-spacing:.1em;color:var(--fg);background:#eef0f3;text-align:center;padding:1px 0;border-radius:2px}
.ew-htf-row.active .tf{background:var(--fg);color:#fff}
.ew-htf-row .deg{font-size:9.5px;color:var(--fg);font-weight:600}
.ew-htf-row .sc{font-size:9.5px;color:var(--fg-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ew-htf-row .arrow{font-weight:700;font-size:13px}
.ew-htf-row .arrow.up{color:var(--bull)}
.ew-htf-row .arrow.down{color:var(--bear)}
.ew-htf-row .prob{font-size:9.5px;color:var(--fg-dim);font-variant-numeric:tabular-nums}

/* ---- cross-tf fibs ---- */
.ew-fib-list{display:flex;flex-direction:column;gap:3px}
.ew-fib-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;font-size:10.5px}
.ew-fib-row .pct{display:flex;gap:3px;flex-wrap:wrap}
.ew-fib-row .tf-tag{background:var(--fg);color:#fff;font-size:9px;padding:1px 4px;border-radius:2px;font-weight:700;letter-spacing:.06em}
.ew-fib-row .px{font-weight:700;font-variant-numeric:tabular-nums}
.ew-fib-row .w{color:var(--accent);font-size:9.5px}

/* ---- invalidation ---- */
.ew-inval-row{
  display:flex;gap:8px;align-items:center;font-size:10.5px;padding:4px 6px;background:#fff4f5;
  border:1px solid var(--bear);border-radius:2px;
}
.ew-inval-row .px{font-weight:700;color:var(--bear);font-variant-numeric:tabular-nums}
.ew-inval-row .why{color:var(--fg-dim);font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---- loader ---- */
.ew-loader{
  position:absolute;inset:0;background:rgba(255,255,255,.92);
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;z-index:5;
}
.ew-loader[hidden]{display:none !important}
.ew-spin{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--fg);border-radius:50%;animation:bt-spin .7s linear infinite}
.ew-loader-stage{font-size:12px;color:var(--fg);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@keyframes bt-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
