/* ===== 수분양자 관리 - 상세 드로어 ===== */

/* ── 드로어 너비 ─────────────────────── */

.owd_drawer {
  max-width: 38rem;
}

/* ── 섹션 ──────────────────────────── */

.owd_section {
  padding: 0.75rem 0;
}

.owd_section+.owd_section {
  border-top: 1px solid var(--c-line);
}

.owd_section_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.625rem;
}

.owd_section_title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--c-text-2);
  letter-spacing: 0.02em;
}

.dark .owd_section_title {
  color: var(--c-dark-text-sub);
}

/* ── 소유 객실명 테이블 (rsv_info_table 오버라이드) ── */

.owd_drawer .rsv_info_table_wrap {
  overflow: visible;
}

.owd_drawer .rsv_info_table th {
  width: auto;
}

.owd_drawer .rsv_info_table thead th {
  border-bottom: 1px solid var(--c-line);
}

.owd_drawer .rsv_info_table .daterange_input {
  width: 136px;
  height: 38px;
  min-height: auto;
}

/* ── 소유 객실명 섹션 헤더 ────────── */

.owd_room_section_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.625rem;
  gap: 0.5rem;
}

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

/* ── 소유 객실 검색 인풋 ─────────── */

.owd_room_search {
  position: relative;
  display: flex;
  align-items: center;
}

.owd_room_search_icon {
  position: absolute;
  left: 0.5rem;
  width: 0.875rem;
  height: 0.875rem;
  color: var(--c-gray-400);
  pointer-events: none;
  flex-shrink: 0;
}

.owd_room_search_input {
  height: 1.875rem;
  padding: 0 0.625rem 0 1.875rem;
  border: 1px solid var(--c-input-border);
  border-radius: var(--radius-lg);
  font-size: 0.8125rem;
  background-color: #fff;
  color: var(--c-text-1);
  outline: none;
  width: 9rem;
}

.owd_room_search_input:focus {
  border-color: var(--c-primary-500);
}

.dark .owd_room_search_input {
  background-color: var(--c-surface);
  border-color: var(--c-border);
  color: var(--c-text-2);
}

/* ── 소유 객실 테이블 스크롤 ──────── */

.owd_room_table_wrap {
  overflow: hidden !important;
  max-height: 13rem;
  overflow-y: auto !important;
}

.owd_drawer .rsv_info_table thead {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--c-gray-50);
}

.dark .owd_drawer .rsv_info_table thead {
  background-color: var(--c-surface-2);
}

/* ── 매핑 / 초대 섹션 내부 ─────────── */

.owd_status_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background-color: var(--c-gray-25);
}

.dark .owd_status_row {
  background-color: var(--c-surface-2);
  border-color: var(--c-line);
}

.owd_status_info {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}

.owd_status_name {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--c-text-1);
}

.dark .owd_status_name {
  color: var(--c-dark-text);
}

