:root{--bg: #0f1115;--bg-2: #151821;--bg-3: #1c2028;--border: #2a2f3a;--text: #d7dae0;--text-strong: #f2f5fa;--muted: #7c8494;--accent: #4ea1ff;--band: #2a4464;--band-hover: #34527a;--band-edge: #3d6592;--up: #26a69a;--down: #ef5350;--warn: #f5b642;--danger: #ef5350;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:3px 8px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.icon{padding:0 5px;line-height:18px;background:transparent;border-color:transparent;color:var(--muted)}button.icon:hover{color:var(--text);border-color:var(--border)}button.primary{background:var(--accent);color:#06101d;border-color:transparent;font-weight:600}button.link{background:none;border:none;color:var(--muted)}button.link:hover{color:var(--text)}input:focus,select:focus{outline:none;border-color:var(--accent)}h1,h2,h3{margin:0;font-weight:600}h2{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}h3{font-size:12px;color:var(--muted);margin:10px 0 4px}ul{list-style:none;margin:0;padding:0}.muted{color:var(--muted)}.tiny{font-size:11px}.error{color:var(--danger);font-size:12px;padding:4px 0}.tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 5px;border-radius:3px;background:var(--bg-3);color:var(--muted)}.tag.fred{background:#2b2140;color:#c8a8ff}.tag.static{color:var(--warn)}.tag.trailing{color:var(--accent)}.tag.ratchet{color:#b39ddb}.login-wrap{height:100%;display:grid;place-items:center}.login{width:320px;display:grid;gap:12px;padding:24px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px}.login h1{font-size:20px}.login label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.login input{padding:6px 8px}.login button{padding:7px;background:var(--accent);color:#06101d;border-color:transparent;font-weight:600}.app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg-2)}.brand{font-weight:700;letter-spacing:.02em}.body{flex:1;min-height:0;display:grid;grid-template-columns:300px 1fr 360px}@media(max-width:1100px){.body{grid-template-columns:240px 1fr 300px}}@media(min-width:861px){.sidebar-tabs button[data-mode=chart]{display:none}}.session-pill{font-size:11px;color:var(--up);white-space:nowrap}.session-banner{flex:1;font-size:12px;padding:4px 8px;border-radius:4px;background:#3a2a12;color:#f7d9a3;border:1px solid #6b4a14}.session-banner.competing{background:#3a1e1e;color:#f7b3b3;border-color:#7a2d2d}.session-banner.maintenance{background:#1f2a3a;color:#b9d2f7;border-color:#2d4a7a}.session-banner.paused{background:#23283a;color:#c5cbe8;border-color:#444d73}.search{position:relative;flex:1;max-width:640px}.search input{width:100%;padding:5px 40px 5px 8px;background:var(--bg)}.search-busy,.search-status .spin{box-sizing:border-box;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);border-right-color:var(--accent);animation:search-spin .7s linear infinite}.search-busy{position:absolute;right:22px;top:50%;margin-top:-7px;width:14px;height:14px;pointer-events:none}.search-status{display:flex;align-items:center;gap:8px;padding:7px 10px;color:var(--muted);border-bottom:1px solid var(--bg-3);background:var(--bg-3)}.search-status .spin{width:12px;height:12px;flex:none}@keyframes search-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.search-busy,.search-status .spin{animation:none;border-color:var(--accent);opacity:.55}}.search-results{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:60vh;overflow:auto;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000080}.search-group,.search-listing{display:flex;align-items:center;gap:8px;padding:5px 10px;cursor:pointer;border-bottom:1px solid var(--bg-3)}.search-group{font-weight:600}.search-listing{padding-left:26px;font-weight:400}.search-group.active,.search-listing.active{background:var(--bg-3)}.search .caret{width:12px;color:var(--muted)}.search .name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search .sym{font-weight:600;min-width:64px}.search .venue{min-width:80px;color:var(--accent)}.search .conid{margin-left:auto}.search .group-symbols{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:400}.search .sections{font-size:11px;opacity:.75;white-space:nowrap}.search .actions{display:flex;gap:4px}.search .actions button{padding:1px 6px;font-size:12px}.sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.sidebar-tabs{display:flex;flex:none;border-bottom:1px solid var(--border);background:var(--bg-2)}.sidebar-tabs button{flex:1;padding:6px 4px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-weight:600;font-size:12px;white-space:nowrap}.sidebar-tabs button:hover{color:var(--text)}.sidebar-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.watchlists,.portfolio,.alerts-section,.orders{flex:1;min-height:0;overflow:auto}.watchlists{padding:6px 0}.watchlist{margin:0 6px 6px}.watchlist header{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--band);border-radius:6px;box-shadow:inset 0 0 0 1px var(--band-edge)}.watchlist:hover header{background:var(--band-hover)}.watchlist header h2{flex:1;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-strong);font-weight:700}.watchlist header .caret{width:14px;color:var(--text-strong);padding:0}.watchlist header .count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-strong);opacity:.7}.watchlist header .icon:not(.caret){opacity:0}.watchlist header .icon{color:var(--text-strong)}.watchlist:hover header .icon,.watchlist header .icon:focus-visible{opacity:1}.watchlist header .icon:hover{border-color:var(--band-edge);background:#ffffff1a}.section-name-edit{flex:1;min-width:0;padding:1px 4px;font:inherit;font-weight:700;color:var(--text-strong);background:var(--bg);border:1px solid var(--accent);border-radius:3px}.watchlist.collapsed header{opacity:.85}.watchlist.drop-target{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--accent);border-radius:4px}.watchlist.dragging{opacity:.5}.section-handle{font-size:12px;color:var(--text-strong)}.watchlist:hover .section-handle,.section-handle:focus-visible{opacity:1}.wl-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:6px;padding:4px 6px 4px 4px;cursor:pointer;border-left:2px solid transparent;border-radius:4px}.watchlist ul{padding:2px 0 0}.wl-item:hover{background:var(--bg-2)}.wl-item.selected{border-left-color:var(--accent);background:var(--bg-2)}.wl-item.dragging{opacity:.4}.drag-handle{border:0;background:none;color:var(--muted);cursor:grab;padding:0 2px;line-height:1;font-size:13px;opacity:0;touch-action:none}.drag-handle:active{cursor:grabbing}.wl-item:hover .drag-handle,.drag-handle:focus-visible{opacity:1}.wl-main{display:grid;grid-template-columns:auto auto;gap:0 6px;min-width:0}.wl-main .sym{font-weight:600}.wl-main .venue{color:var(--muted);font-size:11px;align-self:end}.wl-main .name{grid-column:1 / -1;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wl-quote{text-align:right;display:grid}.wl-quote .price{font-variant-numeric:tabular-nums;font-weight:600}.wl-quote .ccy{color:var(--muted);font-size:10px}.wl-actions{display:flex;opacity:0}.wl-item:hover .wl-actions{opacity:1}.empty{padding:6px 10px;font-size:12px}.new-watchlist{display:flex;gap:4px;padding:8px 10px}.new-watchlist input{flex:1;min-width:0}.chart-area{display:flex;flex-direction:column;min-width:0;min-height:320px}.chart-head{display:flex;align-items:center;gap:14px;padding:6px 10px;border-bottom:1px solid var(--border);flex-wrap:wrap}.chart-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-width:0}.chart-title .sym{font-size:16px;font-weight:700}.chart-title .venue{color:var(--accent)}.chart-title .name{color:var(--muted);min-width:0}.chart-price{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.chart-price .price{font-size:16px;font-weight:600}.chg.up{color:var(--up)}.chg.down{color:var(--down)}.tf-switch{display:flex;margin-left:auto}.tf-switch button{border-radius:0}.tf-switch button:first-child{border-radius:4px 0 0 4px}.tf-switch button:last-child{border-radius:0 4px 4px 0}.tf-switch button.active,button.toggle.active{background:var(--accent);color:#06101d;border-color:var(--accent)}.chart-wrap{flex:1;min-height:280px;position:relative;display:flex}.chart-canvas{flex:1;min-height:280px;position:relative}.chart-menu{position:absolute;z-index:30;min-width:220px;padding:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000080}.chart-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:4px}.chart-menu button:hover:not(:disabled){background:var(--bg-3)}.chart-menu .check{width:12px;color:var(--accent)}.modal.chart-alert select,.modal.chart-alert input{width:100%}.placeholder{flex:1;display:grid;place-items:center}.pf-total{padding:10px;border-bottom:1px solid var(--border);background:var(--bg-2)}.pf-total-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.pf-total-head h2{flex:1}.pf-total-head select{padding:1px 4px;font-size:11px;max-width:140px}.pf-net{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.pf-day{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums;margin-top:2px}.pf-day.up,.pos-day.up{color:var(--up)}.pf-day.down,.pos-day.down{color:var(--down)}.pf-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0 0}.pf-breakdown dt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.pf-breakdown dd{margin:0;font-variant-numeric:tabular-nums;font-size:12px}.pf-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;border-left:2px solid transparent}.pf-item:hover{background:var(--bg-2)}.pf-item.selected{border-left-color:var(--accent);background:var(--bg-2)}.pf-item.opening{opacity:.5;cursor:progress}.pf-main{display:grid;grid-template-columns:auto auto;gap:0 6px;min-width:0}.pf-main .sym{font-weight:600}.pf-main .venue{color:var(--muted);font-size:11px;align-self:end}.pf-main .name{grid-column:1 / -1;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-values{text-align:right;display:grid}.pf-values .value{font-variant-numeric:tabular-nums;font-weight:600}.pf-values .ccy{color:var(--muted);font-size:10px}.pf-day-col{text-align:right;display:grid;min-width:68px;font-variant-numeric:tabular-nums}.pf-day-col.up{color:var(--up)}.pf-day-col.down{color:var(--down)}.pf-day-col .abs{opacity:.8}.rail{display:flex;flex-direction:column;min-height:0;overflow:auto;border-left:1px solid var(--border)}.position-panel{flex:none;padding:8px 10px;border-bottom:1px solid var(--border)}.position-panel header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.position-panel header h2{flex:1}.pos-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.pos-day{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:10px 0 0}.pos-grid dt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.pos-grid dd{margin:0;font-variant-numeric:tabular-nums}.pos-grid .up{color:var(--up)}.pos-grid .down{color:var(--down)}.alert-panel{flex:1;min-height:0;padding:8px 10px}.alert-panel header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.alert-form .row{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.alert-form label,.alert-edit label{display:grid;gap:3px;font-size:11px;color:var(--muted)}.alert-form input,.alert-edit input{width:90px}.alert-edit{grid-column:2 / -1;display:flex;flex-wrap:wrap;gap:6px;align-items:end}.alert-edit .tiny,.alert-edit .error{flex-basis:100%;margin:0;padding:0}.alert-list{margin-top:8px;display:grid;gap:4px}.alert-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;padding:5px 6px;background:var(--bg-2);border-radius:4px;border:1px solid var(--border)}.alert-row .actions{grid-column:1 / -1;display:flex;gap:4px;justify-content:flex-end}.alert-row .actions button{padding:0 6px;font-size:11px}.alert-row.paused{opacity:.6}.alert-row.triggered{border-color:var(--warn)}.alert-level{font-variant-numeric:tabular-nums}.status{font-size:10px;text-transform:uppercase;color:var(--muted)}.status.active{color:var(--up)}.status.triggered{color:var(--warn)}.event-list li{padding:3px 0;border-bottom:1px solid var(--bg-3);font-size:12px}.crossing{font-weight:600;white-space:nowrap}.crossing.up{color:var(--up)}.crossing.down{color:var(--down)}.alerts-section>header{display:flex;align-items:baseline;gap:8px;padding:6px 8px}.alerts-section>header h2{flex:1}.alert-feed{list-style:none;margin:0;padding:0}.alert-item{display:grid;gap:2px;padding:6px 8px;cursor:pointer;border-left:2px solid transparent;border-bottom:1px solid var(--bg-3)}.alert-item:hover{background:var(--bg-2)}.alert-item.selected{background:var(--bg-2);border-left-color:var(--accent)}.alert-item.paused{opacity:.6}.alert-item.triggered{border-left-color:var(--warn)}.alert-item.unseen{background:color-mix(in srgb,var(--accent) 8%,transparent)}.alert-item.unseen:hover{background:color-mix(in srgb,var(--accent) 14%,var(--bg-2))}.alert-item.unseen .sym{color:var(--text-strong)}.unseen-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);align-self:center;flex:none}.alerts-section>header .unseen-count{font-size:11px;color:var(--accent)}.alert-item-main{display:flex;align-items:baseline;gap:6px;min-width:0}.alert-item-main .sym{font-weight:600}.alert-item-main .venue{color:var(--muted);font-size:11px}.alert-item-main .status{margin-left:auto}.alert-item-detail{display:flex;gap:8px;align-items:baseline;font-size:12px;font-variant-numeric:tabular-nums}.alert-item-detail .alert-title{color:var(--muted)}.alert-item-crossing{display:flex;gap:6px;align-items:baseline;font-size:11px}.toast{position:fixed;right:16px;bottom:16px;z-index:30;background:var(--bg-3);border:1px solid var(--warn);padding:8px 12px;border-radius:6px;cursor:pointer;max-width:420px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#06080cad;display:grid;place-items:center;padding:16px}.modal{width:420px;max-width:100%;max-height:90vh;overflow:auto;display:grid;gap:10px;padding:18px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px}.modal h1{font-size:15px}.modal header{display:flex;align-items:center;justify-content:space-between;gap:8px}.modal form,.modal section{display:grid;gap:8px}.modal label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.modal label.checkbox{display:flex;align-items:center;gap:6px}.modal input{padding:6px 8px}.modal input[inputmode=numeric]{font-size:18px;letter-spacing:.28em;font-variant-numeric:tabular-nums}.modal-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.modal-actions.wrap{flex-wrap:wrap;justify-content:flex-start}.modal-backdrop .modal-backdrop{z-index:41}.notice{border:1px solid var(--up);border-radius:4px;padding:6px 8px;font-size:12px}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.badge.on{color:var(--up)}.badge.off{color:var(--warn)}.secret-box{display:flex;align-items:center;gap:8px;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:8px}.secret-box code{font-size:13px;letter-spacing:.08em;word-break:break-all}.otpauth{color:var(--accent);font-size:12px}.recovery-codes{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-variant-numeric:tabular-nums}.recovery-codes li{background:var(--bg-3);border-radius:3px;padding:4px 6px;font-size:12px;letter-spacing:.04em}.orders{display:flex;flex-direction:column}.orders-tabs{display:flex;gap:2px;padding:6px 8px 0}.orders-tabs button{background:none;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:3px 6px}.orders-tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.order-list{list-style:none;margin:4px 0 0;padding:0}.order-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:5px 8px;cursor:pointer;border-left:2px solid transparent;border-bottom:1px solid var(--bg-3)}.order-item:hover{background:var(--bg-2)}.order-item[data-open=false]{opacity:.55}.order-main{display:flex;align-items:baseline;gap:6px;min-width:0}.order-main .side{font-weight:700;font-size:11px;letter-spacing:.04em}.order-main .side.up{color:var(--up)}.order-main .side.down{color:var(--down)}.order-main .sym{font-weight:600}.order-main .venue,.order-main .status{color:var(--muted);font-size:11px}.order-main .status.at-broker,.wo-row .status.at-broker,.wo-terms .status.at-broker{color:var(--up);font-weight:700;text-transform:none;font-size:12px}.order-main .status.not-broker,.wo-row .status.not-broker,.wo-terms .status.not-broker{color:var(--warn);font-weight:700;text-transform:none;font-size:12px}.order-detail{grid-column:1;display:flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums;font-size:12px}.order-section{padding:8px 8px 2px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:default}.order-actions{display:flex;flex-direction:column;align-items:flex-end;gap:2px;grid-row:1 / span 2}.order-item .link.danger{color:var(--danger);grid-row:1 / span 2}.order-actions .link.danger{grid-row:auto}.modal.ticket{min-width:320px}.ticket-side{display:flex;gap:6px}.ticket-side button{flex:1;padding:6px;font-weight:600}.ticket-side button.active.buy{background:var(--up);border-color:var(--up);color:#04120f}.ticket-side button.active.sell{background:var(--down);border-color:var(--down);color:#1a0505}.ticket-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ticket-estimate{display:flex;justify-content:space-between;align-items:baseline;padding:6px 8px;background:var(--bg-3);border-radius:4px;font-variant-numeric:tabular-nums}.ticket-preview{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:12px}.ticket-preview>div{display:contents}.ticket-preview>div.span dd{grid-column:1 / -1;color:var(--warn)}.ticket-preview dt{color:var(--muted)}.ticket-preview dd{margin:0;font-variant-numeric:tabular-nums}.ticket-summary{font-variant-numeric:tabular-nums;margin:0}.trail-disclosure{font-size:12px;line-height:1.4;margin:0 0 8px}.qty-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.qty-row button{white-space:nowrap;margin-bottom:0}button.buy{background:var(--up);border-color:var(--up);color:#04120f;font-weight:600}button.sell{background:var(--down);border-color:var(--down);color:#1a0505;font-weight:600}button.trade{border-color:var(--accent);color:var(--accent)}.order-warnings{margin:0;padding-left:18px;display:grid;gap:4px}.order-warnings li{color:var(--warn);font-size:12px}.item-panel{flex:none;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-2)}.item-panel header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.item-panel header h2{flex:1;margin:0;font-size:13px}.item-panel header h2 .up{color:var(--up)}.item-panel header h2 .down{color:var(--down)}.item-panel h3{margin:10px 0 2px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.item-panel .pos-value{font-size:16px}.item-actions{display:flex;justify-content:flex-end;margin-top:8px}.symbol-details{flex:none;padding:8px 10px;border-bottom:1px solid var(--border)}.symbol-details header{display:flex;align-items:center;gap:6px}.symbol-details header h2{flex:1}.symbol-details header .caret{width:14px;color:var(--text-strong);padding:0}.sd-body{margin-top:6px}.sd-group h3{margin:10px 0 3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.sd-grid{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0;align-items:baseline}.sd-grid>div{display:contents}.sd-grid dt{font-size:11px;color:var(--muted);white-space:nowrap}.sd-grid dd{margin:0;font-size:12px;text-align:right;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-notes{margin:2px 0 0;font-size:11px;line-height:1.45;color:var(--muted)}.sd-asof{margin-top:10px;text-align:right}.sd-range{margin:6px 0 2px}.sd-range-head,.sd-range-ends{display:flex;justify-content:space-between;align-items:baseline}.sd-range-ends{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.sd-range-track{position:relative;height:4px;margin:3px 0;border-radius:2px;background:var(--bg-3)}.sd-range-marker{position:absolute;top:-2px;width:2px;height:8px;margin-left:-1px;border-radius:1px;background:var(--accent)}.working-orders{flex:none;padding:8px 10px;border-bottom:1px solid var(--border)}.working-orders header{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.working-orders header h2{flex:1}.wo-list{list-style:none;margin:0;padding:0}.wo-row{display:flex;align-items:baseline;gap:8px;padding:3px 4px;cursor:pointer;border-left:2px solid transparent;border-radius:3px;font-size:12px;font-variant-numeric:tabular-nums}.wo-row:hover{background:var(--bg-2)}.wo-row.selected{background:var(--bg-2);border-left-color:var(--accent)}.wo-row .side{font-weight:700;font-size:11px;letter-spacing:.04em}.wo-row .side.up{color:var(--up)}.wo-row .side.down{color:var(--down)}.wo-row .wo-terms{flex:1}.position-panel header .icon,.item-panel header .icon{align-self:center}.push-toggle{display:inline-flex;gap:6px;align-items:baseline;margin-left:auto;flex-wrap:wrap}.push-toggle button.link{padding:0 2px}@media(max-width:860px){.app{height:100dvh}.topbar{flex-wrap:wrap;gap:6px 10px;padding:6px 8px;padding-top:calc(6px + env(safe-area-inset-top))}.search{order:5;flex-basis:100%;max-width:none}.search input{padding-top:8px;padding-bottom:8px;font-size:16px}.search-results{max-height:50dvh}.body{display:flex;flex-direction:column;overflow:hidden}.chart-pane{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.chart-pane .chart-area{flex:none;height:56dvh;min-height:260px;border-bottom:1px solid var(--border)}.chart-pane .chart-wrap,.chart-pane .chart-canvas{min-height:0}.chart-pane .position-panel,.chart-pane .item-panel,.chart-pane .symbol-details,.chart-pane .working-orders,.chart-pane .alert-panel{flex:none}.chart-head{gap:6px 10px;padding:4px 8px}.chart-title .tiny{display:none}.chart-title .sym,.chart-price .price{font-size:15px}.placeholder{padding:16px;text-align:center}.sidebar{flex:1 1 auto;min-height:0;border-right:0;flex-direction:column-reverse}.sidebar-tabs{border-bottom:0;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.sidebar-tabs button{padding:10px 2px;font-size:12px}.sidebar-tabs button.active{border-bottom-color:transparent;border-top:2px solid var(--accent);margin-top:-1px}.rail{display:none}.watchlist header .icon:not(.caret),.wl-actions,.drag-handle{opacity:1}.toast{left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));max-width:none}.modal{width:100%;max-height:92dvh}.modal-backdrop{padding:8px;align-items:end}}.body.settings-body{grid-template-columns:1fr}.settings{flex:1;overflow:auto;padding:16px;max-width:620px}.settings h2{margin:0 0 4px;font-size:16px;text-transform:none;letter-spacing:0;color:var(--text-strong)}.settings h3{margin:0 0 6px;font-size:13px;color:var(--text-strong)}.settings-section{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--bg-2)}.settings-help{margin:6px 0 0;font-size:12px;color:var(--muted)}.settings-state{margin:0 0 8px;font-size:12px}.settings-warning{margin:8px 0;font-size:12px;color:#f7d9a3}.settings-note{margin:8px 0 0;font-size:12px;color:var(--up)}.settings-error{margin:8px 0 0;font-size:12px;color:var(--danger)}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.settings-form{display:grid;gap:8px;max-width:320px}.settings-form label{display:grid;gap:3px;font-size:12px;color:var(--muted)}.settings-form input{padding:5px 8px;background:var(--bg)}.settings button.danger{color:var(--danger);border-color:#5c2b2b}.settings button.danger:hover:not(:disabled){border-color:var(--danger)}.settings-confirm{margin-top:12px;padding:10px;border:1px solid #6b4a14;border-radius:6px;background:#3a2a12;color:#f7d9a3}.settings-confirm p{margin:0 0 8px;font-size:12px}@media(max-width:720px){.settings{padding:12px}.settings-form{max-width:none}}.settings-log{margin:8px 0;padding:8px;max-height:220px;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;white-space:pre-wrap;word-break:break-all;color:var(--muted)}.newsletter-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.newsletter-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}.newsletter-wl{min-width:110px;color:var(--text-strong)}.newsletter-status{font-size:12px;color:var(--muted)}.newsletter-status-ok{color:var(--up)}.newsletter-status-no_data,.newsletter-status-stale,.newsletter-status-insufficient_history{color:var(--danger)}.newsletter-status-non_session_series{color:#f7d9a3}.newsletter-quality-quiet{color:var(--muted)}.newsletter-quality-coverage_incomplete{color:var(--danger)}.newsletter-fields{display:flex;flex-wrap:wrap;gap:12px 18px;margin:8px 0}.newsletter-fields label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.newsletter-fields input[type=number],.newsletter-fields input[type=time],.newsletter-fields select{min-width:120px}.newsletter-fields input[type=checkbox]{justify-self:start}.newsletter-nonsession-item{display:flex;align-items:center;gap:8px;font-size:13px}.newsletter-text{margin:8px 0 0;padding:12px;background:var(--surface, #15171c);border:1px solid var(--border, #262a33);border-radius:6px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto}
