/* 持仓选择列表只在自身范围横向滚动，不改变页面宽度和共用菜单。 */
.portfolio-positions { min-width: 0; margin: 16px 0 20px; }
.portfolio-positions > h2 { margin: 0 0 16px; font-size: 21px; }
.portfolio-positions-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.portfolio-positions-heading h2 { margin: 0; font-size: 21px; }
.portfolio-expired-link, .portfolio-expired-back {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px;
  color: var(--accent); text-decoration: none; font-size: 14px;
}
.portfolio-expired-link { flex-shrink: 0; }
.expired-positions { min-width: 0; }
.expired-positions h1 { margin: 16px 0 24px; font-size: 26px; }
.expired-position-list { display: grid; gap: 12px; }
.expired-position-card { min-width: 0; border: 1px solid var(--border); border-radius: 13px; background: var(--surface); }
.expired-position-card > summary { display: grid; gap: 14px; padding: 16px; cursor: pointer; list-style: none; }
.expired-position-card > summary::-webkit-details-marker { display: none; }
.expired-position-heading, .expired-position-amount, .expired-position-footer {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
}
.expired-position-heading > strong { font-size: 20px; }
.expired-position-amount > span, .expired-position-footer time { color: var(--muted); font-size: 12px; }
.expired-position-amount b { overflow-wrap: anywhere; font-size: 17px; }
.expired-position-amount small { font-size: 11px; font-weight: 400; }
.expired-position-open { color: var(--accent); font-size: 13px; }
.expired-position-card[open] .expired-position-open > span { display: inline-block; transform: rotate(180deg); }
.redesign-page .expired-position-card > .portfolio-detail { margin: 0 16px 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.expired-position-card > summary:focus-visible, .portfolio-expired-link:focus-visible,
.portfolio-expired-back:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.portfolio-tabs {
  position: relative; display: flex; gap: 10px; overflow-x: auto; padding: 2px 0 10px;
  scroll-snap-type: x proximity; scrollbar-width: thin;
  scrollbar-color: var(--accent) transparent; overscroll-behavior-x: contain;
}
.portfolio-tab {
  flex: 0 0 calc((100% - 20px) / 3); min-width: 105px; min-height: 142px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 14px 8px; gap: 5px; border: 1px solid var(--border); border-radius: 13px;
  background: var(--surface); color: var(--text); scroll-snap-align: start;
  font: inherit; cursor: pointer; overflow-wrap: anywhere;
}
.portfolio-tab > .icon { color: var(--accent); margin-bottom: 3px; flex-shrink: 0; }
.portfolio-tab > strong { font-size: 20px; }
.portfolio-tab > span { font-size: 11px; color: var(--muted); }
.portfolio-tab > b { font-size: 13px; font-weight: 600; }
.portfolio-tab small { font-size: 9px; font-weight: 400; }
.portfolio-tab .portfolio-reference {
  color: var(--muted); max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.portfolio-tab .portfolio-tab-status {
  font-style: normal; font-size: 10px; padding: 1px 7px; border-radius: 10px;
  border: 1px solid var(--success); color: var(--success);
}
/* 已到期资产包排在后面并弱化，选中时仍保持可读。 */
.portfolio-tab.is-matured { opacity: .65; border-style: dashed; }
.portfolio-tab.is-matured .portfolio-tab-status { border-color: var(--muted); color: var(--muted); }
.portfolio-tab.is-matured[aria-selected="true"] { opacity: 1; }
.portfolio-tab[aria-selected="true"] { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
.portfolio-tab[aria-selected="true"] .portfolio-tab-status { border-color: currentColor; color: inherit; }
.portfolio-tab[aria-selected="true"] :is(.icon, span, small) { color: inherit; }
.portfolio-tab:focus-visible, .portfolio-detail:focus-visible { outline: 2px solid var(--warning); outline-offset: 2px; }
.portfolio-detail { margin-top: 22px; }
.portfolio-detail[hidden] { display: none; }
.portfolio-detail-heading { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.redesign-page .portfolio-detail-heading h3 { margin: 0; font-size: 23px; line-height: 1.4; }
.portfolio-status { border: 1px solid var(--success); color: var(--success); border-radius: 15px; padding: 3px 8px; font-size: 11px; }
.portfolio-status.is-matured { border-color: var(--muted); color: var(--muted); }
.portfolio-principal { margin: 20px 0; }
.portfolio-principal dt, .portfolio-amounts dt { color: var(--muted); font-size: 12px; }
.portfolio-principal dd { margin: 5px 0 0; font-size: clamp(24px, 7.5vw, 32px); font-weight: 600; overflow-wrap: anywhere; }
.portfolio-principal small { font-size: 13px; font-weight: 400; }
/* 已到期资产包：金额与提取按钮同行，下方说明本金去向。 */
.portfolio-principal dd { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.portfolio-principal dd > span { min-width: 0; }
.portfolio-principal .portfolio-principal-withdraw { font-size: 14px; cursor: pointer; }
.portfolio-principal-note { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.portfolio-amounts {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0 0 16px;
  padding: 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface);
}
.portfolio-amounts > div + div { border-left: 1px solid var(--border); padding-left: 14px; }
.portfolio-amounts dd { margin: 6px 0 0; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.portfolio-amounts small { font-size: 10px; font-weight: 400; }
.portfolio-progress { padding: 18px 16px; border-radius: 12px; background: var(--accent); color: var(--on-accent); }
.portfolio-progress-heading { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; }
.portfolio-progress-heading strong { font-size: 20px; }
.portfolio-progress .progress-track { height: 8px; margin: 14px 0 16px; background: color-mix(in srgb, currentColor 23%, transparent); }
.portfolio-progress .progress-track > div { min-width: 0; height: 100%; background: var(--warning); }
.portfolio-dates { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; font-size: 11px; }
.portfolio-dates > span + span { padding-left: 12px; border-left: 1px solid color-mix(in srgb, currentColor 25%, transparent); }
.portfolio-dates time { display: block; margin-top: 3px; }
.portfolio-detail-reference { color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.portfolio-positions .empty-state { padding: 35px 16px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); text-align: center; }
.portfolio-positions .empty-state > .icon { color: var(--accent); }
@media (max-width: 359px) {
  .portfolio-amounts { padding: 12px; gap: 10px; }
  .portfolio-amounts dd { font-size: 16px; }
  .portfolio-amounts > div + div { padding-left: 10px; }
}
/* 覆盖旧版通用 section 面板规则，详情与选择器直接排在页面上。 */
.redesign-page .portfolio-positions, .redesign-page .portfolio-detail {
  padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
/* 对齐确认稿的紧凑选择卡与金额节奏，订单号保留用于区分同期限持仓。 */
.portfolio-tab { min-height: 130px; padding: 10px 8px; gap: 3px; }
.portfolio-tab > strong { font-size: 20px; line-height: 1.3; }
.portfolio-tab > span { line-height: 1.3; }
.portfolio-tab > b { line-height: 1.4; }
.portfolio-tab small { line-height: 1.2; }
.portfolio-detail { margin-top: 18px; }
.portfolio-principal { margin: 16px 0; }
.portfolio-principal dd { line-height: 1.3; }
.portfolio-amounts dd { line-height: 1.4; }
.portfolio-dates > span { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px; }
.portfolio-dates time { margin-top: 0; }
