:root{color-scheme:dark;--bg: #0b0e11;--panel: #12161c;--line: #2a3140;--text: #e8eaed;--muted: #8b939e;--loss: #f6465d;--accent: #9bb8d3;--gold: #c6a57a;--select: #1a2633;--gain: #3ecf8e;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "Cascadia Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-family:var(--font);font-size:14px;line-height:1.45;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgb(198 165 122 / 8%),transparent 50%),radial-gradient(ellipse 60% 40% at 100% 0%,rgb(155 184 211 / 6%),transparent 45%),var(--bg)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.desk{max-width:1180px;margin:0 auto;padding:28px 24px 56px}.desk.portfolio{max-width:min(1480px,100%);padding-inline:clamp(20px,3vw,36px)}.desk-fold{margin-top:18px;border:1px solid var(--line);border-radius:2px}.desk-fold>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 14px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.desk-fold>summary::-webkit-details-marker{display:none}.desk-fold>summary:before{content:"\25b8";display:inline-block;margin-right:8px;transition:transform .15s ease}.desk-fold[open]>summary:before{transform:rotate(90deg)}.desk-fold>:not(summary){padding:0 14px 14px}.desk-fold .fold-stack{display:flex;flex-direction:column;gap:14px}.desk-fold .fold-stack>.form,.desk-fold .fold-stack>.summary,.desk-fold .fold-stack>.error,.desk-fold .fold-stack>app-dca-form,.desk-fold .fold-stack>app-dca-summary,.desk-fold .fold-stack>app-dca-ladder-table,.desk-fold .fold-stack>app-dca-strategies-panel{margin-top:0}.pine-bar,.prefs-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pine-card-dates,.pine-dates{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pine-card-dates{padding:0 12px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}.pine-dates-label{font-size:.85rem;opacity:.8}.pine-date{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:4px;font-size:.85rem}.pine-date-idx{opacity:.65;font-variant-numeric:tabular-nums}.pine-date input[type=text]{width:7.5rem;padding:4px 8px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:4px;background:color-mix(in srgb,currentColor 4%,transparent);color:inherit;font:inherit}.pine-date-remove{min-width:1.6rem;padding-inline:.35rem}.pine-hint{font-size:.85rem;opacity:.7}.pine-panel-actions{display:flex;flex-wrap:wrap;gap:6px}.pine-hint{margin:4px 0 0;color:var(--muted);font-size:12px;letter-spacing:0;text-transform:none}.modal.pine-modal{width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:flex;flex-direction:column;gap:10px}.modal.pine-modal header{margin-bottom:0;align-items:flex-start;gap:12px}.pine-code{width:100%;min-height:16rem;max-height:min(60vh,520px);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.35;padding:10px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:4px;background:color-mix(in srgb,currentColor 4%,transparent);color:inherit;box-sizing:border-box}.desk-fold .form+.error,.desk-fold .form+.summary,.desk-fold .error+.summary{margin-top:14px}.desk-fold .saved{margin-top:0}.desk-fold .saved-head h2{display:none}.desk-fold .saved-head p{margin-top:0}.fold-count{display:inline-grid;place-items:center;min-width:1.4em;margin-left:8px;padding:0 6px;border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;vertical-align:middle}.monitor-bar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.bingx-live-title{flex:1;font-size:13px;font-weight:600;letter-spacing:.02em}.bingx-live .monitor-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.monitor-bar input{flex:1;max-width:280px}.monitor-empty{margin:0;padding:18px 4px;color:var(--muted);font-size:13px}.monitor-edit-hint{margin:-4px 0 12px;color:var(--muted);font-size:12px}.monitor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.monitor-card{border:1px solid var(--line);background:var(--panel)}.monitor-card.is-editing{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent)}.monitor-card.loss-row{border-color:color-mix(in srgb,var(--loss) 45%,var(--line));background:#1a1214}.monitor-card.gain-row{border-color:color-mix(in srgb,var(--gain) 35%,var(--line));background:#121a16}.monitor-card-head{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.monitor-title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.monitor-title strong{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-meta{color:var(--muted);font-size:12px}.leg-chip{display:inline-block;padding:2px 7px;border:1px solid var(--line);background:#10151b;color:var(--gold);font-size:11px;font-family:var(--mono);letter-spacing:.04em}.status-pill,.alarm-pill{padding:3px 8px;border:1px solid var(--line);font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.status-pill{color:var(--gold)}.status-pill.is-closed{color:var(--muted)}.status-pill.is-test{color:var(--muted);border-color:color-mix(in srgb,var(--muted) 55%,var(--line))}.status-pill.is-live{color:var(--gain);border-color:color-mix(in srgb,var(--gain) 45%,var(--line))}.fold-count.muted{opacity:.65;font-weight:500;text-transform:none;letter-spacing:0}.alarm-pill.gain{border-color:color-mix(in srgb,var(--gain) 50%,var(--line))}.alarm-pill.loss{border-color:color-mix(in srgb,var(--loss) 50%,var(--line))}.monitor-metrics{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;background:var(--line)}.monitor-metrics>div{background:var(--panel);padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.monitor-card.loss-row .monitor-metrics>div,.monitor-card.gain-row .monitor-metrics>div{background:transparent}.monitor-metrics span{font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.monitor-metrics strong{font-size:15px;font-weight:500}.monitor-metrics small{color:var(--muted);font-size:11px}.monitor-legs{border-top:1px solid var(--line);padding:6px 8px 8px;display:flex;flex-direction:column;gap:4px}.monitor-leg-row{display:grid;grid-template-columns:48px 1fr 72px 1fr 1fr 1fr 88px;gap:8px;align-items:center;padding:6px 8px;font-size:12px}.monitor-leg-row.is-active{background:var(--select)}.leg-toggle:disabled{cursor:default;opacity:1}@media(max-width:900px){.monitor-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.monitor-card-head{flex-wrap:wrap}.monitor-leg-row{grid-template-columns:40px 1fr 64px 1fr}}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.page-head{align-items:flex-start;margin-bottom:18px;gap:16px}.page-head .eyebrow{margin:0 0 6px;color:var(--gold);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.page-head .lede{margin:6px 0 0;max-width:42ch;color:var(--muted);font-size:13px;letter-spacing:0;text-transform:none;line-height:1.4}.brand{display:flex;gap:14px;align-items:center}.mark{width:28px;height:28px;display:block;object-fit:contain;border-radius:6px;flex-shrink:0}.brand-link .mark{width:28px;height:28px}h1{margin:0;font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.15}header p,.symbol,.hint,small,.form span,.summary span{color:var(--muted)}header p{margin:2px 0 0;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.symbol{letter-spacing:.14em;font-size:12px}.desk-head-actions .book-switch{margin-right:4px}.desk-head-actions{display:flex;align-items:center;gap:10px}.panel-stack{display:flex;flex-direction:column;gap:20px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.toolbar-note{margin:0;color:var(--muted);font-size:13px}.csv-import-row{align-items:flex-end}.csv-broker{display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.csv-broker input{min-width:140px;height:36px;padding:0 10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:13px;text-transform:none;letter-spacing:normal}.metric-row{display:flex;flex-wrap:wrap;gap:10px}.metric{display:flex;flex-direction:column;gap:2px;min-width:112px;padding:10px 14px;border:1px solid var(--line);background:var(--panel)}.metric-label{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.metric strong{font-size:16px;font-weight:500}.content-block{display:flex;flex-direction:column;gap:12px}.accordion-trigger{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.accordion-trigger:hover h2{color:var(--gold)}.accordion-caret{flex-shrink:0;margin-top:2px;color:var(--muted);font-size:14px;line-height:1}.block-head h2{margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.block-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.positions-block .block-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.35rem 1rem}.positions-block .block-head>p{flex:1 1 12rem;min-width:0;margin-top:0;align-self:center}.positions-block .block-head .lp-quote-flip{margin-left:auto;font-size:12px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:.35rem}.positions-block .block-head .lp-quote-flip.active{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:end;padding:16px;background:var(--panel);border:1px solid var(--line)}.form label{display:flex;flex-direction:column;gap:6px}.form .etf-asset-field{display:flex;flex-direction:column;gap:6px;position:relative;z-index:4}.form .etf-picker{position:relative}.form .etf-picker__trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:36px;padding:0 10px;border:1px solid var(--line);background:#0d1116;color:var(--text);font:inherit;text-align:left;cursor:pointer}.form .etf-picker.open .etf-picker__trigger,.form .etf-picker__trigger:focus-visible{outline:1px solid var(--accent);border-color:var(--accent)}.form .etf-picker__trigger:disabled{opacity:.55;cursor:default}.form .etf-picker__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:normal;font-size:13px}.form .etf-picker__chev{flex:0 0 auto;width:14px;height:14px;color:var(--muted);transition:transform .15s ease}.form .etf-picker.open .etf-picker__chev{transform:rotate(180deg)}.form .etf-picker__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:200px;z-index:20;border:1px solid var(--line);background:#0d1116;box-shadow:0 10px 28px #00000073}.form .etf-picker__list{list-style:none;margin:0;padding:4px 0;max-height:220px;overflow:auto}.form .etf-picker__row{display:flex;align-items:center;gap:2px;padding:0 4px 0 0}.form .etf-picker__row.on .etf-picker__opt{color:var(--accent)}.form .etf-picker__opt{flex:1;min-width:0;height:34px;padding:0 10px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;text-transform:none;letter-spacing:normal;cursor:pointer}.form .etf-picker__opt:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.form .etf-picker__icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:28px;height:28px;padding:0;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.form .etf-picker__icon svg{width:14px;height:14px}.form .etf-picker__icon:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent)}.form .etf-picker__icon.ok:hover:not(:disabled){color:var(--gain);border-color:color-mix(in srgb,var(--gain) 40%,var(--line));background:color-mix(in srgb,var(--gain) 12%,transparent)}.form .etf-picker__icon.danger:hover:not(:disabled){color:var(--loss);border-color:color-mix(in srgb,var(--loss) 40%,var(--line));background:color-mix(in srgb,var(--loss) 12%,transparent)}.form .etf-picker__icon:disabled{opacity:.4;cursor:default}.form .etf-picker__add{display:flex;align-items:center;gap:6px;padding:8px;border-top:1px solid var(--line)}.form .etf-picker__add input{flex:1;min-width:0;height:32px;text-transform:uppercase}.form span{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.form-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}input,select{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);background:#0d1116;color:var(--text);font:inherit}input:focus,select:focus{outline:1px solid var(--accent);border-color:var(--accent)}select{cursor:pointer}button.ghost{height:36px;padding:0 14px;border:1px solid var(--line);background:transparent;color:var(--accent);letter-spacing:.08em;font-size:12px;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}button.ghost:disabled{opacity:.5;cursor:default}.btn-with-icon,button.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}.ui-spin{animation:ui-spin .8s linear infinite;display:block;flex-shrink:0}@keyframes ui-spin{to{transform:rotate(360deg)}}app-icon,app-spinner{display:inline-flex;line-height:0;flex-shrink:0}.sync-menu{position:relative}.sync-menu-trigger{display:inline-flex;align-items:center;gap:8px}.sync-menu-caret{font-size:10px;opacity:.8}.sync-menu.open .sync-menu-caret{transform:rotate(180deg)}.sync-menu-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:40;min-width:180px;padding:4px;border:1px solid var(--line);background:#0d1116;display:flex;flex-direction:column;gap:2px}.sync-menu-panel button{height:34px;padding:0 12px;border:0;background:transparent;color:var(--text);text-align:left;font:inherit;font-size:13px;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.sync-menu-panel button:hover{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.btn-primary{height:36px;padding:0 16px;border:1px solid color-mix(in srgb,var(--gold) 55%,var(--line));background:color-mix(in srgb,var(--gold) 18%,#0d1116);color:var(--gold);letter-spacing:.08em;font-size:12px;font-family:inherit;font-weight:500;text-transform:uppercase;cursor:pointer}.btn-primary:hover{background:color-mix(in srgb,var(--gold) 28%,#0d1116)}.btn-primary:disabled{opacity:.5;cursor:default}.choice{display:grid;grid-template-columns:1fr 1fr;height:36px}.choice button{border:1px solid var(--line);background:#0d1116;color:var(--muted);font:inherit;font-size:12px;letter-spacing:.04em;cursor:pointer}.choice button.on{color:var(--text);border-color:var(--gold)}th.on,td.on{box-shadow:inset 0 -2px 0 var(--gold)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.summary article,.summary .kpi{background:var(--panel);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.summary .kpi.hero{background:linear-gradient(160deg,color-mix(in srgb,var(--gold) 10%,var(--panel)),var(--panel))}.summary .kpi.ratio-kpi{grid-column:span 2;min-width:0;gap:10px}.summary .ratio-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}.summary .ratio-legend li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:baseline;gap:6px;min-width:0}.summary .ratio-legend .swatch{width:8px;height:8px;border-radius:1px;align-self:center}.summary .ratio-legend .swatch.rv{background:var(--accent)}.summary .ratio-legend .swatch.rf{background:var(--gold)}.summary .ratio-legend .swatch.lp{background:var(--muted)}.summary .ratio-legend .swatch.carry{background:color-mix(in srgb,var(--gold) 55%,var(--accent))}.summary .ratio-legend em{font-style:normal;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.summary .ratio-legend strong{font-size:14px;font-weight:500}.summary .ratio-legend small{color:var(--muted);font-size:11px;text-align:right;white-space:nowrap}.summary .kpi.ratio-kpi .ratio-bar{margin-top:2px;height:5px;border-radius:1px}.summary .kpi.cash-menu{position:relative;padding:0}.summary .cash-menu-trigger{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.summary .cash-menu-trigger:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.summary .cash-menu-trigger small{display:inline-flex;align-items:center;gap:6px}.summary .cash-menu-caret{font-size:10px;opacity:.8;transition:transform .15s ease}.summary .cash-menu.open .cash-menu-caret{transform:rotate(180deg)}.summary .cash-menu-panel{position:absolute;top:calc(100% + 1px);left:0;right:0;z-index:30;min-width:260px;padding:4px;border:1px solid var(--line);background:#0d1116;display:flex;flex-direction:column;gap:2px}.summary .cash-menu-row{display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;gap:2px 8px;align-items:center;padding:10px 12px}.summary .cash-menu-row:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.summary .cash-menu-row span{grid-column:1;grid-row:1}.summary .cash-menu-row strong{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:15px}.summary .cash-menu-row>.cash-icon-btn.edit{grid-column:3;grid-row:1 / span 2;align-self:center}.summary .cash-menu-row small{grid-column:1;grid-row:2;color:var(--muted)}.summary .cash-menu-row.editing{grid-template-columns:1fr auto;gap:6px 8px}.summary .cash-menu-row.editing span{grid-column:1 / span 2;grid-row:1}.summary .cash-menu-row.editing .cash-edit-input{grid-column:1;grid-row:2;width:100%;min-width:0;height:32px;padding:0 10px;border:1px solid var(--line);background:#0a0d11;color:var(--text);font:inherit;font-size:14px}.summary .cash-menu-row.editing .cash-edit-actions{grid-column:2;grid-row:2;display:inline-flex;align-items:center;gap:4px}.summary .cash-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer}.summary .cash-icon-btn svg{width:14px;height:14px}.summary .cash-icon-btn:hover:not(:disabled){color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent)}.summary .cash-icon-btn.ok{color:var(--gain)}.summary .cash-icon-btn.ok:hover:not(:disabled){color:var(--gain);border-color:color-mix(in srgb,var(--gain) 40%,var(--line));background:color-mix(in srgb,var(--gain) 12%,transparent)}.summary .cash-icon-btn:disabled{opacity:.45;cursor:default}.summary .cash-icon-btn.danger:hover:not(:disabled){color:var(--loss);border-color:color-mix(in srgb,var(--loss) 40%,var(--line));background:color-mix(in srgb,var(--loss) 12%,transparent)}.summary .cash-menu-row.pocket{grid-template-columns:1fr auto auto auto}.summary .cash-menu-row.pocket>.cash-icon-btn.edit{grid-column:3;grid-row:1 / span 2}.summary .cash-menu-row.pocket>.cash-icon-btn.danger{grid-column:4;grid-row:1 / span 2;align-self:center}.summary .cash-menu-row.pocket.editing{grid-template-columns:1fr auto;gap:6px 8px}.summary .cash-menu-row.pocket.editing .cash-edit-input:first-of-type{grid-column:1 / span 2;grid-row:1;width:100%;height:32px;padding:0 10px;border:1px solid var(--line);background:#0a0d11;color:var(--text);font:inherit;font-size:13px}.summary .cash-menu-row.pocket.editing .cash-edit-input.num{grid-column:1;grid-row:2}.summary .cash-menu-row.pocket.editing .cash-edit-actions{grid-column:2;grid-row:2}.summary .cash-menu-divider{height:1px;margin:4px 8px;background:var(--line)}.summary .cash-menu-section-label{padding:6px 12px 2px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.summary .cash-add-btn{display:inline-flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 12px;border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;letter-spacing:.04em;cursor:pointer}.summary .cash-add-btn svg{width:14px;height:14px}.summary .cash-add-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.summary span{font-size:11px;letter-spacing:.05em;text-transform:uppercase}.summary strong{font-size:18px;font-weight:500}.summary .kpi.hero strong{font-size:22px}.summary small{font-size:12px;text-transform:none;letter-spacing:0}.loss,.loss small{color:var(--loss)}.gain{color:var(--gain)}.error{margin:0;color:var(--loss)}.table-wrap{border:1px solid var(--line);overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:right;font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:10px 12px;background:#10151b;border-bottom:1px solid var(--line)}th:first-child,td:first-child{text-align:left}td{text-align:right;padding:12px;border-bottom:1px solid var(--line);background:var(--panel)}td small{display:block;margin-top:3px;font-size:11px}tbody tr{cursor:pointer}tfoot td{background:#10151b;color:var(--muted);font-size:12px;letter-spacing:.04em;text-transform:uppercase}tfoot tr.hold td{text-transform:none;letter-spacing:0;text-align:left;font-size:13px;color:var(--text)}tr.selected td{background:var(--select)}tr.selected td:first-child{box-shadow:inset 2px 0 0 var(--gold)}.muted{color:var(--muted)}input.step{width:88px;height:30px;text-align:right}.hint{margin:10px 0 0;font-size:12px}@media(max-width:960px){.form,.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.summary .kpi.ratio-kpi{grid-column:span 2}.summary .ratio-legend,.form.strategy,.form.risk,.form.trade,.form.filters{grid-template-columns:1fr 1fr}.page-head{flex-direction:column;align-items:stretch}h1{font-size:22px}}.shell{min-height:100%}.shell.shell--chart-fs{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;overflow:hidden}.nav{position:relative;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:#0d1116eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand-link,.links a{color:var(--muted);text-decoration:none;letter-spacing:.06em;font-size:12px;text-transform:uppercase}.brand-link{display:flex;align-items:center;gap:10px;color:var(--text);text-transform:none;letter-spacing:.02em;font-size:14px;font-weight:600}.links{display:flex;align-items:center;gap:18px;flex:1}.links a{display:inline-flex;align-items:center;gap:6px}.links a app-icon{display:inline-flex;flex-shrink:0;opacity:.85}.links a.active,.brand-link.active,.nav-icon-link.active,.nav-dd__trigger.active{color:var(--gold)}.links a.active app-icon,.nav-dd__trigger.active app-icon{opacity:1}.nav-dd{position:relative;z-index:1;display:flex;align-items:center}.nav-dd--open{z-index:2}.nav-dd__trigger{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.nav-dd__trigger:hover{color:var(--text)}.nav-dd__trigger app-icon{display:inline-flex;flex-shrink:0;opacity:.85}.nav-dd__chevron{opacity:.7;transition:transform .12s ease}.nav-dd--open .nav-dd__chevron{transform:rotate(180deg)}.nav-dd__panel{position:absolute;top:calc(100% + 10px);left:0;z-index:210;display:flex;flex-direction:column;gap:2px;min-width:200px;padding:6px;border:1px solid var(--line);border-radius:6px;background:#0d1116;box-shadow:0 12px 32px #00000073}.nav-dd__panel:before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.nav-dd__panel a,.nav-dd__action{display:inline-flex;align-items:center;gap:8px;margin:0;padding:9px 12px;border:0;border-radius:4px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;text-align:left}.nav-dd__panel a:hover,.nav-dd__action:hover{color:var(--text);background:#ffffff0a}.nav-dd__panel a.active,.nav-dd__action.on{color:var(--text);background:var(--select);box-shadow:inset 3px 0 0 var(--gold)}.nav-dd__panel a app-icon,.nav-dd__action app-icon{display:inline-flex;flex-shrink:0;opacity:.85}.nav-dd__panel a.active app-icon,.nav-dd__action.on app-icon{opacity:1;color:var(--gold)}.nav-admin{position:relative}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:2px;border-radius:999px;background:var(--gold);color:#0b0e11;font-size:9px;font-weight:700;letter-spacing:0;line-height:1}.nav-user{display:flex;align-items:center;gap:10px;margin-left:auto}.nav-icon-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--muted);text-decoration:none;border-radius:6px}.nav-icon-link:hover{color:var(--text);background:#ffffff0a}.nav-icon-link.active{color:var(--gold);background:#c9a2271a}.nav-email{color:var(--muted);font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-logout{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;cursor:pointer;border-radius:2px}.nav-logout:hover{color:var(--text);border-color:var(--gold)}.subnav{display:flex;gap:4px;margin:0 0 22px;padding:4px;border:1px solid var(--line);background:#0d1116;width:fit-content;max-width:100%;overflow-x:auto}.subnav a{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;letter-spacing:.06em;font-size:12px;text-transform:uppercase;padding:8px 14px;white-space:nowrap}.subnav a app-icon{display:inline-flex;flex-shrink:0;opacity:.85}.subnav a.active app-icon{opacity:1;color:var(--gold)}.subnav a.active{color:var(--text);background:var(--select);box-shadow:inset 0 -2px 0 var(--gold)}.ratio-bar{display:flex;height:6px;background:var(--line);overflow:hidden}.ratio-bar .rv{background:var(--accent)}.ratio-bar .rf{background:var(--gold)}.ratio-bar .lp{background:var(--muted)}.ratio-bar .carry{background:color-mix(in srgb,var(--gold) 55%,var(--accent))}.modal-backdrop{position:fixed;inset:0;background:#0000008c;z-index:40}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:50;width:min(420px,calc(100vw - 32px));margin:0;padding:16px;border:1px solid var(--line);background:var(--panel);color:var(--text)}.modal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal h2{margin:0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}.modal.cashflow-modal{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.cashflow-meta{margin:0 0 10px;font-size:12px}.cashflow-wrap{max-height:min(420px,55vh);overflow:auto}.cashflow-table{width:100%;border-collapse:collapse;font-size:12px}.cashflow-table th,.cashflow-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.cashflow-table th{color:var(--muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.cashflow-table .num{text-align:right;font-variant-numeric:tabular-nums}.form.cash{grid-template-columns:1fr}.form.holdings{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.form.holdings .form-actions{grid-column:1 / -1}.form.holdings input[readonly]{color:var(--muted);cursor:default}.form.holdings .symbol-input{text-transform:uppercase}.form.holdings .cedear-bar,.row-edit-panel .cedear-bar{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:end;gap:10px 14px}.cedear-check{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer}.cedear-check input{width:auto;margin:0;accent-color:var(--accent)}.cedear-currency{display:inline-flex;gap:4px}.cedear-currency .ghost.active{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 14%,transparent)}.cedear-mep{display:inline-grid;gap:4px;min-width:96px}.cedear-mep span{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.cedear-mep input{width:100%;min-width:88px}.cedear-preview{grid-column:1 / -1;margin:0;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:13px;color:var(--ink)}.row-edit-panel .cedear-preview{margin-top:-4px}.content-block.editing{outline:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));outline-offset:2px}.editing-hint{margin:0;font-size:13px}.positions-table tbody tr.editing-row>td{position:relative;z-index:5;padding:0;overflow:visible;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-top:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.row-edit-panel{display:grid;gap:14px;padding:16px 18px 18px}.row-edit-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px}.row-edit-head strong{font-size:14px;font-weight:600;letter-spacing:.02em}.row-edit-head .muted{font-size:12px}.row-edit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px 14px;align-items:end}.row-edit-panel.rf .row-edit-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.row-edit-grid label{display:grid;gap:6px;min-width:0;margin:0}.row-edit-grid label>span{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.row-edit-grid .row-edit-input{box-sizing:border-box;width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#0a0d11;color:var(--text);font:inherit;font-size:13px}.row-edit-grid .row-edit-input.num{text-align:right;font-variant-numeric:tabular-nums}.row-edit-grid .row-edit-input.symbol-input{text-transform:uppercase}.row-edit-grid .row-edit-input:focus{outline:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));outline-offset:0;border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.row-edit-readonly output{display:flex;align-items:center;justify-content:flex-end;height:36px;padding:0 10px;border:1px dashed color-mix(in srgb,var(--line) 80%,transparent);border-radius:6px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.row-edit-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media(max-width:720px){.row-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.desk h2{margin:22px 0 10px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.desk .block-head h2{margin:0;color:var(--gold)}.form.strategy,.form.risk{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.form.risk{grid-template-columns:repeat(3,minmax(0,1fr)) auto auto}.form.trade{grid-template-columns:1.2fr 1fr repeat(4,minmax(0,1fr)) auto}.form.filters{grid-template-columns:180px 180px}.notice{margin:0;color:var(--gold)}.close{display:flex;gap:8px;justify-content:flex-end}.close input{width:96px}.saved{margin-top:28px}.saved-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.saved-head h2{margin:0;font-size:15px;font-weight:600}.saved-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.saved-actions{display:flex;gap:8px;align-items:center}.saved-actions input{width:220px}.row-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.refi-panel{display:grid;gap:8px;padding:10px 12px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--accent) 6%,#0d1116)}.refi-hint{margin:0;font-size:12px;color:var(--muted, #9aa4b2)}.btn-row{height:32px;padding:0 14px;border:1px solid var(--line);background:#0d1116;color:var(--text);font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.02em;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-row.edit{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 12%,#0d1116);color:var(--accent)}.btn-row.edit:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 22%,#0d1116);color:var(--text)}.btn-row.danger{border-color:color-mix(in srgb,var(--loss) 40%,var(--line));background:color-mix(in srgb,var(--loss) 8%,#0d1116);color:color-mix(in srgb,var(--loss) 85%,var(--text))}.btn-row.danger:hover{border-color:var(--loss);background:color-mix(in srgb,var(--loss) 18%,#0d1116);color:var(--loss)}.positions-block{min-width:0}.positions-wrap{width:100%}.positions-table{width:100%;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.positions-table th,.positions-table td{padding:14px 12px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis}.positions-table thead th{position:sticky;top:0;z-index:1;background:#10151b;text-transform:none;letter-spacing:0;font-size:12px;font-weight:500;color:var(--text);padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line);vertical-align:bottom}.positions-table .th-label{display:block;color:var(--text);font-weight:500;line-height:1.25}.positions-table .th-sort{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:inherit;cursor:pointer}.positions-table .th-sort:hover .th-label,.positions-table .th-sort.active .th-label{color:var(--accent)}.positions-table .th-hint{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.positions-table .col-asset,.positions-table .col-text,.positions-table .col-date{text-align:left}.positions-table .col-asset{width:14%;font-weight:600;letter-spacing:.02em}.positions-table .col-asset .asset-pair{display:block}.positions-table .col-asset .asset-range{display:block;margin-top:.15rem;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.01em;color:var(--gain, #3d9a6a)}.positions-table .col-asset .asset-range.out{color:var(--loss, #c45c5c)}.positions-table .col-text{width:7%;color:var(--muted)}.positions-table .col-date{width:9%;min-width:7.5rem;font-family:var(--mono);font-size:13px;white-space:nowrap}.positions-table .col-actions{width:12rem;min-width:12rem;text-align:right;white-space:nowrap;position:sticky;right:0;z-index:1;background:var(--panel);box-shadow:-8px 0 12px -10px #0000008c;overflow:visible}.positions-table.with-cashflow{min-width:72rem}.positions-table.with-cashflow .col-actions{width:19.5rem;min-width:19.5rem}.positions-table.is-editing tbody tr:not(.editing-row) .col-actions,.positions-table.is-editing thead .col-actions{position:static;box-shadow:none;z-index:auto}.positions-table thead .col-actions{background:#10151b;z-index:2}.positions-table tbody tr{cursor:default}.positions-table tbody tr:hover td,.positions-table tbody tr:hover .col-actions{background:color-mix(in srgb,var(--select) 70%,var(--panel))}.positions-table .empty-row{text-align:left;padding:28px 16px}tr.loss-row td{background:#1a1214}tr.gain-row td{background:#121a16}tr.leg-pending td{color:var(--muted)}.leg-toggle{display:inline-flex;align-items:baseline;gap:2px;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.leg-toggle small{color:var(--muted);font-size:11px}.voice-fab{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.voice-fab--custom{right:auto}.voice-fab--dragging{-webkit-user-select:none;user-select:none}.voice-fab--dragging .voice-fab__orb{cursor:grabbing;transition:none;animation:none}.voice-fab__audio{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.voice-fab__panel{width:min(320px,calc(100vw - 40px));padding:14px 16px 16px;border:1px solid var(--line);border-radius:2px;background:#12161cf5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px #00000059}.voice-fab--chat .voice-fab__panel{width:min(380px,calc(100vw - 40px))}.voice-fab__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.voice-fab__modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:10px;padding:3px;border:1px solid var(--line);background:#00000040}.voice-fab__mode{border:0;background:transparent;color:var(--muted);font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:7px 8px;cursor:pointer}.voice-fab__mode--active{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.voice-fab__chat{display:flex;flex-direction:column;gap:8px;max-height:min(42vh,320px);overflow-y:auto;margin-bottom:10px;padding-right:2px}.voice-fab__bubble{max-width:92%;padding:8px 10px;font-size:12.5px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.voice-fab__bubble--assistant{align-self:flex-start;background:#ffffff0d;border:1px solid var(--line);color:var(--text)}.voice-fab__bubble--user{align-self:flex-end;background:color-mix(in srgb,var(--gold) 16%,transparent);border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));color:var(--text)}.voice-fab__composer{display:flex;flex-direction:column;gap:8px}.voice-fab__input{width:100%;resize:none;border:1px solid var(--line);background:#00000047;color:var(--text);font:inherit;font-size:13px;line-height:1.4;padding:8px 10px}.voice-fab__input:focus{outline:1px solid color-mix(in srgb,var(--gold) 45%,var(--line))}.voice-fab__input:disabled{opacity:.6}.voice-fab__chat-actions{display:flex;gap:8px}.voice-fab__btn--ghost{flex:0 0 auto;opacity:.85}.voice-fab__agent{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.voice-fab__close{border:0;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 2px}.voice-fab__status{margin:0 0 8px;font-size:13px;color:var(--text)}.voice-fab__quota{margin:0 0 8px;font-size:11px;color:var(--muted, #8b9bb0)}.voice-fab__error{margin:0 0 8px;font-size:12px;color:var(--loss)}.voice-fab__transcript{margin:0 0 12px;font-size:12px;color:var(--muted);line-height:1.4}.voice-fab__actions{display:flex;gap:8px}.voice-fab__btn{flex:1;border:1px solid var(--line);background:var(--select);color:var(--text);font:inherit;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;cursor:pointer}.voice-fab__btn:disabled{opacity:.55;cursor:wait}.voice-fab__btn--live{border-color:color-mix(in srgb,var(--loss) 50%,var(--line));color:var(--loss)}.voice-fab__orb{width:56px;height:56px;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));background:radial-gradient(circle at 32% 28%,rgb(230 200 150 / 38%),transparent 52%),radial-gradient(circle at 70% 75%,rgb(198 165 122 / 14%),transparent 45%),var(--panel);color:var(--gold);cursor:grab;touch-action:none;display:grid;place-items:center;box-shadow:0 8px 24px #0006;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.voice-fab__orb:hover{transform:translateY(-1px);border-color:var(--gold);box-shadow:0 10px 28px #00000073,0 0 0 4px #c6a57a1f}.voice-fab__orb--idle:not(.voice-fab__orb--off){animation:voice-idle-glow 2.8s ease-in-out infinite}.voice-fab__orb--live{border-color:var(--gain);color:var(--gain);animation:voice-pulse 1.8s ease-in-out infinite}.voice-fab__orb--busy{opacity:.85}.voice-fab__orb--off{opacity:.45;filter:grayscale(.4);animation:none}.voice-fab__orb-icon{width:26px;height:26px;display:block}.voice-fab__orb--busy .voice-fab__orb-icon{animation:voice-spin .9s linear infinite}.voice-fab__orb--idle:not(.voice-fab__orb--off) .voice-fab__bot-eye,.voice-fab__orb--live .voice-fab__bot-eye{transform-box:fill-box;transform-origin:center;animation:voice-bot-blink 3.6s ease-in-out infinite}.voice-fab__orb--live .voice-fab__bot-eye:last-of-type{animation-delay:.12s}@keyframes voice-idle-glow{0%,to{box-shadow:0 8px 24px #0006,0 0 #c6a57a00}50%{box-shadow:0 8px 24px #0006,0 0 0 7px #c6a57a24}}@keyframes voice-pulse{0%,to{box-shadow:0 8px 24px #0006,0 0 #3ecf8e00}50%{box-shadow:0 8px 24px #0006,0 0 0 8px #3ecf8e2e}}@keyframes voice-spin{to{transform:rotate(360deg)}}@keyframes voice-bot-blink{0%,42%,48%,to{transform:scaleY(1);opacity:1}45%{transform:scaleY(.15);opacity:.85}}.carry-desk .panel{margin-top:20px}.carry-desk .panel-title{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.carry-desk .inline-actions{display:flex;gap:8px;align-items:center}.carry-desk .inline-actions input{flex:1}.carry-table-wrap{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}.carry-table{width:100%;border-collapse:collapse;font-size:13px}.carry-table th,.carry-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.carry-table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#10151b}.carry-table.compact td,.carry-table.compact th{padding:8px 10px}.carry-table .block{display:block;margin-top:2px}.carry-table .market-cells{display:flex;flex-direction:column;gap:6px;min-width:140px}.carry-table .market-field{display:flex;align-items:center;gap:6px}.carry-table .field-icon{width:14px;height:14px;flex-shrink:0;color:var(--muted)}.carry-table .market-cells input{height:32px;font-size:12px}.carry-table .row-actions{display:flex;flex-direction:row;gap:6px;white-space:nowrap;align-items:flex-start}.carry-pnl{display:inline-flex;align-items:flex-start;gap:6px}.carry-trend{width:14px;height:14px;margin-top:2px;flex-shrink:0}.carry-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--accent);cursor:pointer}.carry-icon-btn svg{width:15px;height:15px}.carry-icon-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent) 40%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent)}.carry-icon-btn.danger{color:var(--loss)}.carry-icon-btn.danger:hover:not(:disabled){border-color:color-mix(in srgb,var(--loss) 40%,var(--line));background:color-mix(in srgb,var(--loss) 12%,transparent)}.carry-icon-btn:disabled{opacity:.45;cursor:default}button.ghost.tiny{height:28px;padding:0 10px;font-size:11px}button.ghost.danger{color:var(--loss)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.desk.performance-desk{max-width:min(1280px,100%)}.desk.heatmap-desk{max-width:none;width:100%;margin:0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;padding:8px 12px 12px}.heatmap-logo-overlay{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;opacity:0}.heatmap-logo-overlay.heatmap-logo-overlay--ready{opacity:1;transition:opacity 80ms ease-out}.perf-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.perf-head h1{margin:4px 0 6px;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;letter-spacing:-.02em}.perf-range{display:inline-flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:2px;overflow:hidden}.perf-range button{appearance:none;border:0;border-right:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 14px;cursor:pointer}.perf-range button:last-child{border-right:0}.perf-range button:hover{color:var(--text);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.perf-range button.on{color:var(--text);background:color-mix(in srgb,var(--accent) 18%,var(--panel));box-shadow:inset 0 -2px 0 var(--accent)}.perf-kpis{margin-bottom:18px}.perf-panel{margin-top:18px;border:1px solid var(--line);background:var(--panel);padding:18px 18px 20px}.perf-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.perf-panel-head h2{margin:0;font-size:15px;font-weight:600;letter-spacing:.02em}.perf-sub{margin:4px 0 0;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.perf-chart-wrap{width:100%;overflow:hidden}.perf-line-chart{display:block;width:100%;height:auto;max-height:280px}.perf-line{fill:none;stroke:#5b9bd5;stroke-width:2}.perf-area{fill:color-mix(in srgb,var(--loss) 14%,transparent);stroke:none}.perf-zero{stroke:var(--line);stroke-dasharray:4 4}.perf-axis{fill:var(--muted);font-size:10px;font-family:var(--mono)}.perf-axis.tick{font-size:9px}.perf-empty-chart{padding:28px 8px;text-align:center}.perf-donuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}.perf-donut-card h3{margin:0 0 18px;font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;text-align:center}.perf-donut-body{display:flex;flex-direction:column;align-items:center;gap:20px}.perf-donut{width:min(100%,280px);height:auto;aspect-ratio:1}.donut-center-label{fill:var(--muted);font-size:13px;letter-spacing:.12em}.donut-center-value{fill:var(--text);font-size:17px;font-family:var(--mono);font-weight:600}.perf-legend{list-style:none;margin:0;padding:0;width:100%;max-width:280px;display:flex;flex-direction:column;gap:10px}.perf-legend li{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;font-size:12px}.perf-legend .swatch{width:10px;height:10px;border-radius:1px}.perf-legend em{font-style:normal;color:var(--muted);min-width:2.5em;text-align:right}.perf-legend strong{font-weight:500}.perf-strategy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.perf-desk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.perf-desk-grid.desk-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.perf-desk-card{border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel));padding:14px}.perf-desk-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}.perf-desk-card h3{margin:0;font-size:13px;font-weight:600}.perf-desk-card a{color:var(--accent);font-size:12px;text-decoration:none}.perf-desk-card a:hover{text-decoration:underline}.desk-kpis{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.desk-note{margin:12px 0 0;font-size:12px}@media(max-width:1100px){.perf-desk-grid.desk-grid-3{grid-template-columns:1fr}}@media(max-width:900px){.perf-desk-grid{grid-template-columns:1fr}}.perf-strategy-card{border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 55%,var(--panel));padding:14px}.perf-strategy-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}.perf-strategy-card h3{margin:0;font-size:13px;font-weight:600}.perf-strategy-card a{color:var(--accent);font-size:12px;text-decoration:none}.perf-strategy-card a:hover{text-decoration:underline}.perf-strategy-card .hero-num{margin:0;font-size:1.35rem;font-weight:600}.perf-strategy-card small{display:block;margin-top:4px;color:var(--muted)}.perf-strategy-card ul{list-style:none;margin:12px 0 0;padding:10px 0 0;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line)}.perf-strategy-card li{display:flex;justify-content:space-between;gap:8px;font-size:12px}.perf-future-row{flex-direction:column;align-items:stretch;gap:4px}.perf-future-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;width:100%}.perf-future-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;width:100%}.live-tag{margin-left:6px;font-style:normal;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--gain)}.perf-bars{display:flex;flex-direction:column;gap:10px}.lp-range-list{display:flex;flex-direction:column;gap:14px}.lp-range-row{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:10px 16px;align-items:center}.lp-range-row.out .lp-range-dot{fill:var(--loss, #c45c5c)}.lp-range-row.out .lp-range-needle{stroke:var(--loss, #c45c5c)}.lp-range-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.lp-range-meta strong{font-size:13px;letter-spacing:.02em}.lp-range-meta span{font-size:12px}.lp-range-gauge{width:100%;height:auto;max-height:52px;display:block}.lp-range-track{stroke:color-mix(in srgb,var(--muted) 55%,transparent);stroke-width:6;stroke-linecap:round}.lp-range-end{fill:color-mix(in srgb,var(--muted) 70%,transparent)}.lp-range-needle{stroke:var(--gain, #3d9a6a);stroke-width:1.5;opacity:.85}.lp-range-dot{fill:var(--gain, #3d9a6a);stroke:var(--panel);stroke-width:1.5}.lp-range-label,.lp-range-spot,.lp-range-hint{fill:var(--muted);font-size:9px;font-family:var(--mono)}.lp-range-spot{fill:var(--text);font-size:10px;font-weight:600}.perf-panel-head .lp-quote-flip{font-size:12px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.perf-panel-head .lp-quote-flip.active{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.perf-bar-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr minmax(110px,140px);gap:12px;align-items:center}.perf-bar-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.perf-bar-meta strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-bar-meta span{font-size:11px}.perf-bar-track{height:8px;background:color-mix(in srgb,var(--line) 80%,transparent);border-radius:1px;overflow:hidden}.perf-bar-fill{display:block;height:100%;background:linear-gradient(90deg,#5ec4a8,#7eb8da);min-width:2px}.perf-bar-nums{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px}.perf-bar-nums .gain,.gain{color:var(--gain)}.perf-bar-nums .loss,.loss{color:var(--loss)}@media(max-width:1100px){.perf-donuts{grid-template-columns:1fr}.perf-donut{width:min(100%,300px)}.perf-legend{max-width:300px}}@media(max-width:960px){.perf-strategy-grid{grid-template-columns:1fr}.perf-bar-row,.lp-range-row{grid-template-columns:1fr;gap:6px}.perf-bar-nums{flex-direction:row;justify-content:space-between;align-items:baseline}}.closes-desk .closes-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.closes-desk .closes-head h1{margin:4px 0 6px;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:600;letter-spacing:-.02em}.closes-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px}.chart-modal-backdrop{z-index:60;background:#00000073}.modal.chart-modal{inset:0;transform:none;width:100vw;height:100vh;max-height:none;z-index:70;display:flex;flex-direction:column;gap:8px;padding:12px 16px 16px;border:none;background:#fff;color:#111827}.modal.chart-modal header{margin-bottom:0;flex-shrink:0;align-items:flex-start;gap:12px}.modal.chart-modal h2{color:#111827}.chart-modal-hint{color:#6b7280!important}.modal.chart-modal .ghost{color:#111827;border-color:color-mix(in srgb,#111827 18%,transparent)}.modal.chart-modal app-dca-ladder-chart{flex:1;min-height:0;display:flex;flex-direction:column}.modal.chart-modal .ladder-chart{flex:1;min-height:0;margin-top:0;display:flex;flex-direction:column;border:1px solid #e5e7eb;background:#fff}.modal.chart-modal .ladder-chart-host{flex:1;height:auto;min-height:280px}.ladder-chart-theme-light .ladder-chart{background:#fff;border-color:#e5e7eb;color:#111827}.ladder-chart-theme-light .choice button{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.ladder-chart-theme-light .choice button.on{color:#111827;border-color:#b45309;background:#fff7ed}.ladder-chart-theme-light .muted,.ladder-chart-theme-light .ladder-chart-legend{color:#6b7280}.ladder-chart{margin-top:14px;border:1px solid var(--line);background:#0d1116;padding:10px 12px 8px}.ladder-chart-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:8px}.ladder-chart-bar strong{font-size:13px}.ladder-chart-host{width:100%;height:360px}.ladder-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 0;font-size:11px}.ladder-chart-legend span:before{content:"";display:inline-block;width:14px;height:8px;margin-right:6px;vertical-align:middle;border:1px solid transparent;box-sizing:border-box}.ladder-chart-legend .lg-e:before{height:2px;border:none;background:#6ea8fe}.ladder-chart-legend .lg-ppc:before{height:2px;border:none;background:#c4b5fd;border-style:dotted}.ladder-chart-legend .lg-sl:before{background:#f0717840;border-color:#f07178b3}.ladder-chart-legend .lg-tp:before{background:#3dd68c40;border-color:#3dd68cb3}.ladder-chart-legend .lg-liq:before{height:2px;border:none;background:#ff8a65}.trading-layout{max-width:min(1280px,100%);margin:0 auto;padding:20px 24px 0}.trading-layout .trading-subnav{margin-bottom:8px}.productos-layout{display:flex;flex-direction:column;height:calc(100vh - 57px);min-height:0}.productos-layout.productos-layout--chart-fs{height:100vh;height:100dvh}.productos-layout .productos-outlet{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column}.productos-layout .productos-outlet>*:not(router-outlet){flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.trading-layout .desk{padding-top:12px}.closes-filter-field{display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.closes-filter-field select{min-width:9rem;font:inherit;font-size:13px;letter-spacing:normal;text-transform:none;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:2px;padding:8px 10px}.closes-totals{margin-bottom:8px}.closes-desk-card .closes-hero-pnl{margin:0;font-size:1.55rem;font-weight:650;letter-spacing:-.02em;line-height:1.15}.closes-hero-sub{margin:4px 0 14px;font-size:12px}.closes-metric-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.closes-metric-row span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.closes-metric-row strong{font-size:13px}.closes-opens-head{margin-bottom:8px;font-size:12px}.closes-opens-empty{margin:0;font-size:12px}.closes-open-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.closes-open-item{border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 70%,var(--bg));padding:8px 10px}.closes-open-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;margin-bottom:8px;font-size:12px}.closes-open-title strong{font-size:13px}.closes-open-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.closes-open-grid span{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.closes-open-grid strong{font-size:12px}.closes-pager{display:flex;gap:.5rem}.closes-table-wrap{overflow-x:auto}.closes-table{width:100%;border-collapse:collapse;font-size:13px}.closes-table th,.closes-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}.closes-table th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}.closes-table th.num,.closes-table td.num{text-align:right;font-variant-numeric:tabular-nums}.closes-table tr.gain-row{background:color-mix(in srgb,var(--gain, #1f8a4c) 6%,transparent)}.closes-table tr.loss-row{background:color-mix(in srgb,var(--loss, #c23b3b) 6%,transparent)}.closes-row-meta{font-size:11px;margin-top:2px}.closes-actions{text-align:right}.closes-actions input{width:5.5rem;margin-right:4px}@media(max-width:900px){.closes-metric-row{grid-template-columns:1fr 1fr}}.modal.ibkr-balances-modal{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.ibkr-balances-hint{margin:0 0 12px;font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;align-items:center;gap:6px}.broker-capital-table .col-actions{width:4.5rem;text-align:center}.broker-capital-table .icon-btn{padding:4px 6px;min-width:0}.ibkr-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.ibkr-metric{position:relative;background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-height:88px}.ibkr-metric header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.ibkr-metric header span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);line-height:1.35}.ibkr-metric strong{font-size:18px;font-weight:500}.ibkr-metric small{color:var(--muted);font-size:11px}.ibkr-approx-badge{display:inline-block;font-style:normal;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb,var(--gold) 85%,var(--text));background:color-mix(in srgb,var(--gold) 14%,transparent);padding:1px 5px;border-radius:2px;vertical-align:middle}.ibkr-help-btn{flex-shrink:0;width:18px;height:18px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font:700 11px/1 IBM Plex Mono,monospace;cursor:pointer}.ibkr-help-btn:hover,.ibkr-help-btn[aria-expanded=true]{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}.ibkr-help-pop{position:absolute;z-index:5;left:8px;right:8px;top:calc(100% - 4px);padding:10px 12px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px #0000002e}.ibkr-help-pop strong{display:block;font-size:12px;font-weight:600;margin-bottom:4px;color:var(--text)}.ibkr-help-pop p{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}
