:root{--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f8fafc;--line: #e3e8ef;--line-strong: #cbd5e1;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--faint: #94a3b8;--nav-bg: #0b1324;--nav-bg-2: #111c33;--nav-ink: #cbd5e1;--nav-muted: #64748b;--ok: #059669;--ok-bg: #ecfdf5;--ok-line: #a7f3d0;--warn: #b45309;--warn-bg: #fffbeb;--warn-line: #fde68a;--bad: #dc2626;--bad-bg: #fef2f2;--bad-line: #fecaca;--info: #2563eb;--info-bg: #eff6ff;--pos: #047857;--neg: #c2410c;--a-overview: #4f46e5;--a-overview-soft: #eef2ff;--a-trading: #2563eb;--a-trading-soft: #eff6ff;--a-hedging: #0d9488;--a-hedging-soft: #f0fdfa;--a-market: #d97706;--a-market-soft: #fffbeb;--a-risk: #be123c;--a-risk-soft: #fff1f2;--a-ops: #0891b2;--a-ops-soft: #ecfeff;--a-settle: #7c3aed;--a-settle-soft: #f5f3ff;--a-admin: #475569;--a-admin-soft: #f1f5f9;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgb(15 23 42 / .06), 0 2px 8px rgb(15 23 42 / .05);--shadow-lg: 0 10px 30px rgb(15 23 42 / .18);--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;line-height:1.2}:focus-visible{outline:2px solid var(--accent, var(--a-trading));outline-offset:2px}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100%}.side{position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,var(--nav-bg),var(--nav-bg-2));color:var(--nav-ink);display:flex;flex-direction:column;padding:16px 12px;gap:6px;scrollbar-width:thin}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px;border-bottom:1px solid rgb(255 255 255 / .07);margin-bottom:6px;text-decoration:none}.brand img{width:34px;height:34px}.brand b{display:block;color:#fff;font-size:15px;letter-spacing:.02em}.brand small{color:var(--nav-muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.navgroup{margin-top:8px}.navgroup>span{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--nav-muted);padding:6px 10px}.navgroup>span:before{content:"";width:8px;height:8px;border-radius:3px;background:var(--c)}.navlink{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;color:var(--nav-ink);text-decoration:none;font-weight:500;border-left:3px solid transparent;transition:background .15s}.navlink:hover{background:#ffffff0f;color:#fff}.navlink.active{background:color-mix(in srgb,var(--c) 26%,transparent);color:#fff;border-left-color:var(--c)}.navlink svg{width:16px;height:16px;opacity:.9}.navlink .count{margin-left:auto;background:var(--bad);color:#fff;font-size:11px;border-radius:99px;padding:0 7px;font-weight:700}.side-foot{margin-top:auto;padding:12px 8px 0;border-top:1px solid rgb(255 255 255 / .07);font-size:12px;color:var(--nav-muted)}.side-foot .who{color:#fff;font-weight:600;font-size:13px}.side-foot .ver{font-family:var(--mono);font-size:10.5px;margin-top:8px;color:var(--nav-muted)}.side-foot button{background:none;border:1px solid rgb(255 255 255 / .12);color:var(--nav-ink);border-radius:7px;padding:4px 9px;cursor:pointer}.side-foot button:hover{background:#ffffff14}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:10px 24px;background:#ffffffdb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .menu-btn{display:none}.cob-pill{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:4px 6px 4px 12px}.cob-pill label{font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.cob-pill select{border:0;background:transparent;font-weight:600;padding:2px 4px;cursor:pointer}.cob-pill.asof{background:var(--warn-bg);border-color:var(--warn-line)}.cob-pill.asof label{color:var(--warn)}.top-spacer{flex:1}.content{padding:20px 24px 48px;max-width:1600px;width:100%}.ph{position:relative;border-radius:var(--radius);padding:18px 22px;margin-bottom:18px;color:#fff;overflow:hidden;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.ph h1{font-size:21px;font-weight:800;letter-spacing:-.01em}.ph p{margin:3px 0 0;opacity:.88;font-size:13px;max-width:70ch}.ph .ph-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#ffffff29;flex:none}.ph .ph-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.ph .ph-actions .btn{background:#ffffff29;color:#fff;border-color:#ffffff47}.ph .ph-actions .btn:hover{background:#ffffff42}.ph .ph-actions .btn.primary{background:#fff;color:var(--accent);border-color:#fff}.area-overview{--accent: var(--a-overview);--soft: var(--a-overview-soft)}.area-overview .ph{background:radial-gradient(120% 140% at 0% 0%,#6366f1,#4338ca 45%,#1e1b4b)}.area-overview .ph:after{content:"";position:absolute;inset:-40% -10% auto auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgb(34 211 238 / .45),transparent 65%)}.area-trading{--accent: var(--a-trading);--soft: var(--a-trading-soft)}.area-trading .ph{background:repeating-linear-gradient(115deg,rgb(255 255 255 / .05) 0 14px,transparent 14px 28px),linear-gradient(90deg,#1d4ed8,#2563eb 60%,#3b82f6)}.area-hedging{--accent: var(--a-hedging);--soft: var(--a-hedging-soft)}.area-hedging .ph{background:linear-gradient(100deg,#0f766e 0,#0f766e 55%,#14b8a6 55%,#14b8a6)}.area-hedging .ph:after{content:"⇄";position:absolute;right:18px;bottom:-22px;font-size:120px;opacity:.12}.area-market{--accent: var(--a-market);--soft: var(--a-market-soft)}.area-market .ph{color:#431407;background:linear-gradient(rgb(255 255 255 / .35) 1px,transparent 1px) 0 0/ 100% 18px,linear-gradient(90deg,rgb(255 255 255 / .35) 1px,transparent 1px) 0 0 / 24px 100%,linear-gradient(90deg,#fbbf24,#f59e0b)}.area-market .ph .ph-icon{background:#4314071a}.area-market .ph .ph-actions .btn{color:#431407;border-color:#43140733;background:#ffffff73}.area-market .ph .ph-actions .btn.primary{background:#431407;color:#fff}.area-risk{--accent: var(--a-risk);--soft: var(--a-risk-soft)}.area-risk .ph{background:radial-gradient(circle at 92% 50%,transparent 0 40px,rgb(255 255 255 / .1) 41px 43px,transparent 44px 70px,rgb(255 255 255 / .08) 71px 73px,transparent 74px),linear-gradient(120deg,#4c0519,#9f1239 55%,#e11d48)}.area-ops{--accent: var(--a-ops);--soft: var(--a-ops-soft)}.area-ops .ph{background:radial-gradient(60px 18px at 30px 100%,rgb(255 255 255 / .16) 98%,transparent) 0 100% / 60px 18px repeat-x,linear-gradient(160deg,#0e7490,#0891b2 50%,#22d3ee)}.area-settle{--accent: var(--a-settle);--soft: var(--a-settle-soft)}.area-settle .ph{background:linear-gradient(135deg,#5b21b6,#7c3aed 60%,#a78bfa);border-bottom:0}.area-settle .ph:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:radial-gradient(circle at 8px 10px,var(--bg) 6px,transparent 6.5px) 0 0 / 16px 10px repeat-x}.area-admin{--accent: var(--a-admin);--soft: var(--a-admin-soft)}.area-admin .ph{background:linear-gradient(90deg,#1e293b,#334155)}.grid{display:grid;gap:16px}.grid>*{min-width:0}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-side{grid-template-columns:minmax(0,1fr) 380px;align-items:start}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card>header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.card>header h3{font-size:14px;font-weight:700}.card>header .sub{color:var(--muted);font-size:12px}.card>header .tools{margin-left:auto;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.card .body{padding:14px 16px}.card.accent{border-top:3px solid var(--accent)}.card.tint{background:var(--soft);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.section-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}.section-title:before{content:"";width:4px;height:14px;border-radius:2px;background:var(--accent)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:var(--mono)}.right{text-align:right}.nowrap{white-space:nowrap}.kpi{padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--k, var(--accent))}.kpi .lbl{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.kpi .val{font-size:24px;font-weight:800;margin-top:4px;letter-spacing:-.02em}.kpi .note{font-size:12px;color:var(--muted);margin-top:2px}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:9px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;font-size:13px}.btn:hover{background:var(--surface-2);border-color:var(--faint)}.btn svg{width:15px;height:15px}.btn.primary{background:var(--accent, var(--a-trading));border-color:var(--accent, var(--a-trading));color:#fff;box-shadow:0 2px 6px color-mix(in srgb,var(--accent, #2563eb) 35%,transparent)}.btn.primary:hover{filter:brightness(1.07)}.btn.big{padding:11px 20px;font-size:15px;border-radius:11px}.btn.danger{color:var(--bad);border-color:var(--bad-line);background:var(--bad-bg)}.btn.stop{background:var(--bad);border-color:var(--bad);color:#fff}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:4px 9px;font-size:12px;border-radius:7px}.btn:disabled{opacity:.5;cursor:not-allowed}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px}.seg button{border:0;background:transparent;padding:5px 11px;border-radius:7px;cursor:pointer;font-weight:600;color:var(--muted);font-size:12.5px}.seg button.on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>label,.field>span.lbl{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.04em}.field .hint{font-size:11.5px;color:var(--faint)}.input,.field input,.field select,.field textarea{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);min-width:0}.field textarea{min-height:70px;resize:vertical}.input:focus,.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.field.invalid input,.field.invalid select{border-color:var(--bad)}.form-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.pw-wrap{position:relative;display:flex}.pw-wrap input{padding-right:40px}.pw-wrap button{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;padding:6px;cursor:pointer;color:var(--muted);border-radius:6px}.pw-wrap button:hover{background:var(--surface-2);color:var(--ink)}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tile{border:2px solid var(--line);border-radius:12px;padding:12px;background:var(--surface);cursor:pointer;text-align:left;display:flex;gap:10px;align-items:flex-start}.tile:hover{border-color:var(--t)}.tile.on{border-color:var(--t);background:color-mix(in srgb,var(--t) 8%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--t) 18%,transparent)}.tile .ti{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--t) 14%,transparent);color:var(--t);flex:none}.tile b{display:block;font-size:14px}.tile small{color:var(--muted);font-size:12px}.tbl-wrap{overflow:auto;max-height:var(--tbl-max, 70vh)}table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl th{position:sticky;top:0;z-index:1;background:var(--surface-2);text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap;-webkit-user-select:none;user-select:none}.tbl th.sortable{cursor:pointer}.tbl th.sortable:hover{color:var(--ink)}.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.tbl td.wrap,.tbl td .wrap{white-space:normal}.tbl tbody tr:hover td{background:color-mix(in srgb,var(--accent, #2563eb) 5%,transparent)}.tbl tbody tr.click{cursor:pointer}.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tbl tr.group td{background:var(--soft);font-weight:700}.tbl tfoot td{font-weight:700;background:var(--surface-2);position:sticky;bottom:0}.pos{color:var(--pos)}.neg{color:var(--neg)}.empty{padding:28px;text-align:center;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:99px;font-size:11.5px;font-weight:700;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.8}.pill.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}.pill.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.pill.bad{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-line)}.pill.info{color:var(--info);background:var(--info-bg);border-color:#bfdbfe}.pill.plain:before{display:none}.tag{display:inline-block;padding:1px 7px;border-radius:6px;font-size:11px;font-weight:700;background:color-mix(in srgb,var(--t, var(--accent)) 12%,transparent);color:var(--t, var(--accent))}.stepper{display:flex;gap:0;overflow-x:auto;padding-bottom:2px}.stepper .st{flex:1;min-width:92px;text-align:center;font-size:11px;font-weight:700;color:var(--faint);position:relative;padding-top:22px;text-transform:uppercase;letter-spacing:.04em}.stepper .st:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:12px;height:12px;border-radius:50%;background:var(--line-strong);z-index:1}.stepper .st:after{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--line-strong)}.stepper .st:first-child:after{display:none}.stepper .st.done{color:var(--accent)}.stepper .st.done:before,.stepper .st.done:after{background:var(--accent)}.stepper .st.cur:before{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 25%,transparent)}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px;overflow-x:auto}.tabs button{border:0;background:none;padding:9px 14px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.tabs button .n{margin-left:6px;font-size:11px;background:var(--surface-2);border-radius:99px;padding:1px 6px}.search{position:relative;min-width:240px;flex:1;max-width:460px}.search input{width:100%;padding:8px 12px 8px 34px;border-radius:10px;border:1px solid var(--line-strong);background:var(--surface)}.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.search>svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--faint);pointer-events:none}.search .clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;color:var(--faint);padding:4px}.suggest{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto;padding:4px;margin:0;list-style:none}.suggest li{padding:7px 10px;border-radius:7px;cursor:pointer;display:flex;gap:8px;align-items:baseline}.suggest li[aria-selected=true],.suggest li:hover{background:var(--soft, #eff6ff)}.suggest li .s-main{font-weight:600}.suggest li .s-sub{color:var(--muted);font-size:12px;margin-left:auto;text-align:right}.suggest mark{background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;border-radius:3px}dialog.modal{border:0;padding:0;border-radius:14px;box-shadow:var(--shadow-lg);width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 40px);color:var(--ink);background:var(--surface)}dialog.modal.wide{width:min(1040px,calc(100vw - 24px))}dialog.modal:modal{overscroll-behavior:contain}dialog.modal::backdrop{background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow:hidden;overscroll-behavior:contain}dialog.modal>header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:2;border-top:4px solid var(--accent)}dialog.modal>header h2{font-size:16px}dialog.modal>.mbody{padding:16px 18px}dialog.modal>footer{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line);background:var(--surface-2);position:sticky;bottom:0}.job{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface)}.job .bar{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-top:8px;border:1px solid var(--line)}.job .bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,#fff));transition:width .4s}.job .bar.indet>i{width:35%!important;animation:indet 1.2s infinite ease-in-out}@keyframes indet{0%{margin-left:-35%}to{margin-left:100%}}.job .status-line{display:flex;gap:8px;align-items:center;font-size:12.5px;margin-top:8px;color:var(--ink-2)}.dot-live{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 #05966980;animation:pulse 1.6s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px #05966900}to{box-shadow:0 0 #05966900}}.alert{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);text-decoration:none}.alert.red{border-color:var(--bad-line);background:var(--bad-bg)}.alert.amber{border-color:var(--warn-line);background:var(--warn-bg)}.alert .area{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);min-width:86px}.alert svg{flex:none;width:16px;height:16px;margin-top:1px}.alert.red svg{color:var(--bad)}.alert.amber svg{color:var(--warn)}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:14px}.banner.info{background:var(--info-bg);border:1px solid #bfdbfe;color:#1e3a8a}.banner.warn{background:var(--warn-bg);border:1px solid var(--warn-line);color:#78350f}.banner.bad{background:var(--bad-bg);border:1px solid var(--bad-line);color:#7f1d1d}.banner.ok{background:var(--ok-bg);border:1px solid var(--ok-line);color:#064e3b}.update-banner{position:fixed;z-index:100;left:50%;bottom:18px;transform:translate(-50%);background:var(--nav-bg);color:#fff;padding:10px 12px 10px 16px;border-radius:12px;box-shadow:var(--shadow-lg);display:flex;gap:12px;align-items:center}.toasts{position:fixed;z-index:120;right:18px;top:66px;display:flex;flex-direction:column;gap:8px}.toast{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--info);border-radius:10px;box-shadow:var(--shadow-lg);padding:10px 14px;min-width:260px;max-width:420px;font-size:13px}.toast.ok{border-left-color:var(--ok)}.toast.bad{border-left-color:var(--bad)}.util{height:10px;border-radius:99px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden;min-width:90px;position:relative}.util>i{display:block;height:100%;background:var(--ok)}.util.warn>i{background:#f59e0b}.util.bad>i{background:var(--bad)}.util .soft{position:absolute;top:0;bottom:0;width:2px;background:var(--ink-2);opacity:.5}.hcell{border-radius:6px;padding:4px 6px;text-align:right;font-size:12px;min-width:84px}.ratio{display:inline-flex;min-width:48px;justify-content:center;font-weight:700;border-radius:6px;padding:1px 6px;font-size:11.5px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:5px}.leg{border:1px solid var(--line);border-left:4px solid var(--legc, var(--accent));border-radius:12px;padding:14px;background:var(--surface)}.leg.buy{--legc: #059669}.leg.sell{--legc: #e11d48}.leg-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.leg-head b{font-size:14px}.dir{display:inline-flex;border:1px solid var(--line-strong);border-radius:9px;overflow:hidden}.dir button{border:0;background:var(--surface);padding:6px 16px;font-weight:800;cursor:pointer;color:var(--muted);letter-spacing:.04em}.dir button.buy.on{background:#059669;color:#fff}.dir button.sell.on{background:#e11d48;color:#fff}.comp{display:grid;grid-template-columns:1.6fr .8fr .7fr .7fr auto;gap:8px;align-items:end;padding:8px;border-radius:9px;background:var(--surface-2);margin-top:6px}.formula{font-family:var(--mono);font-size:12.5px;background:var(--nav-bg);color:#e2e8f0;padding:8px 12px;border-radius:8px;margin-top:8px}.formula b{color:#fbbf24}.sticky-panel{position:sticky;top:72px}.big-num{font-size:28px;font-weight:800;letter-spacing:-.02em}.check{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:9px;font-size:12.5px}.check.OK{background:var(--ok-bg)}.check.SOFT{background:var(--warn-bg)}.check.HARD{background:var(--bad-bg)}.timeline{overflow-x:auto}.tl-grid{display:grid;min-width:900px}.tl-head{display:contents}.tl-head div{font-size:11px;font-weight:700;color:var(--muted);padding:6px;border-bottom:1px solid var(--line);text-transform:uppercase}.tl-row{display:contents}.tl-row>div{border-bottom:1px solid var(--line);padding:8px 6px;position:relative;min-height:44px}.tl-bar{position:absolute;top:9px;height:26px;border-radius:7px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:4px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}.login{min-height:100%;display:grid;grid-template-columns:1.1fr 1fr}.login .hero{background:radial-gradient(120% 120% at 0% 0%,#1e3a8a,#0b1324 60%),#0b1324;color:#e2e8f0;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login .hero h1{font-size:38px;font-weight:800;letter-spacing:-.02em;color:#fff;max-width:14ch}.login .hero ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:10px}.login .hero li{display:flex;gap:10px;align-items:center}.login .hero li i{width:10px;height:10px;border-radius:3px;background:var(--c)}.login .panel{display:grid;place-items:center;padding:32px}.login form{width:min(380px,100%);display:flex;flex-direction:column;gap:14px}.login form h2{font-size:24px}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0f172a8c;display:grid;place-items:center}.phone{width:390px;height:min(844px,calc(100vh - 40px));border-radius:44px;background:#0b1324;padding:12px;box-shadow:var(--shadow-lg);position:relative}.phone iframe{width:100%;height:100%;border:0;border-radius:34px;background:var(--bg)}.phone-close{position:absolute;top:-14px;right:-14px}dialog.drawer{margin:0;padding:0;border:0;height:100vh;max-height:100vh;width:min(300px,84vw);background:transparent}dialog.drawer::backdrop{background:#0f172a80}dialog.drawer .side{height:100%;position:static}@media (max-width: 1280px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-side{grid-template-columns:1fr}.sticky-panel{position:static}}@media (max-width: 1023px){.shell{grid-template-columns:1fr}.shell>.side{display:none}.topbar .menu-btn{display:inline-flex}.topbar{padding:8px 12px}.content{padding:14px 12px 40px}.g2,.g3{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.login{grid-template-columns:1fr}.login .hero{display:none}.desktop-only{display:none!important}.comp{grid-template-columns:1fr 1fr}}@media (max-width: 640px){.g4{grid-template-columns:1fr 1fr}.ph{padding:14px}.ph h1{font-size:18px}.kpi .val{font-size:20px}.card>header{flex-wrap:wrap}.card>header .search{flex:1 1 100%;max-width:none;min-width:0}.card>header .tools{margin-left:0}.topbar .long,.cob-pill label{display:none}.ph .ph-actions{margin-left:0}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
