/* Grid bot page. Uses the shared tokens from visual.css; no inline styles (CSP style-src 'self'). */
:is(#grid,#live-grid,#aster-grid-view) .grid-intro{max-width:880px;color:var(--muted);font-size:14px;margin:0 0 18px}
:is(#grid,#live-grid,#aster-grid-view) .grid-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 18px}
:is(#grid,#live-grid,#aster-grid-view) .grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-bottom:18px}
:is(#grid,#live-grid,#aster-grid-view) .grid-card{display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:left;padding:18px 20px;border:1px solid #ffffff17;border-radius:16px;background:linear-gradient(140deg,#13242d,#0e1925);color:var(--text);cursor:pointer;min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-card[aria-pressed=true]{border-color:#86f4ce70;box-shadow:0 0 0 1px #86f4ce30 inset}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-head{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-name{font-size:16px;font-weight:700;overflow-wrap:anywhere;width:100%}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric[hidden]{display:none}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric[data-key=cost]{grid-column:1/-1}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric[data-key=cost] b{white-space:normal;overflow:visible}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px 12px}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric{display:flex;flex-direction:column;min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric small{font-size:11px;color:var(--muted)}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric b{font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-reason{font-size:12px;color:#e8c897;min-height:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-reason:empty{display:none}
:is(#grid,#live-grid,#aster-grid-view) .grid-empty{margin:4px 0 18px}
:is(#grid,#live-grid,#aster-grid-view) .positive{color:#7ef0c4}:is(#grid,#live-grid,#aster-grid-view) .negative{color:#ff9aab}
:is(#grid,#live-grid,#aster-grid-view) .grid-create,:is(#grid,#live-grid,#aster-grid-view) .grid-bot{margin-bottom:24px}
:is(#grid,#live-grid,#aster-grid-view) .grid-create-head,:is(#grid,#live-grid,#aster-grid-view) .grid-bot-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
:is(#grid,#live-grid,#aster-grid-view) .grid-create{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px}
:is(#grid,#live-grid,#aster-grid-view) .grid-create-head{grid-column:1/-1}
:is(#grid,#live-grid,#aster-grid-view) .grid-form fieldset{border:1px solid #ffffff12;border-radius:14px;padding:14px 16px 16px;margin:0 0 14px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
:is(#grid,#live-grid,#aster-grid-view) .grid-form legend{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#a7c3d8;padding:0 6px}
:is(#grid,#live-grid,#aster-grid-view) .grid-form label{font-size:13px;color:#c6d4ea;margin-top:6px}
:is(#grid,#live-grid,#aster-grid-view) .grid-form input:where(:not([type=radio]):not([type=checkbox])),:is(#grid,#live-grid,#aster-grid-view) .grid-form select{width:100%;min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-choice{display:grid;gap:8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-choice label{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 12px;border:1px solid #ffffff12;border-radius:11px;cursor:pointer}
:is(#grid,#live-grid,#aster-grid-view) .grid-choice input{width:auto;margin-top:4px}
:is(#grid,#live-grid,#aster-grid-view) .grid-choice-inline{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(#grid,#live-grid,#aster-grid-view) .grid-form details summary{cursor:pointer;font-size:13px;color:#c6d4ea;margin-top:8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-preview{position:sticky;top:16px;align-self:start;min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-preview h4,:is(#grid,#live-grid,#aster-grid-view) .grid-panel h4{font-size:15px;margin:0 0 10px}
:is(#grid,#live-grid,#aster-grid-view) .grid-chart-wrap{position:relative;width:100%;height:360px;border:1px solid #ffffff10;border-radius:14px;background:#08121c;overflow:hidden}
:is(#grid,#live-grid,#aster-grid-view) .grid-chart-mini{height:200px}
:is(#grid,#live-grid,#aster-grid-view) .grid-chart-wrap>canvas{display:block;width:100%;height:100%}
:is(#grid,#live-grid,#aster-grid-view) .grid-chart-wrap{touch-action:pan-y}
:is(#grid,#live-grid,#aster-grid-view) .grid-chart-wrap canvas.grid-cursor-layer{position:absolute;inset:0;pointer-events:none;z-index:5}   /* above the chart's own canvases (z 1–2), C670-R1-01 */
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip{position:absolute;left:0;top:0;pointer-events:none;z-index:6;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid #ffffff24;border-radius:10px;background:#0d1a26ee;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:0 6px 18px #0008;will-change:transform;box-sizing:border-box;overflow:hidden}
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip span,:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip strong{white-space:normal;overflow-wrap:anywhere}
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip strong{font-size:12px}
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip[data-dense="1"]{padding:4px 6px;gap:0;line-height:1.25;font-size:11px}
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip[data-dense="2"]{padding:3px 5px;gap:0 6px;line-height:1.2;font-size:10.5px;flex-direction:row;flex-wrap:wrap}
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip[data-dense="1"] strong,:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip[data-dense="2"] strong{font-size:inherit}
:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip[data-fill=buy]{border-color:#5fe3b466}:is(#grid,#live-grid,#aster-grid-view) .grid-cursor-tip[data-fill=sell]{border-color:#ff8fa366}
:is(#grid,#live-grid,#aster-grid-view) .grid-summary{display:grid;grid-template-columns:minmax(9em,1fr) minmax(0,max-content);gap:6px 14px;margin:12px 0;font-size:13px}
:is(#grid,#live-grid,#aster-grid-view) .grid-summary dt{color:var(--muted)}
:is(#grid,#live-grid,#aster-grid-view) .grid-summary dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
:is(#grid,#live-grid,#aster-grid-view) .grid-fee{border-radius:14px;padding:14px 16px;margin:12px 0;border:1px solid #6cf3cd38;background:#6cf3cd0c}
:is(#grid,#live-grid,#aster-grid-view) .grid-fee[data-level=warn]{border-color:#f3c47e55;background:#f3c47e10}
:is(#grid,#live-grid,#aster-grid-view) .grid-fee[data-level=loss]{border-color:#ff9aab66;background:#ff9aab12}
:is(#grid,#live-grid,#aster-grid-view) .grid-fee h5{font-size:15px;margin:0 0 8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-fee ul{margin:0;padding-left:18px;font-size:13px}
:is(#grid,#live-grid,#aster-grid-view) .grid-fee-tips-title{margin:10px 0 4px;font-size:13px;font-weight:700}
:is(#grid,#live-grid,#aster-grid-view) .grid-warnings{list-style:none;padding:0;margin:8px 0;display:grid;gap:6px;font-size:13px}
:is(#grid,#live-grid,#aster-grid-view) .grid-warnings li{padding:8px 12px;border-radius:10px;background:#ffffff08;border:1px solid #ffffff12}
:is(#grid,#live-grid,#aster-grid-view) .grid-warnings li[data-level=WARN]{border-color:#f3c47e45;color:#ecd2a2}
:is(#grid,#live-grid,#aster-grid-view) .grid-warnings li[data-level=DANGER]{border-color:#ff9aab66;color:#ffc2cc;background:#ff9aab12}
/* owner 29.10: the worst case at the edge — calm under the preview, red below 20 % or without data */
:is(#grid,#live-grid,#aster-grid-view) .grid-edge{padding:10px 12px;margin:8px 0;border-radius:10px;border:1px solid #6cf3cd38;background:#6cf3cd0c;font-size:13px}
:is(#grid,#live-grid,#aster-grid-view) .grid-edge[data-level=DANGER]{border-color:#ff9aab66;background:#ff9aab12;color:#ffc2cc}
:is(#grid,#live-grid,#aster-grid-view) .grid-edge[data-level=NONE]{border-color:#ffffff1a;background:#ffffff08;color:#a7b8d3}
:is(#grid,#live-grid,#aster-grid-view) .grid-edge p{margin:0}:is(#grid,#live-grid,#aster-grid-view) .grid-edge ul{margin:6px 0 0;padding-left:18px}
:is(#grid,#live-grid,#aster-grid-view) .grid-reason{display:grid;gap:3px;padding:12px 14px;margin:0 0 12px;border-radius:12px;border:1px solid #f3c47e45;background:#f3c47e0e}
:is(#grid,#live-grid,#aster-grid-view) .grid-reason strong{font-size:14px}
:is(#grid,#live-grid,#aster-grid-view) .grid-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0}
:is(#grid,#live-grid,#aster-grid-view) .grid-legend span:before{content:'';display:inline-block;width:14px;height:2px;margin-right:6px;vertical-align:middle;background:currentColor}
:is(#grid,#live-grid,#aster-grid-view) .legend-buy{color:#5fe3b4}:is(#grid,#live-grid,#aster-grid-view) .legend-sell{color:#ff8fa3}:is(#grid,#live-grid,#aster-grid-view) .legend-empty{color:#8fa3c4}:is(#grid,#live-grid,#aster-grid-view) .legend-mark{color:#f3c47e}:is(#grid,#live-grid,#aster-grid-view) .legend-last{color:#a7b8d3}
:is(#grid,#live-grid,#aster-grid-view) .grid-nearest{font-size:14px;margin:4px 0 12px;font-variant-numeric:tabular-nums}
:is(#grid,#live-grid,#aster-grid-view) .grid-controls{position:relative;flex-wrap:wrap;gap:10px}
:is(#grid,#live-grid,#aster-grid-view) .grid-status-slot{display:flex;align-items:center;flex:0 0 40px;width:40px;height:44px;align-self:center}
:is(#grid,#live-grid,#aster-grid-view) .grid-controls .grid-status-toggle{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-width:0;padding:8px;border:1px solid transparent;background:transparent;color:#f3c47e;box-shadow:none;visibility:hidden}
:is(#grid,#live-grid,#aster-grid-view) .grid-status-slot[data-active=true] .grid-status-toggle{visibility:visible}
:is(#grid,#live-grid,#aster-grid-view) .grid-status-toggle svg{display:block;width:24px;height:24px;fill:#f3c47e10;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
:is(#grid,#live-grid,#aster-grid-view) .grid-status-toggle:focus-visible{outline:2px solid #f3c47e;outline-offset:2px}
:is(#grid,#live-grid,#aster-grid-view) .grid-status-slot .grid-reason{display:none;position:absolute;z-index:30;inset:auto auto calc(100% + 8px) 0;width:min(460px,100%);box-sizing:border-box;margin:0;background:#19262d;color:#e5edf5;box-shadow:0 8px 28px #0007;overflow-wrap:anywhere;pointer-events:auto}
:is(#grid,#live-grid,#aster-grid-view) .grid-status-slot[data-active=true][data-open=true] .grid-reason:not([hidden]){display:grid}
:is(#grid,#live-grid,#aster-grid-view) .grid-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:16px;margin-top:18px}
:is(#grid,#live-grid,#aster-grid-view) .grid-panel{border:1px solid #ffffff10;border-radius:14px;padding:14px 16px;min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-table-scroll{max-height:320px;overflow:auto}
:is(#grid,#live-grid,#aster-grid-view) .grid-table{width:100%;border-collapse:collapse;font-size:13px}
:is(#grid,#live-grid,#aster-grid-view) .grid-table th{position:sticky;top:0;font-size:11px;padding:8px 10px;text-align:left}
:is(#grid,#live-grid,#aster-grid-view) .grid-table td{padding:7px 10px;font-variant-numeric:tabular-nums;white-space:nowrap}
:is(#grid,#live-grid,#aster-grid-view) .grid-table tr[data-side=buy] td:first-child{color:#5fe3b4}
:is(#grid,#live-grid,#aster-grid-view) .grid-table tr[data-side=sell] td:first-child{color:#ff8fa3}
:is(#grid,#live-grid,#aster-grid-view) .grid-stops{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13px}
#grid-loss-dialog ul,:is(#grid-stop-dialog,#live-stop-stop-dialog) .grid-choice{margin:10px 0}
:is(#grid-stop-dialog,#live-stop-stop-dialog) .grid-choice{display:grid;gap:8px}
:is(#grid-stop-dialog,#live-stop-stop-dialog) .grid-choice label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #ffffff14;border-radius:11px}
:is(#grid,#live-grid,#aster-grid-view) .grid-markets{grid-column:1/-1;margin:4px 0 8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-markets input[type=search]{width:100%}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-list{max-height:420px;overflow:auto;border:1px solid #ffffff17;border-radius:12px;padding:4px 8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-list.grid-market-list-full{max-height:none;overflow:visible}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-group h5{margin:10px 4px 4px;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
:is(#grid,#live-grid,#aster-grid-view) .grid-market{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'head volume' 'funding funding' 'state state' 'thin thin';gap:2px 12px;align-items:center;width:100%;text-align:left;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font-size:13px}
:is(#grid,#live-grid,#aster-grid-view) .grid-market:hover,:is(#grid,#live-grid,#aster-grid-view) .grid-market[aria-pressed=true]{background:#ffffff0f}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-head{grid-area:head;display:flex;gap:8px;min-width:0;align-items:baseline}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-name{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-volume,:is(#grid,#live-grid,#aster-grid-view) .grid-market-funding{font-variant-numeric:tabular-nums;white-space:nowrap}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-volume{grid-area:volume;text-align:right}:is(#grid,#live-grid,#aster-grid-view) .grid-market-funding{grid-area:funding;color:var(--muted);font-size:12px}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-state{grid-area:state;font-size:12px}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-state[data-level=ok]{color:#7ef0c4}:is(#grid,#live-grid,#aster-grid-view) .grid-market-state[data-level=warn]{color:#e8c897}:is(#grid,#live-grid,#aster-grid-view) .grid-market-state[data-level=loss]{color:#ff9aab}
:is(#grid,#live-grid,#aster-grid-view) .grid-market-thin{grid-area:thin;font-size:12px;color:#e8c897}
@media(max-width:720px){:is(#grid,#live-grid,#aster-grid-view) .grid-market-funding{white-space:normal}}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-card{border:1px solid #ffffff17;border-radius:16px;padding:16px 18px;background:linear-gradient(140deg,#13242d,#0e1925);color:var(--text);min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-card h4{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--muted)}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-main{margin:0;font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-sub{margin:2px 0 0}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-muted{color:var(--muted)}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-metric[data-key=range] b{white-space:normal;overflow:visible}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-card .grid-summary{margin-top:8px;grid-template-columns:minmax(0,1fr) max-content;gap:5px 10px}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-card .grid-summary dd{white-space:nowrap;text-align:right;margin:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash-note{margin:8px 0 0;color:#e8c897}
:is(#grid,#live-grid,#aster-grid-view) .grid-dash [title]{cursor:help}
@media(max-width:1100px){:is(#grid,#live-grid,#aster-grid-view) .grid-dash{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){:is(#grid,#live-grid,#aster-grid-view) .grid-dash{grid-template-columns:1fr;gap:10px}:is(#grid,#live-grid,#aster-grid-view) .grid-dash-card .grid-summary{grid-template-columns:minmax(0,1fr) max-content}:is(#grid,#live-grid,#aster-grid-view) .grid-dash-card .grid-summary dd{text-align:right;margin:0}}
@media(max-width:1100px){:is(#grid,#live-grid,#aster-grid-view) .grid-create{grid-template-columns:minmax(0,1fr)}:is(#grid,#live-grid,#aster-grid-view) .grid-preview{position:static}}
@media(max-width:720px){:is(#grid,#live-grid,#aster-grid-view) .grid-summary{grid-template-columns:minmax(0,1fr)}:is(#grid,#live-grid,#aster-grid-view) .grid-summary dd{text-align:left;margin-bottom:6px}:is(#grid,#live-grid,#aster-grid-view) .grid-list{grid-template-columns:minmax(0,1fr)}:is(#grid,#live-grid,#aster-grid-view) .grid-chart-wrap{height:260px}:is(#grid,#live-grid,#aster-grid-view) .grid-chart-mini{height:170px}:is(#grid,#live-grid,#aster-grid-view) .grid-choice-inline{grid-template-columns:minmax(0,1fr)}:is(#grid,#live-grid,#aster-grid-view) .grid-controls button{flex:1 1 calc(50% - 10px)}}
:is(#grid,#live-grid,#aster-grid-view) .grid-totals-note{margin:6px 0 0}

/* trading accounts on the connections page */
.grid-account-form h3,.grid-account-card h3{margin:0 0 6px}
.grid-account-form label{display:block;margin:10px 0 4px}
.grid-account-form input,.grid-account-form select{width:100%}
.grid-account-form .grid-form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.grid-account-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0}
.grid-account-facts dt{color:var(--muted)}
.grid-account-facts dd{margin:0;overflow-wrap:anywhere}
.grid-account-ok{color:var(--teal);margin:0}
.grid-account-bad{color:var(--red);margin:0}
#ga-result[data-state=error]{color:var(--red)}
#ga-result[data-state=ok]{color:var(--teal)}
@media (max-width:600px){.grid-account-form .grid-form-row{grid-template-columns:1fr}}
/* 0.63.1: rename, the bot's cycle, orders in two panels (buys | sells), pairs on the full width */
:is(#grid,#live-grid,#aster-grid-view) .grid-bot-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
:is(#grid,#live-grid,#aster-grid-view) .grid-bot-title h3{margin:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-bot-title .compact{padding:4px 10px;font-size:12px;min-height:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-cycle{margin:-6px 0 12px}
:is(#grid,#live-grid,#aster-grid-view) .grid-cycle[data-level=warn]{color:#ffc46b}
:is(#grid,#live-grid,#aster-grid-view) .grid-orders,:is(#grid,#live-grid,#aster-grid-view) .grid-pairs{margin-top:16px}
:is(#grid,#live-grid,#aster-grid-view) .grid-orders-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
:is(#grid,#live-grid,#aster-grid-view) .grid-orders-head h4{margin:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-orders-price{margin:0;font-size:14px;font-variant-numeric:tabular-nums}
:is(#grid,#live-grid,#aster-grid-view) .grid-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
:is(#grid,#live-grid,#aster-grid-view) .grid-side{min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .grid-side h5{font-size:14px;margin:0 0 2px}
:is(#grid,#live-grid,#aster-grid-view) .grid-side[data-side=buy] h5{color:#5fe3b4}
:is(#grid,#live-grid,#aster-grid-view) .grid-side[data-side=sell] h5{color:#ff8fa3}
:is(#grid,#live-grid,#aster-grid-view) .grid-side>p.fine{margin:0 0 6px;min-height:1.3em}
:is(#grid,#live-grid,#aster-grid-view) .grid-side-scroll{height:320px;overflow:auto;overscroll-behavior:contain}
:is(#grid,#live-grid,#aster-grid-view) .grid-side .grid-table td,:is(#grid,#live-grid,#aster-grid-view) .grid-side .grid-table th{padding:6px 8px}
@media(max-width:720px){:is(#grid,#live-grid,#aster-grid-view) .grid-sides{grid-template-columns:minmax(0,1fr)}:is(#grid,#live-grid,#aster-grid-view) .grid-side-scroll{height:240px}:is(#grid,#live-grid,#aster-grid-view) .grid-side .grid-table{font-size:12px}:is(#grid,#live-grid,#aster-grid-view) .grid-side .grid-table td,:is(#grid,#live-grid,#aster-grid-view) .grid-side .grid-table th{padding:6px 5px}}

/* 0.64.9: the chart's «показывать все уровни» */
.grid-all-levels{margin:6px 0 0;font-size:12px;color:var(--muted, #8c98aa)}
/* 0.64.9: «если цена выйдет из диапазона» under the four cards */
.grid-range{margin:12px 0}
.grid-range .grid-dash-card{max-width:none}
/* 0.64.9: leverage */
.grid-leverage-warn{margin:6px 0 0;font-size:12px;color:#f2c26b}
.grid-leverage-warn[data-level="error"]{color:#ff8a8a}
/* 0.65.3 (owner 2026-10-17): the current price marked at the top of both tables, the start position's progress */
:is(#grid,#live-grid,#aster-grid-view) .grid-table tr[data-side=mark] td{color:var(--ink,#e8f1f2);font-weight:600;background:rgba(255,214,102,.08);border-bottom:1px solid rgba(255,214,102,.45)}
:is(#grid,#live-grid,#aster-grid-view) .grid-table tr[data-side=mark] td:first-child{color:#ffd666}
:is(#grid,#live-grid,#aster-grid-view) .grid-seeding{margin:6px 0 10px;padding:8px 10px;border-radius:8px;background:rgba(95,227,180,.08);font-size:14px;line-height:1.45}
/* 0.67.0: the bot page chart (grid-bot-tv.js, TradingView Lightweight Charts) */
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv{display:grid;gap:8px;min-width:0}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;font-variant-numeric:tabular-nums}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-head strong{font-size:14px}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-last{font-size:20px;border-radius:6px;padding:0 4px;transition:background-color .6s ease-out}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-last[data-flash=up]{background:#5fe3b433;transition:none}:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-last[data-flash=down]{background:#ff8fa333;transition:none}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-change.positive{color:#5fe3b4}:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-change.negative{color:#ff8fa3}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-stat{display:inline-flex;gap:4px;align-items:baseline}:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-stat small{color:var(--muted,#8c98aa)}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-group{display:inline-flex;border:1px solid #ffffff1a;border-radius:9px;overflow:hidden}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-tools button{min-height:32px;padding:4px 10px;border:0;border-radius:0;background:transparent;color:var(--muted,#a7b8d3);font-size:13px;cursor:pointer}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-tools button[aria-pressed=true]{background:#ffffff14;color:var(--text,#e8f0ff)}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-tools .gbv-tv-now{border:1px solid #ffffff1a;border-radius:9px;margin-left:auto}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-wrap{height:440px;touch-action:auto}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-box{position:absolute;inset:0}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-tools .gbv-tv-fit{border:1px solid #ffffff1a;border-radius:9px}
/* the volume pane's splitter (15–40 %) and the «ещё N уровней» notes at the price pane's edges (owner 2026-10-19) */
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-split{position:absolute;left:0;right:0;height:8px;cursor:row-resize;z-index:6;touch-action:none;background:transparent}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-split::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:#ffffff14}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-split:hover::after,:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-split:focus-visible::after{background:#ffffff40}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-more{position:absolute;left:8px;z-index:6;padding:2px 8px;border-radius:9px;background:#08121ccc;border:1px solid #ffffff1a;color:var(--muted,#a7b8d3);font-size:12px;pointer-events:none;white-space:nowrap}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-state{margin:0;color:#f3c47e}
:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-attr{margin:0;text-align:right;color:var(--muted,#8c98aa)}:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-attr a{color:inherit}
@media(max-width:720px){:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-wrap{height:340px}:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-last{font-size:17px}:is(#grid,#live-grid,#aster-grid-view) .gbv-tv-tools .gbv-tv-now{margin-left:0}}
/* 0.67.2 (owner 2026-10-18): the stop dialog — the position on top, the cost of each choice, actions bottom right */
:is(#grid-stop-dialog,#live-stop-stop-dialog){width:min(560px,calc(100vw - 28px));padding:28px}
:is(#grid-stop-dialog,#live-stop-stop-dialog) h2{margin:0 0 14px}
.stop-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 14px;padding:12px 14px;border:1px solid #2a3544;border-radius:12px;background:#0f161f}
.stop-summary div{display:grid;gap:2px;min-width:0}.stop-summary small{font-size:11px;color:var(--muted)}.stop-summary b{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.stop-summary .positive{color:var(--teal)}.stop-summary .negative{color:var(--red)}
.stop-lead{margin:0 0 4px;font-size:13px;color:#c4d0de}
.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}
.dialog-actions button{min-width:120px}
/* a full red primary action: .danger opts out of the site's gradient button (visual.css), this paints it solid */
.danger.danger-primary{background:#d9534f;color:#fff;border-color:#d9534f;font-weight:650}.danger.danger-primary:hover{background:#e6625d;color:#fff}
@media(max-width:560px){:is(#grid-stop-dialog,#live-stop-stop-dialog){padding:22px 16px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}
/* Warnings keep a reserved place in the header; stale data never adds a footer. */
:is(#grid,#live-grid,#aster-grid-view) .grid-card-head{position:relative;padding-right:25px}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-alert{position:absolute;right:0;top:1px;width:21px;height:21px;color:#e8c897;visibility:hidden}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-alert[data-active="true"]{visibility:visible}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-alert svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-alert::after{content:attr(data-tip);display:none;position:absolute;z-index:20;right:0;top:26px;width:230px;max-width:65vw;box-sizing:border-box;padding:10px 12px;border:1px solid #716348;border-radius:8px;background:#14232d;color:#e8c897;text-align:left;font-size:12px;line-height:1.5;font-weight:400;white-space:normal;pointer-events:none}
:is(#grid,#live-grid,#aster-grid-view) .grid-card-alert[data-active="true"][data-open="true"]::after,:is(#grid,#live-grid,#aster-grid-view) .grid-card-alert[data-active="true"]:hover::after,:is(#grid,#live-grid,#aster-grid-view) .grid-card:focus-visible .grid-card-alert[data-active="true"]::after{display:block}
:is(#grid,#live-grid,#aster-grid-view) .grid-range h4{display:flex;align-items:center;justify-content:space-between;gap:12px}
:is(#grid,#live-grid,#aster-grid-view) .grid-range-alert{width:21px;flex:0 0 21px;color:#e8c897;visibility:hidden}
:is(#grid,#live-grid,#aster-grid-view) .grid-range-alert[data-active="true"]{visibility:visible}
