/* ==========================================================================
   GTS Strategy View — reusable styles.
   All selectors are scoped under .gts-sv to avoid collisions with host CSS.
   Palette intentionally mirrors MonitorScreen/db_monitor for visual parity.
   ========================================================================== */

.gts-sv{
    --sv-bg:#050607;--sv-panel:#0a0c0e;--sv-panel-2:#0d1013;
    --sv-border:#2a3138;--sv-border-soft:#182027;
    --sv-text:#d9e2ea;--sv-muted:#7d8893;
    --sv-accent:#2e8de4;--sv-accent-soft:#2e8de422;
    --sv-cyan:#2aa7c9;--sv-green:#43d17d;--sv-red:#ff6d6d;--sv-yellow:#f59e0b;
    color:var(--sv-text);font-family:"Segoe UI",system-ui,Tahoma,sans-serif;
}

/* ── account strip ── */
.gts-sv .account-strip{display:grid;grid-template-columns:repeat(10,minmax(80px,1fr));gap:0;background:var(--sv-panel);border:1px solid var(--sv-border);border-radius:8px;overflow:hidden;margin-bottom:8px;}
.gts-sv .account-cell{padding:10px 14px 12px;border-right:1px solid var(--sv-border-soft);transition:background .3s;}
.gts-sv .account-cell:last-child{border-right:none;}
.gts-sv .account-cell:hover{background:rgba(255,255,255,0.02);}
.gts-sv .account-label{color:var(--sv-muted);font-size:10px;font-weight:700;margin-bottom:6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.6px;}
.gts-sv .account-value{color:#fff;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gts-sv .account-value.pos{color:var(--sv-green);}
.gts-sv .account-value.neg{color:var(--sv-red);}

/* ── expanded strategy detail card ── */
.gts-sv .strat-detail{background:var(--sv-panel-2);border:1px solid var(--sv-accent);border-radius:8px;padding:14px 18px;}
.gts-sv .strat-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.gts-sv .strat-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sv-accent);border-left:4px solid var(--sv-cyan);border-radius:8px;padding:5px 12px;background:var(--sv-panel);font-weight:700;font-size:13px;color:var(--sv-cyan);}
.gts-sv .strat-summary{color:var(--sv-muted);font-size:11px;}
.gts-sv .strat-summary .open-hi{color:var(--sv-yellow);font-weight:700;}

/* ── tabs: Stats vs Config ── */
.gts-sv .sv-tabs{display:flex;gap:0;margin:10px 0 8px 0;border-bottom:1px solid var(--sv-border);}
.gts-sv .sv-tab-btn{background:transparent;border:none;color:var(--sv-muted);padding:8px 18px;font-size:12px;font-weight:700;cursor:pointer;border-bottom:2px solid transparent;letter-spacing:.4px;text-transform:uppercase;font-family:inherit;}
.gts-sv .sv-tab-btn:hover{color:var(--sv-text);}
.gts-sv .sv-tab-btn.active{color:var(--sv-accent);border-bottom-color:var(--sv-accent);}
.gts-sv .sv-tab-pane{display:none;}
.gts-sv .sv-tab-pane.active{display:block;}

.gts-sv .stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px 12px;font-size:11px;margin:10px 0 8px 0;padding:8px 12px;background:var(--sv-panel);border-radius:6px;border:1px solid var(--sv-border);}
.gts-sv .stats-grid .k{color:var(--sv-muted);font-size:10px;display:block;}
.gts-sv .stats-grid .v{font-weight:600;margin-top:2px;display:block;}

.gts-sv .side-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;font-size:11px;margin:0 0 8px 0;border-radius:6px;border:1px solid var(--sv-border);overflow:hidden;}
.gts-sv .side-box{padding:6px 12px;background:var(--sv-panel);}
.gts-sv .side-box.bid{border-right:1px solid var(--sv-border);}
.gts-sv .side-title{font-size:10px;font-weight:700;margin-bottom:4px;}
.gts-sv .side-title.bid{color:var(--sv-green);}
.gts-sv .side-title.ask{color:var(--sv-red);}
.gts-sv .side-rows{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;}
.gts-sv .side-rows > div{color:var(--sv-text);}
.gts-sv .side-rows .lbl{color:var(--sv-muted);}