.owd_status_sub {
  font-size: 0.75rem;
  color: var(--c-text-3);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dark .owd_status_sub {
  color: var(--c-dark-text-sub);
}

.owd_status_actions {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

.owd_empty_text {
  font-size: 0.8125rem;
  color: var(--c-text-3);
  padding: 0.75rem;
  text-align: center;
  border: 1px dashed var(--c-line);
  border-radius: var(--radius-lg);
}

.dark .owd_empty_text {
  color: var(--c-dark-text-sub);
}

/* ── 헤더 매핑 회원 정보 ──────────── */

.owd_header_member {
  margin-left: auto;
  margin-right: 0.5rem;
}

/* ── 라벨 + 액션 링크 한 줄 배치 ──── */

.owd_label_with_actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

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

/* ── 초대 상태 만료일 ─────────────── */

.owd_invite_expiry {
  margin-left: 0.5rem;
  color: var(--c-text-3);
  font-size: 0.8125rem;
}

/* ── 토글 버튼 fit-content ─────────── */

.owd_toggle_fit {
  width: fit-content;
}

.owd_drawer .toggle_btn {
  padding: 0 1.25rem;
  height: calc(2.7rem - 2px);
}

/* ── 드로어 폼 레이아웃 ────────────── */

.owd_form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.owd_form .field {
  flex-direction: column;
  align-items: stretch;
}

/* ── 호실 추가 모달 ────────────────── */

.owd_date_half .daterange_input {
  flex: none;
  width: 187px;
}

.owd_hint_mt {
  margin-top: 0.5rem;
}

.owd_add_room_empty {
  padding-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--c-text-3);
}

/* ── 일괄 초대 결과 ────────────────── */

.owd_bulk_result .mil_tx_list {
  max-height: 40vh;
  overflow-y: auto;
  padding-right: 0.5rem;
}

.owd_bulk_result .mil_tx_row_detail {
  margin-top: 0.125rem;
}

/* ── 일괄 초대 테이블 ──────────────── */

.owd_bulk_table thead {
  z-index: 1;
}

.owd_bulk_table .field_checkbox {
  width: 1.125rem;
  height: 1.125rem;
  vertical-align: middle;
}

.owd_bulk_table td:first-child,
.owd_bulk_table th:first-child {
  text-align: center;
  vertical-align: middle;
}

.owd_bulk_table tbody td {
  color: var(--c-text-2);
}

/* ── 회원 매핑 카드 ─────────────────── */

.owd_map_modal .mil_lot_cards_wrap {
  overflow: visible;
  margin-bottom: 0;
}

.owd_map_name {
  color: var(--c-text-1);
  font-size: 0.9375rem;
}

/* ── 발급된 쿠폰 카드 리스트 ─────────── */

.owd_cpn_list {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.owd_cpn_card {
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  background: var(--c-white);
}

.dark .owd_cpn_card {
  background: var(--c-surface-1);
  border-color: var(--c-line);
}

.owd_cpn_card.is_clickable {
  cursor: pointer;
  transition: border-color var(--duration-fast) var(--ease-default);
}

.owd_cpn_card.is_clickable:hover {
  border-color: var(--c-gray-300);
}

.dark .owd_cpn_card.is_clickable:hover {
  border-color: var(--c-gray-500);
}

/* 비활성 상태 카드 dim */
.owd_cpn_card.is_dimmed .owd_cpn_name {
  color: var(--c-text-3);
  font-weight: 400;
}

.owd_cpn_card.is_dimmed .owd_cpn_face {
  color: var(--c-text-3);
}

.owd_cpn_card.is_dimmed .owd_cpn_row_detail {
  color: var(--c-text-3);
}

.owd_cpn_card.is_dimmed .owd_cpn_detail_item strong {
  color: var(--c-text-3);
  font-weight: 400;
}

.dark .owd_cpn_card.is_dimmed .owd_cpn_name {
  color: var(--c-text-2);
}

.dark .owd_cpn_card.is_dimmed .owd_cpn_face {
  color: var(--c-text-2);
}

.dark .owd_cpn_card.is_dimmed .owd_cpn_row_detail {
  color: var(--c-text-2);
}

.dark .owd_cpn_card.is_dimmed .owd_cpn_detail_item strong {
  color: var(--c-text-2);
}

/* 1행: 배지 + 쿠폰명 | 액면가 */
.owd_cpn_row_main {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  margin-bottom: 0.1875rem;
}

.owd_cpn_badge {
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  padding: 0.125rem 0.375rem;
  font-size: 0.625rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.4;
  white-space: nowrap;
  flex-shrink: 0;
}

.owd_cpn_badge.is_active {
  background-color: var(--c-success);
}

.owd_cpn_badge.is_inactive {
  background-color: var(--c-gray-400);
}

.owd_cpn_badge.is_expired {
  background-color: var(--c-red-400);
}

.owd_cpn_badge.is_exhausted {
  background-color: var(--c-warning);
}

.owd_cpn_name {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--c-text-1);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.owd_cpn_face {
  margin-left: auto;
  font-size: 0.875rem;
  white-space: nowrap;
  letter-spacing: -0.3px;
  color: var(--c-text-2);
  flex-shrink: 0;
}

.owd_cpn_badge.is_active~.owd_cpn_face {
  color: var(--color-red-500);
}

/* 2~3행: 상세 */
.owd_cpn_row_detail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.75rem;
  margin-top: 0.1875rem;
  font-size: 0.8125rem;
  color: var(--c-text-2);
}

.owd_cpn_detail_item strong {
  font-weight: 500;
  color: var(--c-text-1);
}

.dark .owd_cpn_detail_item strong {
  color: var(--c-text-1);
}

/* 발급쿠폰 요약 카운트 */
.owd_cpn_count {
  font-size: 0.8125rem;
  color: var(--c-text-3);
}

/* ── 사용이력 아코디언 화살표 ────── */

.owd_cpn_chevron {
  display: inline-block;
  width: 0.875rem;
  height: 0.875rem;
  margin-left: 0.125rem;
  color: var(--c-text-3);
  transition: transform 200ms var(--ease-default);
  flex-shrink: 0;
  vertical-align: middle;
  margin-bottom: 2px;
}

.owd_cpn_chevron.is_open {
  transform: rotate(180deg);
}

/* ── 사용이력 아코디언 영역 ──────── */

.owd_cpn_usages {
  margin-top: 0.5rem;
  padding-top: 0.375rem;
  border-top: 1px dashed var(--c-line);
}

.owd_cpn_usages_empty {
  font-size: 0.75rem;
  color: var(--c-text-3);
  text-align: center;
  padding: 0.375rem 0;
}

/* 사용이력 각 행 (컴팩트) */
.owd_cpn_usage_row {
  padding: 0.375rem 0;
}

.owd_cpn_usage_row.has_sep {
  border-top: 1px solid var(--c-line);
}

.owd_cpn_usage_main {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

.owd_cpn_usage_booking {
  font-size: 0.8125rem;
}

.owd_cpn_usage_amt {
  margin-left: auto;
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: nowrap;
  color: var(--c-red-500, #ef4444);
}

.owd_cpn_usage_amt.is_refunded {
  color: var(--c-text-3);
  text-decoration: line-through;
}

.dark .owd_cpn_usage_amt.is_refunded {
  color: var(--c-text-2);
}

.owd_cpn_usage_detail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.125rem 0.5rem;
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  color: var(--c-text-2);
}

/* ── 예약이관 버튼 (room_cal_today_btn 동일) ── */
.om_migration_btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.3125rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--c-gray-600);
  border: 1px solid var(--c-input-border);
  border-radius: var(--radius-md);
  background-color: #fff;
  cursor: pointer;
  white-space: nowrap;
}

