/* V6.1 — spójny, czytelny interfejs. Nakłada się na style.css (te same klasy, nowe tokeny). */
:root{--bg:#0b0f15;--panel:#131a24;--panel-2:#0f1620;--line:#243041;--grid:#1a2330;--text:#e6edf6;--muted:#8d9cb2;
 --mint:#6ce5be;--red:#ff858d;--blue:#8baefc;--amber:#f3cd75;--violet:#cba3ff;--orange:#ffbc78;--radius:12px;--gap:16px}
body{font-size:14.5px;line-height:1.55;background:var(--bg)}
.stat strong,.kpi strong,.big-number,td,.bot-metrics b,.position-numbers strong{font-variant-numeric:tabular-nums}
h2{font-size:17px;font-weight:650}
h3{font-size:13px;text-transform:none;color:var(--text)}

/* Nawigacja w grupach */
nav{gap:4px;margin-top:34px}
.nav-group{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#5f6f86;padding:14px 13px 4px}
.nav{padding:10px 13px;border-radius:9px}
.nav:hover{color:var(--text);background:#172131}
.nav.active{background:#16302b;color:var(--mint)}
.aside-foot #appVersion{color:var(--mint)}

/* Nagłówek strony */
header{margin-bottom:22px}
.header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;align-items:center}
#voiceToggleV6{border-radius:999px;font-size:12px}
#voiceToggleV6.on{border-color:#2f5d50;background:#14281f;color:var(--mint)}
.dev-banner{background:#3a2d14;border:1px solid #7a5a22;color:#ffd68a;border-radius:10px;padding:10px 16px;margin-bottom:18px;font-weight:650;font-size:13px;letter-spacing:.3px}

/* Panele i siatki */
main .panel{margin-bottom:18px}
.section-heading{flex-wrap:wrap;margin-bottom:12px}
.section-heading h2,.section-heading h3{margin:0}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.toolbar.compact{margin:0;gap:10px}
.toolbar.compact label{flex-direction:row;align-items:center;gap:8px}
.toolbar.compact select{padding:7px 9px}
.sticky-tools{position:sticky;top:0;z-index:4;background:var(--bg);padding:10px 0;margin-bottom:12px}
.empty.small{padding:28px 16px;font-size:13px}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin-bottom:18px}
.kpi{background:linear-gradient(145deg,#182231,var(--panel));border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0}
.kpi small{display:block;color:var(--muted);font-size:11px;letter-spacing:.3px}
.kpi strong{display:block;font-size:21px;line-height:1.3;margin:5px 0 3px;overflow-wrap:anywhere}
.kpi span{font-size:11.5px;color:var(--muted)}

/* Odznaki */
.badges{display:flex;gap:6px;flex-wrap:wrap}
.badge.env-live{color:#ffbb7e;border-color:#6a4b33}
.badge.env-demo{color:var(--violet);border-color:#51406b}
.badge.env-testnet{color:var(--amber);border-color:#5f5230}
.badge.env-paper{color:var(--muted);border-color:#3a4658}
.badge.state-running{color:var(--mint);border-color:#2f5d50}
.badge.state-paused{color:var(--muted)}
.badge.state-expiring,.badge.state-risk_paused{color:var(--amber);border-color:#5f5230}
.badge.state-deleting{color:var(--red);border-color:#6f3d43}

/* Strona bota */
.bot-hero-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.bot-hero h2{font-size:22px;margin:4px 0}
.bot-hero .actions{margin-top:14px}
.event-list{max-height:330px;overflow:auto}
.event-list .event{grid-template-columns:110px 1fr}
.bot-card h2 a{color:var(--text);text-decoration:none;border-bottom:1px dashed #3d4d63}
.bot-card h2 a:hover{color:var(--mint);border-color:var(--mint)}

/* Wykresy */
.chart-box{position:relative;height:340px;border-radius:10px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line)}
.chart-box.tall{height:min(560px,62vh)}
.chart-box.curve{height:260px}
.chart-box .empty{border:0;height:100%;display:grid;place-items:center;margin:0}
#priceChart.lwc{height:min(600px,64vh);border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.lwc{position:relative}
.chart-legend{position:absolute;left:10px;top:8px;z-index:3;pointer-events:none;font-size:12px;color:var(--text);background:#0b0f15cc;padding:3px 8px;border-radius:6px;max-width:calc(100% - 90px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chart-legend:empty{display:none}

/* Tabele danych */
.data-table th{position:sticky;top:0;background:var(--panel);z-index:1;font-size:11.5px;letter-spacing:.2px}
.data-table th[data-sort]{cursor:pointer;user-select:none}
.data-table th[data-sort]:hover{color:var(--text)}
.data-table th.sorted{color:var(--mint)}
.data-table th.sorted.desc::after{content:' ↓'}.data-table th.sorted.asc::after{content:' ↑'}
.data-table td{padding:11px 10px}
.data-table tbody tr:hover{background:#172131}
.data-table td:not(:first-child):not(:nth-child(2)):not(:nth-child(3)){text-align:right}
.data-table th:not(:first-child):not(:nth-child(2)):not(:nth-child(3)){text-align:right}
.data-table a{color:var(--text);font-weight:600}
.data-table a:hover{color:var(--mint)}
#marketOutputV6 .data-table td,#marketOutputV6 .data-table th{text-align:left}

/* Przełącznik segmentowy */
.segmented{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.segmented button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:8px 14px}
.segmented button+button{border-left:1px solid var(--line)}
.segmented button.active{background:#16302b;color:var(--mint);font-weight:650}

/* Salda kont */
.account-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-bottom:18px}
.account-card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.account-card h3{margin:0;font-size:15px}
.big-number{font-size:26px;font-weight:700;margin:10px 0 8px}
.big-number small{font-size:12px;color:var(--muted);font-weight:500}
.mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mini-grid small{display:block;color:var(--muted);font-size:10.5px}
.mini-grid b{font-size:14px}
#balAccount{width:auto}

/* Rynek */
.market-form{align-items:flex-end}
.market-form label{margin:0}
.market-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,1fr);gap:18px}
.market-side{display:flex;flex-direction:column}
.tv-chart{height:560px}
.tv-tape{margin-bottom:14px;min-height:46px}
.tradingview-widget-container{width:100%;height:100%}
.tf-strip{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-bottom:18px}
.tf-cell{border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center;background:var(--panel-2);min-width:0}
.tf-cell b{display:block;font-size:15px}
.tf-cell span{display:block;font-size:11.5px;overflow-wrap:anywhere}
.tf-cell small{color:var(--muted);font-size:10.5px}
.tf-cell.up{border-color:#2f5d50;background:#11271f}.tf-cell.up span{color:var(--mint)}
.tf-cell.down{border-color:#6f3d43;background:#2a171b}.tf-cell.down span{color:var(--red)}
.tf-cell.corr{border-color:#5f5230;background:#26210f}.tf-cell.corr span{color:var(--amber)}
.tf-cell.flat span{color:var(--blue)}.tf-cell.na{opacity:.55}
.gauge{width:100%;max-width:260px;display:block;margin:0 auto}
.gauge-label{text-align:center;color:var(--muted);margin:4px 0 0}

/* Laboratorium jako strona */
#labBody h3{margin-top:22px}
#researchListV6{display:flex;flex-wrap:wrap;gap:8px}

@media(max-width:1100px){.market-grid{grid-template-columns:1fr}.tf-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}
@media(max-width:700px){
 .nav-group{display:none}
 header{flex-direction:column}
 .header-actions{justify-content:flex-start}
 .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kpi strong{font-size:17px}
 .tf-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
 .chart-box.tall,#priceChart.lwc{height:420px}
 .tv-chart{height:420px}
 .bot-hero-head{flex-direction:column}
 .toolbar.compact{flex-wrap:wrap}
 .segmented button{padding:8px 10px}
}
.market-grid.no-tv{grid-template-columns:minmax(0,1fr)}
.market-grid.no-tv .market-side{max-width:520px}

.side-long{color:#6ce5be}.side-short{color:#ff7e8b}
.environment-switch button[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}
body[data-environment=live] .environment-switch button[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}
.calendar-controls,.day-navigation{flex-wrap:wrap;align-items:end}.calendar-controls input[type=number]{width:100px}.calendar-controls label{margin:0}.day-navigation label{margin:0}
.calendar-table small{display:block;color:var(--muted);font-size:10px}.calendar-table td:not(:first-child),.calendar-table th:not(:first-child){text-align:right}
[data-calendar-period]{cursor:pointer}[data-calendar-period]:hover,[data-calendar-period]:focus{outline:none;filter:brightness(1.4)}[data-calendar-period]:focus>rect:first-child{stroke:var(--mint)}
.layout-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;font-size:11px;color:var(--muted)}.layout-toolbar label{flex-direction:row;align-items:center;margin:0}.layout-toolbar button,.layout-toolbar select{padding:6px 8px;font-size:11px}.layout-toolbar select{max-width:180px}
.layout-editable{outline:1px dashed var(--mint);outline-offset:2px}.layout-handle{display:flex;align-items:center;justify-content:flex-end;gap:6px;grid-column:1/-1;padding:5px;color:var(--mint);cursor:grab;font-size:11px;position:relative;z-index:4}.layout-handle button{padding:2px 8px;font-size:12px}.layout-handle:active{cursor:grabbing}
@media(max-width:700px){.header-actions{flex-wrap:wrap}.calendar-controls select{max-width:220px}.layout-toolbar{gap:5px}}
[hidden]{display:none!important}
.account-directions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;margin:6px 0}
.account-direction{display:grid;grid-template-columns:auto 1fr auto;gap:8px 14px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-variant-numeric:tabular-nums}
.account-direction small{grid-column:1/-1;color:var(--muted)}
.account-bots.fleet-list{gap:0;overflow-x:auto}
.fleet-list-head,.fleet-list-row{display:grid;grid-template-columns:minmax(220px,2fr) minmax(90px,1fr) minmax(70px,.6fr) minmax(145px,1fr) 65px;align-items:center;gap:16px;padding:11px 10px;min-width:700px;font-size:12px;font-variant-numeric:tabular-nums}
.fleet-list-head{color:var(--muted);border-bottom:1px solid var(--line);font-size:11.5px}
.fleet-list-row>span:not(:first-child),.fleet-list-head>span:not(:first-child){text-align:right}
.fleet-list-row small{display:block;color:var(--muted);margin-top:4px;font-size:11px;white-space:normal}
.fleet-list-row a{color:var(--text);font-weight:600}.fleet-list-row a:hover{color:var(--mint)}
.fleet-list-row:hover,summary.position-line:hover{background:#172131}
.fleet-list .bot-card{padding:0;border:0;border-bottom:1px solid #24303e;border-radius:0;background:transparent;min-width:700px}
.fleet-list .fleet-expand{margin:0}.fleet-list .fleet-expand>summary{padding:11px 10px;color:var(--text);list-style:none}
.fleet-list .fleet-expand[open] .row-expand{transform:rotate(180deg)}
.fleet-list .fleet-expand> :not(summary){margin-left:14px;margin-right:14px}
.position-table details{margin:0}.position-line{padding:11px 10px;border-color:#24303e;font-size:12px;list-style:none}
.position-line>span:not(:first-child){text-align:right}.position-line.table-head{font-size:11.5px;background:var(--panel);color:var(--muted)}
.chart-inline-heading #chartTfV6{width:105px}
@media(max-width:850px){.account-directions{grid-template-columns:1fr}.account-direction{grid-template-columns:auto 1fr}.account-direction strong{text-align:right;grid-column:2}.fleet-account{overflow:hidden}}
.position-table{min-width:650px}.position-line{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr 1.1fr;gap:12px;padding:12px 8px;align-items:center;border-bottom:1px solid #334155;font-variant-numeric:tabular-nums}
summary.position-line{cursor:pointer}.table-head{font-size:12px;color:#9baabd}.position-detail{padding:12px}.direction-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.direction-columns>section{min-width:0}
#botGrid.fleet-list{display:flex;flex-direction:column}.fleet-expand>summary{cursor:pointer;padding:12px 0}.fleet-pnl{font-weight:700;margin:8px 0}.fleet-position{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.fleet-exits section{border-top:1px solid #334155}.fleet-exits h4{margin:10px 0}
@media(max-width:1000px){.direction-columns{grid-template-columns:1fr}}

.direction-columns .position-table{min-width:0}.direction-columns .position-line{grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,.7fr) minmax(0,1.2fr) minmax(0,1fr);gap:6px;font-size:12px}.direction-columns .position-line>span{overflow-wrap:anywhere}

.two-col>*,.direction-columns>*,.position-group{min-width:0}.drawing-tools{flex-wrap:wrap}.drawing-tools select{max-width:100%}.chart-box{max-width:100%}

/* Account grouping and full-screen chart workspaces. */
#botGrid.account-groups{display:flex;flex-direction:column;gap:20px}
.fleet-account{min-width:0}.fleet-account>header{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.fleet-account h2{margin:0 0 8px}
.account-totals{display:flex;flex-wrap:wrap;gap:16px}.account-totals span{display:flex;flex-direction:column;gap:5px}.account-totals b{font-size:1.1rem}
.global-tp-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:10px}
.account-bots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px}.account-bots.fleet-list{display:flex;flex-direction:column}
.chart-workspace{min-width:0;position:relative;background:#101722}.chart-workspace .chart-modes{padding:8px 0}.chart-modes [aria-pressed=true]{border-color:#6ce5be;color:#6ce5be}
.full-tv-chart{height:600px;min-height:420px;width:100%}.full-tv-chart .tradingview-widget-container,.full-tv-chart .tradingview-widget-container__widget{height:100%;width:100%}
.chart-workspace:fullscreen{display:flex;flex-direction:column;padding:12px;width:100vw;height:100vh;overflow:auto}.chart-workspace:fullscreen .full-tv-chart,.chart-workspace:fullscreen .lwc{flex:1;height:calc(100vh - 145px)!important;min-height:250px}
#tvChart:fullscreen{width:100vw;height:100vh;background:#101722}.chart-workspace .hidden{display:none!important}
@media(max-width:650px){.fleet-account{padding:10px}.account-totals{gap:12px}.full-tv-chart{height:520px}.global-tp-bar{align-items:flex-start}}

.account-totals .account-close-count{display:block;align-self:center;white-space:nowrap}.account-close-count small{display:block;margin-bottom:5px;color:var(--muted)}
.lwc{position:relative}.execution-overlay{position:absolute;left:0;top:0;z-index:2;pointer-events:none;overflow:hidden}.chart-legend{z-index:3}
#bpHistory{max-width:100%}.drawing-tools>.hint:last-child{flex-basis:100%}
.chart-workspace>.chart-modes{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin:0;padding:5px 0 8px;min-width:0}
.chart-inline-heading,.chart-inline-heading>.toolbar{display:contents}
.chart-inline-heading h2{font-size:13px;white-space:nowrap;margin:0 5px 0 0}
.chart-inline-heading label{display:flex;flex-direction:row;align-items:center;gap:4px;min-width:0;white-space:nowrap;font-size:11px}
.chart-modes label{margin:0}
.chart-inline-heading label:has(#bpTrade){flex:1}.chart-inline-heading #bpTrade{width:100%;min-width:80px;max-width:260px}
.chart-inline-heading #bpTf{width:104px;min-width:65px}
.chart-modes button,.chart-modes select,.chart-more>summary{padding:6px 8px;font-size:12px;min-height:32px;white-space:nowrap}
.chart-more{position:relative;flex-shrink:0;margin:0}.chart-more>summary{cursor:pointer;list-style:none;border:1px solid var(--line);border-radius:7px}
.chart-more>.drawing-tools{position:absolute;right:0;top:100%;z-index:20;display:flex;flex-wrap:wrap;align-items:center;width:min(650px,85vw);max-height:65vh;overflow:auto;padding:12px;margin:4px 0;background:var(--panel-2,#101924);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 30px #0008}
.chart-more>.drawing-tools label{max-width:100%}.chart-more>.drawing-tools .hint{white-space:normal}
@media(max-width:700px){.chart-inline-heading h2{display:none}.chart-inline-heading label{font-size:0;gap:0}.chart-modes button,.chart-modes select,.chart-more>summary{padding:5px;font-size:11px}.chart-inline-heading #bpTf{width:70px}.chart-workspace>.chart-modes{gap:3px}.chart-inline-heading #bpTrade{min-width:45px}}
@media(max-width:700px){.chart-modes #bpReload,.chart-more>summary{font-size:0}.chart-modes #bpReload::after{content:'↻';font-size:14px}.chart-more>summary::after{content:'⋯';font-size:18px}.chart-more>summary{height:32px;min-width:28px}}
