.portfolio{padding:2rem 0 4rem}.hint{color:var(--muted);margin-bottom:1.5rem}.loading{color:var(--muted)}.kpi-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.kpi-tile{background:var(--mint);border-radius:var(--radius);flex:12rem;padding:1.25rem 1.5rem}.kpi-tile.primary{background:linear-gradient(135deg, var(--mint), var(--paper));border:2px solid var(--leaf)}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem;font-size:.8rem}.kpi-value{font-size:2.2rem;font-weight:800;font-family:var(--font-display);line-height:1}.kpi-tile.secondary .kpi-value{font-size:1.6rem}.kpi-value.positive{color:var(--leaf-deep)}.kpi-value.negative{color:var(--coral)}.kpi-asof{color:var(--muted);margin:.5rem 0 2rem;font-size:.78rem}.benchmarks-block{margin-bottom:2.5rem}.benchmarks-block h2{margin:0 0 .9rem;font-size:1.1rem}.bar-row{grid-template-columns:6.5rem 1fr;align-items:center;gap:.75rem;margin-bottom:.55rem;font-size:.85rem;display:grid}.bar-row .bar-label{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.bar-row.is-portfolio .bar-label{color:var(--ink);font-weight:800}.bar-track{background:var(--line);opacity:.35;border-radius:3px;height:1.4rem;position:relative}.bar-baseline{background:var(--muted);opacity:.5;width:2px;position:absolute;top:0;bottom:0}.bar-fill{background:var(--muted);border-radius:3px;position:absolute;top:2px;bottom:2px}.bar-fill.positive{background:var(--leaf)}.bar-fill.negative{background:var(--coral)}.bar-value{white-space:nowrap;font-size:.78rem;font-weight:700;position:absolute;top:50%;transform:translateY(-50%)}.holdings-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin-bottom:2.5rem;display:grid}.holding-card{background:var(--paper);border:2px solid var(--line);border-left:4px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:1.1rem 1.25rem;transition:transform .15s cubic-bezier(.2,.8,.3,1.4),border-left-color .15s,box-shadow .15s}.holding-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.holding-card.positive{border-left-color:var(--leaf)}.holding-card.negative{border-left-color:var(--coral)}.holding-symbol{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem;font-weight:800;display:flex}.tier-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--paper);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:800}.tier-badge.tier-standard{color:var(--marigold-deep);border-color:var(--marigold)}.tier-badge.tier-high-conviction{color:var(--leaf-deep);border-color:var(--leaf)}.tier-legend{color:var(--muted);gap:1.1rem;margin-bottom:1rem;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:.35rem;display:flex}.legend-dot{border:2px solid var(--line);border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.tier-dot-starter{background:var(--paper);border-color:var(--muted)}.tier-dot-standard{background:var(--paper);border-color:var(--marigold)}.tier-dot-high-conviction{background:var(--paper);border-color:var(--leaf)}.holding-thesis{margin-bottom:.6rem;font-size:.82rem}.holding-card-cta{color:var(--muted);margin-top:.7rem;font-size:.78rem;font-weight:600}.holding-thesis a{color:var(--leaf-deep);font-weight:600}.holding-headline{font-size:1.6rem;font-weight:800;font-family:var(--font-display);margin-bottom:.6rem}.holding-stats{gap:.3rem;font-size:.85rem;display:grid}.holding-stats .row{justify-content:space-between;gap:.5rem;display:flex}.holding-stats .label{color:var(--muted)}.positive{color:var(--leaf-deep);font-weight:700}.negative{color:var(--coral);font-weight:700}.info-icon{background:var(--line);width:.95rem;height:.95rem;color:var(--muted);cursor:help;text-transform:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:.3rem;font-size:.65rem;font-weight:800;display:inline-flex;position:relative}.info-icon:hover,.info-icon:focus{background:var(--leaf);color:#fff;outline:none}.info-icon .tooltip{visibility:hidden;opacity:0;background:var(--ink);color:var(--paper);text-align:left;z-index:20;pointer-events:none;border-radius:8px;width:15rem;max-width:60vw;padding:.55rem .75rem;font-size:.75rem;font-weight:500;line-height:1.4;transition:opacity .15s;position:absolute;bottom:135%;left:50%;transform:translate(-50%)}.info-icon:hover .tooltip,.info-icon:focus .tooltip{visibility:visible;opacity:1}.holding-headline-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;margin-bottom:.2rem;font-size:.8rem;display:flex}.label-with-info{align-items:center;display:inline-flex}.allocation{margin-bottom:2.5rem}.allocation h2{margin:0 0 1rem;font-size:1.1rem}.alloc-block{margin-bottom:1.4rem}.alloc-block:last-child{margin-bottom:0}.alloc-block h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem;font-size:.85rem;font-weight:700}.treemap{border-radius:var(--radius);gap:2px;height:7rem;display:flex;overflow:hidden}.treemap-cell{color:#fff;flex-direction:column;justify-content:flex-end;min-width:2.75rem;padding:.6rem .7rem;display:flex;overflow:hidden}.treemap-name{white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:700;overflow:hidden}.treemap-value{font-size:1.15rem;font-weight:800;font-family:var(--font-display)}.analyze-btn{background:var(--leaf);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:10px;padding:.65rem 1.4rem;font-weight:700;text-decoration:none;display:inline-block}.analyze-btn:hover{background:var(--leaf-deep)}.reports-heading{margin-top:2.5rem}
