/* ── 자동 생성 · 고치지 마세요 ──────────────────────────────────────────
   원본: ui-src/bch/40-admin.css
   이 자리는 「node 도구/화면-빌드.js」 가 채웁니다.
   여기를 직접 고치면 다음 빌드에서 사라집니다. */
/* ══════════════════════════════════════════════════════════════════════════
   BC홀덤 운영(관리자) 화면 모양 — #panel-bch
   ■ 왜 이 파일이 생겼나 (2026-09-24 사장님: «관리자페이지 홀덤부분 엉망입니다»)
     관리자 홀덤 칸의 모양(.bcha-*)은 옛 홀덤 게임판 CSS(ui-src/bch/10-table.css) 안에 섞여 있었다.
     2026-09 에 게임판을 리액트로 바꾸며 그 파일을 통째로 지우자(커밋 74e7406) 관리자 모양도 같이 사라져,
     방 설정이 «방 이름5만 7인방 3» 처럼 라벨·값이 붙은 맨 글자 줄로 쏟아졌다.
     이제 관리자 모양은 이 파일 하나가 맡는다(실서버 public/bch/40-admin.css · 미리보기에 함께 들어간다).
   ■ 결은 BC바카라 운영(.bcbadm-*)과 맞춘다 — 같은 관리자 화면 안에서 두 게임이 한 식구로 보이게.
     색은 사이트 토큰(--card · --card-2 · --line · --text · --muted · --brand)만 쓴다 → 밝은 화면도 따라간다.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 칸(섹션) — 사이트 .admin-card 와 같은 판 ─────────────────────────── */
#panel-bch .bcha-sec{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:18px 18px 16px;margin-top:14px}
#panel-bch .bcha-sec-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#panel-bch .bcha-sec-h > b{font-size:18px;font-weight:800;color:var(--text);margin-right:auto}
#panel-bch .bcha-count{background:var(--card-2);border:1px solid var(--line);color:var(--muted);font-size:14px;
  font-weight:800;padding:2px 10px;border-radius:20px;font-variant-numeric:tabular-nums}

/* ── 단추 ───────────────────────────────────────────────────────────────── */
#panel-bch .bcha-btn{height:38px;padding:0 15px;border-radius:9px;cursor:pointer;font-family:inherit;
  font-size:15px;font-weight:800;white-space:nowrap;color:var(--text);background:var(--card-2);
  border:1px solid var(--line);transition:border-color .15s,color .15s,background .15s}
#panel-bch .bcha-btn:hover{border-color:var(--brand);color:var(--brand)}
#panel-bch .bcha-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
#panel-bch .bcha-btn.gold{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
#panel-bch .bcha-btn.gold:hover{filter:brightness(1.08);color:var(--on-brand)}
#panel-bch .bcha-btn.gold:disabled{opacity:.45;cursor:default;filter:none}
#panel-bch .bcha-btn.danger{color:#ff8a95;border-color:rgba(255,90,106,.4)}
#panel-bch .bcha-btn.danger:hover{background:rgba(255,90,106,.1);color:#ff8a95}
#panel-bch .bcha-btn.sm{height:34px;padding:0 12px;font-size:14px}

/* ── 현황 ───────────────────────────────────────────────────────────────── */
#panel-bch .bcha-top{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px}
#panel-bch .bcha-top-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#panel-bch .bcha-top-h > b{font-size:18px;font-weight:800;color:var(--text);margin-right:auto}
#panel-bch .bcha-state{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:999px;
  font-size:14px;font-weight:800;border:1px solid}
#panel-bch .bcha-state i{width:8px;height:8px;border-radius:50%;background:currentColor}
#panel-bch .bcha-state.on{color:#2ec77a;background:rgba(46,199,122,.12);border-color:rgba(46,199,122,.35)}
#panel-bch .bcha-state.warn{color:#e0a860;background:rgba(224,168,96,.12);border-color:rgba(224,168,96,.38)}
#panel-bch .bcha-state.off{color:#ff5a6a;background:rgba(255,90,106,.12);border-color:rgba(255,90,106,.35)}
#panel-bch .bcha-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
#panel-bch .bcha-kpi{padding:12px 14px;border-radius:11px;background:var(--card-2);border:1px solid var(--line);min-width:0;
  display:flex;flex-direction:column}
#panel-bch .bcha-kpi span em{font-style:normal;white-space:nowrap}
#panel-bch .bcha-kpi span{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:4px;
  line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}   /* «(최근 2만 판)» 이 말줄임으로 사라지지 않게 두 줄까지 */
