/* ============================================
   정산 관리 페이지
   프리픽스: stl_
   참고: pages/coupons.css (cpn_), pages/owner-rooms.css (or_)
   ============================================ */

/* ══════════════════════════════════════════════
   목록 페이지
   ══════════════════════════════════════════════ */

/* ── 테이블 스크롤 영역 ──────────────────────── */

.stl_table_scroll {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}

.stl_table_scroll::-webkit-scrollbar {
  width: 0;
  height: 9px;
}

.stl_table_scroll::-webkit-scrollbar-corner {
  background: transparent;
}

/* ── 테이블 컬럼 너비 ────────────────────────── */
/* 순서: 정산월 - 상태 - 종류 - 버전 - 예약건수 - 정산기준액 - 수수료 - 지급액 - 청구액 - 지급완료일 */

.stl_table {
  table-layout: fixed;
  min-width: 900px;
}

.stl_table .dtable_th:nth-child(1),
.stl_table .dtable_td:nth-child(1) {
  width: 9%;
}

.stl_table .dtable_th:nth-child(2),
.stl_table .dtable_td:nth-child(2) {
  width: 8%;
}

.stl_table .dtable_th:nth-child(3),
.stl_table .dtable_td:nth-child(3) {
  width: 7%;
}

.stl_table .dtable_th:nth-child(4),
.stl_table .dtable_td:nth-child(4) {
  width: 6%;
}

.stl_table .dtable_th:nth-child(5),
.stl_table .dtable_td:nth-child(5) {
  width: 11%;
}

.stl_table .dtable_th:nth-child(6),
.stl_table .dtable_td:nth-child(6) {
  width: 12%;
}

.stl_table .dtable_th:nth-child(7),
.stl_table .dtable_td:nth-child(7) {
  width: 12%;
}

.stl_table .dtable_th:nth-child(8),
.stl_table .dtable_td:nth-child(8) {
  width: 12%;
}

.stl_table .dtable_th:nth-child(9),
.stl_table .dtable_td:nth-child(9) {
  width: 12%;
}

.stl_table .dtable_th:nth-child(10),
.stl_table .dtable_td:nth-child(10) {
  width: 11%;
}

/* ══════════════════════════════════════════════
   상세 페이지
   구조: stl_stats → tab_nav → stl_filter → page_body > dtable_card
   ══════════════════════════════════════════════ */

/* ── 페이지 타이틀 (layout_page_header 내부) ── */

.stl_page_title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.stl_back_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid var(--c-gray-300);
  border-radius: var(--radius-md);
  background: transparent;
  color: var(--c-gray-400);
  cursor: pointer;
  transition: all 0.15s;
  flex-shrink: 0;
}

.stl_back_btn:hover {
  background: var(--c-gray-100);
}

.dark .stl_back_btn {
  border-color: var(--c-gray-400);
  color: var(--c-gray-500);
}

.dark .stl_back_btn:hover {
  background: var(--c-gray-200);
}

.stl_page_title_sub {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--c-text-3);
  margin-left: 0.25rem;
}

.stl_page_title_meta {
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--c-text-3);
}

/* ── 통계 영역 (토글 가능, or_stat 재사용) ──── */

.stl_stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.75rem;
  margin-bottom: 1.75rem;
  flex-shrink: 0;
}

/* 통계 카드 Info 아이콘 (툴팁 트리거) */
.stl_stat_tip {
  display: inline-flex;
  align-items: center;
  color: var(--c-primary-500);
}

.dark .stl_stat_tip {
  color: var(--c-primary-400);
}

/* 우측 카드(4~5번째) 툴팁 잘림 방지: 오른쪽 정렬 */
.stl_stats>.or_stat:nth-child(n+4) .stl_stat_tip[data-tooltip]::after {
  left: auto;
  right: 0;
  transform: none;
}

/* 이상 감지 경고 텍스트 */
.stl_desc_warn {
  color: var(--c-red-400);
  font-weight: 500;
}

/* 지급/청구 모두 0원일 때 값 경고 색상 */
.stl_value_warn {
  color: var(--c-red-400);
}

/* 통계 카드 보조 텍스트 (아랫줄) */
.or_stat_sub {
  display: block;
  font-size: 0.8125rem;
  color: var(--c-text-2);
  white-space: nowrap;
  margin-top: 0.125rem;
}

/* ── 탭 네비게이션 ───────────────────────────── */

.stl_tab_nav {
  flex-shrink: 0;
}

/* ── 필터 바 (상태 메타 + 탭별 액션) ─────────── */

.stl_filter {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1.25rem 0 0.75rem 0;
  flex-shrink: 0;
}

.stl_filter_right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* ── 정상대상 탭 가로 스크롤 ──────────────────── */

