.pf-stacked table {
  width: 100%;
  border-collapse: collapse;
}
.pf-stacked th,
.pf-stacked td {
  padding: 10px 12px;
  border-bottom: 1px solid #e6e6e6;
  vertical-align: top;
}

@media (max-width: 768px) {
  .pf-stacked thead {
    position: absolute;
    left: -9999px;
    top: -9999px;
    height: 0;
    width: 0;
    overflow: hidden;
  }

  .pf-stacked table,
  .pf-stacked tbody,
  .pf-stacked tr {
    display: block;
    width: 100%;
  }

  .pf-stacked tr {
    border: 1px solid #ededed;
    border-radius: 10px;
    margin: 0 0 12px 0;
    padding: 0;
    background: #fafafa;
  }

  .pf-stacked .performance_table tr {
    border-bottom: 1px solid #ededed !important;
  }

  .pf-stacked th[scope="row"] {
    display: block;
    width: 100%;
    font-weight: 700;
    border: 0;
    padding: 10px 12px 6px;
  }

  .pf-stacked td {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    border: 0;
    border-bottom: 1px solid #f1f1f1;
    padding: 10px 12px;
  }
  .pf-stacked td:last-child {
    border-bottom: 0;
  }

  .pf-stacked td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    font-weight: 600;
    opacity: 0.9;
    line-height: 1.4;
    word-break: break-word;
  }

  .pf-stacked td > * {
    flex: 1 1 auto;
    min-width: 0;
  }

  .pf-stacked .performance_table {
    table-layout: auto !important;
  }
  .pf-stacked .performance_table th,
  .pf-stacked .performance_table td {
    width: auto !important;
    max-width: none !important;
  }

  .pf-stacked .performance_table th:nth-child(1),
  .pf-stacked .performance_table .pf_table_fund_name,
  .pf-stacked .performance_table .pf_table_asset_class,
  .pf-stacked .performance_table .pf_table_class {
    width: auto !important;
    text-align: inherit !important;
  }

  .pf-stacked .performance_table th[scope="row"] {
    display: block;
    width: 100% !important;
    text-align: left !important;
    padding: 10px 12px 6px;
    border: 0;
  }

  .pf-stacked .performance_table td {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border: 0;
    border-bottom: 1px solid #f1f1f1;
    padding: 10px 12px;
    text-align: left;
    background: linear-gradient(to right, #ab2258 0, #ab2258 42%, transparent 42%, transparent 100%);
    overflow: hidden;
  }
  .pf-stacked .performance_table td:last-child {
    border-bottom: 0;
  }

  .pf-stacked .performance_table td::before {
    content: attr(data-label);
    flex: 0 0 42%;
    font-weight: 600;
    opacity: 0.9;
    line-height: 1.4;
    word-break: break-word;
    color: #fff;
    padding-right: 10px;
  }

  .pf-stacked .performance_table td > * {
    flex: 1 1 auto;
    min-width: 0;
  }

  .pf-stacked .performance_table td,
  .pf-stacked .performance_table td * {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .pf-stacked .performance_table { font-size: 14px !important; }
  .pf-stacked .performance_table th,
  .pf-stacked .performance_table td { font-size: 14px !important; line-height: 1.45 !important; }
  .pf-stacked .performance_table td::before { font-size: 14px !important; line-height: 1.45 !important; }

  .pf-stacked .pricing_arrow_down,
  .pf-stacked .pricing_arrow_up {
    border-width: 0 2px 2px 0;
    padding: 2px;
    transform-origin: center;
    display: inline-block;
    line-height: 1;
    vertical-align: middle;
  }
  .pf-stacked .pricing_arrow_down { transform: rotate(45deg) scale(0.9); }
  .pf-stacked .pricing_arrow_up   { transform: rotate(-135deg) scale(0.9); }

  .pf-stacked .performance_table td > .pricing_arrow_down,
  .pf-stacked .performance_table td > .pricing_arrow_up {
    flex: 0 0 auto;
    max-width: 100%;
  }

  .pf-stacked .performance_table td a:has(.pricing_arrow_down),
  .pf-stacked .performance_table td a:has(.pricing_arrow_up) {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
  }
}

@media (max-width: 700px) {
  .pf-stacked .performance_table th,
  .pf-stacked .performance_table td { font-size: 14px !important; line-height: 1.45 !important; }
  .pf-stacked .performance_table td::before { font-size: 14px !important; line-height: 1.45 !important; color: #fff; }
}

@media (max-width: 480px) {
  .pf-stacked .pricing_arrow_down,
  .pf-stacked .pricing_arrow_up {
    border-width: 0 1.5px 1.5px 0;
    padding: 1.5px;
  }
  .pf-stacked .pricing_arrow_down { transform: rotate(45deg) scale(0.85); }
  .pf-stacked .pricing_arrow_up   { transform: rotate(-135deg) scale(0.85); }
}
