.transaction-refunds { margin-top: 20px; }
.transaction-refunds h3 { margin: 0 0 12px; }
.transaction-refund { padding: 16px; margin: 10px 0; border: 1px solid #e0d3ae; border-radius: 12px; background: #fffbef; color: #28312b; }
.transaction-refund.is-complete { border-color: #c9dccf; background: #f3f9f4; }
.transaction-refund.is-failed { border-color: #ebc9c4; background: #fff5f3; }
.transaction-refund-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font-size: 15px; }
.transaction-refund-heading strong { min-width: 0; overflow-wrap: anywhere; }
.transaction-refund-heading b { white-space: nowrap; }
.transaction-refund-status { display: inline-block; padding: 4px 9px; margin-top: 9px; border-radius: 20px; background: #f5e6b9; font-size: 12px; font-weight: 650; }
.is-complete .transaction-refund-status { background: #dcefe0; }
.is-failed .transaction-refund-status { background: #f6dad5; }
.transaction-refund p, .transaction-refund-accounting { margin: 9px 0 0; font-size: 13px; line-height: 1.5; }
.transaction-refund-accounting { padding-top: 10px; border-top: 1px solid #00000012; }
.transaction-refund-accounting p { margin-top: 4px; }
.transaction-refunds > small { display: block; color: #67716a; font-size: 12px; }
.transaction-refund-warning { color: #8b482e; }
.transaction-refund-notice { margin-top: 16px; padding: 12px; background: #f5f6f4; border-radius: 9px; font-size: 13px; line-height: 1.5; }
.transaction-refund-editor { margin-top: 20px; border: 1px solid #d9ded9; border-radius: 12px; overflow: hidden; }
.transaction-refund-editor > summary { cursor: pointer; padding: 15px; color: #254936; font-size: 14px; font-weight: 650; }
.transaction-refund-editor .owner-service-refund-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px 12px; margin: 0; padding: 16px; border: 0; border-top: 1px solid #e2e6e2; border-radius: 0; background: #fafbf9; }
.transaction-refund-editor .owner-service-refund-form label { min-width: 0; display: grid; gap: 7px; color: #35433a; font-size: 13px; font-weight: 600; }
.transaction-refund-editor .owner-service-refund-form input, .transaction-refund-editor .owner-service-refund-form select { box-sizing: border-box; min-width: 0; width: 100%; padding: 12px; font: inherit; font-size: 16px; color: #263029; background: white; }
.transaction-refund-editor .owner-service-refund-form p { margin: 0; font-size: 13px; line-height: 1.5; color: #5a655e; }
.refund-service-field, .refund-reason-field { grid-column: 1 / -1; }
.transaction-refund-editor .refund-form-intro, .transaction-refund-editor .refund-form-note, .transaction-refund-editor .refund-form-feedback { grid-column: 1 / -1; }
.transaction-refund-editor fieldset { min-width: 0; border: 1px solid #d9ded9; border-radius: 8px; }
.transaction-refund-editor [data-refund-item] > label:first-child { display: flex; align-items: center; }
.transaction-refund-editor input[type=checkbox] { flex: 0 0 20px; height: 20px; accent-color: #254936; }
.transaction-refund-editor .owner-service-refund-form .refund-full-amount { grid-column: auto; align-self: end; justify-self: stretch; min-height: 44px; margin: 0; font-size: 12px; padding: 10px; }
.transaction-refund-editor .owner-service-refund-form button[type=submit] { justify-self: stretch; min-height: 44px; white-space: normal; font-size: 14px; }
.transaction-refund-editor .owner-service-refund-form .refund-form-feedback:empty { display: none; }
.transaction-refund-editor .owner-service-refund-form .refund-form-feedback { color: #80382f; }
@media(max-width: 480px) { .transaction-refund-editor .owner-service-refund-form { grid-template-columns: minmax(0,1fr); } }
