:root{--bg:#f6f7f9;--fg:#15181d;--mut:#667085;--card:#fff;--line:#e4e7ec;--acc:#1f6feb;--pos:#137333;--neg:#b3261e}
@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--fg:#e8eaed;--mut:#9aa0a6;--card:#171a21;--line:#2a2f3a;--acc:#5b9dff;--pos:#5bd77a;--neg:#ff7b72}}
*{box-sizing:border-box}body{margin:0;font:15px/1.4 -apple-system,system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
header{padding:10px 14px;border-bottom:1px solid var(--line)}header small{color:var(--mut)}
nav{display:flex;overflow-x:auto;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg)}
nav a{white-space:nowrap;padding:7px 10px;border-radius:8px;color:var(--fg);text-decoration:none}nav a.on{background:var(--acc);color:#fff}
.logout{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:4px 12px;color:var(--mut);font-size:13px}
.logout button{font-size:13px;padding:3px 8px}
main{max-width:720px;margin:0 auto;padding:10px 12px 40px}h1{font-size:20px;margin:6px 0 8px}h2{font-size:16px;margin:18px 0 6px}
.muted{color:var(--mut);font-size:13px}.pos{color:var(--pos)}.neg{color:var(--neg)}.ok{color:var(--pos)}
.cards{list-style:none;padding:0;margin:0}.cards li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:8px 0}
.row{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.plain{padding-left:18px}
.kv{display:grid;grid-template-columns:1fr auto;gap:6px 10px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:0}
.kv dt{color:var(--mut)}.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
button{font:inherit;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
button.big{width:100%;padding:12px;background:var(--acc);color:#fff;border:0;font-weight:600;margin:6px 0}
button.disabled,button:disabled{background:var(--line);color:var(--mut);pointer-events:none}
.auth label{display:block;margin:10px 0;color:var(--mut);font-size:14px}
.auth input{display:block;width:100%;margin-top:4px;padding:10px;font:inherit;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
.flash{background:var(--card);border-left:3px solid var(--acc);padding:8px 10px;border-radius:6px}
.filter{display:flex;gap:6px}.filter select{flex:1;font:inherit;padding:6px;border-radius:8px}.pager{text-align:center}
.pager a{color:var(--acc);margin:0 8px}
.seg{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:4px 0 8px}
.seg a{flex:1;text-align:center;padding:8px;color:var(--fg);text-decoration:none}.seg a.on{background:var(--acc);color:#fff}
.cards li.foot{background:transparent;border-style:dashed}
h2 small{font-weight:normal}
.logout a{color:var(--acc);margin-right:auto}
.two{display:flex;gap:8px}.two button{flex:1}button.danger{background:var(--neg)}
iframe.report{width:100%;height:78vh;border:1px solid var(--line);border-radius:10px;background:#fff}
a.btn{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg);text-decoration:none}
details summary{cursor:pointer;color:var(--acc);margin-top:6px}
label.opt{display:flex;gap:8px;align-items:center;margin:6px 0;color:var(--fg)}
label.opt input{width:auto;margin:0}
pre.out{white-space:pre-wrap;word-break:break-word;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12.5px;max-height:none}
/* ---- header with Log off (all logged-in pages) ---- */
header.top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.logoff{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mut);margin:0}
.logoff .who{white-space:nowrap}
.logoff a{color:var(--acc)}
button.logoff-btn{background:#d93025;color:#fff;border:0;font-weight:600;padding:6px 14px;border-radius:999px}
button.logoff-btn:hover{background:#b3261e}
@media (max-width:520px){.logoff .who{display:none}}
/* ---- full-width, colorful table tabs (Position Options, Position ETF and Stock, Option P&L) ---- */
main.wide{max-width:none;padding:10px 16px 40px}
.ptab{--g:#0f9d58;--gbg:#e6f4ea;--r:#d93025;--rbg:#fce8e6;--h1:#3949ab;--h2:#5c6bc0;--band:#e8eaf6;--bandfg:#283593;--zebra:#f7f8fc}
@media (prefers-color-scheme:dark){.ptab{--g:#5bd77a;--gbg:#12301d;--r:#ff7b72;--rbg:#3a1714;--h1:#3f51b5;--h2:#5c6bc0;--band:#1e2340;--bandfg:#c5cae9;--zebra:#151821}}
.ptab .fresh{font-size:13px;color:var(--mut);margin:2px 0 8px}
.ptab .note{font-size:12.5px;color:var(--mut);max-width:1100px}
.ptab .empty{background:var(--band);color:var(--bandfg);padding:14px;border-radius:10px;font-weight:600}
.ptab .seg{max-width:360px}
.sumgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;margin:8px 0 14px}
.sum{background:var(--card);border-radius:12px;padding:10px 12px;border:1px solid var(--line);border-top:4px solid var(--h1);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.sum .lab{font-size:12px;color:var(--mut);text-transform:uppercase;letter-spacing:.03em}
.sum .val{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.sum.c1{border-top-color:#3949ab}.sum.c2{border-top-color:#00897b}.sum.c3{border-top-color:#f9a825}.sum.c4{border-top-color:#8e24aa}
.sum.c5{border-top-color:#0f9d58}.sum.c6{border-top-color:#1e88e5}.sum.c7{border-top-color:#ef6c00}
.sum.pos .val{color:var(--g)}.sum.neg .val{color:var(--r)}
.gridwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.08);margin:6px 0 12px}
table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px;font-variant-numeric:tabular-nums}
table.grid th{position:sticky;top:0;background:linear-gradient(180deg,var(--h2),var(--h1));color:#fff;font-weight:600;text-align:left;padding:8px 10px;white-space:nowrap;font-size:12.5px;letter-spacing:.02em}
table.grid th.n,table.grid td.n{text-align:right}
table.grid td{padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.grid tbody tr:not(.band):not(.subtot):nth-child(even) td{background:var(--zebra)}
table.grid tbody tr:not(.band):not(.subtot):hover td{background:var(--band)}
table.grid td:first-child,table.grid th:first-child{position:sticky;left:0;z-index:1}
table.grid td:first-child{background:var(--card)}
table.grid th:first-child{z-index:2}
table.grid tr.band td{background:var(--band);color:var(--bandfg);font-size:14px;padding:7px 10px;border-left:5px solid var(--h1)}
table.grid tr.band .bandnote{font-weight:normal;font-size:12.5px;margin-left:8px;opacity:.85}
table.grid tr.subtot td{background:var(--band);font-weight:600;border-bottom:2px solid var(--h2)}
table.grid tr.grand td{background:var(--h1);color:#fff;font-weight:700;padding:8px 10px}
table.grid tr.grand td.pos,table.grid tr.grand td.neg{color:#fff}
table.grid tr.grand td.pos{background:#0b8043}table.grid tr.grand td.neg{background:#c5221f}
table.grid td.pos{color:var(--g);font-weight:600}table.grid td.neg{color:var(--r);font-weight:600}
table.grid td.name{white-space:normal;min-width:220px}
.side{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600}
.side.short{background:var(--rbg);color:var(--r)}.side.long{background:var(--gbg);color:var(--g)}
.mn{display:inline-block;padding:1px 7px;border-radius:6px;font-size:12px;font-weight:700}
.mn.otm{background:var(--gbg);color:var(--g)}.mn.itm{background:var(--rbg);color:var(--r)}.mn.atm{background:#fff4e5;color:#b06000}
.chip{display:inline-block;padding:1px 8px;border-radius:999px;background:#fff4e5;color:#b06000;font-weight:700;font-size:12px}
.stype{font-weight:600;color:var(--bandfg)}
.stype.itm{color:#b91c1c}.stype.otm{color:#15803d}
@media (prefers-color-scheme:dark){.stype.itm{color:#f87171}.stype.otm{color:#4ade80}}
h2.secband{color:#fff;padding:8px 12px;border-radius:10px;margin:18px 0 6px;font-size:16px}
h2.secband small{opacity:.85}
h2.secband.etf{background:linear-gradient(90deg,#00897b,#26a69a)}h2.secband.stock{background:linear-gradient(90deg,#8e24aa,#ab47bc)}
/* frozen ticker column: data rows stick via td:first-child; band/total rows are full-width, so their label sticks instead */
table.grid td:first-child{box-shadow:inset -1px 0 0 var(--line)}
table.grid tr.band td,table.grid tr.subtot td:first-child,table.grid tr.grand td:first-child{position:static}
table.grid .stk{position:sticky;left:10px;display:inline-block}
.topscroll{overflow-x:auto;overflow-y:hidden;height:16px;margin:6px 0 -4px;-webkit-overflow-scrolling:touch}
.topscroll>div{height:1px}
/* Position/P&L tables: the table box is its own vertical+horizontal scroller sized to the screen, so the
   column header (sticky top) and the bottom scrollbar stay visible at every ticker; top scrollbar sits just above. */
.ptab .gridwrap{overflow:auto;max-height:calc(100vh - 170px);min-height:260px}
table.grid th{z-index:3}
table.grid th:first-child{z-index:4}
table.grid tr.band .stk{z-index:2}
.pnlbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pnlbar .seg{flex:1;min-width:220px}
.dlcsv{display:inline-block;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--fg);text-decoration:none;white-space:nowrap;margin:4px 0 8px}.dlcsv:hover{background:var(--acc);color:#fff}
/* ---- expand/collapse ticker groups (Position Options, Option P&L; static/app.js) ---- */
.xbar{display:flex;gap:8px;margin:6px 0 2px}.xbar button{padding:7px 12px;font-size:13.5px}
table.grid tr.grp td.agg{border-left:0;font-size:13.5px;font-weight:600}
table.grid tr.grp td{cursor:pointer}
button.tg{min-width:34px;min-height:30px;padding:2px 8px;margin-right:4px;border-radius:8px;font-size:15px;line-height:1;background:var(--card);color:var(--bandfg);border:1px solid var(--line);cursor:pointer}
table.grid tr.gi.hid,table.grid tr.gs.hid{display:none}
/* ---- Admin tab (owner only) ---- */
.chip.st{background:var(--line);color:var(--fg)}.chip.st.pos{background:var(--gbg,#e6f4ea);color:var(--pos)}.chip.st.neg{background:#fce8e6;color:var(--neg)}
.cards.admin li{padding:12px}
details.tabs{margin:8px 0}
.tabgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:2px 12px;margin-top:6px}
.tabgrid label.opt{padding:6px 0;font-size:15px}.tabgrid label.opt input{width:20px;height:20px}
.tabgrid button.big{grid-column:1/-1}
table.grid tr.grp td+td{border-left:0}
table.grid tr.grp td.agg.pos{color:var(--g)}table.grid tr.grp td.agg.neg{color:var(--r)}
table.grid tr.grp.open td.agg{color:transparent}
/* ICBS entry tab: GO table with a run control on each row, tall full-width report */
.gotable table.grid td.key{white-space:normal;min-width:240px;max-width:520px}
form.gorun{display:flex;gap:6px;align-items:center;margin:0}
form.gorun select{font:inherit;font-size:13px;padding:5px 6px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
form.gorun button{font-size:13px;padding:5px 10px;background:var(--acc);color:#fff;border:0;font-weight:600;white-space:nowrap}
iframe.report.full{height:max(85vh,900px)}
.gotable .gridwrap{min-height:0}

/* ICBS entry service: spinner, manual row, dummy walkthrough */
.spin{display:flex;align-items:center;gap:.6em;padding:.8em 1em;border:1px solid var(--line);border-radius:8px;background:var(--card);margin:.8em 0}
.spinner{width:1.1em;height:1.1em;border:3px solid #cbd5e1;border-top-color:#2563eb;border-radius:50%;animation:spin 0.9s linear infinite;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
table.grid tbody tr.manualrow td,table.grid tbody tr.manualrow:hover td,tr.manualrow td{background:#fff1c7!important;color:#3d2c00;border-top:2px solid #e8a400;border-bottom:2px solid #e8a400}table.grid tbody tr.manualrow td:first-child{border-left:5px solid #e8a400}tr.manualrow .muted{color:#7a5b00}
form.gorun input{font:inherit;font-size:13px;padding:5px 6px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
.gorun input.mticker{width:7em;text-transform:uppercase}
.gorun input[type=date]{width:10.5em}
section.sim{border:2px dashed #f59e0b;border-radius:10px;padding:.4em 1em 1em;margin:1em 0;background:rgba(245,158,11,.08)}
.simbadge{display:inline-block;font-size:.75em;font-weight:700;color:#92400e;background:#fde68a;border-radius:6px;padding:.15em .5em;vertical-align:middle}
table.simsteps{border-collapse:collapse;width:100%;margin:.6em 0;background:var(--card)}
table.simsteps th,table.simsteps td{border-bottom:1px solid var(--line);padding:6px 10px;text-align:left;color:var(--fg)}
table.simsteps th{font-weight:700;background:rgba(245,158,11,.18)}
table.simsteps td.num{text-align:right;white-space:nowrap}

select.mexpiry option.monthly{font-weight:700;color:#b45309;background:#fff1c7}

/* ICBS test results: rich entry report (color-coded blocks) */
.entrypage{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;font-size:16px;line-height:1.6;font-variant-numeric:tabular-nums}
.entrypage code,.entrypage pre{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
.richreport{overflow-wrap:anywhere;--c-strat:#0f766e;--c-legs:#1d4ed8;--c-price:#15803d;--c-bp:#c2410c;--c-roc:#7c3aed;--c-other:#be185d}
.richreport ul.rlist{margin:.15em 0 .15em 1.15em;padding:0}
.richreport ul.rlist ul.rlist{margin-left:1em;font-size:.93em;color:var(--mut)}
.richreport li{margin:.18em 0}
.richreport p.rpara{margin:.45em 0}
.richreport h3.rhead{font-size:1em;margin:.7em 0 .2em;color:var(--fg)}
.richreport code{background:rgba(100,116,139,.15);border-radius:4px;padding:0 .3em;font-size:.88em}
.richreport pre.rcode{background:rgba(100,116,139,.12);border-radius:6px;padding:.55em .7em;white-space:pre-wrap;font-size:.86em;line-height:1.45}
.richreport table.rtable{border-collapse:collapse;margin:.5em 0}
.richreport table.rtable th,.richreport table.rtable td{border:1px solid var(--line);padding:3px 8px}
.rbanner{background:#fde68a;color:#78350f;font-weight:600;border-radius:8px;padding:.45em .8em;margin:.3em 0 .7em}
.ralert{background:#fef2f2;color:#7f1d1d;border:2px solid #dc2626;border-radius:10px;padding:.6em 1em;margin:0 0 .9em;font-size:1.05em}
.ralert-h{font-weight:800;color:#b91c1c;font-size:1.1em;margin-bottom:.2em}
.ralert ul.rlist{margin-left:1.1em}
.rblocks{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:760px){.rblocks{grid-template-columns:1fr 1fr}.rblk-other{grid-column:1/-1}}
.rblk{--c:var(--c-other);background:var(--card);background-image:linear-gradient(color-mix(in srgb,var(--c) 7%,transparent),color-mix(in srgb,var(--c) 7%,transparent));border:1px solid color-mix(in srgb,var(--c) 30%,var(--line));border-left:5px solid var(--c);border-radius:10px;overflow:hidden;min-width:0}
.rblk-strat{--c:var(--c-strat)}.rblk-legs{--c:var(--c-legs)}.rblk-price{--c:var(--c-price)}.rblk-bp{--c:var(--c-bp)}.rblk-roc{--c:var(--c-roc)}
.rblk-h{padding:.45em .9em;background:color-mix(in srgb,var(--c) 14%,transparent);border-bottom:1px solid color-mix(in srgb,var(--c) 25%,transparent)}
.rblk-t{font-weight:800;color:var(--c);letter-spacing:.01em}
.rblk-sub{font-size:.85em;color:var(--mut)}
.rblk-b{padding:.4em .9em .6em}
@media (prefers-color-scheme:dark){.richreport{--c-strat:#2dd4bf;--c-legs:#60a5fa;--c-price:#4ade80;--c-bp:#fb923c;--c-roc:#c084fc;--c-other:#f472b6}
 .ralert{background:#2a1212;color:#fecaca;border-color:#f87171}.ralert-h{color:#fca5a5}}
/* value highlights: dark 800-shades on a light chip so they stand out on every block tint (AA contrast) */
.rv-money,.rv-delta,.rv-strike,.rv-date,.rv-good,.rv-bad,.rv-warn,.rv-quote{font-weight:700;border-radius:4px;padding:0 .18em}
.rblk .rv-money,.rblk .rv-delta,.rblk .rv-strike,.rblk .rv-date,.rblk .rv-good,.rblk .rv-bad,.rblk .rv-warn,.rblk .rv-quote{background:rgba(255,255,255,.78);box-shadow:0 0 0 1px rgba(15,23,42,.06)}
.rv-money{color:#065f46}.rv-delta{color:#5b21b6}.rv-strike{color:#1e40af}.rv-date{color:#155e75;font-weight:650}
.rv-good{color:#166534}.rv-bad{color:#991b1b}.rv-warn{color:#92400e}.rv-quote{color:#1f2937;font-weight:600}
.rv-sell,.rv-buy{display:inline-block;font-weight:800;font-size:.78em;letter-spacing:.04em;text-transform:uppercase;border-radius:5px;padding:0 .42em;color:#fff;vertical-align:.08em}
.rv-sell{background:#b91c1c}.rv-buy{background:#15803d}
.ralert .rv-bad{background:none;color:#991b1b}
@media (prefers-color-scheme:dark){
 .rblk .rv-money,.rblk .rv-delta,.rblk .rv-strike,.rblk .rv-date,.rblk .rv-good,.rblk .rv-bad,.rblk .rv-warn,.rblk .rv-quote{background:rgba(0,0,0,.4);box-shadow:none}
 .rv-money{color:#6ee7b7}.rv-delta{color:#ddd6fe}.rv-strike{color:#bfdbfe}.rv-date{color:#a5f3fc}.rv-good{color:#86efac}.rv-bad{color:#fca5a5}.rv-warn{color:#fcd34d}.rv-quote{color:#e5e7eb}
 .ralert .rv-bad{color:#fecaca}}
p.rstatus{margin:.3em 0}
details.rawtext{margin:.8em 0}
details.rawtext summary{cursor:pointer;color:var(--mut)}
/* ticker filter: right after Download CSV on the Legs/Strategies toolbar */
.tkfilter{display:inline-flex;align-items:center;gap:6px;margin:4px 0 8px}
.tkfilter label{display:inline-flex;align-items:center;gap:6px;font-size:.92em;color:var(--mut);white-space:nowrap}
.tkfilter select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 28px 7px 10px;min-width:7.5em;max-width:12em}
.tkfilter .tkgo{padding:7px 12px}
.tkfnote{background:var(--card);border-left:4px solid var(--acc);border-radius:6px;padding:6px 10px;margin:2px 0 8px}
/* CC Scanner tab: GO table with five delta levels side by side (scrolls inside the table on phones) */
.cctable table.grid td.cclv{white-space:nowrap;line-height:1.3;font-size:12.5px}
.cctable table.grid td.cclv .muted{font-size:11.5px}
.cctable form.gorun{flex-wrap:wrap}
.cctable input.ccqty{width:4.2em;font:inherit;font-size:13px;padding:5px 6px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
.cctable .chip{display:inline-block;font-size:11px;font-weight:700;color:#92400e;background:#fde68a;border-radius:6px;padding:0 .4em}
details.ccholds p{font-size:13px;line-height:1.7}
/* ICBS tab: Refresh (show newest report) + Run full scan now side by side; Run entry (live) shown as an active red button */
.icbsbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.icbsbar form.inl{display:inline;margin:0}.icbsbar .spin{margin:0}
button.btnacc{background:var(--acc);color:#fff;border:0;font-weight:600;cursor:pointer}button.btnacc:hover{filter:brightness(1.1)}
form.gorun button.golive{background:var(--neg);color:#fff;border:0;font-weight:600;cursor:pointer;opacity:1}form.gorun button.golive:hover{filter:brightness(1.1)}
/* posopts27: Unrealized P&L %, Buying Power Consumed, end moneyness cols */

/* keep signed numbers (−$1,234.56) on one line everywhere */
.sum .val{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;font-size:clamp(16px,1.5vw,20px)}
table.grid td,table.grid th.n,.ptab td.n,.ptab .n{white-space:nowrap}
/* Refresh Go annual ROI on BP tiers (boundary -> higher tier) */
.roi150{color:#39ff7a}.roi125{color:#2ecc71}.roi100{color:#4fc3f7}.roi80{color:#ffb74d}.roilow{color:#ef5350}
/* ICBS GO table: wrap long headers so columns fit their values */
.gotable table.grid th,.gotable table.grid th.n{white-space:normal;word-break:normal;overflow-wrap:break-word;vertical-align:bottom;min-width:0;max-width:96px;line-height:1.2}
/* ICBS GO table: strategy colour coding (IC green, BS blue) */
.gotable td.stc-ic{color:#0b8043;font-weight:700}.gotable td.stc-bs{color:#1a73e8;font-weight:700}
@media (prefers-color-scheme:dark){.gotable td.stc-ic{color:#5bd77a}.gotable td.stc-bs{color:#7cb7ff}}
/* ICBS GO table: narrower Key info so Refresh sits closer */
.gotable table.grid td.key{min-width:160px;max-width:280px;width:280px;padding-right:6px}
/* ICBS GO table: thin dividers between blocks (Key info | Refresh | Price..Open strategies | Run entry) */
.gotable table.grid tr:not(.manualrow)>:is(th,td):is(:nth-child(8),:nth-child(9),:nth-child(10),:nth-child(20)){border-left:1px solid rgba(128,128,128,.35)}
/* ICBS GO table: banner above the Refresh Go result columns */
.gotable table.grid tr.gobanner td{background:transparent;border:0;padding:2px 6px;position:static}
.gotable table.grid tr.gobanner td.gobtxt{background:var(--band);color:var(--bandfg);font-size:12px;font-style:italic;white-space:normal;text-align:center;border-radius:6px 6px 0 0;border-left:1px solid rgba(128,128,128,.35)}
/* strategy dropdowns (max 7 chars): compact */
select.stratsel{width:6.6em;min-width:0;max-width:6.6em;padding:4px 2px 4px 5px;font-size:13px}
/* ICBS GO ticker info pop-up */
a.tkinfo{color:inherit;text-decoration:underline dotted;cursor:pointer}
.tkmodal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:6vh 12px;overflow:auto}
.tkbox{position:relative;background:#1b1f27;color:#e6e6e6;border:1px solid #3a404c;border-radius:10px;max-width:640px;width:100%;padding:18px 20px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.tkbox h2{margin:0 28px 8px 0;font-size:18px}.tkbox .tkdesc{font-size:13px;line-height:1.45;color:#c9ccd2}
.tkbox dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:13px}.tkbox dl.kv dt{color:#9aa0aa}.tkbox dl.kv dd{margin:0}
.tkx{position:absolute;top:8px;right:10px;background:none;border:0;color:#e6e6e6;font-size:24px;line-height:1;cursor:pointer}
.tkbox h3{margin:12px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#8fb3ff}
.tkbox .tksub{margin:0 0 6px;color:#9aa0aa;font-size:13px}.tkbox details.tkdesc summary{cursor:pointer}
.tkbox ul.tkud{margin:0;padding-left:16px;font-size:12.5px}.tkbox ul.tkud li{margin:2px 0}
@media (max-width:520px){.tkmodal{padding:8px}.tkbox{padding:14px 12px}.tkbox dl.kv{grid-template-columns:1fr;gap:0}.tkbox dl.kv dd{margin:0 0 4px}}
.tkbox dl.kv{background:#232833;border:1px solid #3a404c;color:#f2f4f7}
.tkbox dl.kv dt{color:#a9b1bd}.tkbox dl.kv dd{color:#ffffff;font-weight:600;text-align:right}
.tkbox dl.kv dd.tkpos,.tkbox li.tkpos{color:#5bd77a}.tkbox dl.kv dd.tkneg,.tkbox li.tkneg{color:#ff7b72}.tkbox dl.kv dd.tkhold{color:#ffb74d}
.tkbox ul.tkud{color:#e6e6e6}.tkbox .muted{color:#a9b1bd}.tkbox a{color:#8fb3ff}.tkbox details.tkdesc summary{color:#c9ccd2}
.tkmodal{padding:3vh 12px}.tkbox{max-width:1180px;width:96vw}
.tkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px 14px;align-items:start}
.tksec h3{margin:6px 0 4px}.tksec.tkwide{margin-top:8px}.tkbox dl.kv{margin:0}
@media (max-width:760px){.tkgrid{grid-template-columns:1fr}}
.tkbox{max-width:1240px;width:97vw;padding:14px 16px}
.tkgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px 12px}
.tkbox dl.kv{grid-template-columns:max-content auto;justify-content:start;gap:2px 10px;padding:6px 10px;font-size:12.5px}
.tkbox dl.kv dd{text-align:left}
.tksec h3{margin:4px 0 3px;font-size:12px}
.tkgrid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.tksec{display:flex;flex-direction:column;min-width:0}.tksec dl.kv{flex:1;align-content:start}
.tksec.tkwide{grid-column:1/-1}
@media (max-width:900px){.tkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.tkgrid{grid-template-columns:1fr}}
.tkgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr)}
.tks-analysts dl.kv dd{white-space:nowrap}
@media (max-width:900px){.tkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tks-analysts dl.kv dd{white-space:normal}}
@media (max-width:600px){.tkgrid{grid-template-columns:1fr}}
button.rgrow,button.rgall{color:#fff;font-weight:700;border:1px solid transparent;cursor:pointer;text-shadow:0 1px 1px rgba(0,0,0,.35)}
button.rgrow{background:#0f8f7e;border-color:#12a892;padding:5px 10px;font-size:13px}button.rgrow:hover{background:#13a892}
button.rgall{background:#d9822b;border-color:#f0a050}button.rgall:hover{background:#ef9440}
/* Position Options multi-select filters (Oct 29 2026) */
.msform{gap:10px;flex-wrap:wrap}
.msf{display:inline-flex;align-items:center;gap:6px;font-size:.92em;color:var(--mut);white-space:nowrap}
.msdd{position:relative}
.msdd summary{list-style:none;display:inline-flex;align-items:center;gap:6px;box-sizing:content-box;cursor:pointer;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 8px;max-width:22em}
.msdd summary::-webkit-details-marker{display:none}
.msdd .msv{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msdd .msa{color:var(--mut);font-size:.85em}
.msbox{position:absolute;z-index:30;top:calc(100% + 2px);left:0;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 8px;max-height:300px;overflow:auto;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:100%}
.msbox label{display:block;padding:2px 0;color:var(--fg);white-space:nowrap;cursor:pointer}
.msctl{display:flex;gap:6px;margin-bottom:4px}
.msctl button{font-size:.85em;padding:2px 8px}
/* Apply fix + click feedback (Oct 29 2026), scoped to Position Options (.ptab.opt) and Option P&L (.ptab.pnl) */
.msform{flex-wrap:nowrap}
.msbox{z-index:1000}
.msdd summary.msw3{width:6ch}
.msdd summary.msw4{width:7ch}
.msdd summary.msw5{width:8ch}
.msdd summary.msw6{width:9ch}
.msdd summary.msw7{width:10ch}
.msdd summary.msw8{width:11ch}
.msdd summary.msw9{width:12ch}
.msdd summary.msw10{width:13ch}
.msdd summary.msw11{width:14ch}
.msdd summary.msw12{width:15ch}
.msdd summary.msw13{width:16ch}
.msdd summary.msw14{width:17ch}
.msdd summary.msw15{width:18ch}
.msdd summary.msw16{width:19ch}
.msdd summary.msw17{width:20ch}
.msdd summary.msw18{width:21ch}
.msdd summary.msw19{width:22ch}
.msdd summary.msw20{width:23ch}
.msdd summary.msw21{width:24ch}
.msdd summary.msw22{width:25ch}
.msdd summary.msw23{width:26ch}
.msdd summary.msw24{width:27ch}
.msdd summary.msw25{width:28ch}
.msdd summary.msw26{width:29ch}
.msdd summary.msw27{width:30ch}
.msform .msgo{display:inline-block;background:var(--acc);color:#fff;border:1px solid var(--acc);font-weight:600;padding:6px 12px;border-radius:8px;cursor:pointer}
.msform .msgo:hover{filter:brightness(1.1)}
.ptab.opt :is(button,summary,select,.seg a,.dlcsv,.tkfnote a,.msbox label),.ptab.pnl :is(button,summary,select,.seg a,.dlcsv,.tkfnote a,.msbox label,th){transition:background-color .12s,transform .06s,box-shadow .12s,opacity .12s}
.ptab.opt :is(button,summary,select,.seg a,.dlcsv,.msbox label):hover,.ptab.pnl :is(button,summary,select,.seg a,.dlcsv,.msbox label):hover{background-color:color-mix(in srgb,var(--acc) 12%,var(--card))}
.ptab.opt .dlcsv:hover,.ptab.pnl .dlcsv:hover{background:var(--acc);color:#fff}
.ptab.opt .msgo:hover,.ptab.pnl .msgo:hover{background:var(--acc)}
.ptab.opt :is(button,summary,select,.seg a,.dlcsv,.tkfnote a,.msbox label):active,.ptab.pnl :is(button,summary,select,.seg a,.dlcsv,.tkfnote a,.msbox label):active{transform:scale(.96);box-shadow:inset 0 2px 4px rgba(0,0,0,.25);filter:brightness(.9)}
.ptab.opt :is(button,summary,select,a,input):focus-visible,.ptab.pnl :is(button,summary,select,a,input):focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ptab.opt .busy,.ptab.pnl .busy{opacity:.55;cursor:wait!important}
body.navbusy,body.navbusy *{cursor:wait!important}
/* Filter-bar consistency (Oct 29 2026): Position Options + Option P&L toolbars = one compact set, 28px tall */
:is(.ptab.opt,.ptab.pnl) .pnlbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px}
:is(.ptab.opt,.ptab.pnl) .pnlbar .seg{flex:0 0 auto;min-width:0;max-width:none;margin:0;border-radius:6px;height:28px;box-sizing:border-box}
:is(.ptab.opt,.ptab.pnl) .pnlbar .seg a{display:inline-flex;align-items:center;height:100%;padding:0 12px;font-size:13px;line-height:1}
:is(.ptab.opt,.ptab.pnl) .pnlbar .tkfilter{margin:0;gap:6px;align-items:center}
:is(.ptab.opt,.ptab.pnl) .pnlbar .tkfilter label,:is(.ptab.opt,.ptab.pnl) .pnlbar .msf{font-size:13px;gap:5px}
:is(.ptab.opt,.ptab.pnl) .pnlbar :is(.dlcsv,select,.msdd summary,button.tkgo){box-sizing:border-box;height:28px;margin:0;font-size:13px;line-height:1;border-radius:6px;vertical-align:middle}
:is(.ptab.opt,.ptab.pnl) .pnlbar .dlcsv{display:inline-flex;align-items:center;padding:0 10px}
:is(.ptab.opt,.ptab.pnl) .pnlbar select{padding:0 22px 0 8px;min-width:0}
:is(.ptab.opt,.ptab.pnl) .pnlbar .msdd summary{display:inline-flex;align-items:center;padding:0 8px;box-sizing:content-box;height:26px}
:is(.ptab.opt,.ptab.pnl) .pnlbar button.tkgo{display:inline-flex;align-items:center;padding:0 10px}
:is(.ptab.opt,.ptab.pnl) .pnlbar .msform .msgo{padding:0 10px;font-size:13px;font-weight:600;height:28px}
:is(.ptab.opt,.ptab.pnl) .msbox{font-size:13px}
:is(.ptab.opt,.ptab.pnl) .msctl button{height:24px;padding:0 8px;font-size:12px;border-radius:6px}
/* Go buttons match Apply (Oct 29 2026) */
button.tkgo{background:var(--acc);color:#fff;border:1px solid var(--acc);font-weight:600;border-radius:6px;cursor:pointer}
button.tkgo:hover,:is(.ptab.opt,.ptab.pnl) button.tkgo:hover{background:var(--acc);filter:brightness(1.1)}
button.tkgo:active{transform:scale(.96);filter:brightness(.9)}
/* Auto-apply multi-select (Oct 29 2026): Apply button hidden */
.msform .msgo{display:none!important}
/* Auto-submit selects: keep the no-JS Go fallback hidden (Oct 29 2026) */
button.tkgo[hidden]{display:none!important}
/* Nov 1 2026 (Manoj): Strategies view only - keep the table box from handing scroll to the page so its pinned header stays in view. */
.ptab.opt:has(.seg a.on[href$="view=strategy"]) .gridwrap{overscroll-behavior-y:contain}
/* YASH wordmark. Height is fixed; width follows the file so the swoosh is not stretched. */
.brandline{display:inline-flex;align-items:center;gap:10px}
img.brand{height:32px;width:auto;display:block}
img.brand-auth{height:40px;width:auto;display:block;margin:2px 0 14px}