#panel-bch .bcha-kpi b{display:block;margin-top:auto;font-size:22px;font-weight:800;color:var(--text);line-height:1.2;
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 손익 색 — 사장님 결정(2026-09-24) «수익은 파랑, 손해는 빨강». 여기 손익은 컴퓨터(매장) 쪽이다 */
#panel-bch .bcha-kpi.plus b{color:#5aa9ff}
#panel-bch .bcha-kpi.minus b{color:#f08272}
#panel-bch .bcha-note{font-size:13.5px;color:var(--muted);margin-top:10px;line-height:1.6;word-break:keep-all}
/* 컴퓨터 손익 오늘·7일·30일·누적 (2026-09-25) */
#panel-bch .bcha-pl-h{font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--brand);margin:14px 0 8px}
#panel-bch .bcha-kpis.pl{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
#panel-bch .bcha-empty{font-size:15px;color:var(--muted);text-align:center;padding:22px 0}
/* 불러오기 실패 줄 옆 «다시 불러오기» 단추 (2026-09-26) — 한 번 못 받으면 다시 받을 길이 없었다 */
#panel-bch .bcha-empty .bcha-btn{margin-left:10px;vertical-align:middle}
#panel-bch .bcha-rk .bcha-empty .bcha-btn{height:34px;width:auto}
#panel-bch .bcha-bn > .bcha-empty{grid-column:1/-1}

/* ── 지금 앉은 회원 (2026-09-24 사장님 지시) ─────────────────────────────── */
#panel-bch .bcha-pl-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
#panel-bch .bcha-pl-bar .sp{flex:1}
#panel-bch .bcha-pl-sum{font-size:14px;font-weight:700;color:var(--muted);margin-right:4px}
#panel-bch .bcha-pl-sum b{color:var(--text);font-weight:800;font-variant-numeric:tabular-nums;margin-left:4px}
#panel-bch .bcha-pl-sort{margin:0}
#panel-bch .bcha-pill{display:inline-flex;align-items:center;font-size:12.5px;font-weight:800;padding:2px 9px;border-radius:999px;
  white-space:nowrap;border:1px solid var(--line);color:var(--muted);background:var(--card-2)}
#panel-bch .bcha-pill.on{color:#2ec77a;background:rgba(46,199,122,.1);border-color:rgba(46,199,122,.32)}
#panel-bch .bcha-pill.turn{color:var(--brand);background:rgba(201,169,97,.12);border-color:rgba(201,169,97,.45)}
#panel-bch .bcha-pill.allin,#panel-bch .bcha-pill.warn{color:#e0a860;background:rgba(224,168,96,.1);border-color:rgba(224,168,96,.38)}
#panel-bch .bcha-pill.bad{color:#ff8a95;background:rgba(255,90,106,.1);border-color:rgba(255,90,106,.32)}
#panel-bch .bcha-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted);margin-right:6px;vertical-align:1px}
#panel-bch .bcha-dot.on{background:#2ec77a;box-shadow:0 0 0 3px rgba(46,199,122,.16)}
#panel-bch .bcha-dot.warn{background:#e0a860}
#panel-bch .bcha-dot.bad{background:#ff5a6a}

#panel-bch .bcha-pl-tbl{border:1px solid var(--line);border-radius:11px;overflow:hidden;container-type:inline-size;container-name:bchapl}
#panel-bch .bcha-p{display:grid;gap:6px 12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);
  grid-template-columns:minmax(120px,1.2fr) minmax(130px,1.3fr) minmax(100px,.9fr) minmax(96px,.9fr) minmax(140px,1.35fr) minmax(84px,.7fr) minmax(160px,1.4fr);
  font-variant-numeric:tabular-nums;color:var(--text)}
