.payment-warning { padding: 12px; border: 1px solid #5d4926; background: #211b10; color: #d9bd83; border-radius: 9px; font-size: 11px; line-height: 1.5; }
.payment-request-form { display: grid; gap: 10px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #302c38; }
.field textarea { width: 100%; resize: vertical; }
.field small { display: block; margin-top: 6px; color: #817a87; font-size: 10px; }
.payment-admin-list { display: grid; gap: 14px; }
.payment-admin-item { padding: 20px; border: 1px solid #302c38; background: #0d0b11; border-radius: 12px; }
.payment-admin-summary { display: flex; justify-content: space-between; gap: 24px; }
.payment-admin-summary h2 { margin: 6px 0; }
.payment-admin-summary a { color: #c574ff; font-size: 12px; }
.payment-meta { display: flex; align-items: flex-end; flex-direction: column; gap: 7px; }
.payment-meta > span:not(.badge) { color: #817a87; font-size: 11px; }
.payment-customer-info { margin-top: 16px; padding: 12px; background: #17141e; border-radius: 8px; color: #aaa2b0; font-size: 12px; line-height: 1.7; }
.payment-review-actions { display: flex; align-items: flex-end; gap: 12px; margin-top: 16px; }
.payment-review-actions form:first-child { display: flex; align-items: flex-end; gap: 10px; flex: 1; }
.payment-review-actions .field { flex: 1; margin: 0; }
.reviewed-info { margin: 14px 0 0; color: #817a87; font-size: 11px; }
.payment-step-help { margin: 9px 0 0; color: #817a87; font-size: 10px; line-height: 1.5; }
.renewal-heading { margin: 30px 0 16px; }
.renewal-heading h2 { margin: 6px 0; }
.renewal-heading p { margin: 0; color: #817a87; font-size: 12px; }
.compact-grid { gap: 10px; }
.payment-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.payment-stats .panel { display: grid; gap: 7px; padding: 18px; }
.payment-stats strong { color: #f3edf7; font-size: 21px; }
.payment-stats span { color: #817a87; font-size: 9px; letter-spacing: .08em; }
.payment-filters { display: grid; grid-template-columns: minmax(240px, 1fr) 220px auto auto; align-items: end; gap: 10px; margin-bottom: 16px; }
.payment-filters .field { margin: 0; }
.payment-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.payment-detail-grid > div { display: grid; gap: 5px; padding: 11px; border: 1px solid #302c38; border-radius: 8px; background: #141119; }
.payment-detail-grid b { color: #817a87; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.payment-detail-grid span { color: #d8d1dc; font-size: 11px; overflow-wrap: anywhere; }
.payment-review-actions form:first-child { display: grid; grid-template-columns: repeat(2, minmax(150px, 1fr)); align-items: end; }
.payment-review-actions form:first-child .button { justify-self: start; }

.payment-primary-cta { margin-top: 14px; font-size: 13px; }
.receipt-upload { padding: 12px; border: 1px dashed #51465d; border-radius: 9px; background: #141119; }
.receipt-upload label span { color: #817a87; font-weight: 400; }
.payment-detail-page .page-heading { align-items: center; }
.payment-record-card { margin-bottom: 16px; }
.payment-record-data { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.payment-record-data > div { display: grid; gap: 5px; padding: 12px; border: 1px solid #302c38; border-radius: 9px; background: #141119; }
.payment-record-data dt { color: #817a87; font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.payment-record-data dd { margin: 0; color: #eee8f1; font-size: 12px; overflow-wrap: anywhere; }
.payment-admin-note { margin-top: 14px; padding: 12px; border: 1px solid #5d4926; border-radius: 8px; background: #211b10; color: #d9bd83; font-size: 12px; line-height: 1.6; }
.receipt-panel { margin-bottom: 18px; }
.receipt-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.receipt-card { display: grid; gap: 7px; padding: 10px; border: 1px solid #302c38; border-radius: 10px; background: #141119; color: #d8d1dc; overflow: hidden; }
.receipt-card:hover { border-color: #8b4fb5; }
.receipt-card img { width: 100%; height: 150px; object-fit: cover; border-radius: 7px; background: #08070a; }
.receipt-card b { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.receipt-card small { color: #817a87; font-size: 9px; }
.receipt-file-icon { display: grid; place-items: center; height: 150px; border-radius: 7px; background: #211b10; color: #d9bd83; font-size: 22px; font-weight: 800; }
.receipt-form { display: flex; align-items: flex-end; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px solid #302c38; }
.receipt-form .field { flex: 1; margin: 0; }
.admin-receipts { display: grid; gap: 8px; margin-top: 12px; padding: 12px; border-left: 3px solid #8b4fb5; background: #17141e; font-size: 11px; }
.receipt-links { display: flex; flex-wrap: wrap; gap: 8px; }
.receipt-links a { padding: 7px 9px; border: 1px solid #413649; border-radius: 7px; color: #cf91fa; }
.payment-table-panel { padding: 0; overflow: hidden; }
.admin-payment-table { min-width: 1120px; width: 100%; }
.admin-payment-table th { white-space: nowrap; }
.admin-payment-table td { vertical-align: middle; }
.admin-payment-table td strong, .admin-payment-table td small, .payment-email { display: block; }
.admin-payment-table td small { margin-top: 4px; color: #817a87; font-size: 9px; }
.admin-payment-table .payment-email { max-width: 210px; margin-top: 4px; color: #a86cd1; font-size: 10px; overflow: hidden; text-overflow: ellipsis; }
.payment-code { color: #d99cff; white-space: nowrap; }
.payment-row-pending td:first-child { box-shadow: inset 3px 0 #a94ce0; }
.payment-row-approved td:first-child { box-shadow: inset 3px 0 #3fbc79; }
.receipt-count { display: inline-flex; padding: 5px 8px; border: 1px solid #302c38; border-radius: 999px; color: #817a87; font-size: 9px; white-space: nowrap; }
.receipt-count.has-receipt { border-color: #72508a; background: #1b1321; color: #d99cff; }
.admin-review-panel { margin-top: 16px; }
.admin-review-form { display: grid; gap: 12px; }
.admin-review-form .field { margin: 0; }
.reject-payment-form { margin-top: 12px; padding-top: 12px; border-top: 1px solid #302c38; }
.reviewed-payment-panel { margin-top: 16px; }
.reviewed-payment-panel p { color: #aaa2b0; font-size: 12px; line-height: 1.6; }
@media (max-width: 900px) {
    .payment-record-data, .receipt-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payment-stats, .payment-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .payment-filters { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 520px) {
    .payment-admin-summary, .payment-review-actions, .payment-review-actions form:first-child { align-items: flex-start; flex-direction: column; }
    .payment-meta { align-items: flex-start; }
    .payment-review-actions form { width: 100%; }
    .payment-stats, .payment-detail-grid, .payment-filters, .payment-review-actions form:first-child { display: grid; grid-template-columns: 1fr; }
    .payment-record-data, .receipt-gallery { grid-template-columns: 1fr; }
    .receipt-form { align-items: stretch; flex-direction: column; }
}
