/* refund.css — the Refund dialog (Luis, 2026-09-28). The Apple sheet the
   discount and trade-in dialogs use; opened from a receipt on Sales History.
   Sits under the PIN pad (10100) and above everything else on the page. */
.rf-overlay { position: fixed; inset: 0; z-index: 10050; display: none; align-items: center; justify-content: center; padding: 20px;
  background: rgba(0, 0, 0, .30); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.rf-overlay.open { display: flex; }
.rf-card { width: min(94vw, 640px); max-height: calc(100vh - 40px); overflow: auto; box-sizing: border-box; background: #fff; border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 22px; padding: 20px 24px 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .08); color: #1d1d1f; font-family: var(--font-ui, inherit); }
.rf-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 2px; }
.rf-head b { font-size: 17px; }
.rf-on { font-size: 12px; color: #6e6e73; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 60%; }
.rf-sub { font-size: 12.5px; color: #6e6e73; margin-bottom: 8px; }
.rf-lbl { display: flex; align-items: center; justify-content: space-between; margin: 12px 0 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #86868b; }
.rf-all { font: inherit; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0a5fcf; background: none; border: 0; cursor: pointer; padding: 0; }
.rf-all:hover { text-decoration: underline; }
.rf-lines { display: flex; flex-direction: column; gap: 6px; }
.rf-line { display: grid; grid-template-columns: 22px 44px 1fr 118px; gap: 10px; align-items: center; padding: 8px 10px; border-radius: 14px; background: #f5f5f7; border: 1px solid rgba(0, 0, 0, .05); }
.rf-line.off { opacity: .55; }
.rf-line.done { opacity: .45; }
.rf-line input[type="checkbox"] { width: 18px; height: 18px; accent-color: #0a84ff; cursor: pointer; margin: 0; }
.rf-thumb { width: 44px; height: 44px; border-radius: 10px; background: #fff; border: 1px solid rgba(0, 0, 0, .06); object-fit: contain; display: block; }
.rf-thumb.none { background: #ebebf0; }
.rf-name { min-width: 0; }
.rf-name b { display: block; font-size: 13.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rf-name small { display: block; font-size: 11px; color: #6e6e73; margin-top: 2px; }
.rf-name .rf-done { color: #b3141d; font-weight: 700; }
.rf-amt { position: relative; }
.rf-amt span { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #86868b; font-size: 13px; }
.rf-amt input { width: 100%; box-sizing: border-box; padding: 9px 10px 9px 22px; border-radius: 10px; font: inherit; font-size: 15px; font-weight: 700; text-align: right;
  font-variant-numeric: tabular-nums; color: #1d1d1f; background: #fff; border: 1px solid rgba(0, 0, 0, .08); outline: none; }
.rf-amt input:focus { border-color: #0a84ff; box-shadow: 0 0 0 4px rgba(10, 132, 255, .18); }
.rf-amt input:disabled { background: #f5f5f7; color: #86868b; }
.rf-stock { grid-column: 3 / 5; display: flex; gap: 6px; margin-top: 2px; }
.rf-stock button { padding: 5px 11px; border-radius: 999px; cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; letter-spacing: .02em;
  color: #6e6e73; background: #fff; border: 1px solid rgba(0, 0, 0, .08); }
.rf-stock button.on.yes { color: #0b6b4f; background: rgba(18, 138, 98, .10); border-color: rgba(18, 138, 98, .32); }
.rf-stock button.on.no  { color: #b3141d; background: rgba(179, 20, 29, .08); border-color: rgba(179, 20, 29, .25); }
.rf-stock button.on.scrap { color: #fff; background: #3a3a3c; border-color: #3a3a3c; }
.rf-chips button:disabled { opacity: .35; cursor: not-allowed; }
.rf-mnote { font-size: 11.5px; color: #6e6e73; margin-top: 6px; min-height: 1em; }
.rf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rf-chips button { padding: 8px 14px; border-radius: 999px; cursor: pointer; font: inherit; font-size: 12.5px; font-weight: 700;
  color: #1d1d1f; background: #f5f5f7; border: 1px solid rgba(0, 0, 0, .06); }
.rf-chips button:hover { background: #ebebf0; }
.rf-chips button.on { background: #fff; border-color: #0a84ff; box-shadow: 0 0 0 3px rgba(10, 132, 255, .16); color: #0a5fcf; }
.rf-note { width: 100%; box-sizing: border-box; margin-top: 8px; padding: 10px 14px; border-radius: 12px; font: inherit; font-size: 13px;
  color: #1d1d1f; background: #f5f5f7; border: 1px solid rgba(0, 0, 0, .06); outline: none; }
.rf-note:focus { background: #fff; border-color: #0a84ff; box-shadow: 0 0 0 4px rgba(10, 132, 255, .18); }
.rf-prior { font-size: 12px; color: #6e6e73; margin-top: 8px; }
.rf-prior b { color: #b3141d; }
.rf-foot { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.rf-total { margin-right: auto; font-size: 15px; font-weight: 800; color: #b3141d; }
.rf-total small { display: block; font-size: 11px; font-weight: 600; color: #6e6e73; }
.rf-btn { border-radius: 999px; padding: 11px 20px; font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.rf-cancel { background: #f5f5f7; color: #1d1d1f; border: 1px solid rgba(0, 0, 0, .08); }
.rf-cancel:hover { background: #ebebf0; }
.rf-go { color: #fff; border: 0; background: radial-gradient(130% 120% at 22% 10%, #ff8a8a 0%, #e0343e 45%, #b3141d 100%);
  box-shadow: 0 6px 18px rgba(179, 20, 29, .30), inset 0 1px 0 rgba(255, 255, 255, .40); }
.rf-go:disabled { opacity: .4; cursor: default; }
.rf-err { color: #b3141d; font-size: 12.5px; font-weight: 600; margin-top: 8px; min-height: 1.2em; }
/* The Refund button on the receipt's top bar, beside Print. */
.rcpt-refund { display: inline-flex; align-items: center; gap: 6px; margin-left: 8px; padding: 7px 14px; font: inherit; font-size: 12.5px; font-weight: 600;
  border: none; border-radius: 999px; cursor: pointer; color: #b3141d; background: rgba(179, 20, 29, .10); }
.rcpt-refund:hover { background: rgba(179, 20, 29, .16); }
.rcpt-refund[hidden] { display: none; }
.rcpt-refund svg { width: 15px; height: 15px; }
/* On the receipt: a refund of this ticket, and a refund ticket's own title. */
.rcpt-line.rcpt-refunded span:first-child { color: #b3141d; }
.rcpt-line.rcpt-refunded span:last-child { color: #b3141d; font-weight: 700; }
.rcpt-refund-of { font-size: 12px; color: #b3141d; font-weight: 700; text-align: center; margin: -4px 0 8px; }
@media print { .rcpt-refund { display: none !important; } }
