/*
 * 광고캠페인 통계 — 요일×시간대 슬롯 통계 (.adcs-*)  2026-09-07
 * 소비처: 광고캠페인관리 「통계」 모달 · 광고캠페인 설정모달 통계탭 (같은 파셜 _ad_campaign_stats_body).
 * 시안 = sample/adc-stats (A 히트맵형 + K3 카드 재정돈, 사용자 확정). A-4 액센트형(색 = 테마 토큰).
 * 동작은 ad_campaign_stats_controller.js — 여기엔 골격·색만.
 */
.adcs { --ink:var(--ord-text); --ink2:var(--ord-text-2); --ink3:var(--ord-text-3); --ink4:var(--ord-text-4); --line:var(--ord-line); --band:var(--ord-band); --brand:var(--ord-accent);
        --green:var(--ord-tint-green-fg); --red:var(--ord-tint-red-fg); --amber:var(--ord-tint-amber-fg); --purple:var(--ord-tint-violet-fg); --blue:var(--ord-tint-blue-fg);
        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: var(--ord-panel); 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: var(--ord-band); 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: var(--ord-text-3); cursor: pointer; white-space: nowrap; line-height: 1.5; }
.adcs-seg button.on { background: var(--ord-panel); 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 var(--ord-line-2); border-radius: 7px; background: var(--ord-panel); 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(--ord-head-bg); color: var(--ord-on-solid); cursor: pointer; }
.adcs-go:disabled { opacity: .55; cursor: default; }
.adcs-pick { font-family: inherit; font-size: 12px; font-weight: 700; border: 1px solid var(--ord-line-2); background: var(--ord-panel); 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: var(--ord-tint-blue-line); 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: var(--ord-band); color: var(--ord-text-3); margin-left: auto; }
.adcs-st-active { background: var(--ord-tint-green-bg); color: var(--ord-tint-green-fg); }
.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: var(--ord-text-4); }
.adcs-fmeta { font-size: 11.5px; color: var(--ink4); margin-left: auto; }
.adcs-status { font-size: 12px; color: var(--ink3); background: var(--ord-panel); border: 1px dashed var(--line); border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; }
.adcs-status.err { color: var(--ord-tint-red-fg); border-color: var(--ord-tint-red-line); background: var(--ord-tint-red-bg); }
.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: var(--ord-panel); 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, var(--ord-band), var(--ord-panel)); border-color: var(--ord-line-2); }
.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: var(--ord-tint-green-bg); color: var(--ord-tint-green-fg); } .adcs-delta.down { background: var(--ord-tint-red-bg); color: var(--ord-tint-red-fg); } .adcs-delta.flat { background: var(--ord-band); color: var(--ord-text-3); }
.adcs-delta.inv.up { background: var(--ord-tint-red-bg); color: var(--ord-tint-red-fg); } .adcs-delta.inv.down { background: var(--ord-tint-green-bg); color: var(--ord-tint-green-fg); }

/* ── 카드·격자 ── */
.adcs-card { background: var(--ord-panel); 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: var(--ord-band); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 10.5px; font-weight: 700; color: var(--ord-text); border: 1px solid transparent; min-width: 0; }
.adcs-hm .cell.empty { background: var(--ord-surface-2); color: var(--ord-line-2); cursor: default; }
.adcs-hm .cell.thin { color: color-mix(in srgb, var(--ord-text) 55%, transparent); font-weight: 500; }   /* 표본 부족 = 같은 글자색을 흐리게(회색 고정은 진한 칸에서 안 보였다) */
.adcs-hm .cell:hover, .adcs-hm .cell.on { border-color: var(--brand); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ord-accent) 20%, transparent); }
.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: var(--ord-tooltip-bg); color: var(--ord-on-solid); 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: var(--ord-tint-amber-fg); }
.adcs-tip .warn { color: var(--ord-tint-red-fg); }

