/* Ticker search */
.ticker-search{position:relative;flex:1;max-width:480px}
.ticker-input-wrap{display:flex;align-items:center;gap:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}
.ticker-input-wrap:focus-within{border-color:var(--accent)}
.ticker-chip{display:flex;align-items:center;gap:4px;padding:0 10px;height:36px;background:var(--surface2);border-right:1px solid var(--border);color:var(--text);font-size:13px;font-weight:700;white-space:nowrap;min-width:60px;justify-content:center}
.ticker-chip .chip-name{font-size:9px;font-weight:400;color:var(--text2)}
#ticker-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:13px;padding:0 10px;height:36px;min-width:0;font-family:inherit}
#ticker-input::placeholder{color:var(--text3)}
.ticker-clear{background:none;border:none;color:var(--text3);cursor:pointer;padding:0 8px;height:36px;font-size:16px}
.ticker-clear:hover{color:var(--neg)}

/* Dropdown */
.ticker-dropdown{position:absolute;top:calc(100%+4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);z-index:200;overflow:hidden;display:none}
.ticker-dropdown.open{display:block}
.td-section{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;padding:8px 12px 4px}
.td-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .1s}
.td-item:hover,.td-item.focused{background:var(--surface2)}
.td-sym{font-size:13px;font-weight:700;color:var(--text);min-width:44px}
.td-name{font-size:12px;color:var(--text2);flex:1}
.td-badge{font-size:9px;padding:2px 6px;border-radius:10px;font-weight:600}
.cash{background:rgba(102,187,106,.15);color:var(--pos)}
.phys{background:rgba(88,166,255,.15);color:var(--accent)}
.divider{height:1px;background:var(--border2);margin:4px 0}

/* Preset pills */
.preset-pills{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pill{background:none;border:1px solid var(--border);border-radius:20px;color:var(--text2);font-size:11px;font-weight:600;padding:3px 10px;cursor:pointer;transition:all .15s;white-space:nowrap}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.pill.active{background:rgba(88,166,255,.12);border-color:var(--accent);color:var(--accent)}

/* Engine */
.em-zone-1{background:rgba(255,179,0,.08);border:1px solid rgba(255,179,0,.2);border-radius:6px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.em-zone-2{background:rgba(239,83,80,.06);border:1px solid rgba(239,83,80,.15);border-radius:6px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center}
.em-strike{font-size:20px;font-weight:700;color:var(--text)}

/* Score */
.score-bar{display:flex;gap:4px;flex:1}
.sd{flex:1;height:8px;border-radius:2px;background:rgba(255,255,255,.08)}
.sd.on{background:var(--pos)}
.sig-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700}
.b-valid{background:rgba(102,187,106,.2);color:var(--pos)}
.b-watch{background:rgba(255,179,0,.2);color:var(--warn)}
.b-skip{background:rgba(239,83,80,.2);color:var(--neg)}

/* Confluence */
.conf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}

/* DTE grid */
.dte-grid-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.dte-grid-table{width:100%;min-width:420px;border-collapse:collapse;font-size:11px}
.dte-grid-table th{padding:7px 10px;font-size:9px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);text-align:center}
.dte-grid-table td{padding:8px 10px;border-bottom:1px solid var(--border2);text-align:center;cursor:pointer;transition:background .1s}
.dte-grid-table td:first-child{text-align:left;font-weight:600;color:var(--text2)}
.dte-grid-table tr:last-child td{border-bottom:none}
.dte-grid-table td:hover{background:var(--surface2)}
.g-prime{background:rgba(102,187,106,.2);color:#2da44e;font-weight:700;border-radius:4px;padding:3px 8px;display:inline-block}
.g-valid{background:rgba(102,187,106,.12);color:var(--pos);font-weight:600;border-radius:4px;padding:3px 8px;display:inline-block}
.g-watch{background:rgba(255,179,0,.12);color:var(--warn);font-weight:600;border-radius:4px;padding:3px 8px;display:inline-block}
.g-skip{background:rgba(239,83,80,.1);color:var(--neg);font-weight:600;border-radius:4px;padding:3px 8px;display:inline-block}
.dte-grid-table .selected td{background:rgba(88,166,255,.06)}
@media(max-width:700px){.conf-grid{grid-template-columns:1fr}}
.conf-tbl{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-md)}
.conf-title{font-size:11px;font-weight:700;color:var(--text2);margin-bottom:8px}
.conf-row{display:grid;grid-template-columns:16px 110px 60px 1fr;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:10px;align-items:center}
.cn{color:var(--text3)} .cv{color:var(--text);font-weight:600;text-align:right} .cnote{color:var(--text3);font-size:9px}