#panel-bch .bcha-p:first-child{border-top:none}
#panel-bch .bcha-p.head{background:var(--card-2);font-size:13px;font-weight:800;color:var(--muted);padding-top:10px;padding-bottom:10px}
#panel-bch .bcha-p .c{min-width:0}
#panel-bch .bcha-p .k{display:none;font-size:12.5px;font-weight:700;color:var(--muted);margin-bottom:2px}
#panel-bch .bcha-p .v{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panel-bch .bcha-p .v b{font-weight:800}
#panel-bch .bcha-p .v b.plus{color:#5aa9ff}
#panel-bch .bcha-p .v b.minus{color:#f08272}
#panel-bch .bcha-p .v b.mut{color:var(--muted)}
#panel-bch .bcha-p .s{font-size:13px;font-weight:600;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panel-bch .bcha-p-name{all:unset;box-sizing:border-box;max-width:100%;cursor:pointer;font-size:15.5px;font-weight:800;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
#panel-bch .bcha-p-name:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
#panel-bch .bcha-p-name:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}
#panel-bch .bcha-p-tags{display:flex;gap:5px;flex-wrap:wrap;white-space:normal}
#panel-bch .bcha-p .c-tot .s,#panel-bch .bcha-p .c-tbl .s{white-space:normal;word-break:keep-all}   /* «지갑 · 금고»·«판에 건 N 포함» 이 말줄임으로 잘리지 않게 */
#panel-bch .bcha-p .nw{white-space:nowrap}                              /* «금고»와 금액이 서로 다른 줄로 갈리지 않게 */
#panel-bch .bcha-pl-stale{font-size:13.5px;font-weight:800;color:#ff8a95;margin:-4px 0 10px}
#panel-bch .bcha-pl-tbl.stale{border-color:rgba(255,90,106,.5);border-style:dashed}
#panel-bch .bcha-pl-tbl.stale .bcha-p:not(.head){background:rgba(255,90,106,.035)}
#panel-bch .bcha-btn[aria-busy="true"]{opacity:.6;cursor:progress}
#panel-bch .bcha-p.gone{background:rgba(255,90,106,.04)}
/* 좁으면 회원마다 카드 — 이름·상태 / 방 / 칩 넷. 기준 = 칸 최소 폭 합 830 + 틈 72 + 여백 28 = 930 바로 위 */
@container bchapl (max-width:940px){
  #panel-bch .bcha-p.head{display:none}
  #panel-bch .bcha-p{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:8px 12px;padding:13px 14px;
    grid-template-areas:"who who st st" "room room room room" "tbl ses tot day"}
  #panel-bch .bcha-p:nth-child(2){border-top:none}
  #panel-bch .bcha-p .k{display:block}
  #panel-bch .bcha-p .c-who{grid-area:who} #panel-bch .bcha-p .c-st{grid-area:st;text-align:right}
  #panel-bch .bcha-p .c-st .bcha-p-tags{justify-content:flex-end}
  #panel-bch .bcha-p .c-room{grid-area:room;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
  #panel-bch .bcha-p .c-room .k{display:none}
  #panel-bch .bcha-p .c-room .s{margin-top:0}
  #panel-bch .bcha-p .c-tbl{grid-area:tbl} #panel-bch .bcha-p .c-ses{grid-area:ses}
  #panel-bch .bcha-p .c-tot{grid-area:tot} #panel-bch .bcha-p .c-day{grid-area:day}
}
@container bchapl (max-width:480px){
  #panel-bch .bcha-p{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"who who" "st st" "room room" "tbl ses" "tot day"}
  #panel-bch .bcha-p .c-st{text-align:left}
  #panel-bch .bcha-p .c-st .bcha-p-tags{justify-content:flex-start}
}

/* 간략한 줄(2026-09-25) — 판 상태는 점(접속) + 한 낱말 */
#panel-bch .bcha-p-hand{display:inline-flex;align-items:center;font-size:14.5px;font-weight:700;color:var(--text);margin-right:4px;white-space:nowrap}

/* ── 많이 딴 회원 (2026-09-25 운영 점검) ───────────────────────────────────── */
#panel-bch .bcha-win-days{margin:0}
#panel-bch .bcha-win{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:0 28px}
#panel-bch .bcha-win > .bcha-empty{grid-column:1/-1}
#panel-bch .bcha-w{display:grid;grid-template-columns:26px minmax(0,1fr) auto 52px;gap:10px;align-items:center;
  padding:10px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;min-width:0}
#panel-bch .bcha-w .rk{font-size:14px;font-weight:800;color:var(--muted);text-align:center}
#panel-bch .bcha-w .n{font-size:15px;white-space:nowrap}
#panel-bch .bcha-w .n b{font-weight:800}
#panel-bch .bcha-w .n b.plus,#panel-bch .bcha-hd .ch b.plus{color:#5aa9ff}
#panel-bch .bcha-w .n b.minus,#panel-bch .bcha-hd .ch b.minus{color:#f08272}
#panel-bch .bcha-w .s{font-size:13px;font-weight:700;color:var(--muted);text-align:right;white-space:nowrap}

/* ── 최고관리자만 고치는 칸 (2026-09-25) ─────────────────────────────────── */
#panel-bch .bcha-f.locked input{opacity:.55;cursor:not-allowed}
#panel-bch .bcha-f.locked label::after,#panel-bch .bcha-sw.locked > span:first-child::after{content:" · 최고관리자";font-weight:700;color:var(--muted)}
#panel-bch .bcha-sw.locked{cursor:not-allowed;opacity:.6}

/* ── 대기실 배너 (2026-09-25 사장님 지시) ─────────────────────────────────── */
/* 2026-09-26 한쪽 여러 장 목록 편집 — 줄마다 «번호 · 그림 · 링크 칸 + ▲▼ 삭제», 아래에 «사진 추가 · 저장» */
#panel-bch .bcha-bn-hint{font-size:13px;font-weight:700;color:var(--muted)}
#panel-bch .bcha-bn-top{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;
  padding:12px 14px;margin-bottom:12px;border-radius:11px;background:rgba(201,169,97,.06);border:1px solid rgba(201,169,97,.22)}
#panel-bch .bcha-bn-guide{margin:0;font-size:14.5px;font-weight:700;color:var(--text);line-height:1.5;min-width:0}
#panel-bch .bcha-bn-guide b{color:var(--brand);font-weight:800}
#panel-bch .bcha-bn-gap{display:flex;align-items:center;gap:8px;flex:none}
#panel-bch .bcha-bn-gap label{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
#panel-bch .bcha-bn-gap select{height:34px;padding:0 10px;border-radius:9px;font-family:inherit;font-size:15px;font-weight:800;
  background:var(--card-2);border:1px solid var(--line);color:var(--text);cursor:pointer}
