/*
 * 광고캠페인 통계 — 요일×시간대 슬롯 통계 (.adcs-*)  2026-09-07
 * 소비처: 광고캠페인관리 「통계」 모달 · 광고캠페인 설정모달 통계탭 (같은 파셜 _ad_campaign_stats_body).
 * 시안 = sample/adc-stats (A 히트맵형 + K3 카드 재정돈, 사용자 확정). A-4 액센트형 토큰(차콜 #3e6187 · 밴드 #f3f7fb · 선 #dbe6f0).
 * 동작은 ad_campaign_stats_controller.js — 여기엔 골격·색만.
 */
.adcs { --ink:#111827; --ink2:#374151; --ink3:#6b7280; --ink4:#9ca3af; --line:#dbe6f0; --band:#f3f7fb; --brand:#3e6187;
        --green:#059669; --red:#e11d48; --amber:#d97706; --purple:#7c3aed; --blue:#2563eb;
        font-size: 13px; color: var(--ink); line-height: 1.55; text-align: left; position: relative; }
.adcs *, .adcs *::before, .adcs *::after { box-sizing: border-box; }
.adcs [hidden] { display: none !important; }

/* ── 필터 바 ── */
.adcs-fbar { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; }
.adcs-fgrp { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.adcs-flab { font-size: 11.5px; font-weight: 700; color: var(--ink3); white-space: nowrap; }
.adcs-seg { display: inline-flex; background: #f1f5f9; border-radius: 8px; padding: 2px; }
.adcs-seg button { font-family: inherit; border: 0; background: transparent; padding: 4px 11px; border-radius: 6px; font-size: 12px; font-weight: 600; color: #64748b; cursor: pointer; white-space: nowrap; line-height: 1.5; }
.adcs-seg button.on { background: #fff; color: var(--brand); font-weight: 800; box-shadow: 0 1px 2px rgba(15,23,42,.1); }
.adcs-seg-sm button { padding: 2px 9px; font-size: 11px; }
.adcs-date { font-family: inherit; font-size: 12px; padding: 4px 8px; border: 1px solid #cbd5e1; border-radius: 7px; background: #fff; color: var(--ink2); }
.adcs-tilde { font-size: 11px; color: var(--ink4); }
.adcs-go { font-family: inherit; font-size: 12px; font-weight: 700; padding: 5px 13px; border: 0; border-radius: 99px; background: var(--brand); color: #fff; cursor: pointer; }
.adcs-go:disabled { opacity: .55; cursor: default; }
.adcs-pick { font-family: inherit; font-size: 12px; font-weight: 700; border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; padding: 5px 10px; color: var(--ink2); cursor: pointer; min-width: 180px; max-width: 320px; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.adcs-pick:hover { border-color: #9db7cf; color: var(--brand); }
.adcs-pick-caret { margin-left: auto; color: var(--ink4); font-size: 11px; }
.adcs-st { font-size: 10px; font-weight: 700; padding: 1px 6px; border-radius: 99px; background: #f1f5f9; color: #64748b; margin-left: auto; }
.adcs-st-active { background: #ecfdf5; color: #047857; }
.adcs-mgr { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; }
.adcs-mgr i { width: 8px; height: 8px; border-radius: 99px; display: inline-block; background: #94a3b8; }
.adcs-fmeta { font-size: 11.5px; color: var(--ink4); margin-left: auto; }
.adcs-status { font-size: 12px; color: var(--ink3); background: #fff; border: 1px dashed var(--line); border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; }
.adcs-status.err { color: #b91c1c; border-color: #fecaca; background: #fef2f2; }
.adcs.is-loading .adcs-k3, .adcs.is-loading .adcs-grid2, .adcs.is-loading .adcs-bottom { opacity: .45; pointer-events: none; }

/* ── K3 카드 4장 ── */
.adcs-k3 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.adcs-k3 .c { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 11px 14px 10px; min-width: 0; }
.adcs-k3 .top { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.adcs-k3 .l { font-size: 11.5px; font-weight: 700; color: var(--ink3); white-space: nowrap; }
.adcs-k3 .v { font-size: 26px; font-weight: 800; letter-spacing: -.03em; line-height: 1.15; margin-top: 4px; font-variant-numeric: tabular-nums; }
.adcs-k3 .v small { font-size: 12px; font-weight: 600; color: var(--ink4); margin-left: 3px; }
.adcs-k3 .sub { margin-top: 6px; padding-top: 6px; border-top: 1px dashed var(--line); font-size: 11px; color: var(--ink3); display: flex; gap: 10px; flex-wrap: wrap; }
.adcs-k3 .sub b { color: var(--ink2); }
.adcs-k3 .c.hero { background: linear-gradient(180deg, #f3f7fb, #fff); border-color: #c9d8e6; }
.adcs-k3 .c.hero .v { color: var(--brand); }
.adcs-delta { display: inline-flex; align-items: center; gap: 3px; font-size: 11px; font-weight: 800; padding: 1px 7px; border-radius: 99px; white-space: nowrap; }
.adcs-delta.up { background: #ecfdf5; color: #047857; } .adcs-delta.down { background: #fef2f2; color: #b91c1c; } .adcs-delta.flat { background: #f1f5f9; color: #64748b; }
.adcs-delta.inv.up { background: #fef2f2; color: #b91c1c; } .adcs-delta.inv.down { background: #ecfdf5; color: #047857; }

/* ── 카드·격자 ── */
.adcs-card { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
.adcs-bh { background: var(--band); padding: 9px 14px; font-size: 12px; font-weight: 800; color: var(--brand); display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.adcs-sub { font-weight: 500; color: var(--ink4); font-size: 11px; }
.adcs-bh-right { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.adcs-bb { padding: 12px 14px; }
.adcs-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 12px; margin-bottom: 12px; }
.adcs-stack { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.adcs-empty { color: var(--ink4); font-size: 12px; }

/* ── 히트맵 ── */
.adcs-hm { display: grid; grid-template-columns: 40px repeat(24, minmax(0, 1fr)) 60px; gap: 3px; align-items: stretch; }
.adcs-hm .hh { font-size: 10px; color: var(--ink4); text-align: center; font-weight: 600; padding-bottom: 2px; }
.adcs-hm .rl { font-size: 12px; font-weight: 800; color: var(--ink2); display: flex; align-items: center; justify-content: center; }
.adcs-hm .rl.sat { color: var(--blue); } .adcs-hm .rl.sun { color: var(--red); }
.adcs-hm .cell { height: 32px; border-radius: 5px; background: #f1f5f9; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 700; color: #1f2937; border: 1px solid transparent; min-width: 0; }
.adcs-hm .cell.empty { background: #f8fafc; color: #cbd5e1; cursor: default; }
.adcs-hm .cell.thin { color: #94a3b8; font-weight: 500; }
.adcs-hm .cell:hover, .adcs-hm .cell.on { border-color: var(--brand); box-shadow: 0 0 0 2px #3e618733; }
.adcs-hm .rt { font-size: 11px; font-weight: 700; color: var(--ink2); display: flex; flex-direction: column; align-items: flex-end; justify-content: center; line-height: 1.15; }
.adcs-hm .rt small { font-size: 10px; color: var(--ink4); font-weight: 500; }
.adcs-hm .ct { font-size: 10px; color: var(--ink3); text-align: center; font-weight: 600; padding-top: 3px; }
.adcs-legend { font-size: 11px; color: var(--ink3); }
.adcs-legend i { display: inline-block; width: 18px; height: 10px; border-radius: 2px; }
.adcs-tip { position: fixed; z-index: 12000; background: #111827; color: #fff; font-size: 11.5px; padding: 8px 10px; border-radius: 8px; pointer-events: none; line-height: 1.5; box-shadow: 0 8px 24px rgba(15,23,42,.2); max-width: 300px; }
.adcs-tip b { color: #fbbf24; }
.adcs-tip .warn { color: #fca5a5; }

/* ── 인사이트 ── */
.adcs-ins { display: flex; flex-direction: column; gap: 8px; }
.adcs-ins .it { border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; font-size: 12px; line-height: 1.55; background: #fff; display: flex; gap: 9px; }
.adcs-ins .ic { width: 22px; height: 22px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 12px; flex-shrink: 0; font-weight: 800; }
.adcs-ins .it.good .ic { background: #ecfdf5; color: #047857; } .adcs-ins .it.bad .ic { background: #fef2f2; color: #b91c1c; } .adcs-ins .it.info .ic { background: #eff6ff; color: #1d4ed8; }
.adcs-ins .it b { color: var(--ink); }
.adcs-ins .m { color: var(--ink4); font-size: 11px; display: block; }

/* ── 표 ── */
.adcs-t { width: 100%; border-collapse: collapse; font-size: 12px; }
.adcs-t th { background: var(--band); color: var(--ink3); font-weight: 700; font-size: 11px; padding: 7px 8px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
.adcs-t th:first-child, .adcs-t td:first-child { text-align: left; }
.adcs-t td { padding: 7px 8px; border-bottom: 1px solid #eef2f6; text-align: right; font-variant-numeric: tabular-nums; color: var(--ink2); }
.adcs-t tr:hover td { background: #fafcfe; }
.adcs-t td.n { font-weight: 700; color: var(--ink); }
.adcs-t tr.grp td { background: #f8fafc; }
.adcs-t td.sub-name { padding-left: 22px; }
.adcs-t .bar { display: inline-block; height: 8px; border-radius: 4px; background: var(--brand); vertical-align: middle; margin-right: 6px; }
.adcs-t .bar.sub { background: #94a3b8; }
.adcs-pct { display: inline-block; min-width: 46px; padding: 1px 7px; border-radius: 99px; font-weight: 800; font-size: 11px; text-align: center; }
.adcs-pct.g { background: #ecfdf5; color: #047857; } .adcs-pct.y { background: #fefce8; color: #a16207; } .adcs-pct.r { background: #fef2f2; color: #b91c1c; } .adcs-pct.na { background: #f1f5f9; color: #94a3b8; }
.adcs-diff { font-weight: 700; }
.adcs-diff.up { color: #047857; } .adcs-diff.down { color: #b91c1c; } .adcs-diff.na { color: var(--ink4); }

/* ── 하단 탭 ── */
.adcs-bottom { margin-bottom: 4px; }
.adcs-tabs button { font-family: inherit; border: 0; background: transparent; padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; color: #64748b; cursor: pointer; }
.adcs-tabs button.on { background: #fff; color: var(--brand); font-weight: 800; box-shadow: 0 1px 2px rgba(15,23,42,.1); }
.adcs-cnt { display: inline-block; min-width: 16px; padding: 0 5px; border-radius: 99px; background: #fef3c7; color: #92400e; font-size: 10.5px; font-weight: 800; margin-left: 3px; }
.adcs-cnt:empty { display: none; }
.adcs-rank { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.adcs-rank h5 { margin: 0 0 4px; font-size: 11px; font-weight: 800; }
.adcs-rank h5.good { color: #047857; } .adcs-rank h5.bad { color: #b91c1c; }
.adcs-rank ol { margin: 0; padding: 0; list-style: none; }
.adcs-rank li { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-bottom: 1px dashed #e5e7eb; font-size: 12px; }
.adcs-rank .no { width: 18px; height: 18px; border-radius: 99px; background: var(--band); color: var(--brand); font-size: 10.5px; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.adcs-rank .nm { font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adcs-rank .m { color: var(--ink4); font-size: 11px; white-space: nowrap; }
.adcs-rank .r { margin-left: auto; }
.adcs-att { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.adcs-att h5 { margin: 0 0 6px; font-size: 11.5px; font-weight: 800; color: var(--ink2); }
.adcs-att .it { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; margin-bottom: 6px; font-size: 12px; }
.adcs-att .it .ic { width: 20px; height: 20px; border-radius: 6px; background: #fef3c7; color: #b45309; font-weight: 800; font-size: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.adcs-att .it.idle .ic { background: #f1f5f9; color: #64748b; }
.adcs-att .it b { color: var(--ink); }
.adcs-att .it .m { color: var(--ink4); font-size: 11px; margin-left: auto; white-space: nowrap; }

/* ── 반응형 ── */
@media (max-width: 1100px) { .adcs-grid2 { grid-template-columns: 1fr; } }
/* 모바일 전용 요소(요약 칩·탭)는 PC 에서 숨김 — 마크업 한 벌 */
.adcs-mbar, .adcs-mtabs { display: none; }

/* ── 모바일 ≤760px — 시안 M3 「하단 탭 3분할 + 시간대 묶음」 (2026-09-07 사용자 확정) ──
   필터 = 요약 칩 한 줄 + [필터] 접이식(기존 필터 바를 펼침·접힘) · [요약|히트맵|캠페인] 탭 = 섹션 data-mt 로 귀속 ·
   히트맵 = 요일×시간대 4묶음(.is-band, 탭하면 시간별 펼침). PC 레이아웃·JS 계약은 그대로. */
@media (max-width: 760px) {
  .adcs-k3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .adcs-k3 .v { font-size: 24px; }
  .adcs-rank, .adcs-att { grid-template-columns: 1fr; }
  .adcs-fmeta { display: none; }

  /* 필터 요약 칩 + 토글 */
  .adcs-mbar { display: flex; gap: 6px; align-items: center; margin-bottom: 8px; }
  .adcs-mchips { flex: 1; min-width: 0; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
  .adcs-mchips::-webkit-scrollbar { display: none; }
  .adcs-mchips .chip { flex-shrink: 0; font-size: 11.5px; font-weight: 700; color: var(--ink2); background: #fff; border: 1px solid #cbd5e1; border-radius: 99px; padding: 5px 10px; white-space: nowrap; cursor: pointer; }
  .adcs-mchips .chip b { color: var(--brand); }
  .adcs-mfbtn { flex-shrink: 0; font-family: inherit; font-size: 12px; font-weight: 800; color: #fff; background: var(--brand); border: 0; border-radius: 99px; padding: 6px 12px; cursor: pointer; }
  .adcs-fbar { display: none; padding: 10px 12px; gap: 10px 14px; }
  .adcs.is-fopen .adcs-fbar { display: flex; }
  .adcs-fbar .adcs-fgrp { width: 100%; }
  .adcs-fbar .adcs-seg { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .adcs-fbar .adcs-seg button { padding: 6px 11px; }
  .adcs-pick { min-width: 0; flex: 1; }

  /* 탭 */
  .adcs-mtabs { display: flex; background: #f1f5f9; border-radius: 8px; padding: 2px; margin-bottom: 10px; position: sticky; top: 0; z-index: 5; }
  .adcs-mtabs button { flex: 1; font-family: inherit; border: 0; background: transparent; padding: 8px 6px; border-radius: 6px; font-size: 13px; font-weight: 700; color: #64748b; cursor: pointer; }
  .adcs-mtabs button.on { background: #fff; color: var(--brand); font-weight: 800; box-shadow: 0 1px 2px rgba(15,23,42,.1); }
  /* 섹션 귀속은 data-msec (탭 버튼의 data-mt 와 이름을 달리해 탭 자체가 숨겨지지 않게 — 첫 구현에서 실제로 탭이 하나만 남았다) */
  .adcs[data-mtab="sum"] [data-msec]:not([data-msec="sum"]), .adcs[data-mtab="hm"] [data-msec]:not([data-msec="hm"]), .adcs[data-mtab="camp"] [data-msec]:not([data-msec="camp"]) { display: none !important; }
  .adcs-grid2, .adcs-stack { gap: 10px; margin-bottom: 10px; }

  /* 히트맵 — 요일 × 시간대 4묶음 */
  .adcs-hm.is-band { grid-template-columns: 34px repeat(4, minmax(0, 1fr)); gap: 4px; }
  .adcs-hm.is-band .hh { font-size: 11px; font-weight: 800; color: var(--brand); line-height: 1.15; padding-bottom: 2px; }
  .adcs-hm.is-band .hh small { display: block; font-size: 9.5px; color: var(--ink4); font-weight: 600; }
  .adcs-hm.is-band .rl { font-size: 12px; }
  .adcs-hm.is-band .cell { height: 46px; border-radius: 8px; flex-direction: column; line-height: 1.1; font-size: 13px; font-weight: 800; }
  .adcs-hm.is-band .cell small { font-size: 9.5px; color: var(--ink3); font-weight: 600; margin-top: 1px; }
  .adcs-hm.is-band .cell.thin { font-weight: 600; }
  .adcs-hm.is-band .cell.dark { color: #fff; } .adcs-hm.is-band .cell.dark small { color: rgba(255,255,255,.85); }
  .adcs-hm.is-band .cell.on { border-color: var(--brand); box-shadow: 0 0 0 2px #3e618755; }
  .adcs-hm.is-band .exp { grid-column: 1 / -1; background: var(--band); border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; margin: 2px 0 4px; }
  .adcs-hm.is-band .exp .et { font-size: 11.5px; font-weight: 800; color: var(--brand); margin-bottom: 6px; display: flex; }
  .adcs-hm.is-band .exp .et span { margin-left: auto; color: var(--ink4); font-weight: 600; }
  .adcs-hm.is-band .exp .hrs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; }
  .adcs-hm.is-band .exp .hcell { background: #fff; border: 1px solid var(--line); border-radius: 7px; height: 46px; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; cursor: pointer; }
  .adcs-hm.is-band .exp .hcell em { font-style: normal; font-size: 9.5px; color: var(--ink3); font-weight: 700; }
  .adcs-hm.is-band .exp .hcell b { font-size: 12px; }
  .adcs-hm.is-band .exp .hcell small { font-size: 9.5px; color: var(--ink4); font-weight: 600; }
  .adcs-hm.is-band .exp .hcell.empty b { color: #cbd5e1; }
  .adcs-hm.is-band .exp .hcell.dark { border-color: transparent; } .adcs-hm.is-band .exp .hcell.dark em, .adcs-hm.is-band .exp .hcell.dark b { color: #fff; } .adcs-hm.is-band .exp .hcell.dark small { color: rgba(255,255,255,.85); }
  .adcs-hm.is-band .exp .hcell.thin b { color: #94a3b8; font-weight: 600; }
  .adcs-hm.is-band .exp .hcell.on { border-color: var(--brand); box-shadow: 0 0 0 2px #3e618555; }
  .adcs-legend { display: none; }

  /* 넓은 표는 카드 안에서 가로 스크롤 */
  .adcs [data-ad-campaign-stats-target="drill"], .adcs [data-ad-campaign-stats-target="bottomBody"] { overflow-x: auto; }
  .adcs-t { min-width: 100%; white-space: nowrap; }
  .adcs-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .adcs-tabs button { flex-shrink: 0; }
  .adcs-tabs .adcs-bh-right { display: none; }
  .adcs-bh { flex-wrap: wrap; }
}

/* ── 캠페인 선택 자식 모달 (.adcp-*, 시안 P2 두 패널형 · 2026-09-07) ── */
.adcp { --ink2:#374151; --ink3:#6b7280; --ink4:#9ca3af; --line:#dbe6f0; --band:#f3f7fb; --brand:#3e6187; font-size: 13px; color: #111827; text-align: left; padding: 14px 16px; background: #f6f9fc; display: flex; flex-direction: column; min-height: 460px; }
.adcp [hidden] { display: none !important; }
.adcp-tabs { display: none; background: #f1f5f9; border-radius: 8px; padding: 2px; margin-bottom: 8px; }
.adcp-tabs button { flex: 1; font-family: inherit; border: 0; background: transparent; padding: 8px 10px; border-radius: 6px; font-size: 13px; font-weight: 700; color: #64748b; cursor: pointer; }
.adcp-tabs button.on { background: #fff; color: var(--brand); font-weight: 800; box-shadow: 0 1px 2px rgba(15,23,42,.1); }
.adcp-tabs button .n { display: inline-block; min-width: 18px; padding: 0 6px; border-radius: 99px; background: #e2e8f0; color: #475569; font-size: 11px; margin-left: 4px; }
.adcp-tabs button.on .n { background: var(--brand); color: #fff; }
.adcp-two { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); gap: 10px; align-items: stretch; flex: 1; }
.adcp-pane { background: #fff; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: column; min-height: 420px; overflow: hidden; }
.adcp-bh { background: var(--band); padding: 8px 12px; font-size: 12px; font-weight: 800; color: var(--brand); display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--line); }
.adcp-sub { font-weight: 500; color: var(--ink4); font-size: 11px; }
.adcp-bh-right { margin-left: auto; display: flex; gap: 6px; align-items: center; }
.adcp-link { font-family: inherit; font-size: 11.5px; font-weight: 700; color: var(--brand); background: none; border: 0; cursor: pointer; padding: 2px 6px; }
.adcp-link:hover { text-decoration: underline; }
.adcp-link.mute { color: var(--ink4); }
.adcp-filters { padding: 8px 10px; border-bottom: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.adcp-search { width: 100%; font-family: inherit; font-size: 13px; padding: 7px 12px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #111827; }
.adcp-search:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px #3e618722; }
.adcp-filter-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.adcp-status button .n { font-size: 10.5px; color: var(--ink4); margin-left: 3px; font-weight: 600; }
.adcp-status button.on .n { color: var(--brand); }
.adcp-select { font-family: inherit; font-size: 12px; padding: 5px 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: var(--ink2); }
.adcp-hint { padding: 8px 10px; border-bottom: 1px solid var(--line); font-size: 11.5px; color: var(--ink4); }
.adcp-list { flex: 1; overflow: auto; max-height: 380px; }
.adcp-row { display: flex; align-items: center; gap: 8px; padding: 7px 10px; border-bottom: 1px solid #eef2f6; cursor: pointer; font-size: 12.5px; }
.adcp-row:hover { background: #fafcfe; }
.adcp-row .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adcp-row .cnt { font-size: 11px; color: var(--ink4); font-variant-numeric: tabular-nums; min-width: 52px; text-align: right; }
.adcp-row .go { color: var(--ink4); font-size: 12px; width: 16px; text-align: center; }
.adcp-cand .adcp-row .go::before { content: "＋"; }
.adcp-sel .adcp-row .go::before { content: "✕"; }
.adcp-empty { padding: 28px; text-align: center; }
.adcp-mid { display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.adcp-mid button { font-family: inherit; width: 44px; height: 36px; border: 1px solid #cbd5e1; background: #fff; border-radius: 8px; cursor: pointer; font-weight: 800; color: var(--brand); }
.adcp-mid button.mute { color: var(--ink4); }
@media (max-width: 760px) {
  .adcp { padding: 10px; min-height: 0; height: 100%; overflow: hidden; }
  .adcp-tabs { display: flex; }
  .adcp-two { grid-template-columns: 1fr; gap: 0; height: calc(100% - 48px); }
  .adcp-mid { display: none; }
  .adcp-pane { min-height: 0; }
  .adcp-list { max-height: none; }
  .adcp-two[data-tab="cands"] .adcp-sel, .adcp-two[data-tab="sel"] .adcp-cand { display: none; }
  .adcp-row { padding: 10px; font-size: 13px; }
  .adcp-row .go { width: 28px; height: 28px; border-radius: 99px; background: #f1f5f9; display: inline-flex; align-items: center; justify-content: center; color: var(--brand); font-weight: 800; }
  .adcp-sel .adcp-row .go { color: #b91c1c; background: #fef2f2; }
  .adcp-status { overflow-x: auto; max-width: 100%; scrollbar-width: none; }
}
