*{box-sizing:border-box}:root{--chart-text-primary:#0f172a;--chart-text-secondary:#334155}:root[data-theme=dark]{--chart-text-primary:#f5f5f5;--chart-text-secondary:#d9d9d9}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ant-app{background:var(--ant-color-bg-layout);color:var(--ant-color-text)}.ant-app,.page{min-height:100vh}.page{padding:28px 20px 48px}.container{max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}h1,h2,h3,h4,p{margin:0}h1{font-size:32px}.subtle{color:var(--ant-color-text-secondary)}.small{font-size:12px}.back-link{display:inline-block;margin-bottom:10px;color:var(--ant-color-link);text-decoration:none;font-weight:600}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:12px;gap:12px}.card{background:var(--ant-color-bg-container);border:1px solid var(--ant-color-border);border-radius:14px;padding:14px;box-shadow:0 8px 24px rgba(15,23,42,.06)}.big-value{margin-top:8px;font-size:24px;font-weight:700}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:12px;gap:12px}.chart-card{min-height:400px}.chart-wrap{height:300px;margin-top:6px}.chart-layout{margin-top:8px;display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,220px);grid-gap:10px;gap:10px;align-items:center}.pie-legend-list{max-height:260px;overflow:auto}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.diverging-bars-list{margin-top:8px;display:flex;flex-direction:column;gap:12px}.diverging-bars-item{border:1px solid var(--ant-color-border-secondary);border-radius:10px;padding:10px;background:var(--ant-color-fill-quaternary)}.diverging-bars-item.clickable{cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.diverging-bars-item.clickable:hover{border-color:var(--ant-color-primary);background:var(--ant-color-fill-tertiary)}.diverging-bars-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.diverging-bars-label-wrap{display:flex;align-items:center;gap:8px;min-width:0}.diverging-bars-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diverging-bars-values{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.diverging-bars-amount{color:var(--ant-color-text-secondary);font-size:12px}.diverging-bars-percent{font-weight:600}.diverging-bars-percent.negative{color:var(--ant-color-error)}.diverging-bars-percent.positive{color:var(--ant-color-success)}.diverging-bars-track{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;align-items:center}.diverging-bars-half{height:14px;border-radius:999px;background:var(--ant-color-fill-tertiary);display:flex;align-items:center}.diverging-bars-half.left{justify-content:flex-end}.diverging-bars-half.right{justify-content:flex-start}.diverging-bars-bar{height:10px;border-radius:999px}.diverging-bars-zero{position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;transform:translateX(-50%);background:var(--ant-color-border)}@media (max-width:1024px){.chart-layout{grid-template-columns:1fr}.pie-legend-list{max-height:none}.diverging-bars-top{align-items:flex-start;flex-direction:column}.diverging-bars-values{justify-content:flex-start}}.chart-header{justify-content:space-between;align-items:center}.actions-row,.chart-header{display:flex;gap:8px;flex-wrap:wrap}.date-picker{display:flex;flex-direction:column;gap:6px;min-width:220px}.portfolio-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:10px;gap:10px}.portfolio-card-wrapper{display:flex;flex-direction:column;gap:8px}.portfolio-pnl-link{display:inline-block;padding:6px 12px;font-size:13px;color:var(--ant-color-primary);background:var(--ant-color-primary-bg);border-radius:8px;text-decoration:none;font-weight:500;text-align:center;transition:background .15s ease,color .15s ease}.portfolio-pnl-link:hover{background:var(--ant-color-primary);color:var(--ant-color-primary-text)}.portfolio-card{display:block;border:1px solid var(--ant-color-border-secondary);background:var(--ant-color-fill-tertiary);border-radius:12px;padding:12px;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.portfolio-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,99,235,.15)}.portfolio-card.aggregate-portfolio-card{cursor:default}.portfolio-card.aggregate-portfolio-card:hover{transform:none;box-shadow:none}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.portfolio-line{margin-bottom:4px;color:var(--ant-color-text-secondary)}.table-wrap{margin-top:10px;overflow:auto;border:1px solid var(--ant-color-border);border-radius:10px}.table-wrap table{width:100%;border-collapse:collapse;min-width:880px}.table-wrap td,.table-wrap th{font-size:13px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--ant-color-border);white-space:nowrap}.table-wrap tbody tr:hover td{background:var(--ant-color-fill-secondary)}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--ant-color-fill-secondary)!important}.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:first-child:hover) :is(.ant-table-thead>tr>th:first-child,.ant-table-tbody>tr>td:first-child),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(10):hover) :is(.ant-table-thead>tr>th:nth-child(10),.ant-table-tbody>tr>td:nth-child(10)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(11):hover) :is(.ant-table-thead>tr>th:nth-child(11),.ant-table-tbody>tr>td:nth-child(11)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(12):hover) :is(.ant-table-thead>tr>th:nth-child(12),.ant-table-tbody>tr>td:nth-child(12)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(13):hover) :is(.ant-table-thead>tr>th:nth-child(13),.ant-table-tbody>tr>td:nth-child(13)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(14):hover) :is(.ant-table-thead>tr>th:nth-child(14),.ant-table-tbody>tr>td:nth-child(14)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(15):hover) :is(.ant-table-thead>tr>th:nth-child(15),.ant-table-tbody>tr>td:nth-child(15)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(16):hover) :is(.ant-table-thead>tr>th:nth-child(16),.ant-table-tbody>tr>td:nth-child(16)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(17):hover) :is(.ant-table-thead>tr>th:nth-child(17),.ant-table-tbody>tr>td:nth-child(17)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(18):hover) :is(.ant-table-thead>tr>th:nth-child(18),.ant-table-tbody>tr>td:nth-child(18)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(19):hover) :is(.ant-table-thead>tr>th:nth-child(19),.ant-table-tbody>tr>td:nth-child(19)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(2):hover) :is(.ant-table-thead>tr>th:nth-child(2),.ant-table-tbody>tr>td:nth-child(2)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(20):hover) :is(.ant-table-thead>tr>th:nth-child(20),.ant-table-tbody>tr>td:nth-child(20)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(21):hover) :is(.ant-table-thead>tr>th:nth-child(21),.ant-table-tbody>tr>td:nth-child(21)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(22):hover) :is(.ant-table-thead>tr>th:nth-child(22),.ant-table-tbody>tr>td:nth-child(22)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(23):hover) :is(.ant-table-thead>tr>th:nth-child(23),.ant-table-tbody>tr>td:nth-child(23)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(24):hover) :is(.ant-table-thead>tr>th:nth-child(24),.ant-table-tbody>tr>td:nth-child(24)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(25):hover) :is(.ant-table-thead>tr>th:nth-child(25),.ant-table-tbody>tr>td:nth-child(25)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(26):hover) :is(.ant-table-thead>tr>th:nth-child(26),.ant-table-tbody>tr>td:nth-child(26)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(27):hover) :is(.ant-table-thead>tr>th:nth-child(27),.ant-table-tbody>tr>td:nth-child(27)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(28):hover) :is(.ant-table-thead>tr>th:nth-child(28),.ant-table-tbody>tr>td:nth-child(28)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(29):hover) :is(.ant-table-thead>tr>th:nth-child(29),.ant-table-tbody>tr>td:nth-child(29)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(3):hover) :is(.ant-table-thead>tr>th:nth-child(3),.ant-table-tbody>tr>td:nth-child(3)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(30):hover) :is(.ant-table-thead>tr>th:nth-child(30),.ant-table-tbody>tr>td:nth-child(30)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(4):hover) :is(.ant-table-thead>tr>th:nth-child(4),.ant-table-tbody>tr>td:nth-child(4)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(5):hover) :is(.ant-table-thead>tr>th:nth-child(5),.ant-table-tbody>tr>td:nth-child(5)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(6):hover) :is(.ant-table-thead>tr>th:nth-child(6),.ant-table-tbody>tr>td:nth-child(6)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(7):hover) :is(.ant-table-thead>tr>th:nth-child(7),.ant-table-tbody>tr>td:nth-child(7)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(8):hover) :is(.ant-table-thead>tr>th:nth-child(8),.ant-table-tbody>tr>td:nth-child(8)),.ant-table-wrapper .ant-table-content table:has(.ant-table-tbody>tr>td:nth-child(9):hover) :is(.ant-table-thead>tr>th:nth-child(9),.ant-table-tbody>tr>td:nth-child(9)){background:var(--ant-color-fill-tertiary)!important}.copyable-cell{display:inline-block;width:100%;cursor:copy;-webkit-user-select:text;-moz-user-select:text;user-select:text;transition:background-color .15s ease,color .15s ease}.copyable-cell:hover{background:var(--ant-color-fill-secondary);color:var(--ant-color-primary)}.table-wrap thead th{background:var(--ant-color-fill-tertiary);position:-webkit-sticky;position:sticky;top:0;z-index:1}.filter-row{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.filter-item{display:flex;flex-direction:column;gap:6px;min-width:180px}.finres-block{background:var(--ant-color-fill-quaternary);color:var(--ant-color-text);border-radius:10px;padding:12px;overflow:auto}.error{color:var(--ant-color-error);font-weight:600}.empty{margin-top:10px;color:var(--ant-color-text-tertiary)}.theme-toggle{position:fixed;right:16px;top:16px;z-index:1000;border-radius:9999px;box-shadow:0 10px 22px rgba(15,23,42,.16)}@media (max-width:720px){.theme-toggle{top:10px;right:10px;font-size:13px;padding:7px 12px}}body,html{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[data-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-top:0;margin-bottom:1em}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}button,input,optgroup,select,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}