@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;600;700&display=swap";
:root{--bg:#fbfcfe;--surface:#fff;--raised:#eaf1fa;--line:#e2e8f2;--line-soft:#edf1f8;--text:#0a1626;--muted:#5a6b85;--faint:#93a1b8;--cost:#1e6f9c;--sell:#b5852a;--pos:#1f8a5b;--neg:#c0453a;--accent:#143a6b;--card-shadow:0 1px 2px #1228500a, 0 6px 18px -8px #1228501f}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);letter-spacing:.01em;-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-family:JetBrains Mono,monospace}header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fbfcfed9;align-items:center;gap:32px;height:60px;padding:0 28px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:10px;display:flex}.brand b{letter-spacing:.14em;color:var(--text);font-family:Space Grotesk;font-size:17px;font-weight:700}.brand span{color:var(--faint);letter-spacing:.22em;text-transform:uppercase;font-size:11px}nav{gap:4px;margin-left:auto;display:flex}nav button,nav a{color:var(--muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:7px;padding:8px 16px;font-family:Inter;font-size:13px;font-weight:500;text-decoration:none;transition:all .15s}nav button:hover,nav a:hover{color:var(--text);background:var(--surface)}nav button.on,nav a.on{color:var(--text);background:var(--raised)}nav button.on:before,nav a.on:before{content:"●";color:var(--accent);vertical-align:middle;margin-right:7px;font-size:7px}.signout{border:1px solid var(--line);color:var(--muted);cursor:pointer;letter-spacing:.02em;background:0 0;border-radius:7px;margin-left:12px;padding:7px 13px;font-family:Inter;font-size:12px;font-weight:500;transition:all .15s}.signout:hover{color:var(--text);border-color:var(--faint);background:var(--surface)}.who{color:var(--faint);margin-left:4px;font-family:JetBrains Mono;font-size:11px}main{max-width:1180px;margin:0 auto;padding:30px 28px 80px}.view{animation:.25s fade;display:none}.view.on{display:block}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-size:11px}.vtitle{letter-spacing:.01em;margin-bottom:4px;font-family:Space Grotesk;font-size:22px;font-weight:600}.vsub{color:var(--muted);max-width:640px;margin-bottom:26px;font-size:13px}.grid{grid-template-columns:340px 1fr;align-items:start;gap:24px;display:grid}@media (max-width:860px){.grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;padding:22px}.panel h3{letter-spacing:.04em;color:var(--text);align-items:center;gap:8px;margin-bottom:18px;font-family:Space Grotesk;font-size:13px;font-weight:600;display:flex}.panel h3 i{background:var(--accent);border-radius:2px;width:5px;height:14px;display:inline-block}.field{margin-bottom:15px}.field label{color:var(--muted);letter-spacing:.03em;margin-bottom:5px;font-size:11px;display:block}.field label .hint{color:var(--faint);font-size:10px}.field input{background:var(--bg);border:1px solid var(--line);width:100%;color:var(--text);font-variant-numeric:tabular-nums;border-radius:7px;padding:9px 11px;font-family:JetBrains Mono;font-size:14px;transition:all .15s}.field input:focus{border-color:var(--accent);background:#f2f7ff;outline:none;box-shadow:0 0 0 3px #143a6b1a}.field.dual{grid-template-columns:1fr 1fr;gap:10px;display:grid}.src-tag{color:var(--faint);cursor:pointer;margin-top:4px;font-size:10.5px;font-style:italic;line-height:1.3}.src-tag:hover{color:var(--accent);text-decoration:underline}.src-tag i{font-style:italic}.toggle{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin-bottom:15px;padding:3px;display:flex}.toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px;font-family:Inter;font-size:12px;font-weight:500;transition:all .15s}.toggle button.on{background:var(--raised);color:var(--text)}.toggle button.on.match{color:var(--pos)}.toggle button.on.hedge{color:var(--sell)}.toggle button.on.channel{color:var(--accent)}.book-btn{background:var(--accent);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:8px;width:100%;margin-top:6px;padding:11px;font-family:Inter;font-size:13px;font-weight:600;transition:all .15s}.book-btn:hover{filter:brightness(1.12)}.book-btn:active{transform:translateY(1px)}.book-btn:disabled{opacity:.55;cursor:not-allowed;filter:none}.result-wrap{grid-template-columns:1fr 252px;gap:20px;display:grid}@media (max-width:1040px){.result-wrap{grid-template-columns:1fr}}.headline{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;margin-bottom:20px;padding:22px}.headline .row{justify-content:space-between;align-items:flex-end;display:flex}.headline .lbl{color:var(--muted);letter-spacing:.04em;margin-bottom:4px;font-size:11px}.big{letter-spacing:-.01em;font-family:Space Grotesk;font-size:38px;font-weight:700;line-height:1}.big.pos{color:var(--pos)}.big.neg{color:var(--neg)}.big .cur{color:var(--faint);margin-right:6px;font-size:16px;font-weight:500}.pathtag{letter-spacing:.04em;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500}.pathtag.match{color:var(--pos);background:#1f8a5b1f}.pathtag.hedge{color:var(--sell);background:#b5852a24}.pathtag.channel{color:var(--accent);background:#143a6b1a}.flow{border-top:1px solid var(--line-soft);margin-top:20px;padding-top:16px}.fline{justify-content:space-between;align-items:center;padding:7px 0;font-size:13px;display:flex}.fline .name{color:var(--muted);align-items:center;gap:9px;display:flex}.fline .name .dot{border-radius:2px;flex:none;width:7px;height:7px}.fline .val{font-variant-numeric:tabular-nums;font-family:JetBrains Mono;font-weight:500}.fline.sub .name{color:var(--faint);padding-left:16px;font-size:12px}.fline.total{border-top:1px solid var(--line);margin-top:8px;padding-top:12px}.fline.total .name{color:var(--text);font-weight:600}.fline.total .val{font-size:16px;font-weight:700}.chips{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.chip{background:var(--bg);border:1px solid var(--line-soft);border-radius:9px;padding:13px 14px}.chip .ck{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:10px}.chip .cv{font-variant-numeric:tabular-nums;font-family:JetBrains Mono;font-size:18px;font-weight:600}.chip .cs{color:var(--muted);margin-top:2px;font-size:10px}.ladder{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;padding:18px 14px}.ladder .lt{letter-spacing:.04em;margin-bottom:4px;padding:0 4px;font-family:Space Grotesk;font-size:12px;font-weight:600}.ladder .ld{color:var(--faint);margin-bottom:10px;padding:0 4px;font-size:10.5px;line-height:1.45}.ladder svg{width:100%;display:block}.price-out{margin-top:20px}.price-hero{background:var(--surface);border:1px solid var(--line);text-align:center;box-shadow:var(--card-shadow);border-radius:12px;margin-bottom:18px;padding:24px}.price-hero .lbl{color:var(--muted);letter-spacing:.06em;margin-bottom:8px;font-size:11px}.price-hero .pv{color:var(--sell);font-family:Space Grotesk;font-size:46px;font-weight:700;line-height:1}.price-hero .ps{color:var(--muted);margin-top:10px;font-size:12px}.price-hero .ps b{color:var(--cost);font-family:JetBrains Mono}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}@media (max-width:760px){.kpis{grid-template-columns:1fr 1fr}}.kpis-3{grid-template-columns:repeat(3,1fr)}@media (max-width:760px){.kpis-3{grid-template-columns:1fr 1fr}}.chips-3{grid-template-columns:repeat(3,1fr)}@media (max-width:620px){.chips-3{grid-template-columns:1fr}}.kpi{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;padding:18px}.kpi .kk{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin-bottom:9px;font-size:10.5px}.kpi .kv{font-variant-numeric:tabular-nums;font-family:Space Grotesk;font-size:26px;font-weight:700;line-height:1}.kpi .kv small{color:var(--faint);margin-left:4px;font-size:13px;font-weight:500}.kpi .ks{color:var(--muted);margin-top:7px;font-size:11px}.kpi.accent{border-color:#143a6b6b}.tbl{background:var(--surface);border:1px solid var(--line);box-shadow:var(--card-shadow);border-radius:12px;overflow-x:auto}#board .tbl table{min-width:620px}.tbl table{border-collapse:collapse;width:100%}.tbl th{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;text-align:right;border-bottom:1px solid var(--line);padding:13px 16px;font-size:10.5px;font-weight:500}.tbl th:first-child,.tbl td:first-child{text-align:left}.tbl td{text-align:right;font-variant-numeric:tabular-nums;border-bottom:1px solid var(--line-soft);padding:12px 16px;font-family:JetBrains Mono;font-size:13px}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--raised)}.pill{border-radius:12px;padding:3px 9px;font-family:Inter;font-size:10.5px;font-weight:500}.pill.match{color:var(--pos);background:#1f8a5b1f}.pill.hedge{color:var(--sell);background:#b5852a24}.pill.channel,.pill.cn{color:var(--accent);background:#143a6b1a}.pill.os{color:var(--sell);background:#b5852a24}.pill.mn{background:var(--raised);color:var(--muted)}.empty{text-align:center;color:var(--faint);padding:40px;font-size:13px}.del-btn{color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:2px 7px;font-family:Inter;font-size:13px;line-height:1;transition:all .12s}.del-btn:hover{color:var(--neg);background:#c0453a1a}.del-btn:disabled{opacity:.5;cursor:default}.rmt-detail{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.rmt-grp-t{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:7px;font-size:11px;font-weight:600}.rmt-row{border-bottom:1px dashed var(--line-soft);justify-content:space-between;gap:10px;padding:3px 0;font-size:13px;display:flex}.rmt-row:last-child{border-bottom:none}.rmt-k{color:var(--faint);white-space:nowrap}.rmt-v{color:var(--text);text-align:right;word-break:break-word}.rmt-v.mono{font-family:JetBrains Mono,monospace}.dropdoc{margin:10px 0 14px}.dropzone{border:1.5px dashed var(--line);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:14px 16px;transition:all .12s;display:flex}.dropzone:hover{border-color:var(--accent);background:#1e6f9c0d}.dropzone.over{border-color:var(--accent);background:#1e6f9c1a}.dropzone.busy{cursor:default;opacity:.7}.dz-icon{font-size:18px;line-height:1}.dz-text{color:var(--faint);font-size:12.5px}.dz-model{align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.dz-model label{color:var(--faint)}.dz-model select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:4px 8px;font-size:12px}.note{color:var(--faint);background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;margin-top:18px;padding:14px 16px;font-size:11px;line-height:1.6}.note b{color:var(--muted);font-weight:600}.toast{background:var(--accent);color:#fff;opacity:0;pointer-events:none;z-index:50;border-radius:10px;padding:11px 22px;font-size:13px;font-weight:500;transition:all .25s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast.err{background:var(--neg)}.login-wrap{background:radial-gradient(900px 520px at 50% -10%, #143a6b1a, transparent 62%), radial-gradient(760px 520px at 50% 118%, #1e6f9c14, transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{border:1px solid var(--line);background:linear-gradient(#fff 0%,#f6fafe 100%);border-radius:16px;width:100%;max-width:372px;padding:40px 34px 30px;animation:.4s cubic-bezier(.2,.7,.2,1) loginIn;position:relative;overflow:hidden;box-shadow:0 28px 64px -30px #12285047,0 2px 6px #1228500d}@keyframes loginIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.login-card:before{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.75;height:1px;position:absolute;top:0;left:0;right:0}.login-card .brand{justify-content:center;margin-bottom:8px}.login-card .brand b{letter-spacing:.16em;font-size:19px}.login-card .logo-img{object-fit:contain;height:32px}.login-card .eyebrow{text-align:center;margin-bottom:28px}.login-card .field{margin-bottom:15px}.login-card .field label{letter-spacing:.04em;color:var(--muted);font-size:11px}.login-card .field input{border-radius:9px;padding:11px 13px;font-family:Inter}.login-card .book-btn{border-radius:9px;margin-top:18px;padding:12px;box-shadow:0 10px 26px -12px #143a6b73}.login-err{color:var(--neg);text-align:center;min-height:16px;margin-top:12px;font-family:JetBrains Mono;font-size:12px}@media (max-width:680px){header{flex-wrap:wrap;gap:10px;height:auto;min-height:56px;padding:8px 14px}.brand b{letter-spacing:.1em;font-size:15px}.brand span,.who{display:none}nav{order:3;gap:2px;width:100%;margin-left:0;overflow-x:auto}nav button,nav a{white-space:nowrap;padding:7px 11px;font-size:12px}.signout{margin-left:auto}main{padding:22px 14px 60px}.vtitle{font-size:20px}.big{font-size:32px}.price-hero .pv{font-size:38px}}.login-foot{border-top:1px solid var(--line-soft);text-align:center;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:22px;padding-top:16px;font-size:10px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);cursor:pointer;flex:none;width:15px;height:15px}.tickrow{cursor:pointer;color:var(--text);border-radius:7px;align-items:center;gap:10px;padding:7px 9px;font-size:13px;transition:background .12s;display:flex}.tickrow:hover{background:var(--bg)}.tickrow.done{background:var(--raised)}.tickrow.done span{color:var(--muted)}.tickgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tickchip{border:1px solid var(--line);cursor:pointer;background:var(--bg);border-radius:8px;align-items:center;gap:9px;padding:9px 11px;font-size:13px;transition:border-color .12s,background .12s;display:flex}.tickchip:hover{border-color:var(--faint)}.tickchip.on{border-color:var(--accent);background:var(--raised)}.psec{letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:16px 0 8px;font-size:11px;font-weight:600}