.gts-sv .section-label{font-size:10px;font-weight:700;color:var(--sv-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.5px;}
.gts-sv .config-block{margin:8px 0 6px 0;}
.gts-sv .config-list{border:1px solid var(--sv-border);border-radius:6px;background:var(--sv-panel);overflow:hidden;}
.gts-sv .config-list ul{list-style:none;margin:0;padding:0;}
.gts-sv .config-list li{padding:4px 12px;border-bottom:1px solid var(--sv-border);display:flex;align-items:center;gap:8px;font-size:11px;}
.gts-sv .config-list li:last-child{border-bottom:none;}
.gts-sv .cfg-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.gts-sv .cfg-lbl{color:var(--sv-muted);min-width:100px;}
.gts-sv .cfg-val{font-weight:600;color:var(--sv-text);}
.gts-sv .cfg-val.vtrue{color:var(--sv-green);}
.gts-sv .cfg-val.vfalse{color:var(--sv-red);}

.gts-sv .handlers-block{border-top:1px solid var(--sv-border);padding:6px 0;}
.gts-sv .handlers-block .section-label{padding:2px 12px;}
.gts-sv .handler-tree{list-style:none;margin:0;padding:0;border-left:2px dashed #39506c;margin-left:16px;}
.gts-sv .handler-tree > li{padding:4px 12px;}

/* collapsible details/summary plumbing */
.gts-sv details.collapsible > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;user-select:none;}
.gts-sv details.collapsible > summary::-webkit-details-marker{display:none;}
.gts-sv details.collapsible > summary::before{content:"\25B8";display:inline-block;width:10px;color:var(--sv-muted);font-size:9px;transition:transform .15s;}
.gts-sv details.collapsible[open] > summary::before{transform:rotate(90deg);}

.gts-sv .slot-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sv-border);border-radius:4px;padding:3px 10px;background:var(--sv-panel-2);font-weight:700;font-size:11px;}
.gts-sv .slot-chip .slot-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.gts-sv .slot-chip.open{border-left:3px solid var(--sv-green);}
.gts-sv .slot-chip.open .slot-dot{background:var(--sv-green);}
.gts-sv .slot-chip.close{border-left:3px solid var(--sv-red);}
.gts-sv .slot-chip.close .slot-dot{background:var(--sv-red);}
.gts-sv .slot-chip .slot-side{font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;background:rgba(255,255,255,0.04);}
.gts-sv .slot-chip .slot-side.BID{color:var(--sv-green);}
.gts-sv .slot-chip .slot-side.ASK{color:var(--sv-red);}
.gts-sv .slot-chip .slot-pol{font-size:10px;font-weight:800;padding:1px 6px;border-radius:3px;background:rgba(46,141,228,0.12);color:var(--sv-accent);letter-spacing:.5px;}

.gts-sv .handler-meta{color:var(--sv-muted);font-size:10px;margin-left:6px;}
.gts-sv .handler-list{list-style:none;margin:2px 0 0 16px;padding:0;border-left:1px dashed #39506c;}
.gts-sv .handler-list > li{padding:3px 10px;}
.gts-sv .handler-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--sv-border);border-radius:4px;padding:3px 10px;background:var(--sv-panel);font-size:11px;}
.gts-sv .handler-chip .h-name{font-weight:600;color:var(--sv-text);}
.gts-sv .handler-chip .h-side{font-size:10px;font-weight:700;padding:1px 6px;border-radius:3px;background:rgba(255,255,255,0.04);}
.gts-sv .handler-chip .h-side.BID{color:var(--sv-green);}
.gts-sv .handler-chip .h-side.ASK{color:var(--sv-red);}
.gts-sv .handler-chip .h-policy{font-size:10px;font-weight:800;color:var(--sv-accent);padding:1px 6px;border-radius:3px;background:rgba(46,141,228,0.12);letter-spacing:.5px;}

.gts-sv .expr-list{list-style:none;margin:2px 0 0 20px;padding:0;}
.gts-sv .expr-list li{padding:1px 0;}
.gts-sv .expr-list details > summary{cursor:pointer;list-style:none;font-size:10px;color:var(--sv-yellow);display:flex;align-items:center;gap:4px;}
.gts-sv .expr-list details > summary::-webkit-details-marker{display:none;}
.gts-sv .expr-list .expr-dot{width:4px;height:4px;border-radius:50%;background:var(--sv-yellow);flex-shrink:0;}

