:root{color:#e8edf2;background:#101419;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:#101419;margin:0}button{color:#edf3f7;cursor:pointer;background:#1d2731;border:1px solid #435261;border-radius:7px;padding:.6rem .8rem}button:hover,button.selected{background:#2c3d4c;border-color:#68a7c8}.app-shell{max-width:1440px;min-height:100vh;margin:auto;padding:1rem}.topbar{border-bottom:1px solid #26313a;justify-content:space-between;align-items:center;padding:.5rem 0 1rem;display:flex}.topbar h1{margin:.1rem 0;font-size:1.35rem}.nav-tabs{gap:.4rem;padding:1rem 0;display:flex;overflow:auto}.nav-tabs button{white-space:nowrap}.section-header{justify-content:space-between;align-items:baseline;gap:1rem;margin:1.2rem 0 .7rem;display:flex}.section-header h2{margin:0;font-size:1.05rem}.section-header span,.muted{color:#96a4af;font-size:.88rem}.stats-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.stat-card,.panel,.empty-state,.notice{background:#171e25;border:1px solid #2a3741;border-radius:10px;padding:1rem}.stat-card span{color:#96a4af;font-size:.8rem;display:block}.stat-card strong{margin-top:.45rem;font-size:1rem;display:block}.stat-card.positive strong{color:#66d19e}.stat-card.negative strong{color:#ff7c7c}.stat-card.warning{border-color:#8b6b31}.panel{margin-top:1rem}.notice{color:#edc36a;border-color:#6b5429;margin-bottom:1rem}.empty-state{text-align:center;margin-top:1rem;padding:2rem}.empty-state h3{margin-bottom:.3rem}.status-pill{color:#cad3da;background:#303a43;border-radius:99px;padding:.18rem .5rem;font-size:.72rem;display:inline-block}.status-pill.positive{color:#72d7a5;background:#173e32}.status-pill.negative{color:#ff9a9e;background:#4a2428}.status-pill.warning{color:#edc36a;background:#493a1c}.symbol-label{flex-direction:column;display:inline-flex}.symbol-label small{color:#96a4af}.table-wrap{background:#171e25;border:1px solid #2a3741;border-radius:10px;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:760px}.table-wrap th,.table-wrap td{text-align:left;white-space:nowrap;border-bottom:1px solid #29343d;padding:.7rem;font-size:.84rem}.table-wrap th{color:#96a4af;font-weight:500}.compact-list{margin:0;padding:0;list-style:none}.compact-list li{border-bottom:1px solid #29343d;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.compact-list li span:nth-child(2){color:#b7c2ca;margin-left:auto}.trading-date{color:#66b88f;font-size:.9rem;font-weight:600}.info-hint{color:#9bcab0;cursor:help;border:1px solid #7ba895;border-radius:50%;place-items:center;width:1rem;height:1rem;margin-left:.25rem;font-size:.68rem;font-weight:700;display:inline-grid}.info-hint:focus{outline-offset:2px;outline:2px solid #68a7c8}.portfolio-event{background:#183128;border-left:3px solid #66b88f}.portfolio-event small{color:#9bcab0;margin-left:.4rem;font-size:.7rem}footer{color:#72818c;text-align:center;padding:2rem 0;font-size:.75rem}@media (width<=700px){.app-shell{padding:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.topbar{align-items:flex-start;gap:.5rem}}@media (width>=1000px){main{max-width:1200px;margin:auto}}.info-hint{vertical-align:-.125em;white-space:nowrap;border:0;border-radius:0;justify-content:center;align-items:center;width:1rem;min-width:1rem;height:1rem;margin-left:.25rem;line-height:1;display:inline-flex}.info-hint svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:1rem;height:1rem;display:block;overflow:visible}.info-hint .info-hint-dot{fill:currentColor;stroke:none}.portfolio-symbol{color:#e4c46a;font-weight:600}.event-table-scroll{max-height:28rem;overflow:auto}.event-table-scroll thead th{z-index:2;color:#f0f4f6;background:#26343f;border-bottom:2px solid #506575;font-weight:700;position:sticky;top:0}.event-table-scroll th:first-child,.event-table-scroll td:first-child{z-index:3;background:#202d36;position:sticky;left:0}.event-table-scroll thead th:first-child{z-index:4}.events-history-scroll{max-height:32rem;overflow:auto}.nav-tabs{z-index:10;background:#101419;border-bottom:1px solid #26313a;position:sticky;top:0}.stat-card>span{white-space:nowrap;align-items:center;gap:.2rem;display:flex}.table-wrap th{color:#f0f4f6;background:#26343f;border-bottom:2px solid #506575;font-weight:700}.dashboard-audit-hidden{display:none}.metric-primary,.metric-secondary{display:block}.metric-secondary{color:#96a4af;margin-top:.15rem;font-size:.76rem}.financial-positive{color:#66d19e}.financial-negative{color:#ff7c7c}.financial-neutral{color:#b7c2ca}.portfolio-history,.portfolio-chart-panel{overflow-x:auto}.range-controls{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.range-controls button:disabled{opacity:.45;cursor:not-allowed}.chart-headline{align-items:baseline;gap:1rem;margin:.4rem 0 .7rem;display:flex}.chart-headline strong{font-size:1.35rem}.chart-headline span{font-size:.85rem}.financial-chart{background:#111820 repeating-linear-gradient(#6982911f 0 1px,#0000 1px 25%);border-radius:6px;width:100%;min-width:360px;height:180px;padding:.4rem;display:block;overflow:visible}.financial-chart polyline{stroke:currentColor;stroke-width:1.7px}.financial-chart circle{display:none}.financial-chart.compact{background:0 0;width:86px;min-width:86px;height:28px;padding:0}.chart-axis{color:#96a4af;justify-content:space-between;gap:.5rem;font-size:.75rem;display:flex}.chart-axis strong{color:#e8edf2}.chart-summary{color:#96a4af;font-size:.78rem}.table-wrap:has(.financial-chart){max-height:34rem;overflow:auto}.table-wrap:has(.financial-chart) thead th{z-index:4;position:sticky;top:0}:is(.table-wrap:has(.financial-chart) th:first-child,.table-wrap:has(.financial-chart) td:first-child){z-index:3;background:#202d36;position:sticky;left:0}.table-wrap:has(.financial-chart) thead th:first-child{z-index:5}.row-actions{color:#96a4af;background:0 0;border:0;padding:.15rem .4rem;font-size:1.2rem}.row-actions:hover{color:#e8edf2}.nav-tabs{justify-content:center}.portfolio-event .portfolio-symbol{font-weight:700;color:#e4c46a!important}.breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.breakdown-grid>div{background:#1d2931;border:1px solid #334550;border-radius:7px;padding:.7rem}.breakdown-grid strong{color:#d7e1e7;margin-bottom:.4rem;display:block}@media (width<=700px){.nav-tabs{justify-content:flex-start}.breakdown-grid{grid-template-columns:1fr}}.dividend-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dividend-summary-grid .stat-card>span{white-space:normal}.monthly-dividend-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;display:grid}.monthly-dividend-grid article,.quarterly-dividend-grid article{background:#1d2931;border:1px solid #334550;border-radius:7px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.monthly-dividend-grid span,.quarterly-dividend-grid span{color:#d7e1e7;font-weight:600}.monthly-dividend-grid small,.quarterly-dividend-grid small{color:#96a4af}.quarterly-dividend-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;display:grid}.quarterly-dividend-grid .full-year{border-color:#557765}.dividend-group{margin-top:1.25rem}.dividend-group h3{color:#d7e1e7;font-size:.95rem}.dividend-audit .table-wrap{max-height:28rem;overflow:auto}.dividend-audit .table-wrap table{min-width:1100px}.dividend-audit .table-wrap th{z-index:2;color:#f0f4f6;background:#26343f;position:sticky;top:0;box-shadow:0 1px #506575}.dividend-audit .table-wrap th:first-child,.dividend-audit .table-wrap td:first-child{z-index:3;background:#202d36;position:sticky;left:0}.dividend-audit .table-wrap th:first-child{z-index:4}.dividend-audit .table-wrap td:first-child .portfolio-symbol{color:#e4c46a;font-weight:700}.dashboard-dividend-summary strong{color:#d7e1e7}@media (width<=900px){.dividend-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-dividend-grid,.quarterly-dividend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=500px){.dividend-summary-grid,.monthly-dividend-grid,.quarterly-dividend-grid{grid-template-columns:1fr}}.chart-tooltip{z-index:20;pointer-events:none;color:#e8edf2;background:#26343f;border:1px solid #557765;border-radius:5px;padding:.35rem .5rem;font-size:.75rem;position:absolute;box-shadow:0 4px 14px #00000059}.chart-tooltip strong,.chart-tooltip span{display:block}.financial-chart{position:relative}.financial-chart circle{fill:#66d19e;stroke:#101419;stroke-width:.6px;display:block}.chart-wrap{display:block;position:relative}.chart-plot{padding-left:4.8rem;position:relative}.chart-y-axis{color:#80909a;width:4.5rem;font-size:.68rem;position:absolute;top:0;bottom:0;left:0}.chart-y-axis span{white-space:nowrap;position:absolute;right:.4rem;transform:translateY(-50%)}.chart-axis{height:1.2rem;margin-left:4.8rem;position:relative}.chart-axis span{white-space:nowrap;position:absolute;transform:translate(-50%)}.chart-axis span:first-child{transform:none}.chart-axis span:last-child{transform:translate(-100%)}.financial-chart{preserveAspectRatio:xMidYMid meet}.financial-chart circle{vector-effect:non-scaling-stroke;display:block}.chart-axis{font-variant-numeric:tabular-nums}.financial-chart line{fill:none;stroke-width:1.8px}.financial-chart line.financial-positive{stroke:#66d19e}.financial-chart line.financial-negative{stroke:#ff7c7c}.financial-chart line.financial-neutral{stroke:#96a4af}.financial-chart circle{fill:#66d19e;stroke:#101419;stroke-width:.6px;vector-effect:non-scaling-stroke;display:block}.financial-chart.compact circle{display:none}.portfolio-chart{color:#66d19e;width:100%;display:block;position:relative}.portfolio-chart__plot{padding-left:4.8rem;position:relative}.portfolio-chart__plot svg{background:#111820 repeating-linear-gradient(#6982911a 0 1px,#0000 1px 25%);border-radius:7px;width:100%;min-height:300px;display:block}.portfolio-chart__grid line{stroke:#96a4af2e;stroke-width:1px}.portfolio-chart__area{fill:#66d19e;opacity:.08}.portfolio-chart__segment{fill:none;stroke-width:2px;vector-effect:non-scaling-stroke}.portfolio-chart__segment.financial-positive{stroke:#66d19e}.portfolio-chart__segment.financial-negative{stroke:#ff7c7c}.portfolio-chart__segment.financial-neutral{stroke:#96a4af}.portfolio-chart__point{fill:#66d19e;stroke:#101419;stroke-width:1px;cursor:pointer;outline:none}.portfolio-chart__point:focus{stroke:#e8edf2;stroke-width:1.5px}.portfolio-chart__y-labels{color:#80909a;width:4.5rem;font-size:.68rem;position:absolute;top:0;bottom:0;left:0}.portfolio-chart__y-labels span{white-space:nowrap;position:absolute;right:.4rem;transform:translateY(-50%)}.portfolio-chart__x-labels{color:#96a4af;font-variant-numeric:tabular-nums;height:1.4rem;margin-left:4.8rem;font-size:.72rem;position:relative}.portfolio-chart__x-labels span{white-space:nowrap;position:absolute;transform:translate(-50%)}.portfolio-chart__x-labels span:first-child{transform:none}.portfolio-chart__x-labels span:last-child{transform:translate(-100%)}.portfolio-chart__tooltip{z-index:20;pointer-events:none;color:#e8edf2;background:#26343f;border:1px solid #557765;border-radius:5px;padding:.35rem .5rem;font-size:.75rem;position:absolute;box-shadow:0 4px 14px #00000059}.portfolio-chart__tooltip strong,.portfolio-chart__tooltip span{display:block}.portfolio-chart--compact{vertical-align:middle;width:140px;display:inline-block}.portfolio-chart--compact .portfolio-chart__plot{padding-left:0}.portfolio-chart--compact .portfolio-chart__plot svg{background:0 0;min-height:48px}.portfolio-chart--compact .portfolio-chart__area,.portfolio-chart--compact .portfolio-chart__grid,.portfolio-chart--compact .portfolio-chart__y-labels,.portfolio-chart--compact .portfolio-chart__x-labels{display:none}.portfolio-chart--compact .portfolio-chart__segment{stroke-width:1.5px}.portfolio-chart--compact .portfolio-chart__point{display:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portfolio-chart__tooltip{max-width:13rem;transform:translate(-50%,-100%)}.historical-report h2{margin:0 0 .75rem;font-size:1.05rem}.historical-report__scroll{border:1px solid #2a3741;border-radius:8px;max-height:24rem;overflow:auto}.historical-report table{border-collapse:collapse;width:100%;min-width:760px}.historical-report th,.historical-report td{text-align:left;white-space:nowrap;border-bottom:1px solid #29343d;padding:.65rem .75rem;font-size:.82rem}.historical-report th{z-index:2;color:#f0f4f6;background:#26343f;font-weight:600;position:sticky;top:0}.historical-report__quality{border-radius:99px;padding:.15rem .45rem;font-size:.7rem;display:inline-block}.historical-report__quality.complete{color:#72d7a5;background:#173e32}.historical-report__quality.incomplete{color:#edc36a;background:#493a1c}.cost-basis-audit h2{margin:0 0 .75rem;font-size:1.05rem}.cost-basis-audit__scroll{border:1px solid #2a3741;border-radius:8px;max-height:26rem;overflow:auto}.cost-basis-audit table{border-collapse:collapse;width:100%;min-width:980px}.cost-basis-audit th,.cost-basis-audit td{text-align:left;white-space:nowrap;border-bottom:1px solid #29343d;padding:.65rem .75rem;font-size:.82rem}.cost-basis-audit th{z-index:3;color:#f0f4f6;background:#26343f;font-weight:600;position:sticky;top:0}.cost-basis-audit th:nth-child(2),.cost-basis-audit td:nth-child(2){z-index:2;background:#202d36;position:sticky;left:0}.cost-basis-audit th:nth-child(2){z-index:4}.portfolio-chart__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-bottom:.8rem;display:grid}.portfolio-chart__metrics>div{background:#121a21;border:1px solid #26343d;border-radius:7px;padding:.65rem .75rem}.portfolio-chart__metrics span{color:#96a4af;font-size:.72rem;display:block}.portfolio-chart__metrics strong{margin-top:.2rem;font-size:.95rem;display:block}.portfolio-chart__value-line,.portfolio-chart__cost-line{fill:none;vector-effect:non-scaling-stroke}.portfolio-chart__value-line{stroke:#66d19e;stroke-width:2px}.portfolio-chart__cost-line{stroke:#8998a4;stroke-width:1.7px;stroke-dasharray:5 3}.portfolio-chart__marker{vector-effect:non-scaling-stroke;pointer-events:none}.portfolio-chart__marker--value{fill:#66d19e;stroke:#101419;stroke-width:.75px}.portfolio-chart__marker--cost{fill:#8998a4;stroke:#101419;stroke-width:.75px}.portfolio-chart__hit{fill:#0000;stroke:#0000;cursor:pointer;outline:none}.portfolio-chart__hit:focus{stroke:#e8edf2;stroke-width:1px;fill:#0000}.portfolio-chart__legend{color:#96a4af;justify-content:flex-end;gap:1rem;font-size:.74rem;display:flex}.portfolio-chart__legend span:before{content:"";vertical-align:middle;width:1rem;height:2px;margin-right:.35rem;display:inline-block}.portfolio-chart__legend .value:before{background:#66d19e}.portfolio-chart__legend .cost:before{background:#8998a4}.sparkline-wrap{display:inline-block;position:relative}.sparkline{width:140px;height:48px;display:block}.sparkline polyline{fill:none;stroke-width:1.6px;vector-effect:non-scaling-stroke}.sparkline.financial-positive polyline{stroke:#66d19e}.sparkline.financial-negative polyline{stroke:#ff7c7c}.sparkline.financial-neutral polyline{stroke:#96a4af}.sparkline__hit{fill:#0000;stroke:#0000;cursor:pointer;outline:none}.sparkline__hit:focus{stroke:#e8edf2;stroke-width:.75px}.sparkline-tooltip{z-index:25;pointer-events:none;color:#e8edf2;background:#26343f;border:1px solid #557765;border-radius:5px;padding:.3rem .45rem;font-size:.68rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000059}.sparkline-tooltip strong,.sparkline-tooltip span{white-space:nowrap;display:block}@media (width<=600px){.portfolio-chart__metrics{grid-template-columns:1fr}.portfolio-chart__plot{padding-left:4.2rem}.portfolio-chart__x-labels{margin-left:4.2rem}}