/* Params */
.params-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.plbl{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
input.inp{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 8px;font-size:13px}
input.inp:focus{outline:none;border-color:var(--accent)}

/* ── Strategy tabs within DTE ── */
.strat-tabs{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.strat-tab{padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);color:var(--text2);background:none;transition:all .15s}
.strat-tab:hover{border-color:var(--text2)}
.strat-tab.active-ic{background:rgba(102,187,106,.15);border-color:var(--ic);color:var(--ic)}
.strat-tab.active-bps{background:rgba(88,166,255,.15);border-color:var(--bps);color:var(--bps)}
.strat-tab.active-bcs{background:rgba(255,152,0,.15);border-color:var(--bcs);color:var(--bcs)}

/* ── Content panes ── */
.pane{display:none}
.pane.active{display:block}

/* ── Grid ── */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.grid3,.grid2{grid-template-columns:1fr}}

/* ── Cards ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}
.card-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.card-title .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* ── Rules list ── */
.rule{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-bottom:1px solid var(--border2);font-size:12px}
.rule:last-child{border-bottom:none}
.rule-icon{font-size:14px;flex-shrink:0;margin-top:1px}
.rule-label{font-weight:600;color:var(--text);min-width:110px;flex-shrink:0}
.rule-val{color:var(--text2);flex:1}
.rule-val strong{color:var(--text);font-weight:600}
.rule-val .pos{color:var(--pos)}
.rule-val .neg{color:var(--neg)}
.rule-val .warn{color:var(--warn)}

/* ── Expected move ── */
.em-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;margin-bottom:6px}
.em-1{background:rgba(255,179,0,.08);border:1px solid rgba(255,179,0,.2)}
.em-2{background:rgba(239,83,80,.06);border:1px solid rgba(239,83,80,.15)}
.em-label{font-size:10px;font-weight:700;width:24px}
.em-zone{font-size:12px;color:var(--text2)}
.em-val{font-size:18px;font-weight:700;color:var(--text)}
.em-pts{font-size:10px;color:var(--text3)}

/* ── Checklist ── */
.check-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;margin-bottom:6px;font-size:12px;cursor:pointer;transition:background .1s;user-select:none}
.check-item:hover{background:var(--surface2)}
.check-item input{width:16px;height:16px;cursor:pointer;accent-color:var(--pos)}
.check-label{flex:1;color:var(--text2)}
.check-label.checked{color:var(--text3);text-decoration:line-through}
.check-note{font-size:10px;color:var(--text3)}
.check-progress{height:4px;background:var(--surface2);border-radius:2px;overflow:hidden;margin:8px 0 14px}
.check-bar{height:100%;border-radius:2px;background:var(--pos);transition:width .3s}

/* ── Management steps ── */
.mgmt-step{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--border2)}
.mgmt-step:last-child{border-bottom:none}
.step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}
.step-title{font-size:13px;font-weight:600;margin-bottom:4px}
.step-desc{font-size:11px;color:var(--text2);line-height:1.5}

/* ── Warning banner ── */
.warning{padding:10px 14px;border-radius:8px;font-size:11px;line-height:1.6;margin-bottom:16px}
.warning.red{background:rgba(239,83,80,.08);border:1px solid rgba(239,83,80,.25);color:var(--text2)}
.warning.amber{background:rgba(255,179,0,.08);border:1px solid rgba(255,179,0,.25);color:var(--text2)}
.warning.green{background:rgba(102,187,106,.08);border:1px solid rgba(102,187,106,.25);color:var(--text2)}
.warning strong{color:var(--text);font-weight:600}

/* ── Live data badge ── */
.live-badge{font-size:10px;padding:2px 8px;border-radius:10px;background:rgba(88,166,255,.12);color:var(--accent);font-weight:600}
.em-loading{color:var(--text3);font-size:12px;padding:8px 0}

/* ── Concurrent positions ── */
.pos-meter{display:flex;gap:6px;margin-top:8px}
.pos-slot{width:32px;height:32px;border-radius:6px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}
.pos-slot.filled{background:rgba(102,187,106,.15);border-color:var(--pos);color:var(--pos)}
.pos-slot.max{background:rgba(239,83,80,.1);border-color:var(--neg);color:var(--neg)}

/* Mobile */
@media(max-width:640px){
  .strat-tabs{flex-wrap:wrap;gap:6px}
  .strat-tab{font-size:11px;padding:5px 12px}
  .em-row{flex-wrap:wrap;gap:6px}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
}
