/* Payment list: aligned desktop rows and readable individual mobile cards. */
@media (min-width: 801px) {
  .payments-page .payment-list { gap: 0; background: #fff; border: 1px solid #d5dfd8; border-radius: 12px; overflow: hidden; }
  .payments-page .payment-list-header, .payments-page .payment-row {
    grid-template-columns: 38px minmax(220px, 1.3fr) minmax(230px, 1fr) minmax(120px, .4fr);
    gap: 16px; padding: 20px;
  }
  .payments-page .payment-list-header { background: #edf4ef; color: #244f3d; }
  .payments-page .payment-row { border: 0; border-top: 1px solid #dce5de; border-radius: 0; box-shadow: none; }
  .payments-page .payment-row > .button { width: auto; }
}
.payments-page .payment-list-code, .payments-page .payment-meta, .payments-page .payment-summary { min-width: 0; overflow-wrap: anywhere; }
.payments-page .payment-list-amount { font-variant-numeric: tabular-nums; font-weight: 700; }
@media (max-width: 800px) {
  .payments-page .payment-row { grid-template-columns: 24px minmax(0, 1fr); gap: 12px; }
  .payments-page .payment-row > :first-child { grid-column: 1; grid-row: 1 / span 3; }
  .payments-page .payment-summary, .payments-page .payment-meta, .payments-page .payment-row > .button { grid-column: 2; }
  .payments-page .payment-row > .button { justify-self: start; }
}

/* Each desktop column has one meaning; the narrow layout reads as a card. */
.payments-page .payment-identity, .payments-page .payment-purpose,
.payments-page .payment-date, .payments-page .payment-project,
.payments-page .payment-list-amount, .payments-page .payment-state { min-width: 0; overflow-wrap: anywhere; }
/* Keep each merge-review record readable without a sideways scroll on phones. */
@media (max-width: 760px) {
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll table { min-width: 0; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll tbody { display: block; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; gap: 12px 16px; border-bottom: 1px solid var(--line); }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll tr:last-child { border-bottom: 0; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll td { display: block; min-width: 0; padding: 0; border: 0; overflow-wrap: anywhere; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll td::before { display: block; margin-bottom: 4px; color: var(--muted); font-size: .8rem; font-weight: 700; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll td:nth-child(1)::before { content: "單據編號"; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll td:nth-child(2)::before { content: "目前金額（港元）"; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll td:nth-child(3)::before { content: "目前狀態"; }
  .payment-detail-page:has(form[action*="/merge-undo"]) .table-scroll td:nth-child(4)::before { content: "確認後狀態"; }
}
.payments-page .payment-identity h2 { margin: 0; font-size: 1.125rem; line-height: 1.4; }
.payments-page .payment-identity small, .payments-page .payment-purpose small { display: block; font-size: .875rem; line-height: 1.55; color: #345849; }
.payments-page .payment-purpose p { margin: 0 0 6px; }
.payments-page .payment-list-amount { font-variant-numeric: tabular-nums; font-weight: 700; }
.payments-page .payment-mobile-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 1100px) {
  .payments-page .payment-list-header, .payments-page .payment-row {
    grid-template-columns: 30px minmax(150px, 1.7fr) minmax(104px, .8fr) minmax(95px, 1fr) minmax(100px, .8fr) 80px 100px;
    column-gap: 10px;
  }
  .payments-page .payment-row { row-gap: 8px; align-items: start; }
  .payments-page .payment-row > :first-child { grid-column: 1; grid-row: 1 / span 2; }
  .payments-page .payment-identity { grid-column: 2; grid-row: 1; }
  .payments-page .payment-purpose { grid-column: 2; grid-row: 2; }
  .payments-page .payment-date { grid-column: 3; grid-row: 1 / span 2; }
  .payments-page .payment-project { grid-column: 4; grid-row: 1 / span 2; }
  .payments-page .payment-list-amount { grid-column: 5; grid-row: 1 / span 2; text-align: right; }
  .payments-page .payment-state { grid-column: 6; grid-row: 1 / span 2; }
  .payments-page .payment-row > .button { grid-column: 7; grid-row: 1 / span 2; justify-self: end; }
  .payments-page .payment-list-header > :nth-child(5) { text-align: right; }
}
@media (max-width: 1099px) {
  .payments-page .payment-list { gap: 16px; background: transparent; border: 0; overflow: visible; }
  .payments-page .payment-list-header { display: none; }
  .payments-page .payment-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px 14px; padding: 20px; border: 1px solid #d5dfd8; border-radius: 12px; }
  .payments-page .payment-row > :first-child { grid-column: 1; grid-row: 1 / span 5; }
  .payments-page .payment-identity { grid-column: 2; grid-row: 1; }
  .payments-page .payment-list-amount { grid-column: 3; grid-row: 1; text-align: right; }
  .payments-page .payment-purpose { grid-column: 2 / 4; grid-row: 2; }
  .payments-page .payment-date { grid-column: 2 / 4; grid-row: 3; }
  .payments-page .payment-project { grid-column: 2 / 4; grid-row: 4; }
  .payments-page .payment-state { grid-column: 2; grid-row: 5; }
  .payments-page .payment-row > .button { grid-column: 2 / 4; grid-row: 6; justify-self: start; }
  .payments-page .payment-mobile-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; margin-right: .4em; color: #345849; }
}
@media (min-width: 1100px) {
  .payments-page .payment-row > .button { white-space: nowrap; padding-inline: 8px; font-size: .85rem; }
}
@media (min-width: 1200px) {
  .payments-page .payment-list-header, .payments-page .payment-row { column-gap: 14px; }
}
/* The help panel takes part of the desktop content width. Use the same
   readable card arrangement as the existing narrow viewport in this state. */
@media (min-width: 1100px) {
  body.ai-help-open .payments-page .payment-list { gap: 16px; background: transparent; border: 0; overflow: visible; }
  body.ai-help-open .payments-page .payment-list-header { display: none; }
  body.ai-help-open .payments-page .payment-row { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px 14px; padding: 20px; border: 1px solid #d5dfd8; border-radius: 12px; }
  body.ai-help-open .payments-page .payment-row > :first-child { grid-column: 1; grid-row: 1 / span 5; }
  body.ai-help-open .payments-page .payment-identity { grid-column: 2; grid-row: 1; }
  body.ai-help-open .payments-page .payment-list-amount { grid-column: 3; grid-row: 1; text-align: right; }
  body.ai-help-open .payments-page .payment-purpose { grid-column: 2 / 4; grid-row: 2; }
  body.ai-help-open .payments-page .payment-date { grid-column: 2 / 4; grid-row: 3; }
  body.ai-help-open .payments-page .payment-project { grid-column: 2 / 4; grid-row: 4; }
  body.ai-help-open .payments-page .payment-state { grid-column: 2; grid-row: 5; }
  body.ai-help-open .payments-page .payment-row > .button { grid-column: 2 / 4; grid-row: 6; justify-self: start; }
  body.ai-help-open .payments-page .payment-mobile-label { position: static; width: auto; height: auto; overflow: visible; clip-path: none; white-space: normal; margin-right: .4em; color: #345849; }
}