#panel-bch .bcha-bn-gap select:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
#panel-bch .bcha-bn-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px;align-items:start}
#panel-bch .bcha-bn-side{padding:14px;border-radius:11px;background:var(--card-2);border:1px solid var(--line);min-width:0}
#panel-bch .bcha-bn-side.dirty{border-color:rgba(201,169,97,.55);box-shadow:0 0 0 1px rgba(201,169,97,.2)}
#panel-bch .bcha-bn-side-h{display:flex;align-items:center;gap:8px;margin-bottom:10px}
#panel-bch .bcha-bn-side-h > b{font-size:16px;font-weight:800;color:var(--text);margin-right:auto}
#panel-bch .bcha-bn-list{display:flex;flex-direction:column;gap:8px}
#panel-bch .bcha-bn-item{display:grid;grid-template-columns:20px 46px minmax(0,1fr);gap:10px;align-items:start;
  padding:9px;border-radius:10px;background:var(--card);border:1px solid var(--line)}
#panel-bch .bcha-bn-no{font-size:14px;font-weight:800;color:var(--muted);text-align:center;padding-top:6px;font-variant-numeric:tabular-nums}
#panel-bch .bcha-bn-thumb{width:46px;height:108px;border-radius:7px;border:1px solid var(--line);overflow:hidden;background:rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center}
#panel-bch .bcha-bn-thumb img{width:100%;height:100%;object-fit:contain;display:block}
#panel-bch .bcha-bn-body{min-width:0;display:flex;flex-direction:column;gap:8px}
#panel-bch .bcha-bn-btns{display:flex;gap:6px;flex-wrap:wrap}
#panel-bch .bcha-bn-btns .bcha-bn-mv{width:38px;padding:0;font-size:13px}
#panel-bch .bcha-bn-btns [data-del]{margin-left:auto}
#panel-bch .bcha-bn-none{padding:18px 12px;border-radius:10px;border:1px dashed var(--line);text-align:center;
  font-size:14px;font-weight:700;color:var(--muted);line-height:1.5}
#panel-bch .bcha-bn-none b{color:var(--text)}
#panel-bch .bcha-bn-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
#panel-bch .bcha-bn-foot [data-save]{min-width:84px}
#panel-bch .bcha-bn-note{margin:8px 0 0;font-size:13px;font-weight:700;color:var(--brand)}
#panel-bch .bcha-bn-note b{font-weight:800}
#panel-bch .bcha-bn-note[hidden]{display:none}
/* 2026-09-26 그림 탓으로 저장이 막힌 줄 · 가로로 넓은 그림 알림 */
#panel-bch .bcha-bn-thumb.bad{border-color:#ff5a6a;box-shadow:0 0 0 1px rgba(255,90,106,.35)}
#panel-bch .bcha-bn-wide{margin:0;font-size:12.5px;font-weight:700;line-height:1.4;color:#ffb27a}
#panel-bch .bcha-bn-wide[hidden]{display:none}
#panel-bch .bcha-btn:disabled{opacity:.45;cursor:default}
#panel-bch .bcha-btn:disabled:hover{border-color:var(--line);color:var(--text)}
#panel-bch .bcha-btn.danger:disabled:hover{background:none;color:#ff8a95;border-color:rgba(255,90,106,.4)}
html[data-theme="light"] #panel-bch .bcha-bn-thumb{background:rgba(0,0,0,.06)}
html[data-theme="light"] #panel-bch .bcha-bn-thumb.bad{border-color:#a82c23}
html[data-theme="light"] #panel-bch .bcha-bn-wide{color:#9a4a0c}
html[data-theme="light"] #panel-bch .bcha-bn-note,html[data-theme="light"] #panel-bch .bcha-bn-guide b{color:#7a5a12}
@media (max-width:700px){
  #panel-bch .bcha-bn-top{padding:11px 12px}
  #panel-bch .bcha-bn-gap{width:100%}
  #panel-bch .bcha-bn-gap select{flex:1}
  #panel-bch .bcha-bn-side{padding:12px 10px}
  #panel-bch .bcha-bn-item{grid-template-columns:40px minmax(0,1fr);gap:9px}
  #panel-bch .bcha-bn-no{display:none}
  #panel-bch .bcha-bn-thumb{width:40px;height:96px}
  #panel-bch .bcha-bn-foot .bcha-btn{flex:1}
}

/* ── 방 — 걸러 보기 ─────────────────────────────────────────────────────── */
#panel-bch .bcha-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
#panel-bch .bcha-filter button{height:34px;padding:0 13px;border-radius:999px;cursor:pointer;font-family:inherit;
  font-size:14px;font-weight:800;color:var(--muted);background:var(--card-2);border:1px solid var(--line)}
#panel-bch .bcha-filter button:hover{color:var(--text)}
#panel-bch .bcha-filter button.on{color:var(--brand);border-color:var(--brand);background:rgba(201,169,97,.1)}
#panel-bch .bcha-filter button em{font-style:normal;font-weight:700;margin-left:5px}

