.chart canvas{cursor:crosshair;touch-action:pan-y}
.unified-heatmap{margin-top:12px}.unified-heatmap .segmented{min-width:116px;justify-content:flex-end}.unified-heatmap .segmented button{font-size:12px;padding:7px 14px}
.year-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
.year-tabs button{border:1px solid var(--line);background:#fffaf6;border-radius:999px;padding:6px 14px;color:#6d5c68;cursor:pointer}
.daily-heat-body .weekday-labels{grid-template-rows:repeat(7,30px)}.daily-heat-body .day-grid{grid-template-rows:repeat(7,30px)}
.year-heatmap{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:9px;margin-top:20px}.year-heatmap article{min-height:86px;padding:16px;border-radius:9px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:8px;color:#fff}.year-heatmap span{font-size:12px}.year-heatmap b{font-size:18px}.year-heatmap em{grid-column:1/-1;text-align:right;font-size:11px;font-style:normal;opacity:.82}
.allocation-panel{margin-top:12px}.allocation-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.allocation-item{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb}.allocation-item header,.allocation-item footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.allocation-item header>div{display:grid}.allocation-item header b{font-size:13px}.allocation-item header span,.allocation-item footer{font-size:10px;color:var(--muted)}.allocation-item header strong{font:600 18px Georgia,serif}.allocation-track{height:7px;margin:15px 0 11px;border-radius:7px;background:#e7ece8;overflow:hidden}.allocation-track i{display:block;height:100%;border-radius:7px;background:#cf3f38}.allocation-item.cash{background:#f2f6fa;border-color:#d8e3eb}.allocation-item.cash .allocation-track i{background:#2c78ad}.allocation-item footer em{font-style:normal}
.daily-rebalance-panel{margin-top:12px}.daily-weight-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.daily-weight-row{padding:14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfb}.daily-weight-row header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.daily-weight-row header>div{display:grid;gap:2px;min-width:0}.daily-weight-row header b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.daily-weight-row header span{font-size:10px;color:var(--muted)}.daily-weight-row header strong{font-size:14px}.weight-shift{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:end;margin-top:13px;padding-top:11px;border-top:1px solid var(--line-soft)}.weight-shift span{display:grid;gap:2px}.weight-shift span:last-child{text-align:right}.weight-shift small{font-size:9px;color:var(--muted)}.weight-shift b{font:600 16px Georgia,serif}.weight-shift i{padding-bottom:2px;color:#89968e;font-style:normal}
.dual-charts{grid-template-columns:1fr 1fr}.dual-charts .chart{height:300px}
@media(max-width:1100px){.allocation-list,.daily-weight-list{grid-template-columns:repeat(2,1fr)}.year-heatmap{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.allocation-list,.daily-weight-list{grid-template-columns:1fr 1fr;gap:7px}.allocation-item,.daily-weight-row{padding:11px}.allocation-item header strong{font-size:16px}.daily-weight-row header b{font-size:12px}.daily-weight-row header strong{font-size:12px}.weight-shift{gap:5px;margin-top:10px;padding-top:9px}.weight-shift b{font-size:14px}.daily-heat-body .weekday-labels{grid-template-rows:repeat(7,30px)}.daily-heat-body .day-grid{grid-template-rows:repeat(7,30px)}.year-heatmap{grid-template-columns:1fr}.dual-charts{display:block}.dual-charts>.panel{margin-bottom:10px}}
.daily-month-groups{display:grid;gap:20px;margin-top:20px;width:100%}
.day-month{display:grid;gap:10px;min-width:0}.day-month header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.day-month header b{font-size:13px}.day-month header span{font-size:10px;color:var(--muted)}
.day-sequence{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;width:100%}
.daily-return-cell{min-width:0;min-height:64px;border-radius:8px;padding:9px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:2px 6px;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}.daily-return-cell.gain{background:rgba(207,63,56,var(--heat))}.daily-return-cell.loss{background:rgba(22,134,90,var(--heat))}
.daily-return-cell small{font-size:10px;opacity:.9}.daily-return-cell b{font-size:12px;text-align:right}.daily-return-cell em{grid-column:1/-1;font-size:9px;font-style:normal;text-align:right;opacity:.78}
@media(max-width:1100px){.day-sequence{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(max-width:680px){.daily-month-groups{gap:16px}.day-sequence{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.daily-return-cell{min-height:58px;padding:7px}.daily-return-cell b{font-size:11px}}
.unified-heatmap .heat-cell.up{background:#fdebea;color:#c92f2b!important;border:1px solid #f3c8c5;box-shadow:none}.unified-heatmap .heat-cell.down{background:#e8f6ef;color:#137a50!important;border:1px solid #c7e7d6;box-shadow:none}
.unified-heatmap .heat-cell small,.unified-heatmap .heat-cell b,.unified-heatmap .heat-cell em{color:inherit;opacity:1;font-weight:700;text-shadow:none}
.unified-heatmap .empty-cell{background:#f5f7f5!important;color:#758078!important;border-color:#e0e6e1;box-shadow:none}
.daily-return-cell.gain{background:#fdebea;color:#c92f2b;border:1px solid #f3c8c5;box-shadow:none}.daily-return-cell.loss{background:#e8f6ef;color:#137a50;border:1px solid #c7e7d6;box-shadow:none}
.daily-return-cell small,.daily-return-cell b,.daily-return-cell em{color:inherit;opacity:1;font-weight:700;text-shadow:none}
.heat-legend .gain{background:#c92f2b}.heat-legend .loss{background:#137a50}.heat-legend .flat{background:#dfe5e0}

.daily-pnl-panel{margin-top:12px;overflow:hidden}.daily-pnl-panel .section-head>span{font-size:11px;font-weight:800}.daily-pnl-panel .reconciled{color:#2c754b}.daily-pnl-panel .unreconciled{color:#a45a1d}.daily-pnl-note{margin:12px 0 14px;padding:10px 12px;border-radius:8px;background:#f5f7f5;color:#647169;font-size:11px;line-height:1.7}.daily-pnl-table{overflow-x:auto;border:1px solid var(--line);border-radius:9px}.daily-pnl-head,.daily-pnl-row{display:grid;grid-template-columns:1.35fr .72fr 1fr .9fr .85fr .65fr .85fr .72fr;gap:10px;align-items:center;justify-items:center;min-width:1020px;padding:10px 13px;text-align:center;font-variant-numeric:tabular-nums}.daily-pnl-head{background:#f5f7f5;color:#738077;font-size:10px;font-weight:800}.daily-pnl-head>span,.daily-pnl-row>div,.daily-pnl-row>span,.daily-pnl-row>strong,.daily-pnl-row>b,.daily-pnl-row>em{width:100%;text-align:center}.daily-pnl-row{border-top:1px solid var(--line-soft);font-size:11px}.daily-pnl-row>div{display:grid;justify-items:center;gap:2px}.daily-pnl-row>div b{font-size:12px}.daily-pnl-row small{color:var(--muted)}.daily-pnl-row strong,.daily-pnl-row>b,.daily-pnl-row em{font-size:12px}.daily-pnl-row em{font-style:normal}.daily-pnl-row .fee{color:#7e6653;text-align:center}.daily-pnl-row.reconciliation{background:#fff8ee}.daily-pnl-total{display:flex;align-items:center;justify-content:center;gap:15px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.daily-pnl-total div{display:grid;gap:3px;text-align:center}.daily-pnl-total span,.daily-pnl-total small{font-size:10px;color:var(--muted)}.daily-pnl-total b{font:600 18px Georgia,serif}.daily-pnl-total i{color:#8a968f;font-style:normal}.daily-pnl-total>small{margin-left:5px}
@media(max-width:680px){.daily-pnl-note{font-size:10px}.daily-pnl-total{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}.daily-pnl-total>small{grid-column:1/-1;text-align:right}.daily-pnl-total b{font-size:16px}}
