:root{--bg: #0b0d10;--bg-elevated: #12161c;--bg-panel: #0f1318;--grid: #1a222c;--border: #243040;--text: #e8edf4;--muted: #8b98a8;--accent-cyan: #3ec7d6;--accent-orange: #e8a045;--accent-green: #3dcf7a;--accent-red: #e85d5d;--accent-yellow: #e6c35c;--accent-purple: #9b7bdb;--paper: #c9a227;--font-sans: "IBM Plex Sans", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:radial-gradient(1200px 600px at 10% -10%,#152033 0%,transparent 55%),radial-gradient(900px 500px at 90% 0%,#1a1520 0%,transparent 50%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input{font:inherit}.login-page{min-height:100%;display:grid;place-items:center;padding:2rem}.login-card{width:min(380px,100%);padding:2rem 1.75rem 1.75rem;background:linear-gradient(160deg,#141a22,#0e1218);border:1px solid var(--border);border-radius:4px}.login-brand{font-size:1.35rem;font-weight:600;letter-spacing:.02em;margin:0 0 .35rem}.login-sub{margin:0 0 1.5rem;color:var(--muted);font-size:.9rem}.login-card label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.4rem}.login-card input{width:100%;padding:.7rem .8rem;margin-bottom:1rem;background:#0a0d11;border:1px solid var(--border);border-radius:3px;color:var(--text)}.login-card input:focus{outline:1px solid var(--accent-cyan);border-color:var(--accent-cyan)}.login-card button{width:100%;padding:.75rem;border:0;border-radius:3px;background:var(--accent-cyan);color:#061018;font-weight:600;cursor:pointer}.login-card button:hover{filter:brightness(1.05)}.login-error{color:var(--accent-red);font-size:.85rem;margin:0 0 .75rem}.login-paper{display:inline-block;margin-top:1rem;padding:.2rem .55rem;border:1px solid var(--paper);color:var(--paper);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;font-weight:600}.desk{height:100%;display:grid;grid-template-rows:auto 1fr}.desk-header{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:#0b0d10eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.desk-brand{font-weight:700;letter-spacing:.03em;font-size:1rem}.desk-meta{color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.feed-badge{padding:.2rem .55rem;border:1px solid var(--border);font-family:var(--font-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;border-radius:2px}.feed-live{color:var(--accent-green);border-color:var(--accent-green)}.feed-polling{color:var(--accent-orange);border-color:var(--accent-orange)}.feed-closed{color:var(--muted);border-color:var(--border)}.replay-day-picker{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.78rem;font-family:var(--font-mono)}.replay-day-picker select{background:#0a0d11;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:.25rem .4rem}.paper-badge{margin-left:auto;padding:.22rem .6rem;border:1px solid var(--paper);color:var(--paper);font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.14em;animation:paper-pulse 2.8s ease-in-out infinite}@keyframes paper-pulse{0%,to{opacity:1}50%{opacity:.72}}.logout-btn{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.3rem .65rem;border-radius:3px;cursor:pointer;font-size:.8rem;text-decoration:none;display:inline-flex;align-items:center}.logout-btn:hover{color:var(--text);border-color:var(--muted)}.replay-controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.speed-label{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.78rem}.speed-label select{background:#0a0d11;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:.25rem .4rem}.replay-panes{overflow:auto}.subchart{border-top:1px solid var(--border);padding:.25rem .25rem .35rem}.subchart-title{padding:.2rem .65rem .1rem;font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}.subchart-title strong{color:var(--text);font-weight:500}.layer-toggles{display:flex;flex-wrap:wrap;gap:.35rem .55rem;padding:.35rem .85rem .45rem;border-bottom:1px solid var(--border);align-items:center}.layer-toggles label{display:inline-flex;align-items:center;gap:.28rem;font-size:.72rem;color:var(--muted);font-family:var(--font-mono);cursor:pointer;-webkit-user-select:none;user-select:none}.layer-toggles label.on{color:var(--accent-cyan)}.layer-toggles input{accent-color:var(--accent-cyan)}.chart-empty{display:grid;place-items:center;min-height:280px;padding:1.5rem}.chart-empty .empty{max-width:28rem;text-align:center;line-height:1.45}.chart-empty code{font-family:var(--font-mono);font-size:.78rem;color:var(--accent-cyan)}.desk-body{display:grid;grid-template-columns:1fr minmax(280px,340px);min-height:0}.chart-pane{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--border);background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0 / 100% 48px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0 / 80px 100%,var(--bg-panel)}.chart-title{padding:.55rem .9rem .2rem;font-family:var(--font-mono);font-size:.78rem;color:var(--muted)}.chart-title strong{color:var(--text);font-weight:500}.chart-host{flex:1;min-height:280px;padding:0 .25rem .5rem}.side-pane{display:grid;grid-template-rows:minmax(160px,38%) 1fr;min-height:0;background:var(--bg-elevated)}.panel{min-height:0;display:flex;flex-direction:column;border-bottom:1px solid var(--border)}.panel:last-child{border-bottom:0}.panel-head{padding:.55rem .85rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}.panel-body{flex:1;overflow:auto;padding:.5rem .75rem .75rem}.empty{color:var(--muted);font-size:.85rem;padding:.75rem .25rem}.pos-row,.feed-row{padding:.55rem .35rem;border-bottom:1px solid #1a2230;font-size:.82rem}.pos-row:last-child,.feed-row:last-child{border-bottom:0}.pos-contract{font-family:var(--font-mono);font-size:.78rem}.pos-meta,.feed-meta{color:var(--muted);font-size:.75rem;margin-top:.2rem}.status-open{color:var(--accent-green)}.status-closed{color:var(--muted)}.status-skipped{color:var(--accent-orange)}.status-managed{color:var(--accent-cyan)}.feed-type{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin-right:.45rem}.feed-type.levels{color:var(--accent-cyan)}.feed-type.call{color:var(--accent-green)}.feed-type.manage{color:var(--accent-yellow)}.feed-type.exit{color:var(--accent-red)}.feed-type.skip{color:var(--accent-orange)}.feed-type.eod{color:var(--accent-purple)}.desk-footer{grid-column:1 / -1;padding:.35rem .9rem;border-top:1px solid var(--border);color:var(--muted);font-size:.68rem;font-family:var(--font-mono)}.trades-page{min-height:0;overflow:auto;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.trades-summary{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:3px;font-family:var(--font-mono);font-size:.85rem;align-items:baseline}.trades-summary-label{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.15rem}.trades-summary-tags{flex:1 1 220px;min-width:180px}.trades-tag-list{color:var(--muted);font-size:.75rem}.trades-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:end}.trades-filters label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.72rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.trades-filters input,.trades-filters select{background:#0a0d11;color:var(--text);border:1px solid var(--border);border-radius:3px;padding:.35rem .45rem;font-size:.82rem;text-transform:none;letter-spacing:0}.trades-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:3px;background:var(--bg-panel)}.trades-table{width:100%;border-collapse:collapse;font-size:.78rem;font-family:var(--font-mono)}.trades-table th,.trades-table td{padding:.45rem .55rem;border-bottom:1px solid #1a2230;text-align:left;white-space:nowrap}.trades-table th{position:sticky;top:0;background:#121820;color:var(--muted);font-weight:500;z-index:1}.trades-sort{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0}.trades-sort:hover{color:var(--text)}.trades-row{cursor:pointer}.trades-row:hover{background:#3ec7d60f}.trades-contract{max-width:160px;overflow:hidden;text-overflow:ellipsis}.pnl-pos{color:var(--accent-green)}.pnl-neg{color:var(--accent-red)}@media(max-width:900px){.desk-body{grid-template-columns:1fr;grid-template-rows:minmax(320px,55vh) 1fr}.chart-pane{border-right:0;border-bottom:1px solid var(--border)}.side-pane{grid-template-rows:auto auto}}
