.portfolio-page { max-width: 1180px; }
.portfolio-page .post-header { max-width: 900px; }
.portfolio-page > .post-content { max-width: 850px; margin-left: auto; margin-right: auto; }
.portfolio-premium-shell { margin-top: 62px; padding-top: 42px; border-top: 1px solid var(--ink); }
.portfolio-premium-heading { max-width: 780px; margin-bottom: 28px; }
.portfolio-premium-heading h2 { font: 600 38px/1.1 'Source Serif 4', serif; letter-spacing: -.035em; margin: 10px 0 12px; }
.portfolio-premium-heading > p:not(.eyebrow) { color: var(--muted); font-size: 15px; }
.portfolio-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 30px; padding: 10px; border: 1px solid var(--line); background: #fff; }
.portfolio-tab { appearance: none; border: 0; background: transparent; color: var(--ink); padding: 17px 14px; cursor: pointer; font: 800 11px/1.25 Manrope, Arial, sans-serif; letter-spacing: .055em; text-transform: uppercase; transition: background .15s ease, color .15s ease; }
.portfolio-tab:hover { background: #eef2ee; }
.portfolio-tab.is-active { background: var(--green); color: #fff; }
.portfolio-panel { display: none; }
.portfolio-panel.is-active { display: block; }
.portfolio-placeholder { min-height: 220px; padding: 42px; border: 1px solid var(--line); background: #fff; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.portfolio-placeholder strong { font: 800 12px/1.3 Manrope, Arial, sans-serif; letter-spacing: .07em; color: var(--green); }
.portfolio-placeholder span { color: var(--muted); font: 18px/1.5 'Source Serif 4', serif; }
.portfolio-premium-lock { padding: 48px; border: 1px solid var(--line); background: #fff; text-align: center; }
.portfolio-premium-lock h3 { font: 600 31px/1.15 'Source Serif 4', serif; letter-spacing: -.025em; margin: 10px 0 12px; }
.portfolio-premium-lock > p:not(.eyebrow) { max-width: 560px; margin: 0 auto 24px; color: var(--muted); }
.portfolio-signin { display: inline-block; margin-left: 18px; color: var(--green); font-size: 12px; font-weight: 800; }
@media (max-width: 900px) {
    .portfolio-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .portfolio-page { max-width: 100%; }
    .portfolio-premium-shell { margin-top: 48px; padding-top: 32px; }
    .portfolio-tabs { grid-template-columns: 1fr; gap: 6px; padding: 7px; }
    .portfolio-tab { padding: 14px 12px; }
    .portfolio-placeholder, .portfolio-premium-lock { padding: 30px 24px; }
    .portfolio-signin { display: block; margin: 18px 0 0; }
}

.portfolio-data-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:28px; align-items:end; margin:0 0 22px; }
.portfolio-data-head div { display:flex; flex-direction:column; gap:5px; }
.portfolio-data-head strong { font:800 12px/1.25 Manrope,Arial,sans-serif; letter-spacing:.075em; color:var(--green); }
.portfolio-data-head span { font:600 25px/1.2 'Source Serif 4',serif; letter-spacing:-.02em; }
.portfolio-data-head p { margin:0; color:var(--muted); font-size:13px; }
.portfolio-tablebox { max-height:650px; overflow:auto; border:1px solid var(--line); background:#fff; }
.portfolio-table { width:100%; min-width:820px; border-collapse:separate; border-spacing:0; margin:0; font-size:13px; }
.portfolio-watch-table { min-width:1080px; }
.portfolio-table th,.portfolio-table td { padding:17px 20px; text-align:left; vertical-align:middle; border-bottom:1px solid var(--line); white-space:nowrap; }
.portfolio-table th { position:sticky; top:0; z-index:3; background:var(--green); color:#fff; font:800 10px/1.2 Manrope,Arial,sans-serif; text-transform:uppercase; letter-spacing:.055em; }
.portfolio-table tbody tr:nth-child(even) { background:#f7f9f7; }
.portfolio-table tbody tr:hover { background:#eef3ef; }
.portfolio-table td:first-child { min-width:270px; font-weight:700; }
.portfolio-table td:nth-child(2) { min-width:150px; }
.portfolio-table tbody tr:last-child td { border-bottom:0; }
.portfolio-table .pl-positive { color:#147a42; font-weight:800; }
.portfolio-table .pl-negative { color:#a83232; font-weight:800; }
.portfolio-footnote { margin:16px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }
@media (max-width:760px) {
 .portfolio-data-head { grid-template-columns:1fr; gap:12px; }
 .portfolio-data-head span { font-size:22px; }
 .portfolio-tablebox { max-height:560px; }
 .portfolio-table th,.portfolio-table td { padding:14px 15px; }
}