/* ── 방 — 표 ────────────────────────────────────────────────────────────── */
#panel-bch .bcha-tbl{border:1px solid var(--line);border-radius:11px;overflow:hidden;container-type:inline-size;container-name:bchatbl}
#panel-bch .bcha-thead,#panel-bch .bcha-row{display:grid;gap:10px;align-items:center;padding:11px 14px;
  grid-template-columns:minmax(130px,1.5fr) 48px minmax(96px,1fr) minmax(110px,1.2fr) 58px 58px minmax(140px,1.3fr) 104px 70px;
  font-variant-numeric:tabular-nums}
#panel-bch .bcha-thead{background:var(--card-2);font-size:13px;font-weight:800;color:var(--muted)}
#panel-bch .bcha-row{border-top:1px solid var(--line);font-size:15px;color:var(--text)}
#panel-bch .bcha-row:hover{background:rgba(255,255,255,.02)}
#panel-bch .bcha-row.open{background:rgba(201,169,97,.06)}
#panel-bch .bcha-row.hidden-room .nm{color:var(--muted)}
#panel-bch .bcha-row .nm .bcha-tag{display:none;margin-right:6px;vertical-align:1px}
#panel-bch .bcha-row .nm{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel-bch .bcha-row .mut{color:var(--muted)}
#panel-bch .bcha-row .now{white-space:nowrap}
#panel-bch .bcha-row .now b{font-weight:800}
#panel-bch .bcha-tags{display:flex;gap:5px;flex-wrap:wrap}
#panel-bch .bcha-tag{font-size:12.5px;font-weight:800;padding:2px 9px;border-radius:999px;white-space:nowrap;
  border:1px solid var(--line);color:var(--muted);background:var(--card-2)}
#panel-bch .bcha-tag.on{color:#2ec77a;background:rgba(46,199,122,.1);border-color:rgba(46,199,122,.32)}
#panel-bch .bcha-tag.off{color:#ff8a95;background:rgba(255,90,106,.1);border-color:rgba(255,90,106,.32)}
#panel-bch .bcha-row .act{display:flex;justify-content:flex-end}

/* ── 방 — 펼친 편집 ─────────────────────────────────────────────────────── */
#panel-bch .bcha-edit{border-top:1px solid var(--line);padding:16px 14px;background:rgba(201,169,97,.035)}
#panel-bch .bcha-edit.new{border-top:none;border-bottom:1px solid var(--line)}
#panel-bch .bcha-edit:focus{outline:none}
#panel-bch .bcha-edit-h{font-size:16px;font-weight:800;color:var(--brand);margin-bottom:12px}
#panel-bch .bcha-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 12px}
#panel-bch .bcha-f{display:flex;flex-direction:column;gap:5px;min-width:0}
#panel-bch .bcha-f.wide{grid-column:span 2}
#panel-bch .bcha-f label{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#panel-bch .bcha-f input{height:42px;padding:0 12px;border-radius:9px;font-family:inherit;font-size:15.5px;font-weight:700;
  font-variant-numeric:tabular-nums;background:var(--card-2);border:1px solid var(--line);color:var(--text);
  box-sizing:border-box;width:100%;min-width:0}
#panel-bch .bcha-f input:focus{outline:none;border-color:var(--brand)}
#panel-bch .bcha-f input[type=number]{-moz-appearance:textfield;appearance:textfield}
#panel-bch .bcha-f input::-webkit-inner-spin-button,#panel-bch .bcha-f input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#panel-bch .bcha-f.dirty input{border-color:var(--brand);box-shadow:0 0 0 1px rgba(201,169,97,.3)}
#panel-bch .bcha-f.bad input{border-color:#ff5a6a;box-shadow:0 0 0 1px rgba(255,90,106,.35)}
#panel-bch .bcha-edit-sw{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
#panel-bch .bcha-edit-f{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:14px;
  border-top:1px solid var(--line)}
#panel-bch .bcha-edit-f .sp{flex:1}

/* ── 켜기/끄기 스위치 (BC바카라 운영의 .bcbadm-sw 와 같은 모양) ──────────── */
#panel-bch .bcha-sw{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;
  padding:0 13px;border-radius:9px;cursor:pointer;background:var(--card-2);border:1px solid var(--line);
  font-size:14.5px;font-weight:700;color:var(--text);user-select:none;box-sizing:border-box;
  word-break:keep-all;overflow-wrap:anywhere;line-height:1.35;padding-top:6px;padding-bottom:6px}
#panel-bch .bcha-sw:focus-within{outline:2px solid var(--brand);outline-offset:2px}
#panel-bch .bcha-sw input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
#panel-bch .bcha-sw .box{width:42px;height:24px;border-radius:999px;background:#39404c;position:relative;flex:none;transition:background .18s}
#panel-bch .bcha-sw .box::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:#fff;transition:transform .18s}
#panel-bch .bcha-sw input:checked + .box{background:#2ec77a}
#panel-bch .bcha-sw input:checked + .box::after{transform:translateX(18px)}
#panel-bch .bcha-sw.danger input:checked + .box{background:#e0a860}
#panel-bch .bcha-sw.dirty{border-color:var(--brand)}

