:root{--bg: #0b0e11;--panel: #11151c;--panel-2: #161b22;--border: #1b1f27;--text: #eaecef;--text-dim: #848e9c;--up: #16c784;--down: #ea3943;--accent: #f0b90b;--warn: #f6465d;--radius: 8px;--mono: ui-monospace, "SF Mono", "Roboto Mono", Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.up{color:var(--up)}.down{color:var(--down)}.dim{color:var(--text-dim)}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:center;gap:16px;padding:0 16px;height:48px;flex:0 0 48px;background:var(--panel);border-bottom:1px solid var(--border)}.header .brand{font-weight:700;letter-spacing:.5px}.header .spacer{flex:1}.header .stat{color:var(--text-dim);font-size:12px}.header .stat b{color:var(--text);font-weight:600}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid var(--border)}.chip .dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.chip .dot.ok{background:var(--up)}.chip .dot.bad{background:var(--down)}.chip.paper{background:#f0b90b1f;color:var(--accent);border-color:#f0b90b59}.chip.live{background:#ea39431f;color:var(--down);border-color:#ea394366}.chip.demo{background:#388bfd24;color:#58a6ff;border-color:#388bfd66}.env-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--panel-2)}.env-toggle.busy{opacity:.6;pointer-events:none}.env-toggle button{border:0;background:transparent;color:var(--text-dim);padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.4px}.env-toggle button:hover:not(.active){color:var(--text)}.env-toggle button.active.real{background:#ea39432e;color:var(--down)}.env-toggle button.active.demo{background:#388bfd33;color:#58a6ff}.demo-note{text-align:center;font-size:11px;font-weight:600;color:#58a6ff;background:#388bfd1a;border:1px solid rgba(56,139,253,.3);border-radius:var(--radius);padding:5px 8px;margin-bottom:6px}.body{display:grid;flex:1;min-height:0}.col{min-height:0;display:flex;flex-direction:column;overflow:hidden}.col.left{background:var(--panel)}.col.center{min-width:0}.col.right{background:var(--panel)}.resize-handle{position:relative;z-index:5;touch-action:none}.resize-handle.resize-x{cursor:col-resize;background:var(--border)}.resize-handle.resize-x:hover,.resize-handle.resize-x:active{background:var(--accent)}.resize-handle.resize-y{cursor:row-resize;background:var(--border);height:6px;flex:0 0 6px}.resize-handle.resize-y:hover,.resize-handle.resize-y:active{background:var(--accent)}.symbols-search{padding:8px;border-bottom:1px solid var(--border)}.symbols-search input{width:100%;padding:7px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text)}.symbols-cats{display:flex;gap:4px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;border-bottom:1px solid var(--border)}.symbols-cats::-webkit-scrollbar{display:none}.symbols-cats button{flex:0 0 auto;padding:3px 9px;background:transparent;border:1px solid var(--border);border-radius:999px;color:var(--text-dim);font-size:11px;white-space:nowrap}.symbols-cats button:hover{color:var(--text)}.symbols-cats button.active{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.symbols-cats button.fav{color:var(--accent)}.symbols-cats button.fav.active{background:#f0b90b1f}.symbols-cats button.drawn{color:#7aa2f7}.symbols-cats button.drawn.active{background:#7aa2f724;border-color:#7aa2f7}.symbols-cats button .count{margin-left:4px;font-size:10px;opacity:.7}.symbols-sort{display:flex;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border)}.symbols-sort button{flex:1;padding:4px 6px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:11px}.symbols-sort button.active{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.symbols-list{overflow-y:auto;flex:1}.symbol-row{display:flex;align-items:center;gap:6px;padding:7px 12px 7px 8px;cursor:pointer;border-bottom:1px solid rgba(27,31,39,.5)}.symbol-row .star{flex:0 0 14px;width:14px;padding:0;background:none;border:none;color:var(--text-dim);font-size:13px;line-height:1;text-align:center}.symbol-row .star:hover,.symbol-row .star.on{color:var(--accent)}.symbol-row .meta{margin-left:auto}.symbol-row:hover{background:var(--panel-2)}.symbol-row.active{background:#f0b90b14;border-left:2px solid var(--accent)}.symbol-row .sym{font-weight:600;display:inline-flex;align-items:center;gap:5px}.symbol-row .meta{text-align:right}.symbol-row .meta .price{font-size:12px}.symbol-row .meta .chg{font-size:11px}.symbol-row .meta .vol{font-size:10px}.signal-badge{font-size:11px;line-height:1}.drawn-badge{font-size:10px;line-height:1;color:var(--text-dim);opacity:.75}.chart-toolbar{display:flex;align-items:center;gap:12px;padding:8px 12px;border-bottom:1px solid var(--border)}.chart-toolbar .title{font-weight:700;font-size:15px}.intervals{display:flex;gap:4px}.intervals button{padding:4px 10px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:12px}.intervals button.active{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.chart-wrap{flex:1;min-height:0;position:relative}.draw-toolbar{position:absolute;top:8px;left:8px;z-index:7;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 6px;border-radius:7px;background:#11151ce6;border:1px solid var(--border);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-size:11px}.draw-tools,.draw-colors{display:flex;gap:3px}.draw-tools button{width:26px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--panel-2);border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:13px;line-height:1}.draw-tools button:hover{color:var(--text)}.draw-tools button.active{background:#f0b90b26;color:var(--accent);border-color:var(--accent)}.draw-colors .swatch{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.25);padding:0}.draw-colors .swatch.active{outline:2px solid var(--text);outline-offset:1px}.draw-status{color:var(--text-dim);font-family:var(--mono);white-space:nowrap}.draw-status em{font-style:normal;margin-left:4px}.draw-status em.unsaved{color:var(--accent);font-weight:600}.draw-status em.none{color:var(--text-dim);opacity:.7}.draw-act{padding:3px 9px;border-radius:5px;font-size:11px;font-weight:600;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.draw-act:hover:not(:disabled){border-color:var(--accent)}.draw-act.danger{color:var(--down)}.draw-act.danger:hover:not(:disabled){border-color:var(--down)}.draw-act:disabled{opacity:.4;cursor:not-allowed}.draw-hint{color:var(--text-dim);opacity:.65;white-space:nowrap}.positions{border-top:1px solid var(--border);max-height:34%;display:flex;flex-direction:column}.panel-tabs{display:flex;align-items:center;gap:2px;padding:4px 8px;border-bottom:1px solid var(--border);flex:0 0 auto}.panel-tabs>button{padding:5px 12px;background:transparent;border:none;border-radius:5px;color:var(--text-dim);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px}.panel-tabs>button:hover{color:var(--text)}.panel-tabs>button.active{background:var(--panel-2);color:var(--accent)}.range-picker{display:flex;gap:2px}.range-picker button{padding:3px 9px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-dim);font-size:11px}.range-picker button.active{background:var(--panel-2);color:var(--text);border-color:var(--accent)}.panel-empty{padding:20px;text-align:center;color:var(--text-dim);font-size:12px}.panel-note{padding:4px 12px;font-size:11px;color:var(--accent)}.positions-table{overflow-y:auto}.balance-tab{display:flex;flex-direction:column;flex:1;min-height:0}.bal-stats{display:flex;align-items:center;gap:16px;padding:6px 12px;flex:0 0 auto}.bal-stats .stat{color:var(--text-dim);font-size:12px}.bal-stats .stat b{color:var(--text);font-weight:600}.bal-stats .stat b.up{color:var(--up)}.bal-stats .stat b.down{color:var(--down)}.bal-chart{flex:1;min-height:140px}.chart-tooltip{position:absolute;z-index:10;pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:11px;box-shadow:0 4px 12px #00000080}.chart-tooltip .t{color:var(--text-dim);margin-bottom:2px}.chart-tooltip .v{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.chart-tooltip .d{font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:2px}table.pos{width:100%;border-collapse:collapse;font-size:12px}table.pos th{text-align:right;color:var(--text-dim);font-weight:500;padding:5px 12px;position:sticky;top:0;background:var(--bg)}table.pos th:first-child,table.pos td:first-child,table.pos th.l{text-align:left}table.pos td{padding:6px 12px;border-top:1px solid var(--border);text-align:right}.side-badge{display:inline-block;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:700}.side-badge.long{background:#16c78426;color:var(--up)}.side-badge.short{background:#ea394326;color:var(--down)}.ticket{padding:14px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:12px}.ticket>*{flex-shrink:0}.ticket h3{margin:0 0 4px;font-size:13px;letter-spacing:.4px;word-break:break-word}.seg{display:flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.seg button{flex:1;padding:7px;background:var(--panel-2);border:none;color:var(--text-dim);font-weight:600}.seg button.active.long{background:var(--up);color:#04120b}.seg button.active.short{background:var(--down);color:#1a0406}.seg button.active.neutral{background:var(--accent);color:#0b0e11}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field label{font-size:11px;color:var(--text-dim);display:flex;justify-content:space-between}.field input,.field select{min-width:0;width:100%;padding:7px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;color:var(--text)}.field input[type=range]{padding:0}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.outputs{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-2);padding:10px 12px}.out-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}.out-row .k{color:var(--text-dim)}.out-row .v{font-family:var(--mono);font-variant-numeric:tabular-nums}.rr-lock{display:inline-flex;align-items:center;gap:4px;margin-left:8px;font-weight:400;text-transform:none;cursor:pointer}.rr-lock input{margin:0}.rr-value{display:inline-flex;align-items:center;gap:3px}.rr-input{width:54px;padding:2px 5px;text-align:right;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}.rr-value.locked .rr-input{border-color:var(--accent);color:var(--accent)}.rr-suffix{color:var(--text-dim);font-size:11px}.toggle-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-dim);cursor:pointer}.toggle-label input{margin:0}.safety{font-size:11px;padding:6px 10px;border-radius:6px}.safety.ok{background:#16c7841a;color:var(--up)}.safety.bad{background:#f6465d1f;color:var(--warn)}.warn-list{margin:0;padding-left:16px;color:var(--warn);font-size:11px}.btn{padding:10px;border:none;border-radius:var(--radius);font-weight:700;font-size:13px;background:var(--accent);color:#0b0e11}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}.btn.danger{background:var(--down);color:#fff}.btn.confirm{background:var(--up);color:#04120b}.paper-badge{text-align:center;padding:10px;border-radius:var(--radius);background:#f0b90b1a;color:var(--accent);font-weight:700;font-size:12px;border:1px dashed rgba(240,185,11,.4)}.toast{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-size:12px;z-index:50;max-width:480px}.toast.error{border-color:var(--down);color:var(--down)}.toast.ok{border-color:var(--up);color:var(--up)}.login-shell{height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,#131924 0%,var(--bg) 60%)}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:28px 24px;box-shadow:0 16px 48px #00000073}.login-card--quiet{align-items:center;gap:6px}.login-brand{font-weight:700;letter-spacing:.5px;font-size:15px;text-align:center}.login-sub{color:var(--text-dim);font-size:11px;text-align:center;margin-bottom:6px}.login-field{display:flex;flex-direction:column;gap:5px}.login-field span{color:var(--text-dim);font-size:11px}.login-field input{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 11px;font-size:13px;outline:none}.login-field input:focus{border-color:#f0b90b8c}.login-field input:disabled{opacity:.6}.login-error{background:#ea39431a;border:1px solid rgba(234,57,67,.4);color:var(--down);border-radius:var(--radius);padding:8px 10px;font-size:11.5px;line-height:1.5}.login-btn{background:var(--accent);color:#0b0e11;border:none;border-radius:var(--radius);padding:10px;font-size:13px;font-weight:700;margin-top:2px}.login-btn:disabled{opacity:.45;cursor:not-allowed}.login-note{color:var(--text-dim);font-size:10.5px;text-align:center;line-height:1.6}.logout-btn{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);width:26px;height:24px;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.logout-btn:hover{color:var(--down);border-color:#ea394380}@media (max-width: 960px){.body{grid-template-columns:1fr;overflow-y:auto}.col{overflow:visible}.col.left,.col.right{border:none;border-bottom:1px solid var(--border)}.chart-wrap{height:380px}.positions{max-height:none}}