/* 정상대상 탭 활성 시 dtable_scroll 영역 숨김 */
.dtable_card>.dtable_scroll.is_hidden {
  display: none;
}

/* rsv_table_scroll과 동일한 구조 — dtable_card 직접 자식으로 flex item */
.stl_items_scroll {
  flex: 1 1 0%;
  min-height: 0;
  overflow-x: auto;
  overflow-y: auto;
}

/* 세로 스크롤바: 숨김 (width: 0), 가로 스크롤바: 9px */
.stl_items_scroll::-webkit-scrollbar {
  width: 0;
  height: 9px;
}

.stl_items_scroll::-webkit-scrollbar-corner {
  background: transparent;
}

.stl_items_scroll .dtable {
  min-width: 1287px;
}

/* ── 정상대상/이상감지 섹션 구분선 ───────────── */

.stl_section_divider {
  padding: 0.625rem 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--c-text-2);
  border-top: 1px solid var(--c-line);
  background-color: var(--c-gray-50);
}

.dark .stl_section_divider {
  background-color: var(--c-surface-2);
}

/* ── 정산서 생성 모달 미리보기 테이블 ────────── */

.stl_preview_wrap {
  margin-top: 0.75rem;
}

/* 2열 쌍 구분선 */
.stl_preview_wrap .rsv_info_table .stl_preview_sep {
  border-left: 1px solid var(--c-line);
}

/* 값 셀 줄바꿈 방지 */
.stl_preview_wrap .rsv_info_table td {
  white-space: nowrap;
}

/* ── 상세 테이블 행 높이 보정 ─────────────────── */
/* 다른 페이지(회원관리 등)는 배지·버튼이 있어 행이 ~54px,
   정산서는 텍스트만이라 ~46px → 세로 패딩 보정으로 통일 */

.stl_detail_table .dtable_td {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* ── 공통 셀 스타일 ──────────────────────────── */

.stl_badge_gap {
  margin-left: 0.25rem;
}

/* ── 빈 상태 ─────────────────────────────────── */

.stl_empty {
  padding: 3rem 1rem;
  text-align: center;
  color: var(--c-text-3);
  font-size: 0.875rem;
}

/* ── 이상 감지 탭 ────────────────────────────── */

.stl_anomaly_warn {
  font-size: 0.875rem;
  color: var(--c-text-2);
  margin-bottom: 1.25rem;
  padding: 0.5rem 0.75rem;
  background-color: var(--c-gray-50);
  border-radius: var(--radius-lg);
  line-height: 1.5;
}

.dark .stl_anomaly_warn {
  background-color: var(--c-surface-2);
}

.stl_anomaly_balance {
  font-weight: 600;
  color: #dc2626;
}

.dark .stl_anomaly_balance {
  color: #f87171;
}

.stl_anomaly_toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  cursor: pointer;
  user-select: none;
}

.stl_anomaly_toggle input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--c-primary-500);
  cursor: pointer;
}

.stl_anomaly_toggle.is_disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.stl_anomaly_toggle.is_disabled input[type='checkbox'] {
  cursor: not-allowed;
}

/* ── 감사 로그 상세 컬럼 ─────────────────────── */

.stl_log_detail {
  max-width: 20rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── 버전 비교 모달 ──────────────────────────── */

.stl_modal_lg {
  max-width: 48rem;
}

.stl_compare_label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--c-text-1);
  margin-bottom: 0.375rem;
}

/* ── 환불 정산서 모달 ────────────────────────── */

/* ── 수수료율 관리 ────────────────────────────── */

/* 좁은 숫자 입력 (수수료율, 표시순서) */
.form_input.stl_input_xs {
  width: 6.25rem;
}

/* 수신자 추가/수정 모달 서브 텍스트 */
.stl_reminder_modal .modal_sub {
  font-size: 0.875rem;
  color: var(--c-text-2);
  margin-top: 0.5rem;
  margin-bottom: 1.25rem;
  padding: 0.5rem 0.75rem;
  background-color: var(--c-gray-50);
  border-radius: var(--radius-lg);
}

.dark .stl_reminder_modal .modal_sub {
  background-color: var(--c-surface-2);
}

/* 콘텐츠 3컬럼 균등(2/3) + 마지막 빈 컬럼(1/3) */
.stl_cmr_table {
  table-layout: fixed;
}

.stl_cmr_table col:nth-child(-n+3) {
  width: 16.67%;
}

.stl_cmr_table col:last-child {
  width: 50%;
}

/* ── 메일 발송 모달 ──────────────────────────── */

.stl_modal_sm {
  max-width: 30rem;
}

.stl_attach_label {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  cursor: pointer;
  user-select: none;
}

.stl_attach_label input[type='checkbox'] {
  width: 1rem;
  height: 1rem;
  accent-color: var(--c-primary-500);
  cursor: pointer;
}