/* ── 진행 설정 ──────────────────────────────────────────────────────────── */
#panel-bch .bcha-cfg{display:flex;flex-direction:column;gap:16px}
#panel-bch .bcha-grp h4{margin:0 0 9px;font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--brand)}
#panel-bch .bcha-grp .bcha-fields{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}

/* ── 최근 판 ────────────────────────────────────────────────────────────── */
#panel-bch .bcha-hands{border:1px solid var(--line);border-radius:11px;overflow:hidden;container-type:inline-size;container-name:bchahands}
#panel-bch .bcha-h{display:grid;grid-template-columns:minmax(120px,170px) 72px minmax(110px,1fr) minmax(120px,1.2fr) minmax(84px,120px) 84px;gap:10px;align-items:center;
  padding:10px 14px;border-top:1px solid var(--line);font-size:14.5px;color:var(--text);font-variant-numeric:tabular-nums}
#panel-bch .bcha-h:first-child{border-top:none}
#panel-bch .bcha-h.head{background:var(--card-2);font-size:13px;font-weight:800;color:var(--muted)}
#panel-bch .bcha-h[data-hand]{cursor:pointer}
#panel-bch .bcha-h[data-hand]:hover{background:rgba(255,255,255,.025)}
#panel-bch .bcha-h[data-hand]:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
#panel-bch .bcha-h.is-live{background:rgba(46,199,122,.035)}
#panel-bch .bcha-h.open{background:rgba(201,169,97,.07)}
#panel-bch .bcha-h .mut{color:var(--muted)}
#panel-bch .bcha-h-no{font-weight:800;white-space:nowrap;min-width:0;display:flex;flex-wrap:wrap;column-gap:5px}
#panel-bch .bcha-h-no .nm{min-width:0;max-width:calc(100% - 50px);overflow:hidden;text-overflow:ellipsis}
#panel-bch .bcha-h-no .no{flex:none;color:var(--muted);font-weight:700}
#panel-bch .bcha-h-no .tm{flex-basis:100%;font-size:12.5px;font-weight:600;color:var(--muted)}
#panel-bch .bcha-h-no .tm:empty{display:none}
#panel-bch .bcha-h-m{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
#panel-bch .bcha-more{display:flex;justify-content:center;margin-top:10px}
#panel-bch .bcha-more:empty{display:none}
#panel-bch #bchaHandsBar[hidden]{display:none}

/* 판 상세 — 줄 아래에 펼친다 */
#panel-bch .bcha-hd{border-top:1px solid var(--line);padding:12px 14px 14px;background:rgba(201,169,97,.035);font-size:14px;color:var(--text);
  font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:10px;min-width:0}
#panel-bch .bcha-hd .mut{color:var(--muted)}
#panel-bch .bcha-hd .bcha-empty{padding:10px 0}
#panel-bch .bcha-hd-top{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-weight:700}
#panel-bch .bcha-hd-board{display:inline-flex;gap:4px}
#panel-bch .bcha-cd{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 4px;border-radius:5px;
  background:#f4f1ea;color:#1a1a1a;font-size:13.5px;font-weight:800;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);white-space:nowrap}
#panel-bch .bcha-cd.red{color:#c0282d}
#panel-bch .bcha-cd.back{background:var(--card-2);border:1px dashed var(--line)}
#panel-bch .bcha-hd-seats{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:9px;overflow:hidden}
#panel-bch .bcha-hd-s{display:grid;grid-template-columns:24px minmax(90px,1fr) 70px minmax(150px,1.3fr) minmax(90px,.8fr);gap:10px;align-items:center;
  padding:7px 12px;border-top:1px solid var(--line)}
#panel-bch .bcha-hd-s:first-child{border-top:none}
#panel-bch .bcha-hd-s.fold{color:var(--muted)}
#panel-bch .bcha-hd-s .sn{font-weight:800;color:var(--muted);text-align:center}
#panel-bch .bcha-hd-s .nm{font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel-bch .bcha-hd-s .nm em,#panel-bch .bcha-hd-acts em{font-style:normal;font-size:12px;font-weight:700;color:var(--muted)}
#panel-bch .bcha-hd-s .cds{display:inline-flex;gap:4px}
#panel-bch .bcha-hd-s .ch{white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}
#panel-bch .bcha-hd-s .tg{display:flex;justify-content:flex-end;min-width:0}
#panel-bch .bcha-hd-acts{display:flex;flex-direction:column;gap:4px;font-size:13.5px;line-height:1.55;color:var(--muted);word-break:keep-all;overflow-wrap:anywhere}
#panel-bch .bcha-hd-acts b{color:var(--brand);font-weight:800;margin-right:4px}
#panel-bch .bcha-hd-res.void{font-weight:800;color:#ff8a95}
#panel-bch .bcha-h-st{justify-self:start;font-size:12.5px;font-weight:800;padding:2px 9px;border-radius:999px;
  background:var(--card-2);border:1px solid var(--line);color:var(--muted);white-space:nowrap}
