/* 수납 묶음 모양: 데스크 왼쪽 칸(너비 372px) 안의 「당일 수납 정보」와 상세 수납 창 */
.pay > .panel-head { gap: 4px; }
.pay > .panel-body { padding: 3px; overflow: hidden; }
.pay-status { font-size: 11px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; }
.pay-status.red { color: var(--red); }
.pay-t { border-collapse: collapse; width: 100%; table-layout: fixed; }
.pay-t th, .pay-t td { border: 1px solid var(--line); height: 21px; padding: 0 3px; overflow: hidden; }
.pay-t1 th { padding: 0 1px; }
.pay-t th { background: #f1f4f8; font-weight: 400; color: #3a4352; text-align: center; white-space: nowrap; }
.pay-t td { background: #fff; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pay-t td.red { color: var(--red); font-weight: 700; }
.pay-t2 { margin-top: 2px; }
.pay-t2 th { height: 24px; font-size: 11px; line-height: 11px; white-space: normal; word-break: keep-all; padding: 0 1px; }
.pay-t2 th.fillable { cursor: pointer; background: #e6ecf5; }
.pay-t2 th.fillable:hover { background: var(--blue-soft); }
.pay-fill { font-size: 8px; color: var(--primary); vertical-align: 1px; }
.pay-t2 td { height: 24px; padding: 0; }
.pay-t2 td.pay-need { padding: 0 3px; font-weight: 700; color: var(--red); background: #fff7f0; font-size: 11px; }
.pay-t2 td.pay-save-cell { padding: 0; background: var(--primary); }
.pay-num { border: 0; text-align: right; font-size: 11px; padding: 0 3px; min-height: 22px; height: 22px; font-variant-numeric: tabular-nums; }
.pay-num:disabled { background: #f1f3f6; }
.pay-num.pay-num-box { border: 1px solid var(--line); font-size: 12px; min-height: 24px; height: 24px; width: 96px; }
.pay-save { width: 100%; height: 47px; min-height: 0; border: 0; padding: 0; font-size: 11px; font-weight: 700; line-height: 14px; white-space: normal; }
.pay-check { display: inline-flex; align-items: center; gap: 2px; cursor: pointer; }
.pay-check input { margin: 0; width: 12px; height: 12px; }
.pay-foot { display: flex; gap: 3px; align-items: center; margin-top: 2px; }
.pay-foot .pay-memo { flex: 1 1 0; min-width: 0; }
.pay-foot .btn.sm { padding: 1px 4px; min-height: 24px; }
.pay-rules { margin: 0; padding-left: 20px; line-height: 1.7; }

/* 상세 수납 창, 영수증 창 */
.pay-detail { display: flex; flex-direction: column; gap: 6px; }
.pay-d-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 6px; }
.pay-d-cur { background: var(--head); border: 1px solid var(--line); padding: 3px 6px; }
.pay-d-entry { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.pay-d-entry select.inp { width: 260px; }
.pay-clip { display: inline-block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
.pay-r-grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 8px; }
.pay-preview { border: 1px solid var(--line); background: #fff; padding: 14px 18px; height: 440px; overflow: auto; }
.pay-preview h1{ font-size: 18px; text-align: center; letter-spacing: 5px; margin: 0 0 10px; }
.pay-preview h2{ font-size: 13px; margin: 10px 0 4px; }
.pay-preview table{ border-collapse: collapse; width: 100%; }
.pay-preview th, .pay-preview td{ border: 1px solid #333; padding: 3px 6px; vertical-align: top; }
.pay-preview th{ background: #f0f0f0; font-weight: 400; white-space: nowrap; text-align: center; }
.pay-preview .center{ text-align: center; }
.pay-preview .small{ font-size: 11px; color: #555; margin: 2px 0 6px; }
.pay-preview .sign{ margin-top: 20px; text-align: right; line-height: 1.9; }
.pay-preview .box{ border: 1px solid #333; padding: 6px 8px; min-height: 50px; white-space: pre-wrap; }
.pay-detail table.grid td, .pay-r-grid table.grid td { white-space: nowrap; }
