    /* ===== 售后管理 ===== */
    .aft-page {
      padding: 14px 16px 12px; display: flex; flex-direction: column; height: 100%;
      overflow: hidden; background: #f3f5f6;
    }
    .aft-main-tabs {
      display: flex; align-items: flex-end; gap: 8px; flex-shrink: 0;
    }
    .aft-main-tab {
      min-width: 120px; height: 42px; display: inline-flex; align-items: center; justify-content: center;
      padding: 0 22px; border: 1px solid #e5e9ed; border-bottom: none; border-radius: 8px 8px 0 0;
      background: #eef1f3; color: var(--text-secondary); font-size: 14px; font-weight: 500; cursor: pointer;
      position: relative;
    }
    .aft-main-tab.active { background: #fff; color: var(--text-primary); border-color: #fff; font-weight: 600; }
    .aft-main-tab.active::after {
      content: ''; position: absolute; left: 24px; right: 24px; bottom: 0; height: 3px;
      border-radius: 3px 3px 0 0; background: var(--brand);
    }
    .aft-filter-area {
      padding: 26px 20px 24px; background: #fff; border: 1px solid #edf0f2; border-bottom: none;
      border-radius: 0 8px 0 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex-shrink: 0;
    }
    .aft-search {
      height: 34px; width: 320px; display: flex; align-items: center; gap: 7px;
      border: 1px solid var(--border); border-radius: 17px; padding: 0 13px; color: var(--text-muted);
    }
    .aft-search input {
      border: none; outline: none; width: 260px; color: var(--text-primary); font-size: 13px; font-family: inherit;
    }
    .aft-date-range {
      height: 34px; min-width: 310px; display: flex; align-items: center; justify-content: space-between;
      border: 1px solid var(--border); border-radius: 17px; padding: 0 14px; color: var(--text-muted); font-size: 13px;
    }
    .aft-filter-btn {
      height: 34px; padding: 0 24px; border-radius: 17px; border: 1px solid var(--border);
      background: #fff; color: var(--text-secondary); font-size: 13px; cursor: pointer;
    }
    .aft-filter-btn.primary { border-color: var(--brand); background: linear-gradient(90deg, #9bd7b4, #72bf93); color: #fff; }
    .aft-filter-btn.outline { border-color: rgba(48, 155, 106, .65); color: var(--brand); }
    .aft-filter-btn:hover { border-color: var(--brand); color: var(--brand); }
    .aft-filter-btn.primary:hover { color: #fff; background: var(--brand); }
    .aft-body {
      background: #fff; border-left: 1px solid #edf0f2; border-right: 1px solid #edf0f2;
      flex-shrink: 0;
    }
    .aft-status-tabs {
      display: flex; align-items: flex-end; gap: 12px; padding: 34px 20px 0;
      border-top: 1px solid var(--border-light); border-bottom: 1px solid var(--border);
      overflow-x: auto;
    }
    .aft-status-tab {
      min-width: 102px; height: 38px; display: inline-flex; align-items: center; justify-content: center;
      padding: 0 15px; background: #eef0f2; border: 1px solid #e5e9ed; border-bottom: none;
      border-radius: 6px 6px 0 0; color: var(--text-primary); font-size: 13px; cursor: pointer; position: relative;
      white-space: nowrap;
    }
    .aft-status-tab.active { background: #fff; font-weight: 600; }
    .aft-status-tab.active::after {
      content: ''; position: absolute; left: 22px; right: 22px; bottom: 0; height: 3px;
      border-radius: 3px 3px 0 0; background: var(--brand);
    }
    .aft-stat-row {
      display: flex; align-items: center; padding: 22px 20px 18px; font-size: 13px; color: var(--text-primary);
    }
    .aft-stat-row .amount { color: #f05b57; margin-left: 8px; }
    .aft-expand-btn {
      margin-left: auto; height: 34px; padding: 0 18px; border-radius: 17px;
      border: 1px solid rgba(48, 155, 106, .65); color: var(--brand); background: #fff; font-size: 13px; cursor: pointer;
    }
    .aft-expand-btn:hover { background: var(--brand-light); }
    .aft-table-wrap {
      flex: 1; overflow: auto; background: #fff; border-left: 1px solid #edf0f2; border-right: 1px solid #edf0f2;
    }
    .aft-table { width: 100%; min-width: 1180px; border-collapse: collapse; font-size: 13px; }
    .aft-table thead { background: #f4f6f8; position: sticky; top: 0; z-index: 1; }
    .aft-table th {
      height: 50px; padding: 0 12px; text-align: center; color: var(--text-primary); font-weight: 600;
      border-bottom: 1px solid var(--border-light); white-space: nowrap;
    }
    .aft-table th:nth-child(2), .aft-table td:nth-child(2) { text-align: left; }
    .aft-table td {
      padding: 14px 12px; text-align: center; color: var(--text-primary); border-bottom: 1px solid var(--border-light);
      vertical-align: middle;
    }
    .aft-summary-row { background: #f4f6f8; }
    .aft-summary-row td { padding-top: 16px; padding-bottom: 16px; }
    .aft-summary-cell { display: flex; align-items: center; gap: 12px; min-width: 360px; }
    .aft-row-toggle {
      width: 20px; height: 20px; border-radius: 3px; border: 1px solid rgba(48, 155, 106, .65);
      color: var(--brand); background: #fff; display: inline-flex; align-items: center; justify-content: center;
      cursor: pointer; flex-shrink: 0;
    }
    .aft-row-toggle svg { width: 13px; height: 13px; transition: transform .15s; }
    .aft-summary-row.expanded .aft-row-toggle svg { transform: rotate(180deg); }
    .aft-order-meta { display: grid; grid-template-columns: 250px 170px 100px 72px; align-items: center; column-gap: 16px; }
    .aft-order-lines { display: flex; flex-direction: column; gap: 5px; color: var(--text-muted); font-size: 12px; }
    .aft-order-lines a { color: #6ca3ff; cursor: pointer; text-decoration: none; }
    .aft-submit { color: var(--text-secondary); white-space: nowrap; }
    .aft-member-pill {
      display: inline-flex; align-items: center; justify-content: center; min-width: 68px; height: 20px;
      padding: 0 9px; border: 1px solid rgba(48, 155, 106, .6); border-radius: 10px;
      color: var(--brand); background: #fff; font-size: 12px;
    }
    .aft-refunded { color: var(--brand); font-size: 12px; }
    .aft-success-badge {
      display: inline-flex; align-items: center; justify-content: center; height: 24px; padding: 0 12px;
      border-radius: 3px; background: #ecfff1; color: var(--brand); font-size: 12px; white-space: nowrap;
    }
    .aft-money-main { font-size: 18px; font-weight: 700; color: #34383d; }
    .aft-money-detail { margin-top: 4px; color: var(--text-muted); font-size: 12px; }
    .aft-action-btn {
      height: 26px; min-width: 58px; border-radius: 13px; border: 1px solid rgba(48, 155, 106, .65);
      background: #fff; color: var(--brand); font-size: 12px; cursor: pointer;
    }
    .aft-action-btn:hover { background: var(--brand-light); }
    .aft-product-row { display: none; background: #fff; }
    .aft-product-row.is-visible { display: table-row; }
    .aft-product-cell { display: flex; align-items: center; gap: 10px; min-width: 360px; padding-left: 0; }
    .aft-product-thumb {
      width: 44px; height: 44px; border-radius: 6px; overflow: hidden; flex-shrink: 0;
      background: linear-gradient(135deg, #6b45c4, #ffd958); display: flex; align-items: center; justify-content: center;
      color: #fff; font-size: 22px;
    }
    .aft-product-name { font-size: 13px; color: var(--text-primary); line-height: 1.35; }
    .aft-product-spec { margin-top: 4px; color: var(--text-muted); font-size: 12px; }
    .aft-bottom-bar {
      display: flex; align-items: center; padding: 12px 18px; background: #fff; border: 1px solid #edf0f2;
      border-top: 1px solid var(--border); border-radius: 0 0 8px 8px; flex-shrink: 0;
    }
    .aft-bottom-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }

    /* ===== 售后单详情 ===== */
    .aft-det-page {
      height: 100%; overflow-y: auto; background: #f3f5f6; padding: 14px 16px 18px;
    }
    .aft-det-card {
      background: #fff; border-radius: 8px; padding: 18px 16px 22px;
      border: 1px solid #edf0f2; display: flex; flex-direction: column; gap: 24px;
    }
    .aft-det-section { display: flex; flex-direction: column; gap: 12px; }
    .aft-det-title {
      display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 700; color: var(--text-primary);
    }
    .aft-det-title::before {
      content: ''; width: 4px; height: 18px; border-radius: 2px; background: var(--brand);
    }
    .aft-det-title a { margin-left: 4px; font-size: 12px; font-weight: 400; color: #6b8cff; cursor: pointer; }
    .aft-det-table {
      width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; color: var(--text-primary);
    }
    .aft-det-table th {
      height: 48px; padding: 0 14px; text-align: left; background: #f4f6f8; font-weight: 600;
      border: 1px solid #eef1f4; border-left: none; border-right: none; white-space: nowrap;
    }
    .aft-det-table td {
      height: 48px; padding: 0 14px; border-bottom: 1px solid var(--border-light); vertical-align: middle;
    }
    .aft-det-table.center th, .aft-det-table.center td { text-align: center; }
    .aft-det-table.center th:first-child, .aft-det-table.center td:first-child { text-align: left; }
    .aft-det-link { color: #5f94ff; text-decoration: none; cursor: pointer; }
    .aft-det-product { display: flex; align-items: center; gap: 10px; min-width: 180px; }
    .aft-det-product-thumb {
      width: 44px; height: 44px; border-radius: 5px; background: linear-gradient(135deg, #6b45c4, #ffd958);
      display: flex; align-items: center; justify-content: center; color: #fff; font-size: 22px; flex-shrink: 0;
    }
    .aft-det-product-name {
      max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
      color: var(--text-primary); margin-bottom: 4px;
    }
    .aft-det-product-spec { color: var(--text-muted); font-size: 12px; }
    .aft-det-total {
      margin-top: 10px; background: #f4f6f8; min-height: 92px; display: flex; align-items: flex-start;
      padding: 20px 40px; color: var(--text-primary);
    }
    .aft-det-total-left { display: flex; align-items: center; gap: 22px; font-size: 14px; }
    .aft-det-total-left strong { font-size: 15px; }
    .aft-det-total-right { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; width: auto; }
    .aft-det-total-line {
      display: inline-grid; grid-template-columns: auto auto; align-items: center; column-gap: 18px;
      font-size: 13px; position: relative;
    }
    .aft-det-total-line.refund { padding-bottom: 14px; }
    .aft-det-total-line strong { font-size: 14px; justify-self: end; }
    .aft-det-total-line .red { color: #f0524d; }
    .aft-det-refund-block { display: flex; align-items: center; justify-self: end; gap: 4px; }
    .aft-det-refund-breakdown {
      position: absolute; right: 0; top: calc(100% + 1px); text-align: right;
      font-size: 12px; font-weight: 400; color: var(--text-muted); line-height: 1.4; white-space: nowrap;
    }
    .aft-det-q {
      width: 15px; height: 15px; border-radius: 50%; background: #8d96a3; color: #fff;
      display: inline-flex; align-items: center; justify-content: center; font-size: 11px; margin-left: 4px;
    }
    .aft-det-info-wrap {
      background: #f4f6f8; padding: 22px 40px; display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 52px; min-height: 270px;
    }
    .aft-det-info-card { background: #fff; min-height: 230px; }
    .aft-det-info-title {
      height: 42px; display: flex; align-items: center; justify-content: center;
      border-bottom: 1px solid var(--border-light); font-size: 14px; font-weight: 700;
    }
    .aft-det-info-body { padding: 18px 22px; display: flex; flex-direction: column; gap: 16px; }
    .aft-det-info-row { display: flex; align-items: flex-start; gap: 14px; font-size: 13px; color: var(--text-secondary); }
    .aft-det-info-row .label { width: 68px; color: var(--text-muted); flex-shrink: 0; }
    .aft-det-info-row .blue { color: #5f94ff; margin-left: 10px; }
    .aft-det-buyer {
      display: flex; align-items: center; justify-content: center; gap: 10px; margin: 2px 0 22px;
      color: var(--text-primary);
    }
    .aft-det-buyer-avatar {
      width: 22px; height: 22px; border-radius: 50%; background: #eaf7ef; display: inline-flex;
      align-items: center; justify-content: center; font-size: 12px;
    }
    .aft-log-box { background: #f4f6f8; padding: 24px 22px; border-radius: 4px; }
    .aft-log-item {
      position: relative; padding-left: 28px; padding-bottom: 24px; color: var(--text-secondary); font-size: 13px;
    }
    .aft-log-item:last-child { padding-bottom: 0; }
    .aft-log-item::before {
      content: ''; position: absolute; left: 4px; top: 4px; width: 9px; height: 9px; border-radius: 50%;
      background: var(--brand);
    }
    .aft-log-item::after {
      content: ''; position: absolute; left: 8px; top: 18px; bottom: 2px; width: 1px; background: var(--brand);
    }
    .aft-log-item:last-child::after { display: none; }
    .aft-log-main { color: var(--text-primary); font-weight: 600; margin-bottom: 10px; }
    .aft-log-main span { color: var(--text-muted); font-weight: 400; margin-left: 8px; }
    .aft-log-time { color: var(--text-muted); }
