:root{--bg:#05070a;--bg-elevated:#0b1018;--surface:#101822;--surface-2:#151f2e;--border:#cbd5e13d;--text:#f8fafc;--muted:#c5d2e0;--accent:#0ea5e9;--accent-soft:#0ea5e926;--ok:#4ade80;--bad:#f87171;--warn:#fbbf24;--radius:12px;--font:"Plus Jakarta Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--font);margin:0;line-height:1.5;overflow-x:hidden}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(ellipse 80% 50% at 50% -20%, #0ea5e91f, transparent), var(--bg)}#root{min-height:100vh}.login-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{flex-direction:column;gap:.85rem;width:min(420px,100%);display:flex}.login-card input{background:var(--surface-2);width:100%;color:var(--text);border:1px solid var(--border);border-radius:8px;margin-top:.35rem;padding:.6rem .75rem;display:block}.kill-switch{justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0 1rem;display:flex}.kill-switch p{margin:.2rem 0 0}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b1018d9;flex-direction:column;gap:1.5rem;height:100vh;padding:1.25rem .85rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;padding:0 .35rem;display:flex}.brand-mark{background:linear-gradient(135deg,#0ea5e9,#6366f1);border-radius:10px;width:36px;height:36px;box-shadow:0 8px 24px #0ea5e940}.brand-name{letter-spacing:-.02em;font-size:1rem;font-weight:700}.brand-tag{color:var(--muted);font-size:.68rem;line-height:1.3}.sidebar-nav{flex-direction:column;flex:1;gap:.25rem;display:flex}.nav-item{width:100%;color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.9rem;display:flex}.nav-item:hover{color:var(--text);background:#ffffff0a}.nav-item.active{background:var(--accent-soft);color:var(--text);font-weight:600}.nav-icon{opacity:.85;text-align:center;width:1.1rem}.nav-badge{background:var(--accent);color:#041018;border-radius:999px;margin-left:auto;padding:.1rem .4rem;font-size:.65rem;font-weight:700}.sidebar-foot{padding:0 .5rem;font-size:.72rem}.shell-main{min-width:0;padding:0 1.25rem 2rem}.toolbar-shell{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.shell-content{max-width:1200px}.status-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;padding:1.25rem 0 1rem;display:flex}.status-bar h1{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:700}.muted{color:var(--muted);font-size:.85rem}.status-pills,.status-controls{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.pill{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.22rem .55rem;font-size:.72rem}.pill.ok{color:var(--ok);border-color:#4ade8059}.pill.warn{color:var(--warn);border-color:#fbbf2459}.pill.bad{color:var(--bad);border-color:#f8717159}.btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:var(--surface);border-radius:10px;align-items:center;padding:.5rem 1rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{color:#041018;background:linear-gradient(135deg,#0284c7,#0ea5e9);border-color:#0000}.btn.subtle{background:0 0;padding:.4rem .75rem;font-size:.8rem}select,button{font:inherit}select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.4rem .55rem}.banner.error{border-radius:var(--radius);background:#7f1d1d59;border:1px solid #f8717159;margin-bottom:1rem;padding:.65rem .85rem}.banner.warn{border-radius:var(--radius);background:#78350f59;border:1px solid #fbbf244d;margin-bottom:1rem;padding:.55rem .85rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;box-shadow:0 4px 24px #0003}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;display:grid}.card h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .5rem;font-size:.72rem}.big{font-variant-numeric:tabular-nums;margin:0;font-size:1.35rem;font-weight:700}.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}.chart-workspace{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.chart-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:.85rem;display:flex}.chart-pane{width:100%;max-width:100%;overflow:hidden}.chart-pane-main{height:420px}.chart-pane-sub{height:140px;margin-top:.5rem}.chart-hint{margin:.65rem 0 0;font-size:.75rem}.seg-control{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.seg{font:inherit;background:var(--bg-elevated);color:#e7eef8;cursor:pointer;border:none;min-height:40px;padding:.45rem .9rem}.seg.active{color:#041018;background:#0ea5e9;font-weight:700}.chip{font:inherit;border:1px solid var(--border);background:var(--bg-elevated);color:#e7eef8;cursor:pointer;border-radius:999px;min-height:36px;padding:.35rem .7rem;font-size:.8rem}.chip.active{background:var(--accent-soft);color:var(--text);border-color:#0ea5e980}.overlay-toggles{flex-wrap:wrap;gap:.35rem;display:flex}.signal-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.signal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem}.badge{text-transform:uppercase;border-radius:6px;padding:.18rem .45rem;font-size:.68rem;font-weight:700}.badge.long-ce{color:var(--ok);background:#4ade8026}.badge.long-pe{color:var(--bad);background:#f8717126}.badge.watch{color:var(--warn);background:#fbbf2426}.badge.none{color:var(--muted);background:#94a3b81a}.tab-nav-top,.tab-nav-bottom{display:none}.alert-feed{z-index:40;flex-direction:column;gap:.5rem;max-width:min(360px,100vw - 1.5rem);display:flex;position:fixed;bottom:1rem;right:.85rem}.alert-toast{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);gap:.5rem;padding:.65rem .75rem;display:flex;box-shadow:0 12px 40px #00000073}.alert-toast.long{border-color:#0ea5e973}.alert-toast.watch{border-color:#fbbf2466}table{border-collapse:collapse;width:100%;font-size:.82rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .4rem}th{color:var(--muted);font-weight:500}.empty-state{text-align:center;padding:2.5rem 1rem}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.shell-main{min-width:0;padding:0 .75rem 6.25rem}.status-bar{gap:.65rem;padding-top:.85rem}.status-controls,.toolbar-shell,.chart-toolbar{width:100%}.signal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-workspace{padding:.75rem}.chart-pane-main{height:min(42vh,280px);min-height:220px}.chart-pane-sub{height:180px}.seg,.chip,.btn,.btn.subtle,.tab-nav-bottom .tab{min-height:44px}.seg,.chip,.btn.subtle{font-size:.9rem}.tab-nav-bottom{z-index:30;padding:.2rem .25rem calc(.2rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);background:#080c12f5;justify-content:space-around;gap:0;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-nav-bottom .tab{color:#d5deea;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1 1 0;justify-content:center;gap:.12rem;min-width:0;padding:.3rem .1rem;font-size:.72rem;line-height:1.15;position:relative}.tab-nav-bottom .tab-icon{font-size:1.05rem;line-height:1;display:block}.tab-nav-bottom .tab-short{font-size:.7rem;font-weight:600;display:block}.tab-nav-bottom .tab-long{display:none}.tab-nav-bottom .tab.active{color:#f8fafc;background:0 0;font-weight:700;box-shadow:inset 0 3px #38bdf8}.tab-nav-bottom .tab-badge{margin:0;position:absolute;top:3px;right:6px}.alert-feed{bottom:calc(4.75rem + env(safe-area-inset-bottom))}.signal-grid{grid-template-columns:1fr}}@media (width>=901px){.tab-nav-bottom{display:none!important}}.status-controls label{color:var(--muted);align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.status-controls button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .65rem;font-size:.8rem}.status-controls button:disabled{opacity:.55;cursor:default}.toolbar-shell label{color:var(--muted);align-items:center;gap:.45rem;font-size:.85rem;display:inline-flex}.card.span-2{grid-column:1/-1}.card.mini .label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.25rem;font-size:.68rem;display:block}.phase.open{color:var(--ok)}.phase.pre{color:var(--warn)}.phase.closed,.phase.weekend{color:var(--muted)}.meta-list{color:var(--muted);margin:.5rem 0 0;padding-left:1.1rem;font-size:.82rem}.highlight-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.highlight-list li{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.strategy-block{margin-bottom:1.75rem}.strategy-block>h2{color:var(--text);margin:0 0 .75rem;font-size:.95rem;font-weight:600}.strategy-block h3{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.78rem;font-weight:600}.signal-head{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.signal-stats{grid-template-columns:repeat(4,1fr);gap:.35rem;margin:0;display:grid}.signal-stats dt{color:var(--muted);margin:0;font-size:.62rem}.signal-stats dd{font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;font-weight:600}.strike{margin:.55rem 0 0;font-size:.88rem}.reasons{color:var(--muted);margin:.5rem 0 0;padding-left:1.1rem;font-size:.78rem}.checklist{color:var(--muted);margin-top:.55rem;font-size:.78rem}.signal-card.empty{justify-content:center;align-items:center;min-height:7rem;display:flex}.panel-toolbar,.signals-panel .panel-toolbar,.chart-toolbar{gap:.75rem}.signals-panel{margin-top:.25rem}.journal{margin-top:.5rem}.journal-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.journal h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.25rem 0 .5rem;font-size:.78rem}.section-label{margin:0 0 .75rem}.pnl.pos{color:var(--ok);font-weight:600}.pnl.neg{color:var(--bad);font-weight:600}.chain-panel{margin-top:.25rem}.chain-stats{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:1.25rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.chain-stats .label{text-transform:uppercase;color:var(--muted);letter-spacing:.05em;font-size:.62rem;display:block}.chain-stats strong{font-variant-numeric:tabular-nums}.table-wrap{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;overflow-x:auto}.chain-table tr.atm td{background:#0ea5e914;font-weight:600}.session-picker{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.session-picker input[type=date]{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.4rem .55rem}.recent-dates{flex-wrap:wrap;gap:.35rem;display:flex}.alert-body{flex-direction:column;flex:1;gap:.15rem;font-size:.85rem;display:flex}.alert-kind{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.62rem}.alert-dismiss{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.2rem;line-height:1}.tab-nav{gap:.35rem;display:flex}.tab{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:10px;align-items:center;gap:.35rem;padding:.45rem .75rem;display:inline-flex}.tab.active{background:var(--accent-soft);color:var(--text);border-color:#0ea5e973;font-weight:600}.tab-badge{background:var(--accent);color:#041018;border-radius:999px;padding:.1rem .35rem;font-size:.62rem;font-weight:700}.tab-icon,.tab-short{display:none}label.compact{font-size:.75rem}.live-title{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin:0;font-size:.72rem;font-weight:700}
