*{margin:0;padding:0;box-sizing:border-box}
body{background:#161a1e;color:#eee;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;overflow:hidden;height:100vh}
#loading-overlay{position:fixed;inset:0;background:rgba(22,26,30,.95);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s}
#loading-overlay.hidden{opacity:0;pointer-events:none}
#loading-overlay .bar-bg{width:320px;height:6px;background:#1f2937;border-radius:3px;overflow:hidden;margin-top:16px}
#loading-overlay .bar-fill{height:100%;background:#0ecb81;width:0%;transition:width .3s}
#loading-overlay .msg{margin-top:10px;font-size:18px;font-weight:600;color:#9aa3af}
#loading-overlay .loading-dots{display:inline-block;min-width:24px}
#loading-overlay .loading-dots span{display:inline-block;opacity:.15;animation:loading-dot-bounce 1.2s infinite}
#loading-overlay .loading-dots span:nth-child(2){animation-delay:.2s}
#loading-overlay .loading-dots span:nth-child(3){animation-delay:.4s}
@keyframes loading-dot-bounce{
  0%,80%,100%{opacity:.15;transform:translateY(0)}
  40%{opacity:1;transform:translateY(-1px)}
}
#top-nav{height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid #1f2937;background:#1b1f24}
#top-nav button{background:#2a2e35;border:1px solid #333;color:#ccc;padding:5px 14px;border-radius:4px;font-size:12px;cursor:pointer}
#top-nav button:hover{background:#363b44}
#top-nav button.active{color:#0ecb81;border-color:#0ecb81}
#btn-dashboard-settings{margin-left:auto;padding:5px 10px!important}
.app-layout{display:flex;flex-direction:row;height:calc(100vh - 44px)}
#sidebar{width:320px;min-width:320px;background:#1b1f24;border-right:1px solid #1f2937;display:flex;flex-direction:column;padding:10px;gap:6px;overflow-y:scroll;font-size:12px}
#sidebar .row{display:flex;align-items:center;gap:6px}
#sidebar .row label{color:#888;min-width:40px;text-align:right;flex-shrink:0}
#sidebar .row input,#sidebar .row select{background:#2a2e35;border:1px solid #333;color:#ccc;padding:4px 6px;border-radius:4px;font-size:12px;flex:none;width:200px;min-width:0;margin-left:auto}
#ema-cross-params .row input[type="checkbox"]{margin-left:0}
#ema-cross-params .row input,#ema-cross-params .row select{margin-left:0}
#ema-cross-params #sel-ema-interval,#ema-cross-params #sel-ma-interval{width:44px!important;min-width:44px!important;max-width:44px!important;flex:0 0 44px!important;padding:3px 2px;font-size:11px}
#ema-cross-params #inp-ema,#ema-cross-params #inp-ma{width:auto;flex:1 1 auto;min-width:0;padding:4px 6px;text-align:center}
#sidebar .row.row-stop-loss .sl-combo{display:flex;align-items:center;gap:6px;width:200px;margin-left:auto}
#sidebar .row.row-stop-loss .sl-combo select{width:86px;flex:0 0 86px;margin-left:0}
#sidebar .row.row-stop-loss .sl-combo input{width:auto;flex:1;min-width:0;margin-left:0}
#sidebar .row input[type="checkbox"]{flex:none;width:14px;height:14px;accent-color:#0ecb81}
#strategy-params .regime-override-editor{width:100%;max-height:300px;overflow:auto;padding:6px;background:#20252b;border:1px solid #333;border-radius:6px;display:flex;flex-direction:column;gap:8px}
#strategy-params .regime-override-card{background:#242a31;border:1px solid #333;border-radius:6px;padding:6px 8px}
#strategy-params .regime-override-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
#strategy-params .regime-override-title{color:#f0b90b;font-size:11px;font-weight:600;margin-bottom:4px}
#strategy-params .regime-override-head .regime-override-title{margin-bottom:0}
#strategy-params .regime-override-actions{display:flex;align-items:center;gap:6px}
#strategy-params .regime-override-select-all{width:auto!important;padding:2px 8px!important;font-size:11px!important;line-height:1.4;border-radius:999px!important}
#strategy-params .regime-override-select-none{background:#353944;border-color:#4a4f58}
#strategy-params .regime-override-options{display:flex;flex-wrap:wrap;gap:6px 8px}
#strategy-params .regime-override-option{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;border:1px solid #3a3f48;background:#1b1f24;color:#ccc;font-size:11px;line-height:1.4;cursor:pointer;min-width:0;text-align:left;flex:none}
#strategy-params .regime-override-option:hover{border-color:#0ecb81;color:#eee}
#strategy-params .regime-override-option input[type="checkbox"]{margin:0;width:14px;height:14px;accent-color:#0ecb81}
#strategy-params .regime-override-empty{color:#888;font-size:11px}
#sidebar .sep{border-top:1px solid #1f2937;margin:4px 0}
#sidebar button{background:#2a2e35;border:1px solid #333;color:#ccc;padding:6px 10px;border-radius:4px;font-size:12px;cursor:pointer;width:100%}
#sidebar button:hover{background:#363b44}
#chart-area{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}
#chart-container{flex:1;min-height:0;position:relative}
#dashboard-view{display:none;height:calc(100vh - 44px);overflow:auto;background:#161a1e}
#dashboard-panel{padding:12px;max-width:1400px;margin:0 auto}
#monitor-view{display:none;height:calc(100vh - 44px);padding:12px;background:#161a1e}
#monitor-frame{width:100%;height:100%;border:1px solid #1f2937;border-radius:8px;background:#161a1e}
#dashboard-regime{padding:8px 12px;border-radius:6px;margin-bottom:12px;font-weight:600;text-align:center}
#dashboard-regime.regime-up{background:rgba(14,203,129,.16);color:#0ecb81}
#dashboard-regime.regime-down{background:rgba(246,70,93,.16);color:#f6465d}
#dashboard-regime.regime-neutral{background:rgba(136,136,136,.18);color:#d6d6d6}
#dashboard-regime.regime-hv-up{background:rgba(240,185,11,.18);color:#f0b90b}
#dashboard-regime.regime-hv-down{background:rgba(255,136,68,.18);color:#ff9b5c}
#dashboard-regime.regime-unknown{background:rgba(136,136,136,.18);color:#bbb}
#dashboard-table{width:100%}
#dashboard-table table{width:100%;border-collapse:collapse;font-size:12px}
#dashboard-table th{color:#888;font-weight:500;padding:6px 8px;text-align:center;border-bottom:1px solid #2b2f35}
#dashboard-table td{padding:6px 8px;text-align:center;border-bottom:1px solid #242a30}
#dashboard-table .ind-name{text-align:left;color:#d6d6d6;white-space:nowrap}
#dashboard-table .cat-row{color:#f0b90b;font-weight:600;font-size:11px;text-align:left;background:#1b1f24}
#dashboard-table .composite-row td{border-top:1px solid #333;font-weight:600;color:#ddd}
.score-cell{display:flex;flex-direction:column;align-items:center;gap:2px}
.score-meter{width:96px;height:14px;display:flex;border:1px solid #2f3540;border-radius:3px;overflow:hidden;background:#222730;align-items:center;justify-content:center}
.score-half{width:50%;height:100%;position:relative}
.score-half.left{border-right:1px solid #2f3540}
.score-bar{display:block;height:100%;min-width:4px}
.score-bar.bull{background:#0ecb81}
.score-bar.bear{background:#f6465d;position:absolute;right:0;top:0}
.score-bar.neutral{background:#666;width:4px;height:4px;border-radius:50%;min-width:4px}
.score-value{font-size:11px;color:#bbb;line-height:1}
.score-na{color:#666;font-style:italic}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2001;display:none;align-items:flex-start;justify-content:center}
.modal-content{background:#1a1a2e;border-radius:8px;padding:16px;max-width:400px;width:92%;margin:60px auto;max-height:80vh;overflow-y:auto;border:1px solid #2f3540}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;color:#f0b90b;font-weight:600}
.modal-header button{width:auto!important;padding:2px 8px!important;font-size:12px!important}
#dashboard-settings-body .param-group{margin-bottom:12px}
#dashboard-settings-body .param-group h4{color:#f0b90b;margin:8px 0 4px;font-size:12px}
#dashboard-settings-body .param-indicator-block{margin-bottom:14px;border-bottom:1px solid #2a2e35;padding-bottom:10px}
#dashboard-settings-body .param-indicator-title{color:#d6d6d6!important;font-weight:600;font-size:12px;margin-bottom:4px}
#dashboard-settings-body .param-tf-tabs{display:flex;gap:4px;margin-bottom:6px}
#dashboard-settings-body .param-tf-btn{padding:2px 10px;font-size:11px;border-radius:4px;background:#2a2e35;color:#888;border:1px solid #333;cursor:pointer}
#dashboard-settings-body .param-tf-btn.active{background:#0ecb81;color:#000;border-color:#0ecb81}
#dashboard-settings-body .param-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:12px;color:#ccc}
#dashboard-settings-body input{width:86px;background:#2a2e35;border:1px solid #333;color:#ccc;padding:4px 6px;border-radius:4px;font-size:12px}
#btn-save-dashboard-settings{margin-top:8px}
#stats-bar{display:none;border-top:1px solid #1f2937;margin-top:4px;padding-top:6px;font-size:12px;flex-direction:column;gap:4px}
#stats-bar .stat{display:flex;justify-content:space-between;align-items:center}
#stats-bar .stat .label{color:#888}
#stats-bar .stat .value{color:#eee;font-weight:600}
#history-panel .history-item{background:#2a2e35;border:1px solid #333;border-radius:4px;padding:6px;margin-bottom:4px;cursor:pointer;display:flex;align-items:center;gap:6px}
#history-panel .history-item:hover{background:#363b44}
#history-panel .history-item input[type="checkbox"]{flex-shrink:0;accent-color:#0ecb81}
#history-panel .history-item .info{flex:1;min-width:0}
#history-panel .history-item .info div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#history-panel .history-item .label{color:#888}
#history-panel .history-item .value{color:#eee}
#history-panel .history-item .btn-del{background:#f6465d;border:none;color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;cursor:pointer;flex-shrink:0}
#history-panel .history-item .btn-del:hover{background:#d63d4f}
#compare-table{overflow-x:auto}
#compare-table table{width:100%;border-collapse:collapse;font-size:10px}
#compare-table th,#compare-table td{padding:3px 4px;text-align:left;border:1px solid #333}
#compare-table th{background:#252930;color:#888;font-weight:500}
#compare-table td{background:#2a2e35;color:#ccc}
#compare-table td.best{background:#0ecb81;color:#161a1e;font-weight:600}
#trades-panel{display:none;position:absolute;bottom:0;right:0;width:760px;max-height:85%;background:#1b1f24;border:1px solid #1f2937;border-radius:8px 0 0 0;z-index:100;font-size:12px;flex-direction:column;overflow:hidden}
#trades-panel .trades-panel-inner{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}
#trades-panel-equity{height:240px;min-height:180px;flex-shrink:0;position:relative;border-bottom:1px solid #1f2937}
#trades-panel-table{flex:1;min-height:0;overflow:auto}
#trades-panel table{width:100%;border-collapse:collapse}
#trades-panel th{position:sticky;top:0;background:#252930;padding:6px 8px;text-align:left;color:#888;font-weight:500;z-index:1}
#trades-panel td{padding:4px 8px;border-top:1px solid #1f2937;cursor:pointer}
#trades-panel tr:hover td{background:#252930}
#trades-panel-toolbar{display:flex;align-items:center;justify-content:flex-end;padding:4px 10px;border-bottom:1px solid #1f2937;gap:8px;flex-shrink:0}
#trades-panel-toolbar label{color:#888;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:4px}
.tp-tab{padding:6px 16px;font-size:12px;color:#888;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.tp-tab:hover{color:#ccc}
.tp-tab.active{color:#f0b90b;border-bottom-color:#f0b90b}
#trades-panel-yearly table{width:100%;border-collapse:collapse;font-size:12px}
#trades-panel-yearly th{padding:6px 8px;text-align:left;color:#888;font-weight:500;position:sticky;top:0;background:#1b1f24;z-index:1}
#trades-panel-yearly td{padding:5px 8px;border-top:1px solid #1f2937}
.toggle-sw{position:relative;width:40px;height:14px;display:inline-block;flex-shrink:0;min-width:0}
.toggle-sw input{opacity:0;width:0;height:0}
.toggle-sw .slider{position:absolute;inset:0;background:#333;border-radius:7px;transition:.2s;cursor:pointer}
.toggle-sw .slider::before{content:'';position:absolute;width:10px;height:10px;left:2px;top:2px;background:#888;border-radius:50%;transition:.2s}
.toggle-sw input:checked+.slider{background:#0ecb81}
.toggle-sw input:checked+.slider::before{transform:translateX(26px);background:#fff}
.long{color:#0ecb81}.short{color:#f6465d}
.ws-dot{width:10px;height:10px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:4px}
.ws-dot.green{background:#0ecb81}.ws-dot.yellow{background:#f0b90b}.ws-dot.red{background:#f6465d}
#scan-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2000;display:none;align-items:center;justify-content:center}
#scan-modal.open{display:flex}
.scan-box{background:#1b1f24;border-radius:8px;width:88vw;max-width:960px;height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.scan-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #1f2937;flex-shrink:0}
.scan-header span{font-weight:600;font-size:14px}
.scan-header button{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}
.scan-header button:hover{color:#eee}
.scan-config{display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid #1f2937;align-items:center;font-size:12px;flex-shrink:0}
.scan-config label{color:#888;margin-right:2px}
.scan-config input{background:#2a2e35;border:1px solid #333;color:#ccc;padding:3px 6px;border-radius:4px;font-size:12px;width:64px;text-align:center}
.scan-config button{background:#2a2e35;border:1px solid #333;color:#ccc;padding:5px 14px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}
.scan-config button:hover{background:#363b44}
.scan-config button:disabled{opacity:.5;cursor:default}
.scan-config .scan-sep{color:#555;margin:0 2px}
.scan-progress{padding:6px 16px;border-bottom:1px solid #1f2937;display:none;flex-shrink:0}
.scan-progress .bar-bg{height:4px;background:#1f2937;border-radius:2px;overflow:hidden}
.scan-progress .bar-fill{height:100%;background:#0ecb81;width:0%;transition:width .2s}
.scan-progress .msg{font-size:11px;color:#888;margin-top:3px;text-align:center}
.scan-tabs{display:flex;gap:0;padding:0 16px;border-bottom:1px solid #1f2937;flex-shrink:0;display:none}
.scan-tabs button{background:none;border:none;border-bottom:2px solid transparent;color:#888;padding:8px 10px;font-size:12px;cursor:pointer}
.scan-tabs button:hover{color:#ccc}
.scan-tabs button.active{color:#0ecb81;border-bottom-color:#0ecb81}
.scan-best{padding:6px 16px;font-size:12px;color:#ccc;display:none;align-items:center;gap:12px;flex-shrink:0}
.scan-best .val{color:#0ecb81;font-weight:600}
.scan-best button{background:#0ecb81;border:none;color:#161a1e;padding:4px 12px;border-radius:4px;font-size:11px;cursor:pointer;font-weight:600}
.scan-best button:hover{background:#0bb872}
#btn-export-scan{background:#3b82f6;color:#fff}
#btn-export-scan:hover{background:#2563eb}
.scan-hm-wrap{flex:1;min-height:0;position:relative;padding:4px 16px 10px;display:none}
.scan-hm-wrap canvas{display:block}
#scan-tip{position:absolute;background:rgba(30,34,40,.95);border:1px solid #333;border-radius:4px;padding:6px 10px;font-size:11px;color:#ccc;pointer-events:none;white-space:pre-line;z-index:10;display:none}
#scan-table{width:100%;border-collapse:collapse;font-size:12px}
#scan-table th{position:sticky;top:0;background:#1e2228;color:#888;padding:6px 8px;text-align:right;border-bottom:2px solid #333;cursor:pointer;white-space:nowrap;user-select:none}
#scan-table th:hover{color:#0ecb81}
#scan-table th.sort-active{color:#0ecb81}
#scan-table th.sort-active::after{content:' ▼';font-size:9px}
#scan-table td{padding:5px 8px;text-align:right;border-bottom:1px solid #1f2937;color:#ccc;white-space:nowrap}
#scan-table tr:hover td{background:#2a2e35;cursor:pointer}
#scan-table tr.rank-1 td{color:#f0b90b;font-weight:600}
#scan-table tr.rank-2 td{color:#ccc;font-weight:600}
#scan-table tr.rank-3 td{color:#b87333;font-weight:600}
#scan-table td:first-child,#scan-table th:first-child{text-align:center}
.btn-copy-samples{background:none;border:1px solid #555;color:#888;cursor:pointer;font-size:11px;padding:1px 4px;margin-left:4px;border-radius:3px;vertical-align:middle;line-height:1}
.btn-copy-samples:hover{color:#0ecb81;border-color:#0ecb81}
.scan-curve-btn{background:none;border:1px solid #0ecb81;color:#0ecb81;cursor:pointer;font-size:11px;padding:2px 8px;border-radius:3px;line-height:1.4}
.scan-curve-btn:hover{background:#0ecb81;color:#161a1e}
.scan-curve-btn:disabled{opacity:.4;cursor:default;background:none;color:#0ecb81}
#scan-equity-overlay{position:absolute;inset:0;background:rgba(0,0,0,.6);z-index:10;display:none;align-items:center;justify-content:center}
#scan-equity-overlay.open{display:flex}
#scan-equity-popup{background:#1e2228;border:1px solid #333;border-radius:8px;width:90%;max-width:700px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.5)}
#scan-equity-popup .seq-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid #1f2937}
#scan-equity-popup .seq-header span{font-size:12px;color:#ccc}
#scan-equity-popup .seq-header button{background:none;border:none;color:#888;font-size:18px;cursor:pointer}
#scan-equity-popup .seq-header button:hover{color:#eee}
#scan-equity-popup .seq-body{position:relative;height:280px}
#scan-equity-popup .seq-body canvas{display:block}
#scan-equity-popup .seq-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#888;font-size:13px}
#sym-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2000;display:none;align-items:center;justify-content:center}
#sym-modal.open{display:flex}
.sym-box{background:#1b1f24;border-radius:8px;width:620px;max-width:92vw;height:520px;max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 32px rgba(0,0,0,.5)}
.sym-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #1f2937}
.sym-header span{font-weight:600;font-size:14px}
.sym-header button{background:none;border:none;color:#888;font-size:20px;cursor:pointer;padding:0 4px}
.sym-header button:hover{color:#eee}
.sym-body{display:flex;flex:1;min-height:0}
.sym-left,.sym-right{flex:1;display:flex;flex-direction:column;min-height:0}
.sym-left{border-right:1px solid #1f2937}
.sym-panel-title{padding:8px 12px;font-size:12px;color:#888;border-bottom:1px solid #1f2937;display:flex;align-items:center;gap:6px}
.sym-search{display:flex;gap:6px;padding:8px 12px;border-bottom:1px solid #1f2937}
.sym-search input{flex:1;background:#2a2e35;border:1px solid #333;color:#ccc;padding:5px 8px;border-radius:4px;font-size:12px;outline:none}
.sym-search input:focus{border-color:#0ecb81}
.sym-search button{background:#2a2e35;border:1px solid #333;color:#888;padding:4px 8px;border-radius:4px;font-size:14px;cursor:pointer;flex-shrink:0;line-height:1}
.sym-search button:hover{color:#0ecb81;border-color:#0ecb81}
.sym-list{flex:1;overflow-y:auto;padding:4px 0}
.sym-item{display:flex;align-items:center;justify-content:space-between;padding:5px 12px;font-size:12px;color:#ccc}
.sym-item:hover{background:#2a2e35}
.sym-item button{background:none;border:none;cursor:pointer;font-size:15px;padding:2px 6px;border-radius:3px;line-height:1}
.sym-item .sym-add{color:#0ecb81}
.sym-item .sym-add:hover{background:rgba(14,203,129,.15)}
.sym-item .sym-del{color:#f6465d}
.sym-item .sym-del:hover{background:rgba(246,70,93,.15)}
.sym-item .sym-tag{font-size:10px;margin-left:6px;padding:1px 4px;border-radius:2px}
.sym-item .sym-delisted{color:#f0b90b;background:rgba(240,185,11,.1)}
.sym-item .sym-new{color:#0ecb81;background:rgba(14,203,129,.1)}
.sym-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid #1f2937}
.sym-footer button{padding:6px 20px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid #333}
.sym-footer .sym-cancel{background:#2a2e35;color:#ccc}
.sym-footer .sym-cancel:hover{background:#363b44}
.sym-footer .sym-confirm{background:#0ecb81;color:#161a1e;border-color:#0ecb81;font-weight:600}
.sym-footer .sym-confirm:hover{background:#0bb872}
#btn-sym-manage{background:none;border:1px solid #333;color:#888;width:24px!important;min-width:24px;max-width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;line-height:1;vertical-align:middle}
#btn-sym-manage:hover{color:#0ecb81;border-color:#0ecb81}
.sym-loading{display:flex;align-items:center;justify-content:center;padding:20px;color:#666;font-size:12px}
#ml-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:2000;display:none;align-items:center;justify-content:center}
#ml-modal.open{display:flex}
.ml-tab{background:none;border:none;border-bottom:2px solid transparent;color:#888;padding:8px 10px;font-size:12px;cursor:pointer}
.ml-tab:hover{color:#ccc}
.ml-tab.active{color:#0ecb81;border-bottom-color:#0ecb81}
.ml-panel{font-size:12px}
.status-card{background:#2a2e35;border-radius:6px;padding:10px 12px;margin-bottom:8px}
.status-card .title{color:#f0b90b;font-weight:600;margin-bottom:6px;font-size:13px}
.status-card .row{display:flex;justify-content:space-between;padding:2px 0}
.status-card .row .lbl{color:#888}
.status-card .row .val{color:#eee;font-weight:500}
#chart-toolbar{display:none}
#chart-toolbar button{background:#2a2e35;border:1px solid #333;color:#ccc;padding:5px 12px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap}
#chart-toolbar button:hover{background:#363b44}
#chart-toolbar button.active{color:#0ecb81;border-color:#0ecb81}
.tv-ci-button{min-width:auto!important;padding:0 10px!important}
.tv-ci-button .tv-ci-btn-inner{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.tv-ci-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tv-ci-button.is-active{color:#0ecb81!important}
#custom-ind-panel{display:none;position:absolute;top:38px;left:6px;z-index:201;background:#1b1f24;border:1px solid #1f2937;border-radius:6px;padding:12px;width:380px;font-size:12px;box-shadow:0 4px 16px rgba(0,0,0,.5);opacity:0;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease}
#custom-ind-panel.open{opacity:1;transform:translateY(0)}
#custom-ind-panel .ci-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}
#custom-ind-panel .ci-row label{color:#ccc;display:flex;align-items:center;gap:4px;min-width:130px}
#custom-ind-panel .ci-row input[type="checkbox"]{accent-color:#0ecb81;width:14px;height:14px}
#custom-ind-panel .ci-row input[type="number"]{background:#2a2e35;border:1px solid #333;color:#ccc;padding:3px 5px;border-radius:4px;font-size:11px;width:52px;text-align:center}
#custom-ind-panel .ci-param{color:#888;font-size:11px;display:flex;align-items:center;gap:3px}
#custom-ind-panel .ci-section{color:#f0b90b;font-size:11px;font-weight:600;margin:8px 0 4px;border-top:1px solid #1f2937;padding-top:6px}
#custom-ind-panel .ci-status{margin-top:8px;padding:6px 8px;border-radius:4px;font-size:11px;line-height:1.4;border:1px solid #334155;background:#111827;color:#93c5fd}
#custom-ind-panel .ci-status.ci-ok{border-color:#14532d;background:#052e16;color:#86efac}
#custom-ind-panel .ci-status.ci-warn{border-color:#78350f;background:#2b1f0d;color:#fcd34d}
#custom-ind-panel .ci-status.ci-err{border-color:#7f1d1d;background:#2a1212;color:#fca5a5}
#btn-apply-indicators{background:#0ecb81;border:none;color:#161a1e;padding:6px 16px;border-radius:4px;font-size:12px;cursor:pointer;font-weight:600;margin-top:8px;width:100%}
#btn-apply-indicators:hover{background:#0bb872}
