/* ==========================================================
   환불신청 관리 목록 (관리 테이블)
   ========================================================== */
.rf{
	--rf-pt:#1d6ba4;
	--rf-pt-l:#eaf2f8;
	--rf-ok:#2fa46a;
	--rf-ok-l:#e9f6ef;
	--rf-wait:#98a1a9;
	--rf-tx:#20262c;
	--rf-tx2:#5d6772;
	--rf-tx3:#98a1a9;
	--rf-ln:#e4e8ec;
	--rf-ln2:#eef1f4;
	max-width:1280px;
	margin:0 auto;
	font-size:14px;
	color:var(--rf-tx);
}
.rf *{box-sizing:border-box}

/* ---- 검색 패널 : 한 줄 ---- */
.rf-search{
	border:1px solid var(--rf-ln);
	border-right:none;
	border-radius:12px;
	padding:12px 14px;
	background:#fafbfc;
	margin-bottom:16px;
}
.rf-row{
	display:flex;
	flex-wrap:nowrap;
	align-items:center;
	gap:7px;
}
.rf-sep{flex:0 0 auto;color:var(--rf-tx3);font-size:13px}
.rf input,
.rf select{
	font-family:inherit;
	font-size:13px;
	color:var(--rf-tx);
	height:38px;
	padding:0 10px;
	margin:0;
	border:1px solid var(--rf-ln);
	border-radius:8px;
	background:#fff;
	outline:none;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.rf input[type=date]{flex:0 0 auto;width:132px}
.rf select#rfField{flex:0 0 auto;width:150px;max-width:150px}
.rf .rf-kw{flex:1 1 120px;min-width:90px}
.rf input:focus,
.rf select:focus{border-color:var(--rf-pt);box-shadow:0 0 0 3px rgba(29,107,164,.13)}
.rf-presets{flex:0 0 auto;display:flex;gap:4px}
.rf-chip{
	height:32px;
	padding:0 11px;
	border:1px solid var(--rf-ln);
	background:#fff;
	color:var(--rf-tx2);
	border-radius:999px;
	font-family:inherit;
	font-size:12.5px;
	font-weight:600;
	line-height:1;
	cursor:pointer;
	white-space:nowrap;
	transition:.15s;
}
.rf-chip:hover{border-color:var(--rf-pt);color:var(--rf-pt)}
.rf-chip.on{background:var(--rf-pt);border-color:var(--rf-pt);color:#fff}
.rf-btn{
	flex:0 0 auto;
	height:38px;
	padding:0 14px;
	border:1px solid transparent;
	border-radius:8px;
	font-family:inherit;
	font-size:13px;
	font-weight:700;
	white-space:nowrap;
	cursor:pointer;
	transition:.15s;
}
.rf-btn.go{background:var(--rf-pt);color:#fff}
.rf-btn.go:hover{background:#155882}
.rf-btn.reset{background:#fff;border-color:var(--rf-ln);color:var(--rf-tx2)}
.rf-btn.reset:hover{border-color:var(--rf-tx3)}
.rf-btn.xls{background:#fff;border-color:var(--rf-ok);color:var(--rf-ok)}
.rf-btn.xls:hover{background:#f2fbf6}

/* ---- 건수 ---- */
.rf-count{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:13px;color:var(--rf-tx2)}
.rf-count strong{color:var(--rf-pt);font-weight:800}
.rf-sel{color:var(--rf-ok);font-weight:700}
.rf-cap{margin-left:auto;font-size:12px;color:var(--rf-tx3)}

/* ---- 관리 테이블 ---- */
.rf-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table.rf-table{width:100%;border-collapse:collapse;border-top:2px solid var(--rf-tx);margin:0}
table.rf-table th{
	background:#f8f9fa;
	font-size:12.5px;
	font-weight:700;
	color:var(--rf-tx2);
	padding:12px 10px;
	text-align:left;
	border-bottom:1px solid var(--rf-ln);
	white-space:nowrap;
	cursor:pointer;
	user-select:none;
}
table.rf-table th:hover{color:var(--rf-pt)}
table.rf-table th.chk,
table.rf-table td.chk{width:44px;text-align:center;cursor:default;padding-left:0;padding-right:0}
table.rf-table th .ar{font-size:10px;margin-left:4px;color:var(--rf-pt)}
table.rf-table td{
	font-size:13.5px;
	padding:12px 10px;
	border-bottom:1px solid var(--rf-ln2);
	vertical-align:middle;
	white-space:normal;
	word-break:keep-all;
	overflow-wrap:anywhere;
	line-height:1.45;
}
table.rf-table td.nw{white-space:nowrap}
table.rf-table input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--rf-pt);cursor:pointer;vertical-align:middle}
table.rf-table tbody tr{transition:background-color .12s ease}
table.rf-table tbody tr:hover td{background:var(--rf-pt-l)}
table.rf-table tbody tr.on td{background:#f4faff}
table.rf-table tbody tr.cur td{background:#fff8e6}
table.rf-table tbody tr.cur td.num{color:#1d6ba4;font-weight:700}
table.rf-table td.num{font-variant-numeric:tabular-nums;color:var(--rf-tx3)}
table.rf-table td.key{font-weight:700}
table.rf-table td.go{cursor:pointer}
.rf-tag{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11.5px;font-weight:700;line-height:1.3;white-space:nowrap}
.rf-tag.done{background:var(--rf-ok-l);color:var(--rf-ok)}
.rf-tag.wait{background:#f2f4f7;color:var(--rf-wait)}
.rf-empty{padding:56px 0;text-align:center;color:var(--rf-tx3);font-size:14px}

/* ---- 날짜 박스형 ---- */
.rf-allbar{display:flex;align-items:center;padding:0 0 10px 14px;border-bottom:2px solid var(--rf-tx);margin-bottom:14px}
.rf-allbar label{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--rf-tx2);cursor:pointer}
.rf-allbar input[type=checkbox],
.rf-day-hd input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--rf-pt);cursor:pointer;vertical-align:middle}
.rf-day{border:1px solid var(--rf-ln);border-right:none;border-radius:12px;overflow:hidden;margin-bottom:14px;background:#fff}
.rf-day-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;background:#f6f8fa;border-bottom:1px solid var(--rf-ln)}
.rf-day-hd label{display:inline-flex;align-items:center;gap:14px;cursor:pointer;margin:0}
.rf-day-hd strong{font-size:15px;font-weight:700;color:var(--rf-tx);font-variant-numeric:tabular-nums}
.rf-day-hd small{font-size:13px;color:var(--rf-tx3);margin-left:-8px}
.rf-day-sum{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.rf-day table.rf-table{border-top:0;table-layout:fixed}
.rf-day table.rf-table th{background:#fff}
.rf-day table.rf-table tbody tr:last-child td{border-bottom:0}
@media (max-width:768px){
	.rf-day table.rf-table{table-layout:auto;min-width:760px}
	.rf-day-hd{flex-wrap:wrap}
}

/* ---- 페이지 ---- */
.rf-page{display:flex;justify-content:center;align-items:center;gap:5px;margin:22px 0 4px;flex-wrap:wrap}
.rf-page button{
	min-width:34px;
	height:34px;
	padding:0 10px;
	border:1px solid var(--rf-ln);
	background:#fff;
	color:var(--rf-tx2);
	border-radius:8px;
	font-family:inherit;
	font-size:13px;
	font-weight:600;
	cursor:pointer;
	transition:.15s;
}
.rf-page button:hover:not(:disabled){border-color:var(--rf-pt);color:var(--rf-pt)}
.rf-page button.on{background:var(--rf-pt);border-color:var(--rf-pt);color:#fff}
.rf-page button:disabled{opacity:.4;cursor:default}

/* ---- 반응형 ---- */
@media (max-width:1200px){
	.rf-row{flex-wrap:wrap;gap:8px}
	.rf-presets{flex:1 1 100%}
	.rf .rf-kw{flex:1 1 160px}
	.rf-btn.xls{margin-left:auto}
}
@media (max-width:768px){
	.rf input,
	.rf select{font-size:16px;height:46px}
	.rf input[type=date]{width:calc(50% - 16px)}
	.rf select#rfField{width:100%;max-width:none;flex:1 1 100%}
	.rf .rf-kw{flex:1 1 100%}
	.rf-btn{height:46px;flex:1 1 auto}
	.rf-btn.xls{flex:1 1 100%;margin-left:0}
	.rf-cap{margin-left:0;width:100%}
	table.rf-table td{min-width:0}
}
@media (prefers-reduced-motion: reduce){
	.rf *{transition:none !important}
}

/* ==========================================================
   일반 회원 목록 (심플 리스트)
   ========================================================== */
.rfm{
	--rfm-pt:#1d6ba4;
	--rfm-pt-l:#eaf2f8;
	--rfm-ac:#e2692f;
	--rfm-ok:#2fa46a;
	--rfm-ok-l:#e9f6ef;
	--rfm-tx:#20262c;
	--rfm-tx2:#5d6772;
	--rfm-tx3:#98a1a9;
	--rfm-ln:#e4e8ec;
	--rfm-ln2:#eef1f4;
	max-width:1280px;
	margin:0 auto;
	color:var(--rfm-tx);
}
.rfm *{box-sizing:border-box}
table.rfm-table{width:100%;border-collapse:collapse;border-top:2px solid var(--rfm-tx);margin:0}
table.rfm-table th{
	font-size:13px;
	font-weight:700;
	color:var(--rfm-tx2);
	padding:15px 12px;
	border-bottom:1px solid var(--rfm-ln);
	text-align:center;
	white-space:nowrap;
}
table.rfm-table th.c-t{text-align:left}
table.rfm-table td{
	font-size:14px;
	padding:17px 12px;
	border-bottom:1px solid var(--rfm-ln2);
	text-align:center;
	vertical-align:middle;
	color:var(--rfm-tx2);
}
table.rfm-table td.c-no{width:80px;font-variant-numeric:tabular-nums;color:var(--rfm-tx3)}
table.rfm-table td.c-t{text-align:left}
table.rfm-table td.c-st{width:110px}
table.rfm-table td.c-w{width:130px}
table.rfm-table td.c-d{width:130px;font-variant-numeric:tabular-nums;color:var(--rfm-tx3)}
table.rfm-table td.c-t a{color:var(--rfm-tx);text-decoration:none}
table.rfm-table td.c-t a:hover{color:var(--rfm-pt);text-decoration:underline}
table.rfm-table tbody tr:hover td{background:#fafbfc}

/* 내 신청 건 강조 */
table.rfm-table tr.rfm-mine td{background:#fbfdff}
table.rfm-table tr.rfm-mine:hover td{background:var(--rfm-pt-l)}
table.rfm-table tr.rfm-mine td.c-t a{color:var(--rfm-pt);font-weight:700}

/* 공지 */
table.rfm-table tr.rfm-notice td{background:#fafbfc;font-weight:600}
table.rfm-table tr.rfm-notice td.c-no{color:var(--rfm-ac);font-weight:700;font-size:12.5px}

.rfm-lock{margin-left:5px;color:var(--rfm-tx3);font-size:13px;vertical-align:baseline}
.rfm-reply{margin-left:5px;color:var(--rfm-ac);font-size:12.5px;font-weight:700;text-decoration:none}
.rfm-dash{color:var(--rfm-tx3)}
.rfm-tag{
	display:inline-block;
	margin-left:5px;
	padding:3px 9px;
	border-radius:6px;
	font-size:11px;
	font-weight:700;
	line-height:1.4;
	white-space:nowrap;
	vertical-align:1px;
}
.rfm-tag.mine{background:var(--rfm-pt-l);color:var(--rfm-pt)}
.rfm-tag.new{background:#fdece4;color:var(--rfm-ac)}
.rfm-tag.done{margin-left:0;background:var(--rfm-ok-l);color:var(--rfm-ok)}
.rfm-tag.wait{margin-left:0;background:#fdf1ea;color:var(--rfm-ac)}
tr.rfm-empty td{padding:60px 0;text-align:center;color:var(--rfm-tx3);font-size:14px}

@media (max-width:768px){
	table.rfm-table th.c-w,
	table.rfm-table td.c-w{display:none}
	table.rfm-table th,
	table.rfm-table td{padding:14px 8px;font-size:13.5px}
	table.rfm-table td.c-no{width:52px}
	table.rfm-table td.c-st{width:88px}
	table.rfm-table td.c-d{width:96px;font-size:12.5px}
	table.rfm-table td.c-t{word-break:keep-all}
	.rfm-tag{margin-left:4px;padding:2px 7px;font-size:10.5px}
}
@media (max-width:480px){
	table.rfm-table th.c-no,
	table.rfm-table td.c-no{display:none}
}

/* ==========================================================
   일반 사용자 목록 : 날짜 박스 + 상태 요약 (D03)
   ========================================================== */
.rfd{padding-top:4px}
.rfd-grp{border:1px solid var(--rfm-ln);border-radius:14px;overflow:hidden;background:#fff}
.rfd-grp+.rfd-grp{margin-top:14px}
.rfd-hd{display:flex;align-items:center;gap:4px;padding:13px 18px;background:#f6f8fa;border-bottom:1px solid var(--rfm-ln)}
.rfd-hd strong{font-size:15px;font-weight:700;color:var(--rfm-tx);font-variant-numeric:tabular-nums}
.rfd-hd small{font-size:13px;color:var(--rfm-tx3);margin-left:2px}
.rfd-sum{margin-left:auto;display:flex;gap:6px}
.rfd-sum i{font-style:normal;font-size:12px;font-weight:700;border-radius:6px;padding:4px 9px;line-height:1.3}
.rfd-sum .w{background:#fdf1ea;color:#c25a1f}
.rfd-sum .o{background:var(--rfm-ok-l);color:#1e7a4c}
.rfd-list{margin:0;padding:0 10px;list-style:none}
.rfd-row{display:flex;align-items:center;gap:12px;padding:15px 8px;border-bottom:1px solid var(--rfm-ln2);list-style:none}
.rfd-row:last-child{border-bottom:0}
.rfd-row:hover{background:#fafbfc}
.rfd-no{width:48px;flex:none;text-align:center;font-size:12.5px;color:var(--rfm-tx3);font-variant-numeric:tabular-nums}
.rfd-t{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 6px}
.rfd-t a.rfd-tt,.rfd-notice .rfd-t a{font-size:14.5px;font-weight:500;color:var(--rfm-tx);text-decoration:none;word-break:keep-all}
.rfd-t a.rfd-tt:hover,.rfd-notice .rfd-t a:hover{color:var(--rfm-pt);text-decoration:underline}
.rfd-lock{width:14px;height:14px;flex:none;fill:none;stroke:var(--rfm-tx3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rfd-cc{font-size:12.5px;font-weight:700;color:var(--rfm-pt);text-decoration:none}
.rfd-w{width:100px;flex:none;text-align:center;font-size:13.5px;color:var(--rfm-tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rfd-st{width:84px;flex:none;text-align:right}
.rfd-tag{display:inline-block;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:700;line-height:1.4;white-space:nowrap}
.rfd-tag.new{background:#fdece4;color:var(--rfm-ac)}
.rfd-tag.mine{background:var(--rfm-pt-l);color:var(--rfm-pt)}
.rfd-st .rfd-tag{padding:5px 10px;font-size:12px}
.rfd-tag.wait{background:#fdf1ea;color:#c25a1f}
.rfd-tag.done{background:var(--rfm-ok-l);color:#1e7a4c}
.rfd-row.is-mine{background:#fbfdff}
.rfd-row.is-mine a.rfd-tt{color:var(--rfm-pt);font-weight:700}
.rfd-row.is-cur{background:#fff8e6}
.rfd-row.is-cur .rfd-no{color:var(--rfm-pt);font-weight:700}
.rfd-notice .rfd-hd strong{color:var(--rfm-ac)}
.rfd-ntag{font-style:normal;font-size:11.5px;font-weight:700;color:var(--rfm-ac)}
.rfd-empty{padding:70px 0;text-align:center;font-size:14px;color:var(--rfm-tx3);border:1px solid var(--rfm-ln);border-radius:14px}

/* 검색 : 제목 · 이름 · 날짜 */
.rfs{max-width:1280px;margin:0 auto 18px}
.rfs-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#f6f8fa;border-radius:12px;padding:10px;margin:0}
.rfs-seg{display:flex;flex:none;background:#fff;border:1px solid #e4e8ec;border-radius:8px;padding:3px}
.rfs-seg label{margin:0;cursor:pointer}
.rfs-seg input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.rfs-seg span{display:block;height:34px;line-height:34px;padding:0 15px;border-radius:6px;font-size:13px;font-weight:600;color:#6b7680;white-space:nowrap}
.rfs-seg input:checked+span{background:#1d6ba4;color:#fff}
.rfs-seg input:focus-visible+span{outline:2px solid #1d6ba4;outline-offset:1px}
.rfs-kw{flex:1;min-width:180px;display:flex}
.rfs-kw input{width:100%;height:42px;margin:0;padding:0 14px;box-sizing:border-box;border:1px solid #d5dbe0;border-radius:8px;background:#fff;font-family:inherit;font-size:14px;color:#222;outline:none}
.rfs-kw input:focus{border-color:#1d6ba4;box-shadow:0 0 0 3px #eaf3fa}
.rfs-kw .rfs-date,.rfs-kw[data-mode="regdate"] .rfs-text{display:none}
.rfs-kw[data-mode="regdate"] .rfs-date{display:block}
.rfs-btn{flex:none;height:42px;margin:0;padding:0 20px;border:0;border-radius:8px;background:#1d6ba4;color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer}
.rfs-btn:hover{background:#15557f}
.rfs-reset{flex:none;height:42px;line-height:42px;padding:0 6px;font-size:13px;color:#6b7680;text-decoration:underline}
.rfs-top{display:flex;justify-content:flex-end;margin:0 0 10px}
.rfs-policy{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;background:#fff;border:1px solid #cfd8e0;border-radius:8px;color:#1d6ba4;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
.rfs-policy:hover,.rfs-policy:focus{background:#eaf3fa;border-color:#1d6ba4;color:#1d6ba4;text-decoration:none}
.rfs-policy:focus-visible{outline:2px solid #1d6ba4;outline-offset:3px}
.rfs-policy-badge{height:20px;line-height:20px;padding:0 7px;border-radius:4px;background:#e5484d;color:#fff;font-size:11px;font-weight:700;animation:rfsBlink 1s steps(1) infinite}
@keyframes rfsBlink{50%{opacity:.15}}
.btnArea .rfs-policy-ft{height:43px;margin:0 6px 0 0;vertical-align:middle;box-sizing:border-box}
@media (prefers-reduced-motion:reduce){.rfs-policy-badge{animation:none}}
@media (max-width:640px){.rfs-top{justify-content:center}.rfs-top .rfs-policy{width:100%;justify-content:center}}

@media (max-width:768px){
	.rfd-hd{padding:12px 14px}
	.rfd-list{padding:0 4px}
	.rfd-row{flex-wrap:wrap;gap:6px 10px;padding:14px 8px}
	.rfd-no{display:none}
	.rfd-t{flex-basis:100%}
	.rfd-w{width:auto;text-align:left;font-size:12.5px;color:var(--rfm-tx3)}
	.rfd-st{width:auto;margin-left:auto}
	.rfs-seg{width:100%}
	.rfs-seg label{flex:1}
	.rfs-seg span{text-align:center;padding:0}
	.rfs-kw{flex-basis:100%;min-width:0}
	.rfs-btn{flex:1}
}

/* ==========================================================
   환불 상태 4종 : 검토중 · 보완요청 · 환불불가 · 환불완료
   ========================================================== */
.rfd-sum i.st-review,.rfd-tag.st-review{background:#fdf1ea;color:#c25a1f}
.rfd-sum i.st-need,.rfd-tag.st-need{background:#f1ecfb;color:#6b46c1}
.rfd-sum i.st-deny,.rfd-tag.st-deny{background:#fdecec;color:#c62f2f}
.rfd-sum i.st-done,.rfd-tag.st-done{background:var(--rfm-ok-l);color:#1e7a4c}
.rf-tag.need{background:#f1ecfb;color:#6b46c1}
.rf-tag.deny{background:#fdecec;color:#c62f2f}
.rf-tag.review{background:#fdf1ea;color:#c25a1f}