/* ── master/detail split for expressions inside a handler ── */
.gts-sv .expr-pane{display:grid;grid-template-columns:220px 1fr;gap:8px;margin:6px 0 6px 12px;border:1px solid var(--sv-border);border-radius:6px;background:var(--sv-panel);overflow:hidden;}
.gts-sv .expr-pane-list{border-right:1px solid var(--sv-border);max-height:320px;overflow-y:auto;display:flex;flex-direction:column;}
.gts-sv .expr-pane-item{border:none;background:transparent;text-align:left;padding:6px 10px;font-size:11px;color:var(--sv-yellow);cursor:pointer;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--sv-border-soft);font-family:inherit;}
.gts-sv .expr-pane-item:last-child{border-bottom:none;}
.gts-sv .expr-pane-item:hover{background:rgba(245,158,11,0.06);}
.gts-sv .expr-pane-item.selected{background:rgba(46,141,228,0.12);color:#ffd48a;border-left:3px solid var(--sv-yellow);padding-left:7px;}
.gts-sv .expr-pane-item .expr-dot{width:4px;height:4px;border-radius:50%;background:var(--sv-yellow);flex-shrink:0;}

.gts-sv .expr-pane-detail{padding:8px 12px;display:flex;flex-direction:column;gap:6px;min-height:180px;}
.gts-sv .expr-pane-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--sv-border-soft);padding-bottom:6px;margin-bottom:2px;}
.gts-sv .expr-pane-name{font-size:11px;font-weight:700;color:var(--sv-yellow);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.gts-sv .expr-pane-arrows{display:flex;gap:4px;flex-shrink:0;}
.gts-sv .expr-pane-arrow{background:var(--sv-panel-2);border:1px solid var(--sv-border);color:var(--sv-text);border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer;font-family:inherit;min-width:26px;}
.gts-sv .expr-pane-arrow:hover:not(:disabled){background:rgba(46,141,228,0.12);border-color:var(--sv-accent);color:var(--sv-accent);}
.gts-sv .expr-pane-arrow:disabled{opacity:0.35;cursor:default;}
.gts-sv .expr-pane-counter{font-size:10px;color:var(--sv-muted);font-weight:700;}
.gts-sv .expr-pane-detail .expr-detail{margin:0;border-left-width:3px;}

@media (max-width: 720px){
    .gts-sv .expr-pane{grid-template-columns:1fr;}
    .gts-sv .expr-pane-list{border-right:none;border-bottom:1px solid var(--sv-border);max-height:160px;}
}

/* ── recursive dependency tree ── */
.gts-sv .expr-tree{margin-top:6px;border-top:1px solid var(--sv-border-soft);padding-top:6px;}
.gts-sv .expr-tree-title{font-size:10px;font-weight:700;color:var(--sv-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:0.5px;}
.gts-sv .tree-node{margin:2px 0;}
.gts-sv .tree-node > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;user-select:none;}
.gts-sv .tree-node > summary::-webkit-details-marker{display:none;}
.gts-sv .tree-node > summary::before{content:"\25B8";display:inline-block;width:10px;color:var(--sv-muted);font-size:9px;transition:transform .15s;flex-shrink:0;}
.gts-sv .tree-node[open] > summary::before{transform:rotate(90deg);}
.gts-sv .tree-node > summary:hover{background:rgba(46,141,228,0.06);}
.gts-sv .tree-node .tn-name{font-size:11px;color:var(--sv-yellow);font-weight:600;}
.gts-sv .tree-node .tn-type{font-size:10px;color:#7bc8ff;padding:1px 6px;background:rgba(123,200,255,0.08);border-radius:3px;}
.gts-sv .tree-node .tn-mode{font-size:10px;color:var(--sv-muted);}
.gts-sv .tree-node .tn-cycle{font-size:9px;color:var(--sv-red);font-weight:700;padding:1px 6px;background:rgba(255,109,109,0.08);border-radius:3px;}
.gts-sv .tree-children{margin-left:14px;padding-left:8px;border-left:1px dashed #39506c;}
.gts-sv .tree-leaf-field{font-size:10px;padding:2px 6px;display:flex;gap:8px;}
.gts-sv .tree-leaf-field .lf-k{color:var(--sv-muted);min-width:110px;}
.gts-sv .tree-leaf-field .lf-v{color:var(--sv-text);font-weight:600;}
.gts-sv .tree-leaf-field .lf-v.code{font-family:"JetBrains Mono",monospace;color:#7bc8ff;}
.gts-sv .tree-node-leaf{display:flex;align-items:center;gap:6px;padding:3px 6px;margin:2px 0;padding-left:16px;}
.gts-sv .tree-node-leaf .tn-name{font-size:11px;color:var(--sv-yellow);font-weight:600;}
.gts-sv .tree-node-leaf .tn-type{font-size:10px;color:#7bc8ff;padding:1px 6px;background:rgba(123,200,255,0.08);border-radius:3px;}
.gts-sv .tree-node-leaf .tn-mode{font-size:10px;color:var(--sv-muted);}
.gts-sv .expr-detail{margin:4px 0 6px 12px;padding:8px 10px;background:var(--sv-panel-2);border:1px solid var(--sv-border);border-left:3px solid var(--sv-yellow);border-radius:6px;font-size:10px;}
.gts-sv .expr-detail ul{list-style:none;margin:0;padding:0;}
.gts-sv .expr-detail li{display:flex;align-items:center;gap:8px;padding:2px 0;}
.gts-sv .expr-detail .ed-dot{width:4px;height:4px;border-radius:50%;background:#38bdf8;flex-shrink:0;}
.gts-sv .expr-detail .ed-lbl{color:var(--sv-muted);min-width:110px;}
.gts-sv .expr-detail .ed-val{color:var(--sv-text);font-weight:600;}
.gts-sv .expr-detail .ed-val.code{font-family:"JetBrains Mono",monospace;color:#7bc8ff;}
.gts-sv .expr-detail .ed-link{background:transparent;border:none;padding:0;margin:0;font:inherit;color:#7bc8ff;text-decoration:underline dotted;cursor:pointer;text-align:left;}
.gts-sv .expr-detail .ed-link.code{font-family:"JetBrains Mono",monospace;}
.gts-sv .expr-detail .ed-link:hover{color:#ffd48a;text-decoration:underline solid;}

.gts-sv .expr-summary{padding:8px 12px;margin-bottom:6px;background:var(--sv-panel-2);border:1px solid var(--sv-border);border-left:3px solid var(--sv-accent);border-radius:6px;font-size:12px;font-family:"JetBrains Mono",monospace;color:var(--sv-text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.gts-sv .expr-summary .op{color:var(--sv-yellow);font-weight:800;padding:0 4px;}
.gts-sv .expr-summary b{color:#7bc8ff;font-weight:700;}

.gts-sv .cell-pos{color:var(--sv-green);font-weight:700;}
.gts-sv .cell-neg{color:var(--sv-red);font-weight:700;}

/* ── periodic report table (Daily/Weekly/Monthly) ── */
.gts-sv .report-block{margin-top:10px;}
.gts-sv .report-tabs{display:flex;gap:0;margin-bottom:6px;}
.gts-sv .report-tab{background:transparent;border:1px solid var(--sv-border);color:var(--sv-muted);padding:4px 14px;font-size:11px;font-weight:700;cursor:pointer;}
.gts-sv .report-tab:first-child{border-radius:6px 0 0 6px;}
.gts-sv .report-tab:last-child{border-radius:0 6px 6px 0;border-left:none;}
.gts-sv .report-tab:not(:first-child):not(:last-child){border-left:none;}
.gts-sv .report-tab.active{background:var(--sv-accent);color:#fff;border-color:var(--sv-accent);}
.gts-sv .report-table{width:100%;border-collapse:collapse;background:var(--sv-panel);border:1px solid var(--sv-border);border-radius:6px;overflow:hidden;}
.gts-sv .report-table th{text-align:left;padding:8px 10px;color:#7f8c98;font-size:10px;font-weight:800;letter-spacing:.6px;border-bottom:1px solid #1d242c;background:rgba(255,255,255,0.015);text-transform:uppercase;}
.gts-sv .report-table td{padding:6px 10px;border-bottom:1px solid #12181f;color:var(--sv-text);font-size:11px;}
.gts-sv .report-table tr:last-child td{border-bottom:none;}
.gts-sv .report-empty{padding:10px;color:var(--sv-muted);font-size:11px;text-align:center;}
