/* 관리자 화면 — common-design.css의 cd- 레이아웃 위에 dp- 클래스를 얹는다. */

.dp-admin { font-size: 14px; }
.dp-admin .cd-layout { min-height: 100vh; }
.dp-admin-sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; overflow-y: auto; z-index: 1040; }
.dp-admin-brand { display: flex; align-items: center; gap: 8px; padding: 20px 20px 8px; color: #fff !important; text-decoration: none; font-weight: 800; font-size: 18px; }
.dp-admin-brand small { font-size: 11px; font-weight: 600; color: #93C5FD; border: 1px solid rgba(147,197,253,.4); border-radius: 999px; padding: 1px 8px; }
.dp-admin-sidebar .cd-sidebar-item { font-size: 14px; color: #CBD5E1 !important; text-decoration: none; }
.dp-admin-sidebar .cd-sidebar-item:hover, .dp-admin-sidebar .cd-sidebar-item.is-active { color: #fff !important; }
.dp-admin-sidebar .cd-sidebar-item .dp-svg-icon { width: 18px; height: 18px; flex-shrink: 0; }
.dp-menu-pending { opacity: .55; cursor: default; }
.dp-menu-pending:hover { background: transparent !important; color: #CBD5E1 !important; }
.dp-menu-pending em { font-style: normal; font-size: 10px; margin-left: auto; border: 1px solid rgba(203,213,225,.5); border-radius: 999px; padding: 0 6px; }
.dp-admin-sidebar-foot { margin-top: auto; padding: 16px 20px; border-top: 1px solid rgba(255,255,255,.08); }
.dp-admin-sidebar-foot a { display: inline-flex; align-items: center; gap: 6px; color: #94A3B8 !important; text-decoration: none; font-size: 13px; }
.dp-admin-sidebar-foot .dp-svg-icon { width: 14px; height: 14px; }

.dp-admin-header { position: sticky; top: 0; z-index: 1030; gap: 12px; }
.dp-admin-who { display: flex; align-items: center; gap: 8px; min-width: 0; }
.dp-admin-who strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dp-admin-menu-btn { display: none; width: 40px; height: 40px; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); background: #fff; flex-direction: column; justify-content: center; align-items: center; gap: 4px; }
.dp-admin-menu-btn span { width: 18px; height: 2px; background: var(--cd-text); border-radius: 1px; }
.dp-btn-sm { min-height: 34px; padding: 0 12px; font-size: 13px; }
.dp-admin-demo-note { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #92400E; background: #FFFBEB; border: 1px solid #FDE68A; border-radius: var(--cd-radius-md); padding: 8px 12px; margin-bottom: 20px; }
.dp-admin-demo-note .dp-svg-icon { width: 15px; height: 15px; flex-shrink: 0; }

.dp-role-badge { font-weight: 700; }
.dp-role-badge.is-super_admin { background: #102A56; color: #fff; }
.dp-role-badge.is-headquarters { background: #EDE9FE; color: #5B21B6; }
.dp-role-badge.is-distributor { background: #E0F2FE; color: #075985; }
.dp-role-badge.is-merchant { background: #DCFCE7; color: #166534; }

.dp-admin-pagehead { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.dp-admin-pagehead .cd-page-title { margin-bottom: 4px; }
.dp-back { display: inline-flex; align-items: center; gap: 2px; font-size: 13px; color: var(--cd-text-secondary) !important; text-decoration: none; margin-bottom: 6px; }
.dp-back .dp-svg-icon { width: 16px; height: 16px; }
.dp-subtitle { font-size: 15px; font-weight: 700; margin: 0 0 10px; }

.dp-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.dp-kpi { background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); padding: 18px; display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
.dp-kpi-ico { grid-row: 1 / span 3; width: 42px; height: 42px; border-radius: 12px; background: var(--cd-primary-light); color: var(--cd-primary); display: inline-flex; align-items: center; justify-content: center; }
.dp-kpi-ico .dp-svg-icon { width: 20px; height: 20px; }
.dp-kpi-ico.is-info { background: #DBEAFE; color: #1D4ED8; }
.dp-kpi-ico.is-warning { background: #FEF3C7; color: #B45309; }
.dp-kpi-ico.is-success { background: #DCFCE7; color: var(--cd-success); }
.dp-kpi small { color: var(--cd-text-secondary); font-size: 12px; }
.dp-kpi strong { font-size: 26px; font-weight: 700; line-height: 1.2; }
.dp-kpi em { font-style: normal; font-size: 12px; color: var(--cd-text-secondary); }

.dp-feed { list-style: none; padding: 0; margin: 0; }
.dp-feed li { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--cd-border); }
.dp-feed li:last-child { border-bottom: 0; }
.dp-feed small { display: block; color: var(--cd-text-muted); font-size: 12px; }
.dp-feed-dot { flex: 0 0 8px; height: 8px; border-radius: 50%; background: var(--cd-primary); margin-top: 7px; }
.dp-feed-dot.is-fail { background: var(--cd-danger); }

.dp-empty { text-align: center; padding: 36px 16px; color: var(--cd-text-secondary); }
.dp-empty .dp-icon { margin: 0 auto 10px; }
.dp-pending-card { display: flex; gap: 14px; align-items: flex-start; border-style: dashed; background: #FBFDFF; }

.dp-filter { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.dp-filter .cd-input { max-width: 280px; }
.dp-filter .cd-select { width: auto; min-width: 140px; }
.dp-status-tabs { display: flex; gap: 4px; flex-wrap: wrap; margin-bottom: 12px; border-bottom: 1px solid var(--cd-border); }
.dp-status-tabs a { padding: 8px 14px; color: var(--cd-text-secondary) !important; text-decoration: none; font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.dp-status-tabs a.is-active { color: var(--cd-primary) !important; border-bottom-color: var(--cd-primary); }
.dp-tabs-line { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 16px; }
.dp-tabs-line a { padding: 6px 12px; border: 1px solid var(--cd-border); border-radius: 999px; background: #fff; color: var(--cd-text) !important; text-decoration: none; font-size: 13px; font-weight: 600; }
.dp-tabs-line a:hover { border-color: var(--cd-primary); color: var(--cd-primary) !important; }
section[id] { scroll-margin-top: 84px; }

.dp-form-alert { background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; border-radius: var(--cd-radius-md); padding: 10px 12px; margin-bottom: 12px; font-size: 13px; }
.cd-select.is-invalid, .cd-input.is-invalid { border-color: var(--cd-danger); }
.dp-check-inline { display: inline-flex; align-items: center; gap: 6px; padding-left: 0; min-height: 40px; }
.dp-check-inline .form-check-input { float: none; margin: 0; }

.dp-role-pick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.dp-role-pick label { position: relative; cursor: pointer; }
.dp-role-pick input { position: absolute; opacity: 0; }
.dp-role-pick span { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 8px; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); text-align: center; }
.dp-role-pick span small { color: var(--cd-text-secondary); font-size: 12px; }
.dp-role-pick .dp-svg-icon { width: 22px; height: 22px; color: var(--cd-primary); }
.dp-role-pick input:checked + span { border-color: var(--cd-primary); background: var(--cd-primary-light); box-shadow: inset 0 0 0 1px var(--cd-primary); }
.dp-role-pick input:focus-visible + span { outline: 3px solid var(--cd-primary-light); outline-offset: 2px; }

.dp-big-num { font-size: 26px; font-weight: 700; }
/* 최소 유보금·출금 수수료: 제목 | 현재 값 | 입력 한 줄 */
.dp-mini-policy { display: flex; align-items: center; gap: 12px 24px; flex-wrap: wrap; }
.dp-mini-head { display: flex; flex-direction: column; min-width: 180px; }
.dp-mini-now { display: flex; align-items: baseline; gap: 8px; flex: 1 1 auto; }
.dp-mini-now strong { font-size: 20px; }
.dp-mini-now small { color: var(--cd-text-muted); }
.dp-mini-form { display: flex; gap: 8px; flex-wrap: wrap; }
.dp-mini-form .cd-input { width: 160px; }

.dp-bank-current { display: flex; gap: 12px; align-items: center; padding: 12px; background: var(--cd-background); border-radius: var(--cd-radius-lg); }
.dp-bank-current small { display: block; color: var(--cd-text-secondary); }

.dp-items { display: flex; flex-direction: column; gap: 6px; }
.dp-item-head, .dp-item { display: grid; grid-template-columns: 1fr 80px 140px 120px 36px; gap: 8px; align-items: center; }
.dp-item-head { font-size: 12px; color: var(--cd-text-secondary); font-weight: 600; }
.dp-item-amount { text-align: right; font-weight: 600; }
.dp-item-del { width: 36px; height: 36px; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); background: #fff; color: var(--cd-text-secondary); font-size: 18px; line-height: 1; }
.dp-item-del:hover { color: var(--cd-danger); border-color: var(--cd-danger); }
.dp-bill-sum { display: flex; justify-content: space-between; align-items: baseline; margin-top: 14px; padding-top: 14px; border-top: 2px solid var(--cd-text); }
.dp-bill-sum strong { font-size: 24px; color: var(--cd-navy); }
.dp-link-box { display: flex; gap: 6px; }
.dp-link-box .cd-input { font-size: 12px; min-width: 0; }
.dp-link-box .cd-btn, .cd-btn { white-space: nowrap; }
.dp-link-box .cd-btn { flex-shrink: 0; }

.dp-audit-table td { vertical-align: top; }
.dp-diff { margin-top: 6px; }
.dp-diff pre { margin: 2px 0 0; padding: 8px; border-radius: 6px; font-size: 11px; white-space: pre-wrap; word-break: break-all; max-width: 360px; }
.dp-diff.is-before pre { background: #FEF2F2; }
.dp-diff.is-after pre { background: #F0FDF4; }
.dp-pager { display: flex; justify-content: center; gap: 16px; align-items: center; margin-top: 16px; }

.dp-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); background: var(--cd-navy); color: #fff; padding: 12px 20px; border-radius: 999px; box-shadow: var(--cd-shadow-lg); opacity: 0; transition: opacity .2s ease, transform .2s ease; z-index: 2000; font-weight: 600; }
.dp-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.dp-temp-pw { font-size: 18px; font-weight: 700; letter-spacing: .06em; }

.dp-admin-login { background: linear-gradient(160deg, #fff 0%, var(--cd-background) 60%, #E3EFFF 100%); }
.dp-login-card { padding: 32px; box-shadow: var(--cd-shadow-lg); }

@media (max-width: 767px) {
  .dp-admin .cd-sidebar { display: flex; position: fixed; left: 0; top: 0; transform: translateX(-100%); transition: transform .2s ease; box-shadow: var(--cd-shadow-lg); }
  .dp-admin .cd-sidebar.is-open { transform: translateX(0); }
  .dp-admin-backdrop { position: fixed; inset: 0; background: rgba(15,23,42,.45); z-index: 1035; }
  .dp-admin-menu-btn { display: inline-flex; }
  .dp-role-pick { grid-template-columns: 1fr; }
  .dp-item-head { display: none; }
  .dp-item { grid-template-columns: 70px 1fr 36px; padding-bottom: 8px; border-bottom: 1px dashed var(--cd-border); }
  .dp-item [data-f=name], .dp-item .dp-item-amount { grid-column: 1 / -1; }
  .dp-item .dp-item-amount { order: 5; }
  .dp-filter .cd-input { max-width: none; flex: 1 1 160px; }
}

.dp-pw-wrap { position: relative; }
.dp-pw-wrap .cd-input { padding-right: 56px; }
.dp-pw-toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: var(--cd-primary); font-size: 12px; font-weight: 600; padding: 4px 8px; }

/* 대시보드 매출 */
.dp-ink { color: var(--cd-text); }
.dp-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.dp-stat { background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-xl); padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; box-shadow: var(--cd-shadow-sm); }
.dp-stat.is-primary { background: linear-gradient(150deg, #EAF4FE 0%, #DCEBFB 100%); border-color: #CBE0F7; color: var(--cd-text); }
.dp-stat-head { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--cd-text-secondary); }
.dp-stat.is-primary .dp-stat-head { color: var(--cd-primary); }
.dp-stat-ico { width: 30px; height: 30px; border-radius: 9px; background: var(--cd-primary-light); color: var(--cd-primary); display: inline-flex; align-items: center; justify-content: center; }
.dp-stat.is-primary .dp-stat-ico { background: rgba(23,105,224,.12); color: var(--cd-primary); }
.dp-stat-ico .dp-svg-icon { width: 16px; height: 16px; }
.dp-stat-value { font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.dp-stat-value small { font-size: 14px; font-weight: 600; margin-left: 3px; opacity: .7; }
.dp-stat-foot { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--cd-text-secondary); }
.dp-stat.is-primary .dp-stat-foot { color: var(--cd-text-secondary); }
.dp-delta { font-weight: 600; white-space: nowrap; }
.dp-delta.is-up { color: var(--cd-text); }
.dp-delta.is-down { color: var(--cd-text-secondary); }
.dp-stat.is-primary .dp-delta { color: var(--cd-text); }

.dp-chart-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.dp-bars { position: relative; height: 240px; margin-left: 44px; }
.dp-bars-grid { position: absolute; inset: 0 0 24px 0; }
.dp-bars-grid > div { position: absolute; left: 0; right: 0; border-top: 1px solid #EEF2F7; }
.dp-bars-grid > div[data-y="0"] { border-top-color: #CBD5E1; }
.dp-bars-grid span { position: absolute; right: 100%; transform: translateY(-50%); padding-right: 8px; font-size: 11px; color: var(--cd-text-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.dp-bars-plot { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(14, 1fr); }
.dp-bar-col { position: relative; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding-bottom: 24px; cursor: default; outline: none; border-radius: 6px; }
.dp-bar-col.is-hover, .dp-bar-col:focus-visible { background: rgba(23,105,224,.05); }
.dp-bar-col:focus-visible { box-shadow: inset 0 0 0 2px var(--cd-primary-light); }
.dp-bar { width: 58%; max-width: 28px; min-height: 0; background: #7FB0F5; border-radius: 4px 4px 0 0; transition: background-color .15s ease; }
.dp-bar-col.is-today .dp-bar, .dp-bar-col.is-hover .dp-bar { background: var(--cd-primary); }
.dp-bar-x { position: absolute; bottom: 0; font-size: 11px; color: var(--cd-text-muted); font-variant-numeric: tabular-nums; }
.dp-bar-col.is-today .dp-bar-x { color: var(--cd-text); font-weight: 700; }
.dp-chart-tip { position: absolute; z-index: 5; pointer-events: none; background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); box-shadow: var(--cd-shadow-lg); padding: 8px 12px; font-size: 12px; color: var(--cd-text-secondary); white-space: nowrap; }
.dp-chart-tip strong { display: block; color: var(--cd-text); margin-bottom: 2px; }

.dp-compact-table th, .dp-compact-table td { padding: 9px 10px; font-size: 13px; white-space: nowrap; font-variant-numeric: tabular-nums; }

@media (max-width: 1199px) {
  .dp-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .dp-stat-value { font-size: 22px; }
  .dp-bars { height: 200px; margin-left: 36px; }
  .dp-bar-x { display: none; }
  .dp-bar-x.is-week, .dp-bar-col.is-today .dp-bar-x { display: block; }
}


/* 헤더 잔액 */
.dp-head-balance { display: flex; align-items: stretch; background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); box-shadow: var(--cd-shadow-sm); overflow: hidden; }
.dp-hb-item { display: flex; align-items: center; gap: 10px; padding: 7px 16px 7px 10px; }
.dp-hb-item + .dp-hb-item { border-left: 1px solid var(--cd-border); }
.dp-hb-ico { width: 32px; height: 32px; border-radius: 10px; background: var(--cd-primary-light); color: var(--cd-primary); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dp-hb-ico.is-bank { background: #EEF2FF; color: #4338CA; }
.dp-hb-ico .dp-svg-icon { width: 16px; height: 16px; }
.dp-hb-text { display: flex; flex-direction: column; line-height: 1.25; white-space: nowrap; }
.dp-hb-text em { font-style: normal; font-size: 11px; color: var(--cd-text-secondary); }
.dp-hb-text strong { font-size: 14px; font-weight: 700; color: var(--cd-text-muted); font-variant-numeric: tabular-nums; }
.dp-head-refresh { display: inline-flex; width: 44px; align-items: center; justify-content: center; border-left: 1px solid var(--cd-border); color: var(--cd-text-secondary) !important; background: #F8FAFC; }
.dp-head-refresh:hover { background: var(--cd-primary-light); color: var(--cd-primary) !important; }
.dp-head-refresh .dp-svg-icon { width: 16px; height: 16px; }

/* 기간별 요약 리스트 */
.dp-plist-title { display: flex; justify-content: space-between; align-items: baseline; padding: 20px 24px 12px; }
.dp-plist-head, .dp-plist-row { display: grid; grid-template-columns: 1.2fr repeat(6, minmax(0, 1fr)); gap: 12px; align-items: center; padding: 0 24px; }
.dp-plist-head { padding-top: 10px; padding-bottom: 10px; background: #F8FAFC; border-top: 1px solid var(--cd-border); border-bottom: 1px solid var(--cd-border); font-size: 12px; font-weight: 600; color: var(--cd-text-secondary); }
.dp-plist-head span:not(:first-child) { text-align: right; }
.dp-plist { list-style: none; margin: 0; padding: 0; }
.dp-plist-row { padding-top: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--cd-border); }
.dp-plist-row:hover { background: #F8FBFF; }
.dp-plist-row.is-today { box-shadow: inset 3px 0 0 var(--cd-primary); }
.dp-plist-period strong { display: block; font-size: 14px; }
.dp-plist-period small, .dp-plist-cell small { display: block; font-size: 11px; color: var(--cd-text-muted); }
.dp-plist-cell { text-align: right; font-variant-numeric: tabular-nums; }
.dp-plist-cell b { font-size: 15px; font-weight: 700; }
.dp-plist-cell.is-strong b { color: var(--cd-primary); }

@media (max-width: 1199px) {
  .dp-hb-ico { display: none; }
  .dp-hb-item { padding: 6px 12px; }
}
@media (max-width: 991px) {
  .dp-plist-head { display: none; }
  .dp-plist-row { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 10px; }
  .dp-plist-period { grid-column: 1 / -1; display: flex; gap: 8px; align-items: baseline; }
  .dp-plist-cell { text-align: left; }
  .dp-plist-cell::before { content: attr(data-label); display: block; font-size: 11px; color: var(--cd-text-secondary); }
}
@media (max-width: 767px) {
  .dp-hb-item + .dp-hb-item { display: none; }
  .dp-hb-item { padding: 5px 10px; }
  .dp-hb-text em { font-size: 10px; }
  .dp-hb-text strong { font-size: 12px; }
  .dp-head-refresh { width: 36px; }
  .dp-admin-who .cd-muted { display: none; }
}
@media (max-width: 575px) {
  .dp-plist-row { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 16px; padding-right: 16px; }
  .dp-plist-title { padding: 16px 16px 10px; }
}

.dp-role-badge { white-space: nowrap; }
@media (max-width: 767px) {
  .dp-admin-header { gap: 8px; padding: 0 12px; }
  .dp-admin-who strong { display: none; }
}
/* 좁은 화면: 상단 바가 눌리지 않도록 — 조직정보는 줄이고 잔액 알약은 형태 유지, 새로고침은 숨김 */
@media (max-width: 575.98px) {
  .dp-admin-header { gap: 6px; padding: 0 10px; }
  .dp-admin-who { flex-shrink: 1; min-width: 0; }
  .dp-head-balance { flex-shrink: 0; }
  .dp-head-refresh { display: none; }
  .dp-admin-menu-btn { flex-shrink: 0; }
}
.dp-holding strong { font-variant-numeric: tabular-nums; }
.dp-holding.is-negative strong { color: var(--cd-danger); }
.dp-hb-text strong.is-value { color: var(--cd-text); }

/* 조직 목록 정렬 */
.dp-org-table th, .dp-org-table td { vertical-align: middle; }
.dp-org-table thead th { white-space: nowrap; }
.dp-org-name { white-space: nowrap; }
.dp-org-name.dp-depth-1 { padding-left: 32px; }
.dp-org-name.dp-depth-2 { padding-left: 52px; }
.dp-tree { color: var(--cd-text-muted); margin-right: 6px; }

.dp-temp-pw-field { display: flex; gap: 6px; }
.dp-temp-pw-field .cd-input { min-width: 0; letter-spacing: .04em; }
.dp-temp-pw-field .cd-btn { flex-shrink: 0; }

/* 입금 수수료 표 */
.dp-fee-table th, .dp-fee-table td, .dp-fee-input-table th, .dp-fee-input-table td { vertical-align: middle; white-space: nowrap; }
.dp-th-super { background: #EAF3FF !important; color: var(--cd-primary) !important; }
.dp-th-split { background: #EEF2FF !important; color: #4338CA !important; }
/* 목록 표: 제목 칸 테두리·가운데 정렬, 줄 높이 정리 */
.dp-list-table thead th { border: 1px solid var(--cd-border); text-align: center; padding: 10px 12px; white-space: nowrap; }
.dp-list-table td { vertical-align: middle; white-space: nowrap; padding: 10px 12px; }
.dp-member-form { max-width: 720px; }
/* 회원 상태: 사용(초록)·중지(회색)·블랙(검정) */
.dp-member-badge.is-active { background: #DCFCE7; color: #166534; }
.dp-member-badge.is-inactive { background: #F1F5F9; color: #475569; }
.dp-member-badge.is-black { background: #1E293B; color: #fff; }
.dp-status-select { width: auto; min-width: 88px; min-height: 32px; padding: 4px 28px 4px 10px; font-size: 13px; font-weight: 600; }
.dp-status-select.is-active { color: #166534; background-color: #F0FDF4; border-color: #BBF7D0; }
.dp-status-select.is-inactive { color: #475569; background-color: #F8FAFC; }
.dp-status-select.is-black { color: #fff; background-color: #1E293B; border-color: #1E293B; }
.dp-import-error { color: var(--cd-danger); font-weight: 600; }
/* 결제내역 */

.dp-pay-toolbar { background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); padding: 14px 16px; margin-bottom: 14px; display: flex; flex-direction: column; gap: 12px; }
.dp-pay-presets { display: inline-flex; flex-wrap: wrap; gap: 4px; background: #F1F5F9; border-radius: 10px; padding: 4px; align-self: flex-start; }
.dp-pay-presets a { padding: 6px 14px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--cd-text-secondary) !important; text-decoration: none; }
.dp-pay-presets a:hover { color: var(--cd-text) !important; }
.dp-pay-presets a.is-on { background: #fff; color: var(--cd-primary) !important; box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.dp-pay-fields { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.dp-pay-field { display: flex; flex-direction: column; gap: 4px; margin: 0; }
.dp-pay-field > span:first-child { font-size: 12px; font-weight: 700; color: var(--cd-text-secondary); }
.dp-pay-field .cd-select { min-width: 140px; }
.dp-pay-daterange { display: inline-flex; align-items: center; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); background: #fff; padding: 0 6px; min-height: 40px; }
.dp-pay-daterange input { border: 0; background: transparent; font: inherit; font-size: 14px; padding: 6px 4px; outline: none; }
.dp-pay-daterange em { font-style: normal; color: var(--cd-text-muted); padding: 0 2px; }
.dp-pay-daterange:focus-within, .dp-pay-search-box:focus-within { border-color: var(--cd-primary); }
.dp-pay-search-box { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); background: #fff; padding: 0 10px; min-height: 40px; color: var(--cd-text-muted); }
.dp-pay-search-box svg { width: 16px; height: 16px; flex-shrink: 0; }
.dp-pay-search-box input { border: 0; outline: none; font: inherit; font-size: 14px; width: 180px; background: transparent; color: var(--cd-text); }
.dp-pay-actions { display: flex; gap: 8px; margin-left: auto; }

.dp-pay-stats { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 12px; margin-bottom: 14px; }
.dp-pay-stat { background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.dp-pay-stat span { font-size: 12px; font-weight: 700; color: var(--cd-text-secondary); }
.dp-pay-stat strong { font-size: 22px; font-weight: 800; color: var(--cd-text); letter-spacing: -.3px; }
.dp-pay-stat strong small { font-size: 13px; font-weight: 600; margin-left: 2px; color: var(--cd-text-secondary); }
.dp-pay-stat em { font-style: normal; font-size: 12px; color: var(--cd-text-muted); }
.dp-pay-stat.is-main { background: #F0F7FF; border-color: #CFE2FF; }
.dp-pay-stat.is-main strong { color: var(--cd-primary); }
.dp-pay-stat.is-net strong { color: #15803D; }

.dp-pay-listhead { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 16px; font-size: 13px; color: var(--cd-text-secondary); }
.dp-pay-listhead strong { color: var(--cd-text); }
.dp-pay-size .cd-select { min-height: 34px; padding-top: 4px; padding-bottom: 4px; font-size: 13px; width: auto; }
.dp-pay-table th small { font-weight: 500; }
.dp-pay-table td { font-size: 13px; }
.dp-pay-table th, .dp-pay-table td { padding: 8px 7px; }
.dp-pay-table thead th { font-size: 13px; }
.dp-sort { color: inherit !important; text-decoration: none; display: inline-flex; gap: 4px; align-items: center; }
.dp-sort span { font-size: 10px; color: var(--cd-text-muted); }
.dp-sort.is-on span { color: var(--cd-primary); }
.dp-demo-tag { display: inline-block; font-size: 10px; font-weight: 700; color: #92400E; background: #FEF3C7; border-radius: 4px; padding: 0 4px; }
.dp-tx-btn { border: 1px solid var(--cd-primary); color: var(--cd-primary); }

.dp-paging { display: flex; justify-content: center; align-items: center; gap: 4px; padding: 16px; border-top: 1px solid var(--cd-border); }
.dp-paging a, .dp-paging span { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; font-size: 14px; font-weight: 600; padding: 0 8px; }
.dp-paging a { color: var(--cd-text-secondary) !important; text-decoration: none; border: 1px solid var(--cd-border); background: #fff; }
.dp-paging a:hover { border-color: var(--cd-primary); color: var(--cd-primary) !important; }
.dp-paging .is-on { background: var(--cd-primary); color: #fff; border: 1px solid var(--cd-primary); }
.dp-paging .is-off { color: #CBD5E1; border: 1px solid #EEF2F6; }
.dp-paging .is-gap { color: var(--cd-text-muted); min-width: 20px; }

@media (max-width: 991px) {
  .dp-pay-stats { grid-template-columns: repeat(2, 1fr); }
  .dp-pay-actions { margin-left: 0; }
}
.dp-method-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.dp-method-check { display: flex; align-items: center; gap: 8px; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); padding: 8px 12px; font-size: 14px; cursor: pointer; }
.dp-method-check:has(input:checked) { border-color: var(--cd-primary); background: #F0F7FF; }
.dp-method-check input { accent-color: var(--cd-primary); }

/* 2단 제목: 칸마다 테두리, 가운데 정렬 */
.dp-fee-table thead th, .dp-fee-input-table thead th { border: 1px solid var(--cd-border); text-align: center !important; padding: 10px 8px; line-height: 1.4; }
.dp-fee-input-table td { padding: 8px 6px; }
.dp-fee-input-table .cd-input { min-width: 64px; min-height: 36px; padding: 6px 8px; text-align: right; }
.dp-fee-input-table tr.is-off td, .dp-fee-input-table tr.is-off th { opacity: .5; }
.dp-fee-input-table [data-check] { font-size: 11px; color: var(--cd-text-muted); }
.dp-fee-input-table [data-check].is-bad { color: var(--cd-danger); }
.dp-fee-input-table input[readonly] { background: #F1F5F9; }

/* 정산 내역: 날짜 구분 줄 */
.dp-settle-table .dp-settle-day td { background: #F8FAFC; padding: 9px 14px; font-size: 13px; text-align: left; border-top: 2px solid var(--cd-border); }
.dp-settle-table .dp-settle-day strong { color: var(--cd-text); margin-right: 12px; }
.dp-settle-table .dp-settle-day span { color: var(--cd-text-secondary); }
.dp-settle-table .dp-settle-day b { color: #15803D; }
.dp-settle-table tbody tr.dp-settle-day:hover { background: #F8FAFC; }
.dp-settle-net { color: #15803D; }
.dp-pay-stat.is-main-net { background: #F0FDF4; border-color: #BBF7D0; }

/* 잔액·출금 / 회원 지급 */
.dp-wd-form { display: flex; flex-direction: column; gap: 14px; max-width: 640px; }
.dp-wd-to { display: flex; align-items: center; gap: 12px; background: #F8FAFC; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); padding: 12px 14px; }
.dp-wd-to small { display: block; font-size: 12px; color: var(--cd-text-secondary); }
.dp-wd-calc { font-size: 13px; color: var(--cd-text-secondary); background: #F0F7FF; border-radius: var(--cd-radius-md); padding: 10px 12px; }
.dp-wd-calc.is-bad { background: #FEF2F2; color: var(--cd-danger); }
.dp-wd-form > .cd-btn { align-self: flex-start; }
.dp-count { display: inline-flex; min-width: 18px; height: 18px; align-items: center; justify-content: center; border-radius: 9px; background: var(--cd-danger); color: #fff; font-size: 11px; padding: 0 5px; }
.dp-btn-danger-ghost { color: var(--cd-danger) !important; border: 1px solid #FECACA; }
.dp-pay-listhead .dp-pay-presets { margin: 0; }
/* 출금 내역: 출금 신청 버튼(출금 가능 금액 카드 위) · 레이어 */
.dp-bal-actions { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.dp-bal-actions .cd-btn { display: inline-flex; align-items: center; gap: 6px; }
.dp-bal-actions .cd-btn svg { width: 16px; height: 16px; }
#withdrawModal .dp-wd-form { max-width: none; }
.dp-wd-avail { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; color: var(--cd-text-secondary); }
.dp-wd-avail strong { font-size: 16px; color: var(--cd-primary); }
/* 회원 목록: 계좌번호 · 회원 출금(다중) */
.dp-acct { white-space: nowrap; }
.dp-acct small { display: block; font-size: 12px; color: var(--cd-text-muted); }
.dp-col-check { width: 40px; }
.dp-mp-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: #fff; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); padding: 10px 14px; margin-bottom: 10px; font-size: 14px; }
.dp-mp-bar .cd-btn { display: inline-flex; align-items: center; gap: 6px; }
.dp-mp-bar .cd-btn svg { width: 15px; height: 15px; }
.dp-mp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.dp-mp-head small { display: block; font-size: 12px; color: var(--cd-text-secondary); }
.dp-mp-head strong { font-size: 20px; color: var(--cd-primary); }
.dp-mp-same { min-width: 280px; }
.dp-mp-table td { vertical-align: middle; }
.dp-mp-table input { min-width: 140px; }
.dp-paysum strong { display: block; font-weight: 700; }
.dp-paysum small { display: block; font-size: 12px; color: var(--cd-text-muted); }
.dp-limit-table input { min-width: 130px; }
.dp-audit-table th, .dp-audit-table .cd-badge { white-space: nowrap; }
.dp-dialog .modal-body { padding: 22px 22px 8px; }
.dp-dialog .modal-body p { font-size: 15px; line-height: 1.6; color: var(--cd-text); word-break: keep-all; }
.dp-dialog .modal-footer { border-top: 0; padding: 12px 22px 20px; }
.dp-dp-total th { background: #F8FAFC; font-weight: 700; }
/* 정산 내역 [결제 보기] 레이어: 목록이 길어질 수 있어 글자·간격을 약 20% 줄임 */
#dayPays .cd-table { font-size: 11.5px; }
#dayPays .cd-table th, #dayPays .cd-table td { padding: 6px 10px; }
#dayPays .cd-table .dp-mono, #dayPays .cd-table small { font-size: 10.5px; }

/* 처리 이력 · 조직 관리 목록: 글자·간격 줄임 */
.dp-audit-table, .dp-org-table { font-size: 12px; }
.dp-audit-table th, .dp-audit-table td, .dp-org-table th, .dp-org-table td { padding: 7px 10px; }
.dp-audit-table pre { font-size: 11px; }
.dp-audit-table small, .dp-org-table small { font-size: 11px; }
.dp-org-table .cd-badge, .dp-audit-table .cd-badge { font-size: 11px; }
/* ON/OFF 스위치 */
.dp-switch { display: inline-flex; justify-content: center; min-height: 0; margin: 0; padding-left: 0; }
.dp-switch .form-check-input { float: none; margin: 0; width: 2.2em; height: 1.2em; cursor: pointer; }
.dp-switch .form-check-input:checked { background-color: var(--cd-primary); border-color: var(--cd-primary); }
.dp-switch-lg { gap: 8px; align-items: center; font-weight: 600; }
.dp-switch-lg .form-check-label { font-size: 14px; }
.dp-ip-count { display: block; font-size: 11px; margin-top: 2px; }
.dp-ip-text { font-size: 13px; resize: vertical; }

.dp-ip-cell { display: inline-flex; align-items: center; gap: 8px; }
.dp-btn-xs { padding: 2px 9px; font-size: 11px; min-height: 0; line-height: 1.6; border-radius: 6px; }
/* 관리자 화면 모든 목록 표: 조직 관리 목록과 같은 크기(12px)로 통일 (2026-11-06) */
.cd-table, .cd-table th, .cd-table td,
.dp-pay-table td, .dp-pay-table thead th,
.dp-compact-table th, .dp-compact-table td,
.dp-settle-table .dp-settle-day td,
#dayPays .cd-table { font-size: 12px; }
.cd-table th, .cd-table td, #dayPays .cd-table th, #dayPays .cd-table td { padding: 7px 10px; }
.cd-table small, .cd-table .dp-mono, #dayPays .cd-table .dp-mono, #dayPays .cd-table small { font-size: 11px; }
.cd-table .cd-badge { font-size: 11px; }
.cd-table .dp-status-select { font-size: 12px; min-height: 28px; padding-top: 2px; padding-bottom: 2px; }
.cd-table .dp-btn-sm { font-size: 12px; }
.cd-table .dp-btn-sm { min-height: 28px; height: auto; padding: 3px 10px; line-height: 1.5; }

/* 텔레그램 카드 · 이상징후 목록 */
.dp-tg-help summary { cursor: pointer; font-size: 13px; color: var(--cd-text-secondary); }
.dp-tg-help ol { padding-left: 18px; margin-top: 6px; color: var(--cd-text-secondary); line-height: 1.7; }
.dp-alert-types { background: #F8FAFC; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); padding: 10px 14px; }
.dp-alert-types ul { columns: 2; padding-left: 18px; margin-top: 4px; color: var(--cd-text-secondary); }
.cd-badge-secondary { background: #F1F5F9; color: #64748B; }
/* 왼쪽 메뉴 폭 줄임 (240 → 200px) */
:root { --cd-sidebar-width: 200px; }
.dp-admin-sidebar .cd-sidebar-item { padding-left: 14px; padding-right: 12px; gap: 10px; }

/* 구글 OTP */
.dp-otp-setup { display: flex; gap: 20px; align-items: flex-start; background: #F8FAFC; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-lg); padding: 16px; margin-bottom: 16px; }
.dp-otp-setup-sm { padding: 12px; gap: 14px; align-items: center; margin-bottom: 0; }
.dp-otp-qr { flex-shrink: 0; width: 180px; height: 180px; background: #fff; border-radius: 8px; padding: 6px; border: 1px solid var(--cd-border); }
.dp-otp-setup-sm .dp-otp-qr { width: 150px; height: 150px; }
.dp-otp-qr svg { width: 100%; height: 100%; display: block; }
.dp-otp-steps { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.8; color: var(--cd-text-secondary); }
.dp-otp-key { display: inline-block; margin-top: 2px; font-size: 13px; letter-spacing: .5px; color: var(--cd-text); background: #fff; border: 1px dashed var(--cd-border); border-radius: 6px; padding: 2px 8px; word-break: break-all; }
.dp-otp-input { font-family: var(--cd-font-mono, ui-monospace, monospace); font-size: 22px; letter-spacing: 8px; text-align: center; }
.dp-otp-input-sm { font-size: 16px; letter-spacing: 4px; max-width: 180px; }
.dp-otp-field small { display: block; margin-top: 2px; }
@media (max-width: 575.98px) { .dp-otp-setup { flex-direction: column; align-items: center; } }

/* 대시보드: 내 수익금(정산금) */
.dp-earn-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 10px; }
.dp-earn { background: #F8FAFC; border: 1px solid var(--cd-border); border-radius: var(--cd-radius-md); padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.dp-earn span { font-size: 12px; font-weight: 700; color: var(--cd-text-secondary); }
.dp-earn strong { font-size: 20px; font-weight: 800; color: var(--cd-text); letter-spacing: -.3px; }
.dp-earn em { font-style: normal; font-size: 11px; color: var(--cd-text-muted); }
.dp-earn.is-main { background: #F0FDF4; border-color: #BBF7D0; }
.dp-earn.is-main strong { color: #15803D; }
@media (max-width: 991.98px) { .dp-earn-grid { grid-template-columns: repeat(2, 1fr); } .dp-earn.is-main { grid-column: 1 / -1; } }
.dp-my-share { color: var(--cd-primary); }
/* 본문 좌우 여백 축소 (28px → 8px, 약 70% 감소) — 전체 관리자 화면 (2026-11-06) */
.cd-content { padding-left: 8px; padding-right: 8px; }
@media (max-width: 575.98px) { .cd-content { padding-left: 12px; padding-right: 12px; } }