#panel-bch .bcha-h-st.live{color:#2ec77a;background:rgba(46,199,122,.12);border-color:rgba(46,199,122,.32)}
#panel-bch .bcha-h-st.void{color:#ff8a95;background:rgba(255,90,106,.12);border-color:rgba(255,90,106,.32)}
#panel-bch .bcha-h-w{min-width:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#panel-bch .bcha-h-w b{color:var(--text);font-weight:800}
#panel-bch .bcha-h-pot{text-align:right;color:var(--muted);white-space:nowrap}
#panel-bch .bcha-h-act{display:flex;justify-content:flex-end}

/* ── 밝은 화면 — 위 색은 어두운 바탕 기준이라 그대로면 2.2:1 밖에 안 나온다 ─────── */
html[data-theme="light"] #panel-bch .bcha-kpi.plus b{color:#1a56b0}
html[data-theme="light"] #panel-bch .bcha-kpi.minus b{color:#b3261e}
html[data-theme="light"] #panel-bch .bcha-state.on,
html[data-theme="light"] #panel-bch .bcha-tag.on,
html[data-theme="light"] #panel-bch .bcha-h-st.live{color:#16714a;background:rgba(22,113,74,.1);border-color:rgba(22,113,74,.3)}
html[data-theme="light"] #panel-bch .bcha-state.warn{color:#8a5a12;background:rgba(138,90,18,.1);border-color:rgba(138,90,18,.3)}
html[data-theme="light"] #panel-bch .bcha-state.off,
html[data-theme="light"] #panel-bch .bcha-tag.off,
html[data-theme="light"] #panel-bch .bcha-h-st.void,
html[data-theme="light"] #panel-bch .bcha-btn.danger{color:#a82c23;border-color:rgba(168,44,35,.3)}
html[data-theme="light"] #panel-bch .bcha-pl-stale{color:#a82c23}
html[data-theme="light"] #panel-bch .bcha-p .v b.plus{color:#1a56b0}
html[data-theme="light"] #panel-bch .bcha-p .v b.minus{color:#b3261e}
html[data-theme="light"] #panel-bch .bcha-pill.on{color:#16714a;background:rgba(22,113,74,.1);border-color:rgba(22,113,74,.3)}
html[data-theme="light"] #panel-bch .bcha-pill.turn{color:#7a5a12;background:rgba(160,120,30,.12);border-color:rgba(160,120,30,.4)}
html[data-theme="light"] #panel-bch .bcha-pill.allin,
html[data-theme="light"] #panel-bch .bcha-pill.warn{color:#8a5a12;background:rgba(138,90,18,.1);border-color:rgba(138,90,18,.3)}
html[data-theme="light"] #panel-bch .bcha-pill.bad{color:#a82c23;background:rgba(168,44,35,.08);border-color:rgba(168,44,35,.3)}
html[data-theme="light"] #panel-bch .bcha-dot.on{background:#16714a}
html[data-theme="light"] #panel-bch .bcha-dot.warn{background:#b0701a}
html[data-theme="light"] #panel-bch .bcha-dot.bad{background:#c0392b}
html[data-theme="light"] #panel-bch .bcha-sw input:not(:checked) + .box{background:#b8bec8}
html[data-theme="light"] #panel-bch .bcha-sw input:checked + .box{background:#16714a}
html[data-theme="light"] #panel-bch .bcha-sw.danger input:checked + .box{background:#b0701a}
html[data-theme="light"] #panel-bch .bcha-f.bad input{border-color:#a82c23}
html[data-theme="light"] #panel-bch .bcha-w .n b.plus,html[data-theme="light"] #panel-bch .bcha-hd .ch b.plus{color:#1a56b0}
html[data-theme="light"] #panel-bch .bcha-w .n b.minus,html[data-theme="light"] #panel-bch .bcha-hd .ch b.minus{color:#b3261e}
html[data-theme="light"] #panel-bch .bcha-hd-res.void{color:#a82c23}
html[data-theme="light"] #panel-bch .bcha-h[data-hand]:hover{background:rgba(0,0,0,.025)}
html[data-theme="light"] #panel-bch .bcha-cd{background:#fff}