.om_migration_btn:hover {
  background-color: var(--c-gray-50);
}

.dark .om_migration_btn {
  background-color: var(--c-surface-1);
  border-color: var(--c-line);
  color: var(--c-text-2);
}

.dark .om_migration_btn:hover {
  background-color: var(--c-hover);
}

/* ── 예약이관 드로어: 스크롤 레이아웃 ──────────── */
/* 드로어 본문을 flex column으로 전환하여 통계+필터 고정, 테이블만 스크롤 */
.drawer_panel.is_xxlarge .rsv_drawer_scroll {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.om_pool_fixed {
  flex-shrink: 0;
  padding-top: 0.75rem;
}

.om_pool_table_wrap {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.om_pool_dtable_scroll {
  flex: 1 1 0%;
  min-height: 0;
  overflow-y: auto;
  padding-right: 0.5rem;
}

/* thead 고정 (스크롤 시 상단 고정) */
.om_pool_dtable_scroll .dtable_thead_row .dtable_th {
  position: sticky;
  top: 0;
  z-index: 1;
  background-color: var(--c-gray-100);
}

.dark .om_pool_dtable_scroll .dtable_thead_row .dtable_th {
  background-color: var(--c-primary-100);
}

/* ── 예약이관 드로어: 통계 영역 ────────────────── */
.om_pool_stats {
  margin-bottom: 0.5rem;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

/* ── 예약이관 드로어: 필터 셀렉트 높이 통일 ──── */
.om_pool_select {
  width: auto;
  min-width: 7rem;
  height: 2.375rem;
}

/* ── 예약이관 드로어: 배지 셀 (체크박스와 간격 최소화) ── */
.om_pool_dot_cell.dtable_td,
.om_pool_dot_cell.dtable_th {
  padding-left: 0;
  padding-right: 0.25rem;
  width: 0.625rem;
}

/* ── 예약이관 드로어: 상태 dot (oa_aside_dot 동일 크기) ── */
.om_pool_dot {
  display: inline-block;
  flex-shrink: 0;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 9999px;
  background-color: var(--c-gray-300);
}

.om_pool_dot.is_matched {
  background-color: var(--c-success);
}

.om_pool_dot.is_manual {
  background-color: var(--c-warning);
}

/* ── 예약이관 드로어: 범례 힌트 ───────────────── */
.om_pool_legend {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
  font-size: 0.8125rem;
  color: var(--c-text-2);
}

.om_pool_legend_item {
  display: flex;
  align-items: center;
  gap: 0.375rem;
}

/* ── 예약이관 드로어: 호텔 셀 (dot + 이름) ────── */
.om_pool_hotel_cell {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  min-width: 0;
}

.om_pool_hotel_name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ── 예약이관 드로어: PMS 인풋 ────────────────── */
.om_pool_pms_input {
  font-size: 0.82em;
  padding: 3px 6px;
  width: 100%;
}

/* ── 예약이관 드로어: 객실 해석 결과 (메인+강조) ── */
.om_pool_room_resolved {
  font-weight: 500;
}

/* ── 예약이관 드로어: 안내 텍스트 (통계 바 우측) ── */
.om_pool_footnote {
  font-size: 0.75rem;
  color: var(--c-text-3);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── 테이블 행 클릭 ────────────────── */
/* 공통 .dtable_row.is_click 사용 (components.css) */