/* ── 인사이트 ── */
.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: var(--ord-panel); 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: var(--ord-tint-green-bg); color: var(--ord-tint-green-fg); } .adcs-ins .it.bad .ic { background: var(--ord-tint-red-bg); color: var(--ord-tint-red-fg); } .adcs-ins .it.info .ic { background: var(--ord-tint-blue-bg); color: var(--ord-tint-blue-fg); }
.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 var(--ord-line-soft); text-align: right; font-variant-numeric: tabular-nums; color: var(--ink2); }
.adcs-t tr:hover td { background: var(--ord-tint-blue-bg); }
.adcs-t td.n { font-weight: 700; color: var(--ink); }
.adcs-t tr.grp td { background: var(--ord-surface-2); }
.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: var(--ord-text-4); }
.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: var(--ord-tint-green-bg); color: var(--ord-tint-green-fg); } .adcs-pct.y { background: var(--ord-tint-amber-bg); color: var(--ord-tint-amber-fg); } .adcs-pct.r { background: var(--ord-tint-red-bg); color: var(--ord-tint-red-fg); } .adcs-pct.na { background: var(--ord-band); color: var(--ord-text-4); }
.adcs-diff { font-weight: 700; }
.adcs-diff.up { color: var(--ord-tint-green-fg); } .adcs-diff.down { color: var(--ord-tint-red-fg); } .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: var(--ord-text-3); cursor: pointer; }
.adcs-tabs button.on { background: var(--ord-panel); 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: var(--ord-tint-amber-bg); color: var(--ord-tint-amber-fg); 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: var(--ord-tint-green-fg); } .adcs-rank h5.bad { color: var(--ord-tint-red-fg); }
.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 var(--ord-line); 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: var(--ord-tint-amber-bg); color: var(--ord-tint-amber-fg); font-weight: 800; font-size: 11px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.adcs-att .it.idle .ic { background: var(--ord-band); color: var(--ord-text-3); }
.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: var(--ord-panel); border: 1px solid var(--ord-line-2); 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: var(--ord-on-solid); background: var(--ord-head-bg); 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: var(--ord-band); 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: var(--ord-text-3); cursor: pointer; }
  .adcs-mtabs button.on { background: var(--ord-panel); 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: var(--ord-on-solid); } .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 color-mix(in srgb, var(--ord-accent) 33%, transparent); }
  .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: var(--ord-panel); 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: var(--ord-line-2); }
  .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: var(--ord-on-solid); } .adcs-hm.is-band .exp .hcell.dark small { color: rgba(255,255,255,.85); }
  .adcs-hm.is-band .exp .hcell.thin b { color: var(--ord-text-4); font-weight: 600; }
  .adcs-hm.is-band .exp .hcell.on { border-color: var(--brand); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ord-tint-blue-fg) 33%, transparent); }
  .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:var(--ord-text-2); --ink3:var(--ord-text-3); --ink4:var(--ord-text-4); --line:var(--ord-line); --band:var(--ord-band); --brand:var(--ord-accent); font-size: 13px; color: var(--ord-text); text-align: left; padding: 14px 16px; background: var(--ord-surface-2); display: flex; flex-direction: column; min-height: 460px; }
.adcp [hidden] { display: none !important; }
.adcp-tabs { display: none; background: var(--ord-band); 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: var(--ord-text-3); cursor: pointer; }
.adcp-tabs button.on { background: var(--ord-panel); 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: var(--ord-line); color: var(--ord-text-2); font-size: 11px; margin-left: 4px; }
.adcp-tabs button.on .n { background: var(--ord-head-bg); color: var(--ord-on-solid); }
.adcp-two { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); gap: 10px; align-items: stretch; flex: 1; }
.adcp-pane { background: var(--ord-panel); 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 var(--ord-line-2); border-radius: 8px; background: var(--ord-panel); color: var(--ord-text); }
.adcp-search:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ord-accent) 13%, transparent); }
.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 var(--ord-line-2); border-radius: 8px; background: var(--ord-panel); 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 var(--ord-line-soft); cursor: pointer; font-size: 12.5px; }
.adcp-row:hover { background: var(--ord-tint-blue-bg); }
.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: "\FF0B"; }   /* ＋ — CSS content 는 이스케이프로(인코딩 폴백 깨짐 방지, css_content_encoding_test) */
.adcp-sel .adcp-row .go::before { content: "\2715"; }    /* ✕ */
.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 var(--ord-line-2); background: var(--ord-panel); 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: var(--ord-band); display: inline-flex; align-items: center; justify-content: center; color: var(--brand); font-weight: 800; }
  .adcp-sel .adcp-row .go { color: var(--ord-tint-red-fg); background: var(--ord-tint-red-bg); }
  .adcp-status { overflow-x: auto; max-width: 100%; scrollbar-width: none; }
}
