@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-page: #F6F6F3;--bg-surface: #FFFFFF;--bg-sunk: #EFEFEB;--bg-hover: #F5F7FA;--bg-feature: #0C0D10;--on-feature: #F6F6F3;--on-feature-muted: #A3A6AE;--text-strong: #0C0D10;--text-body: #2A2C31;--text-muted: #62656D;--line-grid: #E6E6E2;--rule: #DEDED9;--rule-strong: #8A8D95;--accent: #2B55FF;--accent-tint: #E8EDFF;--on-accent: #FFFFFF;--focus: var(--accent);--buy: #0A7A4B;--sell: #C4321C;--buy-tint: #E2F4EA;--sell-tint: #FCE8E3;--note: #8A5300;--note-tint: #FFF1D2;--tag-blue: #D3EDFC;--tag-blue-ink: #0B4A6B;--tag-green: #D6F3CC;--tag-green-ink: #24521A;--tag-yellow: #FDEBB8;--tag-yellow-ink: #6A4B00;--tag-pink: #FDDDE6;--tag-pink-ink: #7C1D38;--tag-violet: #ECE3FD;--tag-violet-ink: #4A2B86;--tag-gray: #ECECE8;--shade: rgba(12, 13, 16, .08);--scrim: rgba(12, 13, 16, .32);--font-sans: "Geist Variable", Geist, "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono Variable", "Geist Mono", "JetBrains Mono", ui-monospace, Consolas, monospace;--font-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 80px;--radius-xs: 3px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 20px;--radius-full: 9999px;--nav-height: 64px;--toolbar-height: 44px;--head-height: 34px;--row-short: 32px;--row-medium: 44px;--row-tall: 64px;--col-rownum: 56px;--col-primary: 260px;--shadow-frozen: 6px 0 8px -6px rgba(12, 13, 16, .16);--shadow-pop: 0 0 0 1px rgba(12, 13, 16, .06), 0 12px 32px -8px rgba(12, 13, 16, .18);--shadow-panel: -24px 0 64px -24px rgba(12, 13, 16, .28);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-back: cubic-bezier(.34, 1.4, .64, 1);--dur-instant: 90ms;--dur-fast: .14s;--dur-base: .22s;--dur-slow: .36s;--dur-reveal: .76s;--stagger: 45ms;--ink: var(--text-strong);--muted: var(--text-muted);--hairline: var(--rule);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-page);color:var(--text-body);font:400 14px/20px var(--font-sans);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3{color:var(--text-strong);margin:0;font-weight:500}a{color:var(--text-strong);text-decoration:none}button{font:inherit;letter-spacing:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-tint)}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}.label{font:500 11px/14px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.label b{color:var(--text-strong);font-weight:500}.micro{font:500 10px/12px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.micro b{color:var(--text-strong);font-weight:500}.icon{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.display-md{font:500 44px/48px var(--font-sans);letter-spacing:-.035em}.title-lg{font:500 28px/34px var(--font-sans);letter-spacing:-.025em}.title-sm{font:500 18px/26px var(--font-sans);letter-spacing:-.015em;color:var(--text-strong)}.label-md{font:500 15px/22px var(--font-sans);letter-spacing:-.01em;color:var(--text-strong)}.caption{font:400 12px/18px var(--font-sans);color:var(--text-muted)}.muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:44px;padding:0 20px;border-radius:var(--radius-full);border:1px solid transparent;font:500 14px/20px var(--font-sans);letter-spacing:-.006em;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97);transition-duration:var(--dur-instant)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--text-strong);color:var(--bg-page)}.btn-primary:hover:not(:disabled){background:#24262c}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover:not(:disabled){background:#1f45e6}.btn-secondary{background:transparent;color:var(--text-strong);border-color:var(--rule-strong)}.btn-secondary:hover:not(:disabled){border-color:var(--text-strong)}.btn-sm{height:32px;padding:0 14px;font-size:13px}.btn-block{width:100%;height:48px}.btn-icon{width:32px;height:32px;border-radius:var(--radius-full);border:0;background:transparent;color:var(--text-muted);display:inline-grid;place-items:center;cursor:pointer;padding:0;transition:background-color var(--dur-fast),color var(--dur-fast),transform var(--dur-base) var(--ease-out)}.btn-icon:hover{background:var(--bg-sunk);color:var(--text-strong)}.btn-icon:active,.view:active{scale:.94;transition:scale var(--dur-instant) var(--ease-out)}.btn-close:hover{transform:rotate(90deg)}.btn-danger{background:var(--sell);color:#fff}.btn-danger-outline{background:transparent;color:var(--sell);border-color:var(--sell)}.link{position:relative;color:var(--text-strong);background:none;border:0;padding:0;cursor:pointer;font:500 14px/20px var(--font-sans)}.link:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--dur-slow) var(--ease-out)}.link:hover:after,.link.active:after{transform:scaleX(1);transform-origin:left}.field{display:flex;flex-direction:column;gap:6px}.field label,.field>.field-label{font:500 13px/18px var(--font-sans);color:var(--text-strong)}.input,.select{height:40px;border:1px solid var(--rule-strong);border-radius:var(--radius-sm);padding:0 12px;background:var(--bg-surface);color:var(--text-strong);font:400 14px/20px var(--font-sans);width:100%;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input::placeholder{color:var(--text-muted)}.input:hover,.select:hover{border-color:var(--text-muted)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%230C0D10' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.hint{color:var(--text-muted);font-size:12px;line-height:18px}.error-box{border:1px solid var(--sell);background:var(--sell-tint);color:var(--sell);border-radius:var(--radius-sm);padding:10px 12px;font-weight:500;animation:rise var(--dur-base) var(--ease-out)}.ok-box{border:1px solid var(--buy);background:var(--buy-tint);color:var(--text-strong);border-radius:var(--radius-sm);padding:10px 12px;animation:rise var(--dur-base) var(--ease-out)}@keyframes rise{0%{opacity:0;transform:translateY(-4px)}}.topnav{height:var(--nav-height);border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--bg-page) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;color:var(--text-strong);font:600 18px/20px var(--font-sans);letter-spacing:-.04em;white-space:nowrap}.brand-mark{width:26px;height:26px;border-radius:7px;background:var(--text-strong);display:grid;place-items:center}.nav-links{display:flex;align-items:center;gap:var(--space-5)}.nav-links a{color:var(--text-strong);white-space:nowrap;font-weight:500}.nav-user{color:var(--text-muted);font:500 11px/14px var(--font-mono);letter-spacing:.04em}.page{max-width:1600px;margin:0 auto;padding:var(--space-7) var(--space-6) var(--space-8)}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap}.page-head h1{margin-top:var(--space-3)}.page-head .sub{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:15px;line-height:22px;max-width:60ch}.month-picker{min-width:240px}.kpis{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--bg-surface)}.kpi{padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.kpi+.kpi{border-left:1px solid var(--rule)}.kpi .v{font:400 28px/32px var(--font-mono);letter-spacing:-.04em;color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi .v small{font:400 13px/16px var(--font-sans);letter-spacing:0;color:var(--text-muted)}.kpi .v.sm{font-size:18px;line-height:32px;letter-spacing:-.02em}.summary-card{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-4) var(--space-5)}.summary-card .k{font:500 11px/14px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.summary-card .v{margin-top:var(--space-2);font:400 24px/28px var(--font-mono);letter-spacing:-.04em;color:var(--text-strong)}.summary-card .v small{font:400 13px var(--font-sans);color:var(--text-muted);letter-spacing:0}.views-row{margin-top:var(--space-6);display:flex;align-items:center;gap:var(--space-4)}.views{position:relative;display:flex;gap:2px;padding:3px;background:var(--bg-sunk);border-radius:var(--radius-sm);max-width:100%;overflow-x:auto;scrollbar-width:none}.view{position:relative;z-index:1;border:0;background:none;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:4px;font:500 13px/18px var(--font-sans);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out)}.view:hover,.view[aria-selected=true]{color:var(--text-strong)}.view .count{font:500 11px/14px var(--font-mono);letter-spacing:-.02em;color:var(--text-muted);background:none;padding:0}.views-ink{position:absolute;z-index:0;top:3px;left:0;height:30px;border-radius:4px;background:var(--bg-surface);box-shadow:0 1px 2px var(--shade),0 0 0 1px var(--rule);transition:transform var(--dur-slow) var(--ease-out),width var(--dur-slow) var(--ease-out)}.view-desc{margin:var(--space-3) 0 0;font-size:13px;line-height:20px;color:var(--text-muted);max-width:80ch}.tabs{margin-top:var(--space-6);border-bottom:1px solid var(--rule);display:flex;gap:var(--space-5);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tab{border:0;background:none;padding:10px 0 12px;cursor:pointer;color:var(--text-muted);font:500 14px/20px var(--font-sans);display:inline-flex;gap:8px;align-items:center;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast)}.tab:hover{color:var(--text-strong)}.tab[aria-selected=true]{color:var(--text-strong);border-bottom-color:var(--text-strong)}.count{font:500 11px/14px var(--font-mono);background:var(--tag-gray);color:var(--text-body);border-radius:var(--radius-full);padding:2px 7px}.tab[aria-selected=true] .count{background:var(--text-strong);color:var(--bg-page)}.tab-desc{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:13px}.toolbar{display:flex;gap:var(--space-3);align-items:center;margin-top:var(--space-4);flex-wrap:wrap}.toolbar .spacer{flex:1}.search{position:relative;flex:1 1 320px;max-width:480px}.search .input{padding-left:36px}.search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.result-count{color:var(--text-muted)}.badge-dot{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-full);font:500 11px/14px var(--font-mono);padding:1px 6px}.grid>:first-child{border-top-left-radius:calc(var(--radius-md) - 1px);border-top-right-radius:calc(var(--radius-md) - 1px)}.grid>:last-child{border-bottom-left-radius:calc(var(--radius-md) - 1px);border-bottom-right-radius:calc(var(--radius-md) - 1px)}.grid>.gscroll:first-child,.grid>.gscroll:last-child{overflow:auto}.grid{margin-top:var(--space-5);background:var(--bg-surface);border:1px solid var(--rule);border-radius:var(--radius-md);display:flex;flex-direction:column;font:400 13px/20px var(--font-sans);color:var(--text-body)}.gbar{position:relative;display:flex;align-items:center;gap:2px;min-height:var(--toolbar-height);padding:0 var(--space-2);border-bottom:1px solid var(--rule);flex-wrap:wrap}.gbar .sep{width:1px;height:18px;background:var(--rule);margin:0 6px}.gbar .grow{flex:1}.tb{position:relative;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:0;border-radius:var(--radius-sm);background:transparent;font:400 13px/18px var(--font-sans);color:var(--text-body);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast),transform var(--dur-fast) var(--ease-out)}.tb:hover{background:var(--bg-sunk);color:var(--text-strong)}.tb:active{transform:scale(.97)}.tb.on{background:var(--accent-tint);color:var(--accent)}.tb.on:hover{background:#dce4ff}.tb-view{font-weight:600;color:var(--text-strong);cursor:default}.tb-view:hover{background:transparent}.tb .x{margin-left:2px;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:4px}.tb .x:hover{background:#2b55ff24}.gsearch{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid transparent;transition:border-color var(--dur-fast),box-shadow var(--dur-fast),background-color var(--dur-fast)}.gsearch:hover{background:var(--bg-sunk)}.gsearch:focus-within{background:var(--bg-surface);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.gsearch input{width:200px;border:0;outline:0;background:transparent;font:400 13px/18px var(--font-sans);color:var(--text-strong);transition:width var(--dur-slow) var(--ease-out)}.gsearch input:focus{width:260px}.gsearch input::placeholder{color:var(--text-muted)}.kbd{font:500 10px/14px var(--font-mono);color:var(--text-muted);border:1px solid var(--rule);border-bottom-width:2px;border-radius:var(--radius-xs);padding:0 5px}.menu{position:absolute;z-index:30;top:calc(100% + 6px);min-width:240px;max-height:360px;overflow:auto;padding:6px;background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);transform-origin:top left;animation:pop .16s var(--ease-out)}@keyframes pop{0%{opacity:0;transform:scale(.96) translateY(-4px)}}.menu label{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;color:var(--text-body)}.menu label:hover{background:var(--bg-hover)}.menu .menu-head{display:flex;justify-content:space-between;align-items:center;padding:6px 8px 8px}.filters-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--rule);background:var(--bg-page);animation:slide-down var(--dur-slow) var(--ease-out)}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}}.filters-panel .input,.filters-panel .select{height:34px;font-size:13px}.range{display:flex;gap:6px}.gscroll{position:relative;overflow:auto;max-height:calc(100vh - 300px);min-height:240px}.gt{border-collapse:separate;border-spacing:0;min-width:100%;font-variant-numeric:tabular-nums}.gt th,.gt td{border-right:1px solid var(--line-grid);border-bottom:1px solid var(--line-grid);padding:0 var(--space-2);white-space:nowrap;text-align:left}.gt th{position:sticky;top:0;z-index:3;height:var(--head-height);background:var(--bg-sunk);font:500 12px/16px var(--font-sans);color:var(--text-muted);-webkit-user-select:none;user-select:none;transition:background-color var(--dur-fast),color var(--dur-fast)}.gt th.hot,.gt th:hover{color:var(--text-strong)}.gt th.sortable{cursor:pointer}.gt th.sortable:hover{background:var(--line-grid)}.gt th .h{display:flex;align-items:center;gap:6px}.gt th .h .icon{width:12px;height:12px;opacity:.8}.gt th.r .h{justify-content:flex-end}.gt th .sort{display:inline-flex;align-items:center;gap:2px;font:500 11px/1 var(--font-mono);color:var(--accent)}.gt th .sort i{font-style:normal;display:inline-block;transition:transform var(--dur-base) var(--ease-back)}.gt th[aria-sort=ascending] .sort i{transform:rotate(180deg)}.gt td{height:var(--row-medium);background:var(--bg-surface);transition:background-color var(--dur-fast) var(--ease-out)}.gt.short td{height:var(--row-short)}.gt.tall td{height:var(--row-tall)}.gt td.r{text-align:right;font:400 13px/20px var(--font-mono);letter-spacing:-.02em;color:var(--text-strong)}.gt td.r.dim{color:var(--text-muted)}.gt tbody tr:hover td{background:var(--bg-hover)}.gt tbody tr.sel td{background:var(--accent-tint)}.gt .rn{position:sticky;left:0;z-index:2;width:var(--col-rownum);min-width:var(--col-rownum);text-align:center;font:400 11px/14px var(--font-mono);color:var(--text-muted)}.gt th.rn{z-index:4}.gt .pf{position:sticky;left:var(--col-rownum);z-index:2;width:var(--col-primary);min-width:var(--col-primary);max-width:var(--col-primary);transition:box-shadow var(--dur-base)}.gt th.pf{z-index:4}.gscroll.scrolled .pf{box-shadow:var(--shadow-frozen)}.gt td.pf{font-weight:500;color:var(--text-strong)}.gt td.pf .in{display:flex;align-items:center;gap:var(--space-2)}.gt td.pf .nm{overflow:hidden;text-overflow:ellipsis;cursor:pointer}.gt td.pf .nm:hover{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}.gt td.pf .xp{margin-left:auto;flex:none;display:grid;place-items:center;width:22px;height:22px;border:0;padding:0;border-radius:var(--radius-full);color:var(--accent);background:var(--accent-tint);cursor:pointer;opacity:0;transform:scale(.7);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-back)}.gt td.pf .xp .icon{width:12px;height:12px}.gt tr:hover td.pf .xp,.gt td.pf .xp:focus-visible,.gt td.pf.act .xp{opacity:1;transform:none}.gt .rn .ck{display:none;width:14px;height:14px;margin:auto;border:1px solid var(--rule-strong);border-radius:var(--radius-xs);background:var(--bg-surface);cursor:pointer;padding:0;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast),transform var(--dur-instant) var(--ease-out)}.gt .rn .ck:active{transform:scale(.85)}.gt tr:hover .rn .ix,.gt tr.sel .rn .ix{display:none}.gt tr:hover .rn .ck,.gt tr.sel .rn .ck{display:block}.gt tr.sel .rn .ck{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent-tint)}.gt td.act{box-shadow:inset 0 0 0 2px var(--accent);border-radius:var(--radius-xs);animation:cell-in var(--dur-base) var(--ease-back)}.gt td:focus{outline:none}@keyframes cell-in{0%{box-shadow:inset 0 0 0 6px var(--accent-tint)}}.gfoot{display:flex;align-items:center;gap:var(--space-5);min-height:32px;padding:0 var(--space-3);border-top:1px solid var(--rule);background:var(--bg-surface);flex-wrap:wrap}.gfoot .grow{flex:1}.grid-caption{margin:var(--space-3) 0 0;font-size:12px;line-height:18px;color:var(--text-muted)}.empty{padding:var(--space-7);text-align:center;color:var(--text-muted);animation:fade-in var(--dur-base) var(--ease-out)}.skeleton-slot{min-height:420px;margin-top:var(--space-5)}.pill{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 8px;border-radius:var(--radius-full);font:500 12px/18px var(--font-sans);letter-spacing:-.003em;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.pill-blue{background:var(--tag-blue);color:var(--tag-blue-ink)}.pill-green{background:var(--tag-green);color:var(--tag-green-ink)}.pill-yellow{background:var(--tag-yellow);color:var(--tag-yellow-ink)}.pill-pink{background:var(--tag-pink);color:var(--tag-pink-ink)}.pill-violet{background:var(--tag-violet);color:var(--tag-violet-ink)}.pill-gray{background:var(--tag-gray);color:var(--text-body)}.pill-buy{background:var(--buy-tint);color:var(--buy)}.pill-sell{background:var(--sell-tint);color:var(--sell)}.pill-note{background:var(--note-tint);color:var(--note)}.split{display:flex;align-items:center;gap:var(--space-2);font:400 12px/16px var(--font-mono);letter-spacing:-.02em}.split .bar{display:flex;gap:2px;width:88px;height:6px}.split .bar i{display:block;height:100%;border-radius:2px}.split .bar i.sb{background:var(--buy);transform-origin:right}.split .bar i.ss{background:var(--sell);transform-origin:left}.split .bar i.none{background:var(--bg-sunk);flex:1}.split .b{color:var(--buy);min-width:2ch;text-align:right}.split .s{color:var(--sell);min-width:2ch}.pos{color:var(--buy)!important}.neg{color:var(--sell)!important}.skel{display:block;height:10px;border-radius:3px;background:linear-gradient(90deg,var(--bg-sunk) 0%,var(--bg-hover) 40%,var(--bg-sunk) 80%) 0 0 / 300% 100%;animation:shimmer 1.4s linear infinite}.skel.pill-skel{height:16px;border-radius:99px}@keyframes shimmer{to{background-position:-300% 0}}.fade-in{animation:fade-in var(--dur-base) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg-feature);color:var(--on-feature);display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-7);clip-path:inset(0 0 0 0);animation:fade-in var(--dur-base) var(--ease-out)}.loader .label,.loader .micro{color:var(--on-feature-muted)}.loader-row{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-5)}.loader-word{font:500 clamp(56px,8vw,112px)/.92 var(--font-sans);letter-spacing:-.055em}.loader-word .serif{letter-spacing:-.02em}.loader-pct{font:400 clamp(40px,5vw,64px)/1 var(--font-mono);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.loader-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--on-feature);transform:scaleX(var(--p, 0));transform-origin:left;transition:transform var(--dur-slow) var(--ease-out)}.loader-status{height:12px;overflow:hidden}.loader-status span{display:block;animation:status-in var(--dur-slow) var(--ease-out)}@keyframes status-in{0%{transform:translateY(100%);opacity:0}}.loader.done{animation:curtain .8s var(--ease-in-out) forwards}@keyframes curtain{to{clip-path:inset(0 0 100% 0)}}.toasts{position:fixed;right:var(--space-5);bottom:var(--space-5);z-index:70;display:flex;flex-direction:column;gap:var(--space-2);align-items:flex-end}.toast{display:inline-flex;align-items:center;gap:var(--space-3);padding:10px 14px 10px 12px;border-radius:var(--radius-md);background:var(--bg-feature);color:var(--on-feature);font:500 13px/18px var(--font-sans);box-shadow:var(--shadow-pop);animation:toast-in var(--dur-slow) var(--ease-back)}.toast.out{animation:toast-out var(--dur-base) var(--ease-in-out) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.96)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.98)}}.check path{stroke-dasharray:20;stroke-dashoffset:20;animation:draw .42s var(--ease-out) .12s forwards}@keyframes draw{to{stroke-dashoffset:0}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:40;animation:fade-in var(--dur-base) var(--ease-out)}.record{position:fixed;top:0;right:0;bottom:0;z-index:41;width:min(820px,100vw);overflow-y:auto;background:var(--bg-surface);box-shadow:var(--shadow-panel);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);animation:panel-in var(--dur-slow) var(--ease-out)}@keyframes panel-in{0%{opacity:0;transform:translate(32px)}}.closing .overlay{animation:fade-out var(--dur-base) var(--ease-in-out) forwards}.closing .record{animation:panel-out var(--dur-base) var(--ease-in-out) forwards}@keyframes fade-out{to{opacity:0}}@keyframes panel-out{to{opacity:0;transform:translate(24px)}}.record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5)}.record-head h2{margin-top:var(--space-3);font:500 28px/34px var(--font-sans);letter-spacing:-.025em}.record-meta{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.record .kpis{margin-top:0}.record .kpi:nth-child(n){animation:rise-up var(--dur-slow) var(--ease-out) both}.record .kpi:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.record .kpi:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.record .kpi:nth-child(4){animation-delay:calc(var(--stagger) * 3)}@keyframes rise-up{0%{opacity:0;transform:translateY(8px)}}.record-group{display:flex;flex-direction:column;gap:var(--space-3);animation:rise-up var(--dur-slow) var(--ease-out) both;animation-delay:.14s}.record-group h3{display:flex;align-items:center;gap:var(--space-2);font:500 15px/22px var(--font-sans);letter-spacing:-.01em}.record .grid{margin-top:0}.record .gscroll{max-height:none;min-height:0}.record .gt td.pf{position:static;max-width:320px;width:auto}.record .gt th.pf{position:sticky;left:auto}.record .gt td.pf .amc{display:block;font:400 11px/14px var(--font-sans);color:var(--text-muted)}.multi{position:relative}.multi-btn{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:320px;max-height:360px;overflow:auto;background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:6px;transform-origin:top left;animation:pop .16s var(--ease-out)}.multi-pop label{display:flex;gap:8px;align-items:center;padding:6px 8px;cursor:pointer;border-radius:var(--radius-sm);font-size:13px}.multi-pop label:hover{background:var(--bg-hover)}.multi-pop .input{height:34px;margin-bottom:6px}.multi-pop .btn{margin:0 0 6px}.table-wrap{margin-top:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-md);overflow:auto;max-height:calc(100vh - 240px);background:var(--bg-surface)}table.data{border-collapse:separate;border-spacing:0;width:100%;font:400 13px/20px var(--font-sans);font-variant-numeric:tabular-nums}table.data th,table.data td{height:40px;padding:0 var(--space-3);border-bottom:1px solid var(--line-grid);border-right:1px solid var(--line-grid);text-align:right;white-space:nowrap}table.data th{position:sticky;top:0;z-index:2;height:var(--head-height);background:var(--bg-sunk);color:var(--text-muted);font:500 12px/16px var(--font-sans)}table.data th button{all:unset;cursor:pointer;display:inline-flex;gap:4px;align-items:center}table.data .left{text-align:left}table.data tbody tr{transition:background-color var(--dur-fast)}table.data tbody tr:hover td{background:var(--bg-hover)}.note{display:inline-block;border-radius:var(--radius-full);padding:0 8px;font:500 12px/20px var(--font-sans);background:var(--note-tint);color:var(--note)}.action{border-radius:var(--radius-full);padding:0 8px;font:500 12px/20px var(--font-sans)}.action-new,.action-increased{background:var(--buy-tint);color:var(--buy)}.action-exit,.action-decreased{background:var(--sell-tint);color:var(--sell)}.action-unchanged{background:var(--tag-gray);color:var(--text-muted)}.drawer-head{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start}.auth{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-form{display:flex;flex-direction:column;justify-content:center;padding:var(--space-7);max-width:520px;width:100%;margin:0 auto}.auth-form form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.auth-form .switch{margin-top:var(--space-5);color:var(--text-muted)}.auth-form .switch a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule-strong)}.auth-side{padding:var(--space-4)}.auth-card{height:100%;background:var(--bg-feature);color:var(--on-feature);border-radius:var(--radius-lg);padding:var(--space-7);display:flex;flex-direction:column;justify-content:space-between}.auth-card h2{color:var(--on-feature);font:500 56px/56px var(--font-sans);letter-spacing:-.05em;max-width:12em}.auth-card p{color:var(--on-feature-muted);font-size:17px;line-height:27px;max-width:44ch}.auth-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.auth-fact{border-top:1px solid var(--on-feature-muted);padding-top:var(--space-3);color:var(--on-feature-muted);font-size:13px;line-height:18px}.auth-fact b{display:block;color:var(--on-feature);font:400 40px/44px var(--font-mono);letter-spacing:-.05em;margin-bottom:var(--space-2)}.badge{display:inline-block;border-radius:var(--radius-full);padding:0 8px;font:500 12px/20px var(--font-sans);background:var(--tag-gray);color:var(--text-body)}.badge-dark{background:var(--text-strong);color:var(--bg-page)}.badge-green{background:var(--buy-tint);color:var(--buy)}.badge-red{background:var(--sell-tint);color:var(--sell)}.modal{position:fixed;z-index:41;top:50%;left:50%;transform:translate(-50%,-50%);width:min(600px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-pop);animation:modal-in var(--dur-slow) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.985)}}.action-list{list-style:none;margin:var(--space-5) 0 0;padding:0;border-top:1px solid var(--rule)}.action-list li{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-bottom:1px solid var(--rule)}.action-list .hint{margin-top:2px}.confirm{margin-top:var(--space-5);background:var(--bg-page);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-4);animation:rise var(--dur-base) var(--ease-out)}.copy-field{display:flex;gap:var(--space-2)}.copy-field .input{font-family:var(--font-mono);font-size:12px}.invite-form{margin-top:var(--space-5);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-5);background:var(--bg-surface)}.status-grid td.ok{color:var(--buy)}.status-grid td.miss{color:var(--rule-strong)}.log{background:var(--bg-feature);color:var(--on-feature-muted);border-radius:var(--radius-md);padding:var(--space-4);font:12px/1.6 var(--font-mono);max-height:320px;overflow:auto;white-space:pre-wrap}.callout{background:var(--bg-surface);border:1px solid var(--rule);border-radius:var(--radius-md);padding:var(--space-5);margin-top:var(--space-5);color:var(--text-strong)}.center{min-height:60vh;display:grid;place-items:center;color:var(--text-muted)}@media(max-width:900px){.auth{grid-template-columns:1fr}.auth-side{display:none}.kpis,.summary-card{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(3){border-left:0}.kpi:nth-child(n+3){border-top:1px solid var(--rule)}.display-md{font-size:36px;line-height:40px}}@media(max-width:640px){:root{--col-primary: 180px;--col-rownum: 44px}.page{padding:var(--space-5) var(--space-4) var(--space-7)}.topnav{padding:0 var(--space-4)}.nav-user{display:none}.nav-links{gap:var(--space-3)}.nav-links a{font-size:13px}.brand{font-size:0;gap:0}.kpi .v.sm{font-size:14px}.display-md{font-size:30px;line-height:34px}.auth-form{padding:var(--space-5) var(--space-4)}.month-picker{min-width:0;width:100%}.gsearch input,.gsearch input:focus{width:140px}.gt td{height:var(--row-medium)!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important;animation-delay:0ms!important}}
