/* ============================================================
   회수 등록 · 회수 주문 표시 (css/order-return.css, js/order-return.js 짝) - index.html 에서 store-quick.css 다음 맨 마지막
   2026-10-25 사장님 확정 시안(운영 화면에 얹어 찍은 design.css) 그대로 옮김. 시안과 다른 점: 카카오 창 오배송 정산 차감 줄(.kqr-deduct)

   [디자인 기준] 2026-10-25 한 번 정하고 창 전체 · 주문현황 버튼 · 목록 배지 · 상세에 똑같이 적용
   - 글꼴: 화면 글자는 운영 body 의 Noto Sans KR 그대로. 입력 · 선택 · 버튼 글꼴은 운영 #modal-order 처럼 따로 정하지 않음
   - 창 틀: 운영 .modal / .modal-box / .modal-header / .modal-footer 그대로 (폭 900, 모서리 16, 머리 #FAFBFC, 제목 18px 900)
           폰(600px 이하)은 화면 전체 창, 입력은 한 줄에 하나, 버튼은 맨 아래 가로 전체
   - 조작 칸 높이 하나 = 41px (운영 #modal-order 글자 입력칸 .form-input 높이). 창 안 입력 · 선택 · 버튼 · 칩 전부 41px
           여러 줄 글이 드는 기사 전달사항 칸만 예외(data-ui="free")
   - 테두리 · 모서리: 입력 = 운영 .form-input (1px #D0D5DD, 8px, 바탕 #FAFBFC) / 묶음 상자 = 1px #E5E8EB, 12px, 흰 바탕 / 정보 칸 = #F8FAFC, 10px
   - 줄 맞춤: 묶음 상자 폭이 전부 같고, 상자 안 모든 줄은 같은 왼쪽 끝 · 오른쪽 끝(상자 안쪽 16px). 칸 사이 8px, 줄 사이 10px
   - 버튼 바탕색은 3가지: 실행 = 운영 파랑 #2196F3 (.btn-primary 그대로) / 보조 = 흰 바탕 + 회색 테두리 / 닫기 [취소] = 운영 #modal-order 회색 #e0e0e0
           회수 표시 = 보라 #6D28D9 는 테두리 · 글자로만 (주문현황 [회수 등록] · [카카오퀵으로 보내기] · 고른 칩 = 보라 2px 테두리 + 보라 글자 + 체크) + 회수 배지(연보라 바탕 #F5F3FF)
           테두리는 inset 그림자로 그려 높이가 늘지 않는다 (운영 redesign.css 가 .btn 테두리를 없앰)
   - 글자: 묶음 제목 13px 800 파랑 (운영 주문 상세 묶음 제목과 같음) / 칸 이름표 = 운영 .form-label (13px 700 #6B7280) / 값 14px / 금액 20px 900
   - 주문현황 [회수 등록]: 이웃 버튼과 같은 .btn 크기 · 모서리 · 글자 (분할 보기 12px, 1024 14px, 폰 한 줄 3개), 흰 바탕 + 보라 테두리 · 글자
   - 전화번호 · '접수 10:05' 같은 묶음은 줄 중간에서 끊지 않음(.rt-nw). 구분 점은 ' · ' 하나, 점 뒤는 줄바꿈 금지 공백이라 줄이 바뀌면 점 앞에서 바뀜
   - 연락처: 회수 창 · 카카오 창 안의 기존 주문 고객 번호는 010-****-1234 로 가림. 등록 뒤 주문 상세는 운영 상세와 같은 형식(가리지 않음) 하나로
   - 목록: 번호 칸은 번호만, '회수' 배지 + '기존 주문 #N · 사유' 는 상태 칸 아래(11px), 주소 칸 · 카드는 '회수지'. 오배송 회수는 고객 칸 · 카드 · 상세 이름표 '기존 주문 고객'
   2026-10-25 확장 (기존 주문 없이 직접 입력 · 다른 주소 · 주소 오입력 · 교환): 같은 기준 그대로 (칸 41px 하나, 보라는 테두리 · 글자 · 배지만, 버튼 바탕 3색)
   - 1번 [기존 주문 찾기][기존 주문 없이 직접 입력] = 사유 · 가는 곳과 같은 칩 / 박스 [-] N [+] = 보조 버튼 41px 2개 + 읽기 칸
   - 가는 곳 칩 3개(기존 주문 없으면 2개), 사유 칩 5개(기존 주문 없으면 4개) 한 줄 / 폰은 사유 2칸씩 · 가는 곳 3개 · 1번 고르기 칩은 한 줄에 하나
   - 교환 [다른 상품도 배송] = 칩 하나 + 설명, 켜면 새 상품 박스 · 전달사항 줄 + 금액 칸에 '새 상품 배송' 두 칸과 합계 줄
   - 목록 · 상세: 교환 짝은 '교환' 배지(회수 배지와 같은 모양) + '교환 · #N 배송 + 회수M' (상세는 짝 번호만 링크)
   - 다른 주소의 받는 분 연락처를 기존 주문 고객 번호로 채우면 회수지 연락처처럼 '기존 주문 연락처 · 010-****-1234' 읽기 칸 + [바꾸기]
   ============================================================ */