/* ── 좁은 화면 ──────────────────────────────────────────────────────────── */
/* 접는 기준 = 칸 최소 폭의 합(+틈·여백) 바로 위 — 기본 922px · 앤티/수수료 뺀 것 742px */
@container bchatbl (max-width:930px){
  /* 앤티·수수료 칸을 접는다 — 펼치면 편집 칸에 다 있다 */
  #panel-bch .bcha-thead,#panel-bch .bcha-row{grid-template-columns:minmax(120px,1.5fr) 44px minmax(90px,1fr) minmax(104px,1.2fr) minmax(130px,1.2fr) 100px 66px}
  #panel-bch .bcha-thead > :nth-child(5),#panel-bch .bcha-row > :nth-child(5),
  #panel-bch .bcha-thead > :nth-child(6),#panel-bch .bcha-row > :nth-child(6){display:none}
}
@container bchatbl (max-width:750px){
  /* 방 줄은 «이름 · 블라인드 · 앉음 · 수정» 넷만 — 상태 칸이 접히므로 숨긴 방은 이름 앞에 «숨김» */
  #panel-bch .bcha-thead,#panel-bch .bcha-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 84px 64px;padding:10px 11px}
  #panel-bch .bcha-row .nm .bcha-tag{display:inline-block;font-size:11.5px;padding:1px 6px}
  #panel-bch .bcha-thead > :nth-child(2),#panel-bch .bcha-row > :nth-child(2),
  #panel-bch .bcha-thead > :nth-child(4),#panel-bch .bcha-row > :nth-child(4),
  #panel-bch .bcha-thead > :nth-child(7),#panel-bch .bcha-row > :nth-child(7){display:none}
}
@container bchatbl (max-width:440px){
  /* 폰 세로 — 블라인드도 접는다(방 이름에 판돈이 들어 있다) */
  #panel-bch .bcha-thead,#panel-bch .bcha-row{grid-template-columns:minmax(0,1fr) 84px 60px}
  /* 폰 세로 — «숨김» 은 이름 위 작은 줄로(이름 앞에 두면 방 번호가 잘려 어느 방인지 모른다) */
  #panel-bch .bcha-row .nm .bcha-tag{display:block;width:max-content;margin:0 0 3px}
  #panel-bch .bcha-thead > :nth-child(3),#panel-bch .bcha-row > :nth-child(3){display:none}
}
/* 최근 판 — 좁으면 한 판이 세 줄: «방·판 · 상태» / «회원 · 무르기» / «이긴 사람 · 팟» — 오른쪽 칸은 오른쪽 끝에 맞춘다 */
@container bchahands (max-width:700px){
  #panel-bch .bcha-h.head{display:none}
  #panel-bch .bcha-h{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"no st" "m act" "w pot";gap:5px 10px}
  #panel-bch .bcha-h:nth-child(2){border-top:none}
  #panel-bch .bcha-h-no{grid-area:no} #panel-bch .bcha-h-st{grid-area:st;justify-self:end} #panel-bch .bcha-h-act{grid-area:act}
  #panel-bch .bcha-h-m{grid-area:m} #panel-bch .bcha-h-w{grid-area:w} #panel-bch .bcha-h-pot{grid-area:pot}
  #panel-bch .bcha-hd-s{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"sn nm cds" "sn ch tg";gap:4px 10px}
  #panel-bch .bcha-hd-s .sn{grid-area:sn} #panel-bch .bcha-hd-s .nm{grid-area:nm} #panel-bch .bcha-hd-s .cds{grid-area:cds}
  #panel-bch .bcha-hd-s .ch{grid-area:ch;font-size:13px;white-space:normal;overflow:visible}  /* 폰에서 «+1,…» 로 잘려 증감을 못 읽었다 — 줄을 넘긴다 */ #panel-bch .bcha-hd-s .tg{grid-area:tg}
}
@media (max-width:700px){
  #panel-bch .bcha-sec,#panel-bch .bcha-top{padding:14px 12px}
  #panel-bch .bcha-kpis{grid-template-columns:1fr 1fr}
  #panel-bch .bcha-kpi b{font-size:19px}
  #panel-bch .bcha-f.wide{grid-column:auto}
  #panel-bch .bcha-fields{grid-template-columns:1fr 1fr}
  #panel-bch .bcha-grp .bcha-fields{grid-template-columns:1fr}
  #panel-bch .bcha-f input{font-size:16px}   /* 아이폰이 입력칸을 누를 때 확대하지 않게 */
}

/* ── 수수료(모든 방 한꺼번에 · 2026-09-25) — 입력 둘 + 적용 단추 한 줄 ───── */
#panel-bch .bcha-rk{display:flex;align-items:flex-end;gap:10px 12px;flex-wrap:wrap}
#panel-bch .bcha-rk .bcha-f{width:170px}
#panel-bch .bcha-rk .bcha-btn{height:42px}
#panel-bch .bcha-rk > .bcha-empty{flex:1}
#panel-bch .bcha-rk-now{font-size:14px;font-weight:800;color:var(--brand);padding:3px 11px;border-radius:999px;
  background:rgba(201,169,97,.1);border:1px solid rgba(201,169,97,.3);font-variant-numeric:tabular-nums}
#panel-bch .bcha-rk-now:empty{display:none}
#panel-bch .bcha-rk-now.mixed{color:var(--muted);background:var(--card-2);border-color:var(--line)}
@media (max-width:700px){
  #panel-bch .bcha-rk .bcha-f{width:calc(50% - 6px)}
  #panel-bch .bcha-rk .bcha-btn{width:100%}
}
