:root{--bg: #0e141b;--bg-elevated: #151d27;--bg-panel: #121920;--stroke: #243041;--text: #e7eef7;--muted: #8fa3b8;--accent: #3d9cf0;--long: #3ecf8e;--short: #e36a5d;--fee-drag: #c45b9f;--warn: #d4a017;--font-display: "Sora", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{margin:0;height:100%;height:100dvh;background:radial-gradient(1200px 500px at 10% -10%,#1a2a3d 0%,transparent 55%),radial-gradient(900px 400px at 90% 0%,#1b2430 0%,transparent 50%),var(--bg);color:var(--text);font-family:var(--font-display)}button,input,textarea{font:inherit}button{cursor:pointer}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,transparent) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 40%,transparent);border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 70%,transparent)}*::-webkit-scrollbar-corner{background:transparent}.app{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:0}.topbar{display:flex;align-items:center;gap:10px;padding:0 16px;padding-top:env(safe-area-inset-top,0px);min-height:calc(56px + env(safe-area-inset-top,0px));border-bottom:1px solid var(--stroke);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent)}.brand{font-weight:700;letter-spacing:.02em;font-size:1.05rem}.modes{display:flex;gap:6px;min-width:0;overflow-x:auto}.mode,.chip,.btn{border:1px solid var(--stroke);background:transparent;color:var(--text);border-radius:6px;padding:6px 10px}.mode.active{background:var(--accent);border-color:var(--accent);color:#041018;font-weight:600}.chip.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.spacer{flex:1}.meta{display:flex;gap:12px;color:var(--muted);font-family:var(--font-mono);font-size:.8rem}.shell{display:grid;grid-template-columns:260px 1fr 300px;min-height:0}.shell--wide{grid-template-columns:260px 1fr}.panel{border-right:1px solid var(--stroke);background:var(--bg-panel);min-height:0;overflow:auto}.panel:last-child{border-right:none;border-left:1px solid var(--stroke)}.panel-h{padding:12px 14px;border-bottom:1px solid var(--stroke);color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.list-item{width:100%;text-align:left;border:0;border-bottom:1px solid var(--stroke);border-left:3px solid transparent;background:transparent;color:var(--text);padding:10px 14px;display:grid;gap:2px;min-height:54px;align-content:center}.list-item:hover,.list-item.active{background:#1a2430}.list-item.scanning{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.list-item.scanning.active{background:color-mix(in srgb,var(--accent) 18%,#1a2430)}.list-item-title{display:flex;align-items:center;gap:8px;min-width:0}.list-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.list-item--bot{gap:8px;min-height:0}.list-item-pick{display:grid;gap:2px;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.list-item-actions{display:flex;flex-wrap:wrap;gap:6px}.list-item-actions .btn{padding:4px 8px;font-size:.75rem}.engine-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--stroke)}.engine-dot.on{background:var(--long)}.engine-dot.off{background:transparent;box-shadow:inset 0 0 0 1.5px var(--muted)}.engine-dot.live{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent);animation:pulse-soft 1.2s ease-in-out infinite}.scan-badge{margin-left:auto;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--stroke));border-radius:4px;padding:1px 5px;flex-shrink:0}.scan-badge.idle{visibility:hidden}.list-item small{color:var(--muted);font-family:var(--font-mono);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-item.scanning small{color:color-mix(in srgb,var(--accent) 75%,var(--muted))}.bt-strategy-item{width:100%;text-align:left;border:0;border-bottom:1px solid var(--stroke);border-left:3px solid transparent;background:transparent;color:var(--text);padding:12px 14px;font-size:.92rem;font-weight:500}.bt-strategy-item:hover,.bt-strategy-item.active{background:#1a2430}.bt-strategy-item.active{border-left-color:var(--accent)}.bt-strategy-item.muted{color:var(--muted);font-weight:400;cursor:default}.main{display:grid;grid-template-rows:auto 1fr;min-height:0}.main-h{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--stroke)}.stage{padding:16px;overflow:auto;min-height:0}.stage-fill{display:flex;flex-direction:column;overflow:hidden}.card-block{border:1px solid var(--stroke);border-radius:8px;padding:14px;background:var(--bg-elevated);margin-bottom:12px}.chart-card{padding:0;overflow:hidden}.chart-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--stroke)}.chart-card-h h3{margin:0;font-size:.95rem}.chart-intervals{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}.chart-intervals .chip{padding:4px 8px;font-family:var(--font-mono);font-size:.75rem;line-height:1.2;cursor:pointer}.chart-host{width:100%;height:420px;min-height:200px}.chart-error{margin:0;padding:8px 14px;color:var(--short)}.strategy-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:none}.strategy-block{padding:14px 0;border-top:1px solid var(--stroke)}.strategy-block:first-of-type{border-top:none;padding-top:0}.scan-pairs{margin-top:8px}.scan-empty{margin:6px 0 0}.scan-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.scan-status{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.scan-status.running{color:var(--accent)}.scan-status.done{color:var(--long)}.scan-bar{height:4px;border-radius:999px;background:color-mix(in srgb,var(--stroke) 80%,transparent);overflow:hidden;margin-bottom:10px}.scan-bar-fill{height:100%;background:var(--accent);transition:width .25s ease}.scan-group{margin-bottom:8px}.scan-group-h{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);margin-bottom:4px}.pair-wrap{display:flex;flex-wrap:wrap;gap:4px;max-height:120px;overflow:auto}.pair-chip{font-family:var(--font-mono);font-size:.68rem;padding:2px 6px;border-radius:4px;border:1px solid var(--stroke);color:var(--muted);background:color-mix(in srgb,var(--bg-panel) 70%,transparent)}.pair-chip.queued{opacity:.65}.pair-chip.running{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--stroke));animation:pulse-soft 1.2s ease-in-out infinite}.pair-chip.done{color:var(--text);opacity:.75}.pair-chip.signal{color:var(--long);border-color:color-mix(in srgb,var(--long) 50%,var(--stroke))}.pair-chip.error{color:var(--short);border-color:color-mix(in srgb,var(--short) 50%,var(--stroke))}.scan-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.scan-board-toolbar h3{margin:0}.scan-board-actions{display:flex;gap:6px;flex-wrap:wrap}.scan-board-hint{margin:6px 0 10px}.scan-board-page{flex:1;min-height:0;display:flex;flex-direction:column;margin-bottom:0}.scan-board-progress,.scan-board-pane{flex:1 1 0;min-height:0;overflow:auto}.scan-board-progress{margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--stroke)}.scan-board-pane .scan-board{height:100%;min-height:0;display:flex;flex-direction:column}.scan-board-pane .bt-trades.scan-board-table{flex:1;min-height:0;overflow:auto;max-height:none}.scan-group-now .pair-wrap-now{min-height:22px;flex-wrap:nowrap;overflow:hidden}.scan-board-meta{margin-bottom:8px;color:var(--muted);font-size:.75rem}.scan-board-table{max-height:min(70vh,720px);overflow:auto}.bt-trades.scan-board-table,.bt-trades .scan-board-table{max-height:none;overflow:visible}.scan-board-table .scan-sort-th{padding:0}.scan-board-table .scan-sort{display:inline-flex;align-items:center;gap:4px;width:100%;margin:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:500;padding:6px 8px;white-space:nowrap;cursor:pointer}.scan-board-table .scan-sort:hover,.scan-board-table .scan-sort.active{color:var(--text)}.scan-board-table .scan-sort-ind{font-size:.62rem;opacity:.45}.scan-board-table .scan-sort.active .scan-sort-ind{opacity:.9;color:var(--accent)}.scan-board-table .scan-row{cursor:pointer}.scan-board-table .scan-row:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.scan-board-table .scan-score,.bt-trades .scan-score{font-weight:600;color:var(--accent)}.scan-board-table .scan-reason{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-board-table .long{color:var(--long)}.scan-board-table .short{color:var(--short)}.scan-board-table .muted{color:var(--muted)}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}.bt-form{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:flex-end;margin-bottom:16px}.bt-form--stack{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:14px;max-width:480px}.bt-form--toolbar{margin-bottom:12px}.bt-field{display:grid;gap:5px;align-content:start;font-family:var(--font-mono);font-size:.72rem;color:var(--muted);min-width:0}.bt-field>span{letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.bt-actions{margin-top:4px;align-self:flex-end}.bt-form--stack .bt-actions{align-self:stretch;margin-top:4px}.bt-field input,.bt-field select,.bt-field textarea{width:100%;min-width:0;height:34px;background:#0c1218;border:1px solid var(--stroke);border-radius:6px;color:var(--text);padding:6px 10px;font-family:var(--font-mono);font-size:.85rem;line-height:1.2}.bt-field textarea{height:auto;min-height:72px;resize:vertical;line-height:1.4}.bt-form:not(.bt-form--stack) .bt-field input,.bt-form:not(.bt-form--stack) .bt-field select{width:auto;min-width:120px}.bt-form:not(.bt-form--stack) .bt-field--narrow input{width:88px;min-width:88px}.bt-field input:focus,.bt-field select:focus,.bt-field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 55%,var(--stroke))}.bt-check,.bt-radio{display:flex;align-items:flex-start;gap:8px;font-family:var(--font-display);font-size:.85rem;color:var(--text);line-height:1.35;cursor:pointer}.bt-check{align-items:center;padding-bottom:2px}.chip.bt-check{padding-bottom:6px;gap:6px}.bt-check input,.bt-radio input{margin:.15em 0 0;flex-shrink:0}.bt-check input{margin-top:0}.bt-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px}.bt-metrics div{display:grid;gap:2px}.bt-metrics strong{font-size:1.1rem}.bt-metrics span{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);text-transform:uppercase}.bt-trades{margin-top:12px;max-height:320px;overflow:auto;border:1px solid var(--stroke);border-radius:6px;background:#0c1218}.bt-trades table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.72rem}.bt-trades th,.bt-trades td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--stroke);white-space:nowrap}.bt-trades thead th{position:sticky;top:0;z-index:1;background:#121a22;box-shadow:0 1px 0 var(--stroke)}.bt-trades th{color:var(--muted);font-weight:500}.bt-trades td.long{color:var(--long)}.bt-trades td.short{color:var(--short)}.bt-trades td.fee-drag{color:var(--fee-drag)}.bt-trades td.fee-cost{color:var(--short)}.bt-trades td.pnl-hero{font-weight:700;font-variant-numeric:tabular-nums}.bt-trades tbody tr.pos-row{cursor:pointer}.bt-trades tbody tr.pos-row--win td{background:color-mix(in srgb,var(--long) 10%,transparent)}.bt-trades tbody tr.pos-row--loss td{background:color-mix(in srgb,var(--short) 10%,transparent)}.bt-trades tbody tr.pos-row:hover td{filter:brightness(1.12)}.pos-row-more{font-size:.72rem}.bt-metrics .fee-drag{color:var(--fee-drag)}.bt-metrics .fee-cost{color:var(--short)}.bt-metrics .long{color:var(--long)}.bt-metrics .short{color:var(--short)}.mb-active{margin-bottom:12px}.mb-progress{height:6px;background:#ffffff14;border-radius:3px;overflow:hidden;margin:8px 0 10px}.mb-progress-bar{height:100%;background:var(--accent);transition:width .2s ease}.mb-row-active{outline:1px solid var(--accent)}.card-block h3{margin:0 0 8px;font-size:.95rem}.mono{font-family:var(--font-mono);font-size:.82rem;white-space:pre-wrap;color:var(--muted)}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn.primary{background:var(--accent);border-color:var(--accent);color:#041018;font-weight:600}.btn.long{color:var(--long);border-color:color-mix(in srgb,var(--long) 50%,var(--stroke))}.btn.short{color:var(--short);border-color:color-mix(in srgb,var(--short) 50%,var(--stroke))}.status-pill{font-family:var(--font-mono);font-size:.72rem;padding:2px 8px;border-radius:999px;border:1px solid var(--stroke);color:var(--muted)}.status-pill.active{color:var(--long);border-color:color-mix(in srgb,var(--long) 45%,var(--stroke))}.status-pill.draft{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,var(--stroke))}.error-detail{margin:0;max-width:min(720px,55vw);max-height:140px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:.72rem;line-height:1.35;padding:6px 8px;border-radius:6px;border:1px solid color-mix(in srgb,var(--warn) 45%,var(--stroke));color:var(--warn);background:#0c1218}textarea{width:100%;min-height:72px;background:#0c1218;border:1px solid var(--stroke);border-radius:6px;color:var(--text);padding:8px;resize:vertical}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:color-mix(in srgb,#000 55%,transparent);display:grid;place-items:center;padding:24px}.modal{width:min(860px,100%);max-height:min(86vh,900px);display:grid;grid-template-rows:auto auto 1fr auto;gap:10px;background:var(--bg-elevated);border:1px solid var(--stroke);border-radius:10px;padding:16px;box-shadow:0 16px 48px color-mix(in srgb,#000 45%,transparent)}.modal-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.modal-h h3{margin:0;font-size:1rem}.modal-hint{margin:0}.modal-prompt{margin:0;padding:12px;overflow:auto;background:#0c1218;border:1px solid var(--stroke);border-radius:6px;white-space:pre-wrap;word-break:break-word;color:var(--text);font-size:.75rem;line-height:1.45}.modal-actions{justify-content:flex-end}.sub-panel h3{margin-top:0}.sub-steps{margin:0 0 12px;opacity:.75}.sub-aside .list-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.bot-exit-mode{display:grid;gap:10px;border:1px solid var(--stroke);border-radius:6px;padding:12px 14px;margin:0;min-width:0}.bot-exit-mode legend{padding:0 4px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.bot-exit-mode .bt-form{margin-bottom:0}.bot-account{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.bot-settings{max-width:720px;margin-bottom:16px}.bot-summary{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;gap:6px;width:100%;text-align:left;padding:12px 14px;margin:0 0 12px;background:#0c1218;border:1px solid var(--stroke);border-radius:6px;color:inherit;cursor:pointer}.bot-summary:hover,.bot-summary.is-open{border-color:color-mix(in srgb,var(--accent) 55%,var(--stroke))}.bot-summary-head{display:flex;align-items:center;gap:10px;min-width:0}.bot-summary-head strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bot-summary-hint{margin-left:auto;flex-shrink:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.bot-summary-meta{color:var(--muted);font-size:.8rem;line-height:1.45}.bt-form:not(.bt-form--stack) .bt-field--size select{min-width:168px}.card-block h3.bot-section-title{margin-top:16px;margin-bottom:8px}.btn-icon{width:44px;min-width:44px;padding:0;display:grid;place-items:center}.list-toggle{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-menu-backdrop,.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:color-mix(in srgb,#000 55%,transparent)}.mode-menu{position:absolute;top:calc(64px + env(safe-area-inset-top,0px));left:12px;right:12px;max-width:320px;max-height:min(70vh,480px);overflow:auto;padding:8px;border:1px solid var(--stroke);border-radius:10px;background:var(--bg-elevated);display:grid;gap:4px;box-shadow:0 16px 48px color-mix(in srgb,#000 45%,transparent)}.mode-menu .mode{width:100%;text-align:left;justify-content:flex-start}.drawer-backdrop{display:flex;justify-content:flex-start}.drawer{width:min(320px,88vw);height:100%;overflow:auto;background:var(--bg-panel);border-right:1px solid var(--stroke);padding-bottom:env(safe-area-inset-bottom,0px)}.drawer-h{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;z-index:1;background:var(--bg-panel);padding-top:env(safe-area-inset-top,0px)}.drawer-h .panel-h{border-bottom:0;flex:1}.drawer-h .btn{margin:8px 12px 8px 0}.tabbar,.bot-tabbar{display:none}.bot-live-at{margin:0 0 8px}.panel-accordion{display:none;border-top:1px solid var(--stroke);background:var(--bg-panel);min-height:0}.panel-accordion>summary{min-height:44px;padding:12px 16px;cursor:pointer;list-style:none;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.panel-accordion>summary::-webkit-details-marker{display:none}.panel-accordion-body{max-height:min(50vh,420px);overflow:auto}.data-cards{display:grid;gap:8px}.data-cards-toolbar{display:flex;align-items:flex-end;gap:8px;margin-bottom:10px}.data-cards-toolbar .bt-field{flex:1}.data-card{border:1px solid var(--stroke);border-radius:8px;padding:10px 12px;background:#0c1218;display:grid;gap:8px}.data-card-main{display:grid;gap:4px;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}.data-card-h{display:flex;align-items:baseline;gap:8px;min-width:0}.data-card--pos .data-card-h{align-items:center}.data-card-h strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-card-h .scan-score,.data-card-h .mono,.data-card-h .data-card-pnl{margin-left:auto;flex-shrink:0}.data-card-pnl{display:flex;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.15;font-variant-numeric:tabular-nums}.data-card-pnl-amt{font-size:1.12rem;font-weight:700;letter-spacing:-.02em}.data-card-pnl-pct{font-size:.72rem;opacity:.88}.data-card .long{color:var(--long)}.data-card .short{color:var(--short)}.data-card--win{border-color:color-mix(in srgb,var(--long) 42%,var(--stroke));box-shadow:inset 3px 0 0 var(--long);background:color-mix(in srgb,var(--long) 11%,#0c1218)}.data-card--loss{border-color:color-mix(in srgb,var(--short) 42%,var(--stroke));box-shadow:inset 3px 0 0 var(--short);background:color-mix(in srgb,var(--short) 11%,#0c1218)}.data-card--win .data-card-pnl{color:var(--long)}.data-card--loss .data-card-pnl{color:var(--short)}.data-card--flat .data-card-pnl{color:var(--muted)}.data-card-sub{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-card-actions{display:flex;flex-wrap:wrap;gap:6px}.data-card-dl{margin:0;display:grid;gap:6px;font-family:var(--font-mono);font-size:.72rem}.data-card-dl div{display:grid;grid-template-columns:minmax(72px,34%) 1fr;gap:8px}.data-card-dl dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.64rem}.data-card-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.data-card-msg{margin:0;color:var(--muted);font-size:.78rem;white-space:pre-wrap;overflow-wrap:anywhere}.main:has(.panel-accordion){grid-template-rows:auto 1fr auto}button,a,.scan-row,.list-item,.list-item-pick{touch-action:manipulation}@media (max-width: 1100px){.shell,.shell--wide{grid-template-columns:minmax(200px,240px) 1fr}.panel--right{display:none}.panel-accordion{display:block}.topbar-meta{display:none}}@media (max-width: 719px){.app--tabs{grid-template-rows:auto 1fr auto}.shell,.shell--wide{grid-template-columns:1fr}.panel--left,.modes,.account-name,.account-role{display:none}.account-btn{padding:4px}.btn,.mode,.chip,.account-btn,.list-item,.bt-strategy-item,.tabbar-btn{min-height:44px}.list-item-actions .btn,.data-card-actions .btn{min-height:44px;padding:8px 12px}.tabbar{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--stroke);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);padding-bottom:env(safe-area-inset-bottom,0px)}.tabbar-btn{border:0;border-radius:0;background:transparent;color:var(--muted);font-weight:600;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.tabbar-btn.active{color:var(--accent);box-shadow:inset 0 2px 0 var(--accent)}.stage--bot-tabs{display:flex;flex-direction:column;overflow:hidden;padding:0}.stage--bot-tabs .bot-panel--phone{flex:1;min-height:0;display:flex;flex-direction:column;margin:0;border:0;border-radius:0;padding:0}.bot-panel-scroll{flex:1;min-height:0;overflow:auto;padding:14px 16px 12px}.bot-tabbar{display:grid;grid-template-columns:1fr 1fr 1fr;flex-shrink:0;border-top:1px solid var(--stroke);background:color-mix(in srgb,var(--bg-elevated) 94%,transparent);padding-bottom:env(safe-area-inset-bottom,0px)}.app--tabs .bot-tabbar{padding-bottom:0}.bot-tabbar .tabbar-btn{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px}.bot-tabbar-count{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:0;text-transform:none;opacity:.85}.chart-host{height:min(42vh,280px)}.scan-board-hint{display:none}.stage-fill{overflow:auto}.scan-board-page{flex:none;height:auto}.scan-board-progress,.scan-board-pane{flex:none;overflow:visible}.bt-form:not(.bt-form--stack){flex-direction:column;flex-wrap:nowrap;align-items:stretch}.bt-form:not(.bt-form--stack) .bt-field input,.bt-form:not(.bt-form--stack) .bt-field select{width:100%;min-width:0}.bt-form:not(.bt-form--stack) .bt-field--narrow input,.bt-form:not(.bt-form--stack) .bt-field--size select{width:100%;min-width:0}.bt-field input,.bt-field select,.bt-field textarea,textarea,input,select{font-size:16px}.error-detail{max-width:100%;max-height:80px}.main-h{flex-wrap:wrap}.modal-backdrop,.dialog-backdrop{padding:0;align-items:stretch}.modal,.dialog,.dialog--form{width:100%;max-height:100dvh;border-radius:0;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.bot-settings{max-width:none}.bt-trades{overflow-x:auto;-webkit-overflow-scrolling:touch}.users-table th,.users-table td{white-space:nowrap}.users-add-email{min-width:0}}.login-screen{min-height:100%;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);padding:28px 24px;border:1px solid var(--stroke);border-radius:12px;background:color-mix(in srgb,var(--bg-elevated) 92%,transparent);display:grid;gap:14px;justify-items:start}.login-muted{margin:0;color:var(--muted)}.login-error{margin:0;color:var(--short);font-size:.9rem}.google-btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;background:#fff;color:#1f1f1f;border-color:#fff;font-weight:600}.google-btn:hover{filter:brightness(.96)}.account{position:relative}.account-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--stroke);background:transparent;color:var(--text);border-radius:999px;padding:4px 10px 4px 4px}.account-avatar{width:24px;height:24px;border-radius:999px;object-fit:cover}.account-avatar-fallback{display:grid;place-items:center;background:var(--bg-elevated);font-size:.75rem;font-weight:700}.account-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem}.account-role{font-family:var(--font-mono);font-size:.7rem;color:var(--muted);text-transform:uppercase}.account-role.admin{color:var(--accent)}.account-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:220px;padding:8px;border:1px solid var(--stroke);border-radius:8px;background:var(--bg-elevated);z-index:20;display:grid;gap:4px}.account-email{padding:6px 8px;color:var(--muted);font-size:.75rem;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis}.account-menu-item{text-align:left;border:0;background:transparent;color:var(--text);border-radius:6px;padding:8px}.account-menu-item:hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000 55%,transparent);display:grid;place-items:center;z-index:40;padding:16px}.dialog{width:min(840px,100%);max-height:min(80vh,640px);overflow:auto;display:flex;flex-direction:column;gap:16px;background:var(--bg-elevated);border:1px solid var(--stroke);border-radius:12px;padding:16px}.dialog--form{width:min(480px,100%)}.dialog-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;font-size:1rem;font-weight:700;line-height:1.3}.dialog-lead{margin:0;color:var(--muted);font-size:.85rem;line-height:1.45}.keys-venue{display:grid;gap:12px;margin:0;padding:14px;background:var(--bg-panel);border:1px solid var(--stroke);border-radius:8px}.keys-venue-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0;font-size:.9rem;font-weight:600;line-height:1.3}.keys-venue-status{font-family:var(--font-mono);font-size:.75rem;font-weight:400;color:var(--muted)}.users-table{width:100%;border-collapse:collapse;font-size:.85rem}.users-table th,.users-table td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--stroke)}.users-table select{background:var(--bg-panel);color:var(--text);border:1px solid var(--stroke);border-radius:6px;padding:4px 6px}.users-add{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.users-add .btn{height:34px}.users-add-email{flex:1;min-width:220px}.tip{position:relative;display:inline-flex;align-self:flex-end;padding-bottom:6px}.tip-btn{width:22px;height:22px;padding:0;border-radius:999px;border:1px solid var(--stroke);background:#0c1218;color:var(--muted);font-family:var(--font-mono);font-size:.78rem;line-height:1}.tip-btn:hover,.tip:focus-within .tip-btn{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,var(--stroke))}.tip-pop{width:min(460px,calc(100vw - 24px));padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--stroke);border-radius:8px;box-shadow:0 12px 32px #00000073;color:var(--text);font-family:var(--font-display);font-size:.78rem;line-height:1.45;text-transform:none;letter-spacing:0}.tip-pop--fixed{position:fixed;z-index:80}.tip-pop p{margin:0 0 8px;color:var(--muted)}.tip-pop pre{margin:0 0 10px;padding:8px 10px;overflow-x:auto;background:#0c1218;border:1px solid var(--stroke);border-radius:6px;color:var(--text);font-family:var(--font-mono);font-size:.68rem;line-height:1.55;white-space:pre}.tip-pop table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.7rem}.tip-pop th,.tip-pop td{text-align:left;padding:4px 6px 4px 0;border-bottom:1px solid var(--stroke);white-space:nowrap}.tip-pop th{color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.64rem}.tip-pop td:last-child{white-space:normal;color:var(--muted)}
