:root{--itm:#fff8e6;--atm:#eef4ff;--bg:#f6f7f9;--card:#fff;--fg:#14171c;--mut:#6b7280;--line:#e5e7eb;--in:#fff;--acc:#2563eb;--pos:#059669;--neg:#dc2626;--hl:#f3f4f6;--chip-b:#ecfdf5;--chip-s:#fef2f2}
@media (prefers-color-scheme:dark){:root{--itm:#221d10;--atm:#16213a;--bg:#0d0f12;--card:#15181d;--fg:#e6e8eb;--mut:#8b929c;--line:#252a31;--in:#1b1f25;--acc:#5b8cff;--pos:#34d399;--neg:#f87171;--hl:#1c2027;--chip-b:#0f2a20;--chip-s:#2d1517}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--fg);font:13px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-variant-numeric:tabular-nums}
header{display:flex;gap:14px;align-items:center;padding:8px 16px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap;position:sticky;top:0;z-index:2}
header form{margin:0}
.brand{font-size:14px;letter-spacing:.2px}
.tickers{display:flex;gap:16px;flex-wrap:wrap}
.tk{white-space:nowrap}
.acct{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.dot{width:7px;height:7px;border-radius:50%;background:var(--pos)}
main{padding:14px 16px 32px;max-width:1280px;margin:0 auto;display:grid;gap:12px}
.grow{flex:1}
.muted{color:var(--mut)}.pos{color:var(--pos)}.neg{color:var(--neg)}
small{font-size:11px}
.msg{margin:0;padding:8px 12px;border:1px solid var(--neg);color:var(--neg);border-radius:6px;background:var(--card)}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px}
input,select,button{font:inherit;color:inherit;background:var(--in);border:1px solid var(--line);border-radius:5px;padding:6px 8px;height:32px}
select:disabled,input:disabled{opacity:.4}
button{cursor:pointer}
.btn,.primary{background:var(--acc);border-color:var(--acc);color:#fff;text-decoration:none;padding:6px 14px;border-radius:5px;font-weight:600}
button.link{background:none;border:none;color:var(--acc);padding:4px 6px;height:auto}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.inline{display:inline-flex;gap:6px;align-items:center}
.tabs{display:flex;gap:4px;align-items:center;margin:-2px 0 10px;border-bottom:1px solid var(--line)}
.tab{border:none;background:none;border-bottom:2px solid transparent;border-radius:0;color:var(--mut);padding:4px 10px 8px;height:auto}
.tab.on{color:var(--fg);border-bottom-color:var(--acc);font-weight:600}
.spot{font-weight:600}
.w-name{min-width:130px}.w-exp{min-width:120px}.w-strike{min-width:110px}.sym{flex:1;min-width:240px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.seg button{border:none;border-radius:0;height:30px;padding:4px 10px;background:var(--in);color:var(--mut);font-weight:600}
.seg button+button{border-left:1px solid var(--line)}
.seg button.on{background:var(--acc);color:#fff}
.side button[data-v=BUY].on{background:var(--pos)}.side button[data-v=SELL].on{background:var(--neg)}
.stepper{display:inline-flex}
.stepper button{width:28px;padding:0;border-radius:5px 0 0 5px}
.stepper button:last-child{border-radius:0 5px 5px 0}
.stepper input{width:54px;text-align:center;border-radius:0;border-left:none;border-right:none}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:grid;gap:2px;min-width:0}
.kpi span{color:var(--mut);font-size:12px}
.kpi b{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi.main b{font-size:22px}
.kpi small{color:var(--mut);min-height:15px}
table{width:100%;border-collapse:collapse}
th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{color:var(--mut);font-weight:500;font-size:12px}
.r{text-align:right}.b{font-weight:600}
tbody tr:hover{background:var(--hl)}
.inst{font-weight:500}
.chip{height:24px;width:28px;padding:0;border-radius:4px;font-weight:700;border:none}
.chip.buy{background:var(--chip-b);color:var(--pos)}.chip.sell{background:var(--chip-s);color:var(--neg)}
.cell-in{height:26px;width:64px;text-align:right;padding:2px 6px}
.w-px{width:88px}
.rm{color:var(--mut)!important}
.empty{color:var(--mut);text-align:center;padding:18px 0;margin:0}
.foot{display:flex;gap:12px;align-items:center;padding-top:10px;flex-wrap:wrap}
.chain-wrap{margin-top:10px;max-height:440px;overflow:auto;border:1px solid var(--line);border-radius:6px}
.chain{font-size:13px}
.chain thead th{position:sticky;top:0;background:var(--card);z-index:1;box-shadow:inset 0 -1px var(--line)}
.chain td{padding:3px 8px}
.chain .c-strike{text-align:center;font-weight:600;background:var(--hl);width:110px}
.chain .c-act{width:76px}
.chain .c-act .chip{height:22px;width:26px;margin:0 2px;font-size:12px}
.chain .ltp{font-weight:600}
.chain tr.ce-itm td:nth-child(-n+3),.chain tr.pe-itm td:nth-child(n+5){background:var(--itm)}
.chain tr.atm td{border-top:2px solid var(--acc)}
.chain tr.atm .c-strike{background:var(--atm);color:var(--acc)}
.chip:disabled{opacity:.3;cursor:default}
.login{display:grid;place-items:center;min-height:90vh}
.login form{display:grid;gap:12px;width:min(320px,100%);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:20px}
.login label{display:grid;gap:4px}
.login h1{font-size:18px;margin:0}
.login button{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.err{color:var(--neg)}
@media (max-width:1000px){.cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.cards{grid-template-columns:repeat(2,1fr)}.card{overflow-x:auto}main{padding:12px}}