:root {
  --rt-h: 41px;
  --rt-pur: #6D28D9;
  --rt-pur-bg: #F5F3FF;
  --rt-pur-line: #DDD6FE;
  --rt-blue: #2196F3;
  --rt-line: #D0D5DD;
  --rt-line2: #E5E8EB;
  --rt-k: #6B7280;
  --rt-v: #1A1D26;
  --rt-gap: 8px;
}

/* ---------- 주문현황 [회수 등록] 버튼 ---------- */
#btn-order-return { background: #fff !important; color: var(--rt-pur) !important; box-shadow: inset 0 0 0 1.5px var(--rt-pur) !important; }
#btn-order-return:hover { background: var(--rt-pur-bg) !important; }
/* 지금은 관리자만 (매장에 켤 때: 이 줄을 지우고 js/order-return.js RETURN_ALLOWED_ROLES 에 'store' 추가) */
body.store-mode #btn-order-return, body.leader-mode #btn-order-return { display: none !important; }

/* ---------- 창 틀 ---------- */
/* 채팅 버튼(#chat-fab z 10001) · 버전 표시(9999) 위로. 카카오 창 10005 · 사진 크게 10010 · 주소 검색 10500 보다는 아래 */
#modal-return { z-index: 10002 !important; }
#modal-return .modal-box { max-width: 900px; }
/* 한글은 낱말 단위로만 줄바꿈 (긴 낱말만 칸 끝에서 끊음) */
#modal-return, #detail-return, #modal-kqr-confirm, #rt-lb { word-break: keep-all; overflow-wrap: anywhere; }
#modal-return .modal-body { padding: 16px 24px !important; }
#modal-return .modal-title .rt-title-sub { margin-left: 8px; font-size: 13px; font-weight: 700; color: var(--rt-k); }
#modal-return .modal-footer { gap: var(--rt-gap) !important; align-items: center; }
#modal-return .rt-err { flex: 1 1 auto; min-width: 0; font-size: 13px; font-weight: 700; color: #B91C1C; }

