/* ════════════ PRO TRADING TERMINAL ════════════ */
.term{display:grid;grid-template-columns:minmax(0,1fr) 322px;gap:12px;align-items:start}
.term-assets{grid-column:1/-1}
.term-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.term-rail{display:flex;flex-direction:column;gap:12px;min-width:0}
/* maximize chart real-estate: hide the app top-bar ONLY while the charts view is active (the chart has its own header) → +66px height. Auto-restores on other views via :has(). */
.main:has(#v-charts.view.on) > .topbar{display:none}
.main:has(#v-charts.view.on) .term-main>.pccard{height:100vh}   /* ticker removed on charts → card fills the FULL viewport (was 100vh-50: 34px ticker + 16px view pad, both reclaimed below) */
/* ── RECLAIM THE TOP STRIP on the charts view: hide the price ticker + drop its 34px app pad + the 16px view padding → ~50px vertical (+32px horizontal) back to the chart. Institutional "every pixel to the chart". Other views keep the ticker (scoped by :has). ── */
body:has(#v-charts.view.on) .ticker{display:none!important}
.app:has(#v-charts.view.on){padding-top:0}
.app:has(#v-charts.view.on) .side{top:0}
#v-charts.view.on{padding:0}
.main:has(#v-charts.view.on) .pcstage{flex:1 1 0;height:auto;min-height:0;max-height:none}   /* stage flex-fills whatever's left after head+toolbar → AUTOMATIC on any resolution/scaling/toolbar-wrap; no hardcoded stage height */
/* collapsible side rail (collapsed by DEFAULT → chart full-width) */
.term.rail-off{grid-template-columns:minmax(0,1fr)}
.term.rail-off .term-rail{display:none}
#pcRailBtn.on{background:rgba(58,160,255,.16);border-color:rgba(58,160,255,.42)}
/* header symbol search dropdown */
.pcsymwrap{position:relative;display:inline-flex;align-items:center}
.pcsymdrop{display:none;position:absolute;top:calc(100% + 6px);inset-inline-start:0;width:280px;max-height:60vh;overflow:auto;background:var(--cardgrad);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 36px rgba(0,0,0,.5);z-index:120;padding:8px}
.pcsymdrop.open{display:block}
.pcsd-search input{width:100%;box-sizing:border-box;background:var(--bg2,#0d1117);border:1px solid var(--line);border-radius:8px;color:var(--txt,#e6edf3);padding:8px 10px;font-size:13px;outline:none}
.pcsd-list{margin-top:6px;display:flex;flex-direction:column;gap:2px}
.pcsd-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer;color:var(--txt);outline:none}
.pcsd-row:hover,.pcsd-row:focus{background:var(--card2,rgba(120,130,150,.12))}
.pcsd-row.on{background:rgba(58,160,255,.16)}
.pcsd-ic{font-size:15px;width:20px;text-align:center;flex:none}
.pcsd-n{font-weight:700;font-size:13px;color:var(--txt)}
.pcsd-px{margin-inline-start:auto;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--txt)}
.pcsd-ch{font-size:10.5px;font-weight:800;font-variant-numeric:tabular-nums;min-width:46px;text-align:end}
.pcsd-ch.up{color:var(--up)} .pcsd-ch.down{color:var(--down)}
.pcsd-empty{padding:12px;text-align:center;color:var(--txt2,#8893a5)}
.pcsd-h{font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--muted,#67758c);padding:8px 8px 3px;text-transform:uppercase}
.pcsd-star{flex:none;font-size:13px;color:var(--muted,#67758c);opacity:.45;cursor:pointer;padding:0 3px;transition:.12s}
.pcsd-star:hover{opacity:1;transform:scale(1.2)}
.pcsd-star.on{color:#e8a33d;opacity:1}
.term-bottom{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:12px}
.term .pcstage{height:calc(100vh - 250px);min-height:520px;max-height:920px}   /* fill the vertical space — no empty gap below the chart */
.term .tw-list{max-height:258px}
.termpanel,.term-ta{background:var(--cardgrad);border:1px solid var(--line);border-radius:13px;overflow:hidden}
.term .up{color:var(--up)} .term .down{color:var(--down)}
.tp-h{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;color:var(--txt)}
.tp-h a{font-size:10px;font-weight:700;color:var(--muted);cursor:pointer}
.tp-h a:hover{color:var(--pcac,#e8a33d)}
.tp-empty{padding:18px 12px;text-align:center;color:var(--muted);font-size:11px}
.tw-tabs{display:flex;gap:3px;padding:6px 8px;overflow-x:auto;scrollbar-width:none}
.tw-tabs::-webkit-scrollbar{display:none}
.tw-tabs button{flex-shrink:0;font-size:10px;font-weight:700;padding:3px 9px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}
.tw-tabs button.on{background:rgba(232,163,61,.12);color:var(--pcac,#e8a33d);border-color:var(--line)}
.tw-list{max-height:320px;overflow-y:auto;scrollbar-width:thin}
.tw-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 13px;cursor:pointer;font-size:12px;border-top:1px solid rgba(120,130,150,.06)}
.tw-row:hover{background:rgba(232,163,61,.05)} .tw-row.on{background:rgba(232,163,61,.09)}
.tw-s{font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-px{font-variant-numeric:tabular-nums;color:var(--txt2);font-weight:700}
.tw-ch{font-variant-numeric:tabular-nums;font-weight:800;font-size:11px;min-width:52px;text-align:right}
.ts-card{padding:12px 14px}
.ts-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.ts-tl{display:flex;flex-direction:column;gap:3px}
.ts-sym{font-weight:800;font-size:14px}
.ts-dir{font-size:12px;font-weight:800}
.ts-ring{position:relative;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--pcac,#e8a33d) calc(var(--p,0)*1%),rgba(120,130,150,.16) 0);flex-shrink:0}   /* COLOR LAW: ADX = trend STRENGTH (direction-agnostic) → amber accent, NOT price-green */
.ts-ring::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--card)}
.ts-ring b{position:relative;font-size:13px;font-weight:900;color:var(--pcac,#e8a33d);line-height:1}
.ts-ring i{position:relative;font-size:7px;color:var(--muted);font-style:normal}
.ts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px}
.ts-grid>div{background:rgba(120,130,150,.07);border-radius:7px;padding:5px 3px;text-align:center}
.ts-grid i{display:block;font-size:8px;color:var(--muted);font-style:normal;margin-bottom:2px}
.ts-grid b{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.ts-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)} .ts-foot b{color:var(--txt);font-weight:800}
/* ── AI Analysis: multi-factor confluence scorecard (composite confidence meter + per-factor pips) ── */
.ts-conf{height:6px;border-radius:4px;background:rgba(120,130,150,.16);overflow:hidden;margin:8px 0 3px}
.ts-conf i{display:block;height:100%;border-radius:4px;transition:width .3s}
.ts-conf-l{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:9px}
.ts-fr{display:flex;align-items:center;gap:8px;padding:3.5px 3px;font-size:10.5px;border-bottom:1px solid rgba(120,130,150,.08)}
.ts-fr:last-of-type{border-bottom:0}
.ts-fr-n{flex:1;color:var(--txt2);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-fr-v{font-variant-numeric:tabular-nums;color:var(--muted);font-size:9.5px;white-space:nowrap}
.ts-fr-p{width:13px;text-align:center;font-weight:900;flex-shrink:0}
.ts-of,.ts-mtf{display:flex;align-items:center;gap:7px;font-size:10px;margin-top:8px;padding-top:7px;border-top:1px solid rgba(120,130,150,.1)}
.ts-of i,.ts-mtf i{font-style:normal;color:var(--muted)}
.ts-mtf b{color:var(--txt2);font-variant-numeric:tabular-nums}
.tn-list{padding:2px 0;max-height:210px;overflow-y:auto;scrollbar-width:thin}
.tn-row{padding:8px 13px;border-top:1px solid rgba(120,130,150,.06)}
.tn-t{font-size:11.5px;font-weight:600;color:var(--txt);line-height:1.35;margin-bottom:3px}
.tn-m{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}
.tc-list{padding:2px 0}
.tc-row{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:7px;align-items:center;padding:8px 13px;font-size:10.5px;border-top:1px solid rgba(120,130,150,.06)}
.tc-tm{font-weight:800;font-variant-numeric:tabular-nums;color:var(--txt2)}
.tc-cur{font-weight:800;color:var(--pcac,#e8a33d);font-size:9px}
.tc-ev{color:var(--txt2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-imp{font-size:8px;font-weight:800;padding:1px 5px;border-radius:4px}
.tc-imp.high{background:rgba(255,92,106,.18);color:#ff6b78}.tc-imp.med{background:rgba(240,180,41,.18);color:#f0b429}.tc-imp.low{background:rgba(120,130,150,.15);color:var(--muted)}
.tc-cd{font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums}
.tse-bar{display:flex;height:10px;margin:12px 12px 8px;border-radius:6px;overflow:hidden}
.tse-bull{background:var(--up)}.tse-bear{background:var(--down)}
.tse-lbl{display:flex;justify-content:space-between;padding:0 12px 12px;font-size:11px;font-weight:800}
.ta-grid{display:grid;grid-template-columns:210px 1fr;gap:14px;padding:14px}
.ta-gauge{text-align:center}
.ta-dial{width:150px;height:75px;margin:0 auto;border-radius:150px 150px 0 0;background:conic-gradient(from -90deg at 50% 100%,var(--down) 0deg,#f0b429 60deg,var(--up) 120deg,rgba(0,0,0,0) 120deg);position:relative;overflow:hidden}
.ta-dial::after{content:"";position:absolute;left:20px;right:20px;top:20px;bottom:0;border-radius:130px 130px 0 0;background:var(--card)}
.ta-needle{position:absolute;left:calc(50% - 1.5px);bottom:0;width:3px;height:66px;background:var(--txt);transform-origin:bottom center;border-radius:3px;z-index:2}
.ta-verdict{font-size:18px;font-weight:900;margin-top:8px}
.ta-counts{font-size:10px;color:var(--muted);margin-top:4px}.ta-counts span{font-weight:800}
.ta-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-content:center}
.ta-cat{text-align:center;background:rgba(120,130,150,.06);border-radius:10px;padding:11px 6px}
.ta-cat-h{font-size:10px;color:var(--muted);font-weight:700;margin-bottom:5px}
.ta-cat-v{font-size:14px;font-weight:900}
.ta-cat-n{font-size:9px;margin-top:3px;color:var(--muted)}
.vp-wrap{padding:8px 10px}
.vp-hl{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:6px}
.vp-hl b{color:var(--txt2);font-variant-numeric:tabular-nums} .vp-hl .poc b{color:var(--pcac,#e8a33d)}
.vp-list{display:flex;flex-direction:column;gap:1px}
.vp-row{display:grid;grid-template-columns:58px 1fr;gap:6px;align-items:center;font-size:9px}
.vp-pr{font-variant-numeric:tabular-nums;color:var(--muted)}
.vp-bar{height:8px;background:rgba(120,130,150,.06);border-radius:3px;overflow:hidden}
.vp-bar i{display:block;height:100%;background:rgba(58,160,255,.5);border-radius:3px}
.vp-row.poc .vp-bar i{background:var(--pcac,#e8a33d)} .vp-row.poc .vp-pr{color:var(--pcac,#e8a33d);font-weight:800}
/* (removed) .ob-*/.pos-*/.acc-* — styled the retired pcOBPanel/pcPosPanel; 0 JS refs after Phase-Zero cleanup */
@media(max-width:1180px){.term{grid-template-columns:1fr}.term-rail{display:grid;grid-template-columns:1fr 1fr}.ta-grid{grid-template-columns:1fr}}
@media(max-width:680px){.term-bottom{grid-template-columns:1fr}.term-rail{grid-template-columns:1fr}}
html[data-theme=light] .pcloading{background:rgba(255,255,255,.5)}
.pccard:fullscreen,.pccard:-webkit-full-screen{background:var(--bg);padding:0;width:100vw;height:100vh}
.pccard:fullscreen .pcstage,.pccard:-webkit-full-screen .pcstage{flex:1 1 0;height:auto;min-height:0;max-height:none}   /* AUTOMATIC: stage flex-fills the fullscreen card after head+toolbar → correct on ANY resolution/scaling, even if the toolbar wraps; zero hardcoded px */