/* ---------- 묶음 상자 ---------- */
.rt-sec { background: #fff; border: 1px solid var(--rt-line2); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.rt-sec:last-child { margin-bottom: 0; }
.rt-h { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; color: var(--rt-blue); margin: 0 0 12px; line-height: 20px; }
.rt-n { flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; background: var(--rt-blue); color: #fff; font-size: 12px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.rt-h-aside { margin-left: auto; font-size: 12px; font-weight: 700; color: var(--rt-k); text-align: right; }

/* ---------- 줄 · 칸 ---------- */
.rt-grid { display: grid; gap: 10px var(--rt-gap); align-items: end; }
.rt-grid + .rt-grid, .rt-grid + .rt-subh, .rt-chips + .rt-grid { margin-top: 10px; }
.rt-f { min-width: 0; display: flex; flex-direction: column; }
#modal-return .rt-f > .form-label { margin-bottom: 6px !important; line-height: 18px; }
#modal-return .rt-req { color: #E53935; margin-left: 2px; }
.rt-g-find { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rt-g-period { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto; }
.rt-g-period .rt-search { min-width: 96px; }
.rt-g-addr { grid-template-columns: minmax(0, 1fr) auto; }
.rt-g-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rt-g-1 { grid-template-columns: minmax(0, 1fr); }
.rt-tilde { height: var(--rt-h); display: flex; align-items: center; color: var(--rt-k); font-weight: 700; }

/* 입력 · 선택: 운영 .form-input 모양 그대로, 높이만 하나로 */
#modal-return .form-input { height: var(--rt-h) !important; box-sizing: border-box !important; padding: 0 12px !important; min-width: 0; width: 100%; margin: 0; }
#modal-return textarea.form-input { height: auto !important; min-height: 88px; padding: 10px 12px !important; line-height: 1.55; resize: vertical; font-family: inherit; field-sizing: content; }
#modal-return .form-input[readonly] { background: #F3F4F6 !important; color: var(--rt-v); }

/* 버튼 */
#modal-return .rt-btn { height: var(--rt-h) !important; box-sizing: border-box; padding: 0 16px !important; font-size: 14px !important; border-radius: 8px !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px; margin: 0; white-space: nowrap; }
#modal-return .rt-btn.btn-primary { box-shadow: 0 2px 6px rgba(33,150,243,0.25) !important; }
#modal-return .rt-sub { background: #fff !important; color: #374151 !important; box-shadow: inset 0 0 0 1px var(--rt-line) !important; }
#modal-return .rt-sub:hover { background: #F9FAFB !important; }
/* [취소] = 운영 #modal-order 취소와 같은 회색 */
#modal-return .rt-cancel { background: #e0e0e0 !important; color: #333 !important; box-shadow: none !important; }
#modal-return .rt-cancel:hover { background: #d5d5d5 !important; }
#modal-return .rt-kq { background: #fff !important; color: var(--rt-pur) !important; box-shadow: inset 0 0 0 1.5px var(--rt-pur) !important; }
#modal-return .rt-btn:disabled { opacity: .45; cursor: not-allowed !important; box-shadow: inset 0 0 0 1px var(--rt-line) !important; }
#modal-return .rt-btn.btn-primary:disabled { box-shadow: none !important; }

/* 칩 (사유 · 가는 곳) */
.rt-chips { display: grid; gap: var(--rt-gap); }
.rt-reasons { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rt-reasons.rt-reasons-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rt-dests { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* 가는 곳이 [매장 반납] 하나뿐(파손 · 누락, 10/27)이면 줄 전체 (반 칸이면 줄 오른쪽 끝이 다른 줄과 어긋남) */
.rt-dests.rt-dests-1 { grid-template-columns: minmax(0, 1fr); }
/* 1번 기존 주문 찾기 / 직접 입력 고르기 */
.rt-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rt-chip { height: var(--rt-h); box-sizing: border-box; border: none; margin: 0; padding: 0 10px; border-radius: 8px; background: #fff; color: #374151; font-size: 14px; font-weight: 700; cursor: pointer; box-shadow: inset 0 0 0 1px var(--rt-line); white-space: nowrap; }
.rt-chip:hover { box-shadow: inset 0 0 0 1px var(--rt-pur); }
.rt-chip { display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.rt-chip.on { background: #fff; color: var(--rt-pur); box-shadow: inset 0 0 0 2px var(--rt-pur); }
.rt-chip .rt-chk { flex: 0 0 auto; margin-left: -2px; }
.rt-chip .rt-chip-sub { font-weight: 400; font-size: 12px; margin-left: 4px; }

/* 박스 [-] N [+] (1~10): 보조 버튼 2개(41 x 41) + 가운데 읽기 칸 */
.rt-step { display: grid; grid-template-columns: var(--rt-h) minmax(0, 1fr) var(--rt-h); gap: var(--rt-gap); }
#modal-return .rt-step .rt-step-b { padding: 0 !important; width: var(--rt-h); }
#modal-return .rt-step .rt-step-v { text-align: center; font-weight: 800; padding: 0 4px !important; }

/* 교환 [다른 상품도 배송]: 칩 + 설명 한 줄 (폰은 위아래) */
.rt-exch { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 12px; align-items: center; margin-top: 12px; }
.rt-exch .rt-exch-chip { padding: 0 14px; }
.rt-exch-d { font-size: 13px; line-height: 1.5; color: var(--rt-k); }
.rt-subh.rt-exch-h { margin-top: 12px; }
.rt-exch-h + .rt-grid { margin-top: 0; }

/* 줄 안 끊김 묶음 (전화번호 · 시각) */
.rt-nw { white-space: nowrap; }

/* 안내 글 */
.rt-note { margin-top: 10px; font-size: 13px; line-height: 1.55; color: #374151; }
.rt-note b { color: var(--rt-v); }
.rt-muted { color: var(--rt-k); }
.rt-hint { padding: 14px; border-radius: 10px; background: #F8FAFC; color: var(--rt-k); font-size: 13px; line-height: 1.6; text-align: center; }
.rt-callout { margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: #FFF8E6; color: #92400E; font-size: 13px; line-height: 1.55; }

/* ---------- 1. 기존 주문 찾기: 결과 ---------- */
.rt-results { margin-top: 12px; }
.rt-res-head { display: flex; align-items: baseline; gap: 8px; font-size: 13px; font-weight: 700; color: #374151; margin-bottom: 8px; }
.rt-res-head .rt-muted { font-weight: 400; }
.rt-res { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 2px 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--rt-line2); border-radius: 10px; background: #fff; cursor: pointer; }
.rt-res + .rt-res { margin-top: 8px; }
.rt-res:hover, .rt-res:focus { border-color: var(--rt-pur); outline: none; background: #FCFBFF; }
.rt-radio { width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; box-sizing: border-box; border: 2px solid #C4C9D0; background: #fff; }
.rt-res-main { min-width: 0; }
.rt-res-1 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 14px; font-weight: 800; color: var(--rt-v); }
.rt-res-1 .badge { font-size: 11px; }
.rt-sw { min-width: 0; }
.rt-res-2 { margin-top: 3px; font-size: 14px; color: var(--rt-v); }
.rt-res-3 { margin-top: 2px; font-size: 13px; color: var(--rt-k); line-height: 1.5; overflow-wrap: anywhere; }
.rt-res-meta { text-align: right; font-size: 13px; color: #374151; line-height: 1.6; white-space: nowrap; }
.rt-res-meta .rt-ph-cnt { color: #374151; font-weight: 700; }
.rt-res-meta .rt-ph-zero { color: var(--rt-k); }
.rt-more { margin: 0 0 8px; padding: 8px 12px; border-radius: 8px; background: #FFF8E6; color: #92400E; font-size: 13px; font-weight: 700; }

/* 고른 기존 주문 한 줄 */
.rt-picked { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--rt-gap); align-items: center; }
.rt-picked-t { min-width: 0; font-size: 14px; font-weight: 800; color: var(--rt-v); line-height: 1.5; overflow-wrap: anywhere; }
.rt-picked-t .rt-muted { font-weight: 400; }

/* ---------- 2. 기존 주문 정보 ---------- */
.rt-info { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; background: #F8FAFC; border-radius: 10px; padding: 12px 14px; }
.rt-info .rt-w2 { grid-column: span 2; }
.rt-info .rt-w3 { grid-column: span 3; }
.rt-info .rt-w4 { grid-column: 1 / -1; }
.rt-k { display: block; font-size: 12px; color: var(--rt-k); line-height: 18px; }
.rt-v { display: block; font-size: 14px; font-weight: 700; color: var(--rt-v); line-height: 1.5; overflow-wrap: anywhere; }
.rt-v.rt-plain { font-weight: 400; }
.rt-v .rt-vat { font-size: 12px; font-weight: 400; color: var(--rt-k); }
.rt-vs { display: block; font-size: 12px; color: var(--rt-k); line-height: 1.45; overflow-wrap: anywhere; }
.rt-photos-h { display: flex; align-items: baseline; gap: 8px; margin: 14px 0 8px; font-size: 13px; font-weight: 800; color: #374151; }
.rt-photos { display: grid; grid-template-columns: repeat(auto-fill, 120px); gap: 10px; }
.rt-ph { width: 120px; cursor: zoom-in; border-radius: 8px; outline: none; }
.rt-ph img { display: block; width: 120px; height: 160px; object-fit: cover; border-radius: 8px; border: 1px solid var(--rt-line2); background: #F3F4F6; }
.rt-ph:hover img, .rt-ph:focus img { border-color: var(--rt-pur); box-shadow: 0 0 0 2px var(--rt-pur-line); }
.rt-ph-cap { margin-top: 4px; min-height: calc(12px * 1.4 * 2); font-size: 12px; line-height: 1.4; color: #374151; text-align: center; overflow-wrap: anywhere; }
.rt-ph-empty { width: 120px; }
.rt-ph-empty .rt-ph-box { box-sizing: border-box; width: 120px; height: 160px; border-radius: 8px; border: 1.5px dashed #C4C9D0; background: #F8FAFC; display: flex; align-items: center; justify-content: center; padding: 10px; text-align: center; font-size: 12px; line-height: 1.5; color: var(--rt-k); }
.rt-ph-none { padding: 12px 14px; border-radius: 10px; border: 1.5px dashed #C4C9D0; background: #F8FAFC; font-size: 13px; line-height: 1.6; color: #374151; }
.rt-ph-none b { color: var(--rt-v); }

/* ---------- 4. 회수지 · 가는 곳 ---------- */
.rt-subh { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 13px; font-weight: 800; color: #374151; margin: 0 0 8px; line-height: 20px; }
.rt-subh .rt-subh-d { font-weight: 400; }
/* 칸 + 옆 버튼 한 줄 (회수지 연락처 [바꾸기]) */
.rt-inline { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--rt-gap); }
/* 읽기 칸 '기존 주문 연락처 · 010-****-1234' 가 칸보다 길면(600~760px 태블릿) 끝을 ... 로 (글자가 칸 밖으로 잘려 보이지 않게) */
.rt-inline .form-input { text-overflow: ellipsis; }
/* 360px 폰: 읽기 칸 안쪽 여백만 줄여 '기존 주문 연락처 · 010-****-1234' 가 끝까지 보이게 (12px 이면 2px 모자라 끝 세 자리가 ... 로 가려짐) */
@media (max-width: 375px) { #modal-return .rt-inline .form-input { padding-left: 8px !important; padding-right: 8px !important; } }
.rt-tag { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 10px; font-size: 12px; font-weight: 700; color: var(--rt-pur); background: var(--rt-pur-bg); box-shadow: inset 0 0 0 1px var(--rt-pur-line); white-space: nowrap; }
.rt-arrow { display: flex; align-items: center; gap: 10px; margin: 14px 0; color: var(--rt-k); font-size: 12px; font-weight: 700; }
.rt-arrow::before, .rt-arrow::after { content: ''; flex: 1 1 auto; height: 1px; background: var(--rt-line2); }
.rt-arrow svg { flex: 0 0 auto; }
.rt-dest-info { margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: #F8FAFC; font-size: 14px; line-height: 1.55; color: var(--rt-v); overflow-wrap: anywhere; }
.rt-dest-info .rt-di-n { font-weight: 700; }
.rt-dest-info .rt-di-a, .rt-dest-info .rt-di-p { font-size: 13px; color: var(--rt-k); }
.rt-dest-info .rt-di-a::before, .rt-dest-info .rt-di-p::before { content: ' \B7\A0'; }

/* ---------- 5. 금액 ---------- */
/* 교환이면 '회수' / '새 상품 배송' 두 묶음 + 합계 줄 */
.rt-amt-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; margin: 14px 0 8px; font-size: 13px; font-weight: 800; color: #374151; line-height: 20px; }
.rt-amt-h:first-child { margin-top: 0; }
.rt-amt-h .rt-muted { font-size: 12px; font-weight: 400; }
.rt-sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px var(--rt-line2); font-size: 14px; color: var(--rt-v); line-height: 1.55; }
.rt-sum .rt-sum-k { font-size: 12px; font-weight: 800; color: var(--rt-k); }
.rt-sum b { font-size: 16px; font-weight: 900; }
.rt-amt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--rt-gap); }
.rt-amt > div { background: #F8FAFC; border-radius: 10px; padding: 12px 14px; min-width: 0; }
.rt-amt-v { display: block; margin-top: 2px; font-size: 20px; font-weight: 900; color: var(--rt-v); line-height: 1.35; }
.rt-amt-v.rt-zero { color: var(--rt-k); }
.rt-amt-v.rt-txt { font-size: 15px; font-weight: 800; }
.rt-amt-sub { display: block; margin-top: 2px; font-size: 12px; color: var(--rt-k); line-height: 1.5; overflow-wrap: anywhere; }
.rt-deduct { margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: #FEF2F2; color: #B91C1C; font-size: 13px; font-weight: 700; line-height: 1.55; }

/* ---------- 사진 크게 보기 ---------- */
#rt-lb { position: fixed; inset: 0; z-index: 10010; background: rgba(0,0,0,0.85); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 56px 16px 24px; box-sizing: border-box; }
#rt-lb img { max-width: 100%; max-height: calc(100% - 64px); min-height: 0; border-radius: 10px; background: #fff; }
#rt-lb .rt-lb-bar { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; gap: 12px; max-width: 100%; }
#rt-lb .rt-lb-cap { min-width: 0; color: #fff; font-size: 14px; font-weight: 700; text-align: center; }
#rt-lb .rt-lb-nav { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: none; border-radius: 50%; background: rgba(255,255,255,0.2); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
#rt-lb .rt-lb-nav:hover:not(:disabled) { background: rgba(255,255,255,0.32); }
#rt-lb .rt-lb-nav:disabled { opacity: .3; cursor: default; }
#rt-lb .rt-lb-nav[hidden] { display: none; }
#rt-lb .rt-lb-x { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.2); color: #fff; font-size: 22px; display: flex; align-items: center; justify-content: center; cursor: pointer; }

/* ---------- 목록 · 상세 (회수 주문) ---------- */
.rt-badge { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; margin-left: 4px; border-radius: 4px; font-size: 10px; font-weight: 700; line-height: 1; color: var(--rt-pur); background: var(--rt-pur-bg); box-shadow: inset 0 0 0 1px var(--rt-pur); vertical-align: middle; white-space: nowrap; }
.rt-st { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 4px; margin-top: 4px; }
/* 목록 표 · 카드의 회수 글자도 낱말 단위로만 줄바꿈 ('지연·거부' 가 '지 / 연·거부' 로 끊기지 않게) */
.rt-st, .rt-orig, .rt-card-orig, .rt-addr-k { word-break: keep-all; }
.rt-st .rt-badge { margin-left: 0; }
.rt-orig { font-size: 11px; font-weight: 700; line-height: 1.35; color: var(--rt-pur); white-space: normal; }
.rt-addr-k { display: block; font-size: 11px; font-weight: 700; color: var(--rt-pur); white-space: nowrap; line-height: 1.4; }
.rt-cust-k { display: block; font-size: 11px; font-weight: 700; color: var(--rt-pur); line-height: 1.35; word-break: keep-all; }
#modal-order-detail .rt-hbadge { height: 22px; padding: 0 9px; margin-left: 0; border-radius: 20px; font-size: 11px; }
#order-cards .data-card .rt-card-orig { color: var(--rt-pur) !important; font-weight: 700; }
#detail-return, #detail-exch { background: var(--rt-pur-bg); border-left: 3px solid var(--rt-pur); border-radius: 12px; padding: 14px 16px; margin-bottom: 10px; }
#detail-return .rt-dh, #detail-exch .rt-dh { font-size: 13px; font-weight: 800; color: var(--rt-pur); margin-bottom: 8px; }
#detail-return .rt-dgrid, #detail-exch .rt-dgrid { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 6px 10px; font-size: 14px; line-height: 1.5; }
#detail-return .rt-dgrid > .rt-k, #detail-exch .rt-dgrid > .rt-k { line-height: 21px; }
#detail-return .rt-dgrid > div, #detail-exch .rt-dgrid > div { min-width: 0; overflow-wrap: anywhere; }
#detail-exch { word-break: keep-all; }
#detail-exch .rt-link { color: var(--rt-pur); font-weight: 800; text-decoration: underline; cursor: pointer; }
#detail-return .rt-dl + .rt-dl { margin-top: 1px; }
#detail-return .rt-dl .rt-tag { vertical-align: 1px; }
#detail-return .rt-link { color: var(--rt-pur); font-weight: 800; text-decoration: underline; cursor: pointer; }
/* 보관 사진 4장은 한 줄 (폰은 2 x 2) */
#detail-return .rt-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 72px)); gap: 8px; margin-top: 2px; }
#detail-return .rt-ph { width: auto; min-width: 0; }
#detail-return .rt-ph img { width: 100%; height: auto; aspect-ratio: 3 / 4; }
#detail-return .rt-dneg { color: #B91C1C; font-weight: 700; }
#detail-return .rt-dnote { margin-top: 8px; font-size: 12px; color: var(--rt-k); line-height: 1.5; }

/* ---------- 카카오퀵 회수 모드 띠 (운영 #modal-kqb-confirm 모양 위에) ---------- */
#modal-kqr-confirm .kqr-strip { flex-shrink: 0; display: flex; align-items: flex-start; gap: 8px; padding: 10px 18px; background: var(--rt-pur-bg); border-bottom: 1px solid var(--rt-pur-line); color: var(--rt-pur); font-size: 13px; font-weight: 700; line-height: 1.55; }
#modal-kqr-confirm .kqr-strip .rt-tag { flex: 0 0 auto; margin-top: 1px; background: #fff; box-shadow: inset 0 0 0 1px var(--rt-pur); }
#modal-kqr-confirm .kqr-route { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 6px 10px; }
#modal-kqr-confirm .kqr-route .kqr-k { font-size: 12px; font-weight: 800; color: var(--rt-pur); line-height: 21px; }
#modal-kqr-confirm .kqr-route > div { min-width: 0; overflow-wrap: anywhere; }
/* 오배송 정정을 카카오로 보낼 때 오배송 기사 정산 차감 줄 (회수 창 금액 칸 .rt-deduct 와 같은 빨강, 정산 규칙: 카카오 정정도 차감) */
#modal-kqr-confirm .kqr-deduct { margin-top: 4px; color: #B91C1C; font-weight: 700; }

/* ---------- 폰 (600px 이하): 화면 전체 창, 한 줄에 하나, 버튼 맨 아래 가로 전체 ---------- */
@media (max-width: 600px) {
  #modal-return { padding: 0 !important; align-items: stretch !important; justify-content: stretch !important; }
  #modal-return .modal-box { max-width: none !important; width: 100% !important; height: 100% !important; max-height: none !important; border-radius: 0 !important; animation: none !important; }
  #modal-return .modal-header { padding: 12px 16px !important; flex-shrink: 0; }
  #modal-return .modal-body { flex: 1 1 auto !important; max-height: none !important; overflow-y: auto !important; padding: 12px !important; }
  #modal-return .modal-footer { flex-shrink: 0; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)) !important; }
  #modal-return .modal-footer .rt-go { grid-column: 1 / -1; order: -1; width: 100%; }
  #modal-return .modal-footer .rt-btn { width: 100%; padding: 0 8px !important; }
  #modal-return .modal-footer .rt-err { grid-column: 1 / -1; order: -2; }
  #modal-return .modal-title .rt-title-sub { display: none; }
  .rt-sec { padding: 12px; }
  .rt-g-find, .rt-g-2 { grid-template-columns: minmax(0, 1fr) !important; }
  .rt-g-period { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .rt-g-period .rt-search { grid-column: 1 / -1; width: 100%; }
  .rt-info { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 12px; }
  .rt-info .rt-w2, .rt-info .rt-w3 { grid-column: 1 / -1; }
  .rt-reasons, .rt-reasons.rt-reasons-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* 사유 5개는 2칸씩이면 마지막 '기타' 가 반 칸으로 혼자 남으므로 한 줄 전체 */
  .rt-reasons.rt-reasons-5 > .rt-chip:last-child { grid-column: 1 / -1; }
  /* 1번 고르기 칩도 한 줄에 하나 (360px 폰에서 '기존 주문 없이 직접 입력' + 체크가 칸에 안 들어감) */
  .rt-modes { grid-template-columns: minmax(0, 1fr); }
  .rt-exch { grid-template-columns: minmax(0, 1fr); }
  .rt-res { grid-template-columns: 20px minmax(0, 1fr); }
  .rt-res-meta { grid-column: 2; text-align: left; white-space: normal; }
  .rt-photos { grid-template-columns: repeat(auto-fill, 100px); gap: 8px; }
  .rt-ph, .rt-ph img, .rt-ph-empty, .rt-ph-empty .rt-ph-box { width: 100px; }
  .rt-ph img, .rt-ph-empty .rt-ph-box { height: 134px; }
  .rt-h-aside { display: none; }
  .rt-dest-info .rt-di-a, .rt-dest-info .rt-di-p { display: block; }
  .rt-dest-info .rt-di-a::before, .rt-dest-info .rt-di-p::before { content: none; }
  #detail-return .rt-dgrid, #detail-exch .rt-dgrid { grid-template-columns: 56px minmax(0, 1fr); }
  #detail-return .rt-photos { grid-template-columns: repeat(2, minmax(0, 72px)); }
}

/* ---------- 0. 종류 고르기 (2026-10-27 사장님 지시: 팝업 첫 화면에 3가지, 설명 전체 + (비용 발생) 글자가 버튼 안에 보임. 폰도 세로 한 줄에 하나. 띠 · 색 칩 없음) ---------- */
.rt-kinds { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.rt-kind { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%; min-width: 0; margin: 0; padding: 16px 18px; border: none; border-radius: 12px; background: #fff; box-shadow: inset 0 0 0 1px var(--rt-line2); text-align: left; cursor: pointer; font-family: inherit; }
.rt-kind:hover, .rt-kind:focus-visible { box-shadow: inset 0 0 0 2px var(--rt-pur); background: #FCFBFF; outline: none; }
.rt-kind-t { font-size: 16px; font-weight: 900; color: var(--rt-v); line-height: 1.4; }
.rt-kind-d { font-size: 14px; color: #374151; line-height: 1.55; overflow-wrap: anywhere; }
@media (max-width: 600px) { .rt-kind { padding: 14px; } }
