/* 결제 팝업 판 (2026-10-20 · 온보딩 확정본 S2 «옮기기만» → S3 기다림·완료 판 새 모양) — 앞 .pw 규칙은 billing.html <style> 174~272줄을 옮긴 것(계정 주인 확인 창 #stepUp 이 쓴다).
   .pw = 창 판(결제 기다림 창 #payWait · 계정 주인 확인 창 #stepUp 이 같이 쓴다) · #payWait = 기다림 창만.
   ⛔ 색·글꼴 값(--card · --line · --ink · --lime …)과 .btn · .linkbtn · .msg · .hidden 은 부르는 쪽 장이 정한다(billing.html :root) — 여기서 새로 정하지 않는다.
   ⛔ 싣는 자리 = 부르는 장의 «원래 그 자리»(앞 규칙 뒤 · .hidden 앞) — 겹침 순서가 옮기기 전과 같다. */
  /* 🆕 pp1 결제 기다림 창(J.J 10/12 «청구서 보낸 뒤 뭘 또 해야 하나?») — 보낸 뒤 «기다리는 중 → 완료»를 한 창에서 */
  .pw { position: fixed; inset: 0; z-index: 75;   /* 🔄 10-21 20 → 75: 공통 기둥(shell.css 폰 서랍 .side 60 · 덮개 55 · 띠 .gr-top 30 · 문제 신고 덮개 69)보다 위 — 창이 열려 있으면 띠의 ☰ 도 덮여 서랍을 못 연다(초점 흐름 그대로) */ display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(3, 4, 5, .72); backdrop-filter: blur(4px) }
  .pw .box { position: relative; width: 100%; max-width: 440px; border: 1px solid #4A5563; border-radius: 18px; background: var(--pw-card); padding: 26px 26px 20px;   /* 🔄 10-21 --card → --pw-card(부르는 장이 정한다: billing·gcoin = --bl-card · plans = --pl-card) */ box-shadow: 0 24px 60px rgba(0, 0, 0, .5) }
  .pw ol { list-style: none; display: flex; gap: 6px; margin: 0 0 22px; padding: 0; font-size: 12.5px; color: var(--faint) }
  .pw ol li { flex: 1; display: flex; flex-direction: column; gap: 6px }
  .pw ol li::before { content: ""; height: 3px; border-radius: 2px; background: var(--line) }
  .pw ol li.done { color: var(--body) }
  .pw ol li.done::before { background: var(--silver-deep) }
  .pw ol li.now { color: var(--ink); font-weight: 600 }
  .pw ol li.now::before { background: linear-gradient(90deg, var(--silver) 0%, var(--line) 100%); background-size: 200% 100%; animation: 줄흐름 1.6s linear infinite }
  .pw ol li.ok { color: var(--ok); font-weight: 600 }
  .pw ol li.ok::before { background: var(--ok) }
  @keyframes 줄흐름 { from { background-position: 100% 0 } to { background-position: -100% 0 } }
  .pw .sign { width: 44px; height: 44px; margin: 0 0 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800 }
  /* 🔄 pp2 J.J 10/12 — 큰 돌아가는 원은 «시스템이 처리 중»처럼 보인다. 지금은 «손님의 결제를 기다리는» 때라
     작은 시계(멈춘 그림) + «결제 기다리는 중» 한 줄로 — 움직임은 위 단계 줄의 흐름 하나뿐. */
  .pw .sign.wait { width: auto; height: auto; border-radius: 999px; display: inline-flex; gap: 7px; padding: 4px 11px 4px 8px; font-size: 12.5px; font-weight: 600;
    color: var(--silver); background: rgba(198, 214, 232, .07); border: 1px solid rgba(198, 214, 232, .2) }
  .pw .sign.wait::before { content: ""; width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid var(--silver-deep); flex: 0 0 auto;
    background: linear-gradient(var(--silver), var(--silver)) 50% 30% / 1.5px 4px no-repeat, linear-gradient(var(--silver), var(--silver)) 65% 50% / 3px 1.5px no-repeat }
  .pw .body { white-space: pre-line }
  .pw .sign.ok { background: rgba(127, 211, 154, .12); color: var(--ok); border: 1px solid rgba(127, 211, 154, .4) }
  .pw .sign.warn { background: rgba(231, 182, 90, .1); color: var(--gold); border: 1px solid rgba(231, 182, 90, .35) }
  @keyframes 돌기 { to { transform: rotate(360deg) } }
  .pw h2 { margin: 0 0 6px; font-size: 19px; letter-spacing: -.02em; text-wrap: balance }
  .pw .what { margin: 0 0 12px; color: var(--silver); font-weight: 600; font-size: 14.5px }
  .pw .body { margin: 0 0 6px; color: var(--body); font-size: 14px }
  .pw .body b { color: var(--ink); font-weight: 600 }
  .pw .small { margin: 0; color: var(--sub); font-size: 12.5px }
  .pw .acts { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0 0 }
  .pw .acts .btn { flex: 1 1 auto }
  /* 🔄 pp2 — 단추 위계: [이 컴퓨터에서 결제하기] 가 주인공(한 단계 밝게) · [결제 취소] 는 어두운 테두리 보조 */
  .pw .btn.main { border-color: rgba(214, 226, 240, .55); color: #0B0D10;
    background: linear-gradient(180deg, #EEF4FB 0%, #C6D6E8 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 6px 18px rgba(0, 0, 0, .28) }
  .pw .btn.main:hover { background: linear-gradient(180deg, #F6F9FD 0%, #D3E0EE 100%); border-color: rgba(224, 234, 245, .7) }
  .pw .btn.ghost { background: transparent; box-shadow: none; border-color: var(--line); color: var(--body) }
  .pw .btn.ghost:hover { background: rgba(255, 255, 255, .03); border-color: #3B434D; color: var(--ink) }
  .pw .later { display: block; margin: 14px auto 0 }
  /* 🆕 10-19 계정 주인 확인 창(#stepUp) — 기다림 창과 같은 판 · 번호 칸만 더한다 */
  .pw .su-k { display: block; margin: 14px 0 6px; color: var(--sub); font-size: 13px }
  .pw input#suCode { display: block; width: 100%; box-sizing: border-box; letter-spacing: .2em; font-size: 18px }
  .pw .acts.one { margin-top: 12px }
  @media (prefers-reduced-motion: reduce) { .pw ol li.now::before { animation: none } }
  /* ═══ 🆕 2026-10-20 온보딩 S3 — 결제 기다림 창(#payWait) 판을 목업 부품(결제팝업-부품/paywait.css) 모양으로 ═══
     #stepUp(계정 주인 확인 창)은 위 .pw 규칙 그대로 — 아래는 전부 #payWait 안에만.
     판 넷: .box(한 단 · 실패·충전 완료) · .box.two(요금제 기다림 = 왼쪽 할 일 55 · 오른쪽 자동결제 안내 45) · .box.mid(충전·매월 기다림) · .box.done(요금제 결제 완료 · 대기보다 작게) */
  #payWait { --pw-inner: #16191c; --pw-line: #31353b; --pw-line2: #2a2e34; --pw-tx: #F2F4F7; --pw-tx2: #C4CAD3; --pw-tx3: #98A2B3; --pw-acc: #c6f24e; --pw-on: #14180c; --pw-ok: #7fd4a0; --pw-warn: #e7b65a;
    align-items: flex-start; overflow-y: auto; z-index: 80; background: rgba(0, 0, 0, .72); color: var(--pw-tx); word-break: keep-all }
  #payWait .box { margin: auto; max-width: 440px; padding: 26px 26px 22px; border-radius: 18px;   /* 테두리는 위 .pw .box 의 1px #4A5563 그대로(J.J 10/15) */
   
    background: linear-gradient(180deg, #262a30 0%, #1f2227 40%); box-shadow: 0 1px 0 rgba(255, 255, 255, .08) inset, 0 24px 70px rgba(0, 0, 0, .85) }
  #payWait .box.two { max-width: 900px; padding: 0; display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr) }
  #payWait .box.two .pw-main { padding: 26px 28px 22px; min-width: 0 }
  #payWait .box.mid { max-width: 520px }
  #payWait .box.done { max-width: 440px; padding: 30px 28px 22px; text-align: center }
  #payWait .pw-main { display: flex; flex-direction: column }
  /* 닫기 ✕ — 기다림 판 = «나중에 결제» · 완료 판 = 닫기 */
  #payWait .pw-x { position: absolute; top: 12px; right: 12px; z-index: 2; width: 34px; height: 34px; border-radius: 9px; border: 0; background: none; color: var(--pw-tx3); font: inherit; font-size: 15px; cursor: pointer }
  #payWait .pw-x:hover { background: rgba(255, 255, 255, .06); color: var(--pw-tx) }
  /* 단계 줄 */
  #payWait ol { margin: 0 0 18px; font-size: 12px; color: var(--pw-tx3) }
  #payWait ol li::before { background: var(--pw-line) }
  #payWait ol li.done { color: var(--pw-tx2) }
  #payWait ol li.done::before { background: #7f8a96 }
  #payWait ol li.now { color: var(--pw-tx) }
  #payWait ol li.now::before { background: linear-gradient(90deg, var(--pw-acc) 0%, var(--pw-line) 100%); background-size: 200% 100% }
  #payWait ol li.ok { color: var(--pw-ok) }
  #payWait ol li.ok::before { background: var(--pw-ok) }
  #payWait .box.done ol { display: none }
  /* 표시 — 기다림은 작은 «결제 기다리는 중» · 실패는 ! · 충전 완료는 ✓ */
  #payWait .sign { align-self: flex-start; margin: 0 0 12px }
  #payWait .sign.wait { color: var(--pw-tx2); background: none; border: 1px solid var(--pw-line); padding: 4px 11px 4px 9px }
  #payWait .sign.wait::before { width: 11px; height: 11px; border: 1.6px solid var(--pw-line); border-top-color: var(--pw-acc); background: none; animation: 돌기 1s linear infinite }
  #payWait .sign.ok { background: rgba(127, 212, 160, .12); color: var(--pw-ok); border-color: rgba(127, 212, 160, .4) }
  #payWait .sign.warn { color: var(--pw-warn) }
  /* 완료(요금제) — 라임 체크(짧게 그려짐 · 움직임 줄이기면 멈춤) */
  #payWait .pw-okmark { width: 60px; height: 60px; margin: 2px auto 14px }
  #payWait .pw-okmark svg { width: 100%; height: 100%; fill: none; stroke: var(--pw-acc); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round }
  #payWait .pw-okmark circle { stroke-width: 2.4; opacity: .35; transform-origin: center; animation: 링 .5s ease-out both }
  #payWait .pw-okmark path { stroke-dasharray: 34; stroke-dashoffset: 0; animation: 체크 .45s .25s ease-out backwards }   /* 움직임이 꺼져도 체크는 그려져 있다 */
  @keyframes 링 { from { transform: scale(.6); opacity: 0 } to { transform: scale(1); opacity: .35 } }
  @keyframes 체크 { from { stroke-dashoffset: 34 } to { stroke-dashoffset: 0 } }
  #payWait h2 { margin: 0; font-size: 21px; line-height: 1.35; color: var(--pw-tx) }
  #payWait .box.done h2 { font-size: 22px }
  #payWait .what { margin: 6px 0 0; font-size: 14px; font-weight: 600; color: var(--pw-tx2) }
  #payWait .what span { font-weight: 500; color: var(--pw-tx3) }
  #payWait .what:empty { display: none }
  #payWait .body { margin: 12px 0 0; font-size: 14px; color: var(--pw-tx2); white-space: normal }
  #payWait .body:empty { display: none }
  #payWait .body.msg { margin-top: 14px; font-size: 15px; line-height: 1.6 }
  #payWait .body.msg b { font-weight: 800 }
  #payWait .body.msg .kk { color: #FEE500 }
  #payWait .body.msg .sms { color: #5EEAD4 }
  #payWait .box.done .body { margin-top: 6px; color: var(--pw-tx2); line-height: 1.55 }
  #payWait .pw-sent { margin: 4px 0 0; font-size: 13px; color: var(--pw-tx3); font-variant-numeric: tabular-nums }
  #payWait .small { margin: 6px 0 0; font-size: 12.5px; color: var(--pw-tx3) }
  #payWait .small:empty { display: none }
  /* QR — 손님별 청구서 주소를 브라우저 안에서 그린 SVG(QR그리기 · vendor/qrcode-generator 1.4.4) · 넓은 화면만 */
  #payWait .pw-qr { display: flex; gap: 14px; align-items: center; margin: 12px 0 0; padding: 10px 12px; border: 1px solid var(--pw-line2); border-radius: 12px }
  #payWait .pw-qr-img { flex: none; width: 92px; height: 92px; background: #fff; border-radius: 8px; overflow: hidden }
  #payWait .pw-qr-img svg { display: block; width: 100%; height: 100% }
  #payWait .pw-qr p { margin: 0; font-size: 13px; color: var(--pw-tx2); line-height: 1.55 }
  #payWait .pw-qr b { display: block; margin-bottom: 2px; color: var(--pw-tx); font-weight: 700 }
  /* 결제 정보 한 칸(완료) */
  #payWait .pw-paid { margin: 20px 0 0; padding: 6px 16px; border-radius: 12px; background: rgba(255, 255, 255, .035); text-align: left; font-variant-numeric: tabular-nums }
  #payWait .pw-paid > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-top: 1px solid rgba(255, 255, 255, .06) }
  #payWait .pw-paid > div:first-child { border-top: 0 }
  #payWait .pw-paid dt { font-size: 13px; color: var(--pw-tx3); flex: none }
  #payWait .pw-paid dd { margin: 0; display: grid; justify-items: end; gap: 1px; font-size: 14px; font-weight: 600; color: var(--pw-tx); text-align: right }
  #payWait .pw-paid dd b { font-size: 15px }
  #payWait .pw-paid dd small { font-size: 11.5px; font-weight: 500; color: var(--pw-tx3) }
  #payWait .pw-paid dd small.wait { color: var(--pw-warn) }
  #payWait .pw-paid .coin dd b { color: var(--pw-acc) }
  #payWait .pw-paid .next dd { font-size: 12.5px; font-weight: 500; color: var(--pw-tx2) }
  #payWait .pw-nextstep { margin-top: 20px; display: grid; gap: 3px }
  #payWait .pw-nextstep b { font-size: 15px; color: var(--pw-tx) }
  #payWait .pw-nextstep span { font-size: 13px; color: var(--pw-tx2) }
  /* 아래 줄 — 왼쪽: 작은 «컴퓨터에서 바로 결제하기 ↗» · 오른쪽: [결제 취소] · «나중에 결제할게요» */
  #payWait .pw-foot { display: flex; flex-direction: column }
  #payWait .box.two .pw-foot, #payWait .box.mid .pw-foot { flex-direction: row; justify-content: space-between; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin: 18px 0 0; padding-top: 14px; border-top: 1px solid var(--pw-line2) }
  #payWait .box.two .acts, #payWait .box.mid .acts { margin: 0; flex-wrap: nowrap; align-items: center; gap: 12px }
  #payWait .box.two .acts .btn, #payWait .box.mid .acts .btn { flex: none }
  #payWait .box.two .later, #payWait .box.mid .later { display: inline; margin: 0; font-size: 13px }
  #payWait .pw-pc { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1 1 220px }
  #payWait .pw-pc a { font-size: 13px; font-weight: 600; color: var(--pw-tx2); text-decoration: underline; text-underline-offset: 3px; width: max-content; max-width: 100% }
  #payWait .pw-pc a:hover { color: var(--pw-tx) }
  #payWait .pw-pc span { font-size: 11.5px; color: var(--pw-tx3); line-height: 1.5 }
  #payWait .btn { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .16); box-shadow: none; color: var(--pw-tx) }
  #payWait .btn::after { display: none }
  #payWait .btn.ghost { padding: 8px 13px; font-size: 13px; color: var(--pw-tx2) }
  #payWait .btn.pri, #payWait .btn.main { background: var(--pw-acc); border-color: var(--pw-acc); color: var(--pw-on) }
  #payWait .later, #payWait .linkbtn { color: var(--pw-tx3) }
  /* 완료 판 — 가장 강한 단추(설치·시작)는 넓고 높게 · «나중에 연결할게요»는 밑줄 글 */
  #payWait .box.done .acts { flex-direction: column; align-items: stretch; gap: 0; margin-top: 14px }
  #payWait .btn.cta { width: 100%; height: 50px; border-radius: 11px; font-size: 15px; font-weight: 800 }
  #payWait .box.done #pwClose { align-self: center; margin-top: 10px; padding: 0; height: auto; border: 0; background: none; font-size: 13px; font-weight: 400; color: var(--pw-tx3); text-decoration: underline; text-underline-offset: 3px }
  #payWait .box.done #pwClose:hover { color: var(--pw-tx) }
  /* 오른쪽(요금제 기다림만) — 위: 자동결제 안내 · 가운데: 결제선생 청구서 «예시» 그림(bill-guide.jpg 811×1222 · 자동결제 칸 자리를 % 로 짚는다) · 아래: 작은 예시 표시 */
  #payWait .pw-side { padding: 22px 24px; border-left: 1px solid var(--pw-line2); background: rgba(255, 255, 255, .02); border-radius: 0 18px 18px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-width: 0 }
  #payWait .pw-autohead { margin: 0 0 14px; padding: 0 30px; display: grid; gap: 3px; text-align: center }
  #payWait .pw-autohead b { font-size: 16px; line-height: 1.4; font-weight: 700; color: var(--pw-tx) }
  #payWait .pw-autohead em { font-style: normal; color: var(--pw-acc); font-weight: 800 }
  #payWait .pw-autohead span { font-size: 12.5px; color: var(--pw-tx3) }
  #payWait .pw-phone { width: min(100%, 292px); padding: 9px; border-radius: 34px; background: #0b0c0e; border: 1px solid #3a3f46; box-shadow: 0 18px 40px rgba(0, 0, 0, .6), inset 0 0 0 2px #1a1d21 }
  #payWait .pw-screen { position: relative; border-radius: 26px; overflow: hidden; background: #f4f4f4; max-height: 470px }
  #payWait .pw-screen img { display: block; width: 100%; height: auto }
  #payWait .pw-hl { position: absolute; left: 3.6%; right: 3.6%; top: 60.2%; height: 12.4%; border: 3px solid var(--pw-acc); border-radius: 10px; box-shadow: 0 0 0 4px rgba(198, 242, 78, .25), 0 0 22px rgba(198, 242, 78, .55) }
  #payWait .pw-check { position: absolute; left: 12.45%; top: 66.4%; width: 6.4%; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: #00C73C; color: #fff; font-size: 11px; font-weight: 900; display: grid; place-items: center; line-height: 1 }
  #payWait .pw-demo-note { margin: 10px 0 0; text-align: center; font-size: 11px; color: var(--pw-tx3); opacity: .85 }
  /* 좁은 화면(휴대폰) — 할 일 먼저 · 오른쪽 안내는 아래 · QR 숨김(같은 휴대폰으로는 못 찍는다) · 폰 그림 작게(190px 안팎) */
  @media (max-width: 760px) {
    #payWait .box.two { grid-template-columns: minmax(0, 1fr) }
    #payWait .box.two .pw-main { padding: 22px 18px 18px }
    #payWait .box:not(.two) { padding: 22px 18px 18px }
    #payWait .pw-side { border-left: 0; border-top: 1px solid var(--pw-line2); border-radius: 0 0 18px 18px; padding: 16px 16px 18px; gap: 8px }
    #payWait .pw-autohead { margin: 0 0 6px; padding: 0 }
    #payWait .pw-autohead b { font-size: 14.5px }
    #payWait .pw-autohead span { font-size: 12px }
    #payWait .pw-phone { width: min(100%, 190px); padding: 6px; border-radius: 26px }
    #payWait .pw-screen { max-height: 270px; border-radius: 20px }
    #payWait .body.msg { margin-top: 10px; font-size: 14.5px }
    #payWait .pw-qr { display: none !important }
    #payWait .box.done { padding: 20px 16px 16px }
    #payWait .pw-okmark { width: 46px; height: 46px; margin: 0 auto 10px }
    #payWait .box.done h2 { font-size: 20px }
    #payWait .pw-paid { margin-top: 14px; padding: 2px 14px }
    #payWait .pw-paid > div { padding: 7px 0 }
    #payWait .pw-nextstep { margin-top: 14px }
    #payWait .pw-nextstep span { display: none }
    #payWait .btn.cta { height: 48px }
  }
  @media (prefers-reduced-motion: reduce) { #payWait .sign.wait::before { animation: none } #payWait .pw-okmark circle, #payWait .pw-okmark path { animation: none; stroke-dashoffset: 0 } }
  /* ═══ 🆕 2026-10-20 온보딩 S4 — 결제 확인 판 ①(#pwConfirm) · 인증 판(#pwStep) — 목업 부품 «결제 확인 v3»·«모바일 정리» 값 ═══ */
  #payWait .box.confirm { padding: 24px 26px 20px }
  #payWait .pw-confirm { display: flex; flex-direction: column }
  #payWait .pw-eyebrow { margin: 0; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; color: var(--pw-acc) }
  #payWait .pw-planrow { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin-top: 4px; padding-right: 34px }
  #payWait .pw-planrow h2 { font-size: 22px }
  #payWait .pw-confirm h2 { margin-top: 4px; padding-right: 34px }
  #payWait .pw-sub { margin: 2px 0 2px; font-size: 13px; color: var(--pw-tx3) }
  #payWait .pw-confirm .linkbtn { font-size: 13px }
  #payWait .pw-tel { margin-top: 20px; padding: 14px 14px 13px; border-radius: 12px; background: rgba(255, 255, 255, .025); border: 1px solid rgba(198, 242, 78, .16) }
  #payWait .pw-phhead { display: flex; gap: 10px; align-items: flex-start }
  #payWait .pw-phic { width: 28px; height: 28px; flex: none; border-radius: 8px; display: grid; place-items: center; background: rgba(198, 242, 78, .08) }
  #payWait .pw-phic svg { width: 16px; height: 16px; fill: none; stroke: var(--pw-acc); stroke-width: 1.8; stroke-linecap: round }
  #payWait .pw-phhead label { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 7px; font-size: 14px; font-weight: 700; color: var(--pw-tx) }
  #payWait .pw-phhead p { margin: 2px 0 0; font-size: 12.5px; color: var(--pw-tx3) }
  #payWait .pw-req { font-style: normal; font-size: 10px; font-weight: 800; padding: 2px 6px; border-radius: 5px; color: var(--pw-acc); border: 1px solid rgba(198, 242, 78, .45); letter-spacing: .02em }
  #payWait .pw-field { width: 100%; height: 44px; padding: 0 13px; border-radius: 9px; border: 1px solid var(--pw-line); background: var(--pw-inner); color: var(--pw-tx); font: inherit; font-size: 15px; box-sizing: border-box }
  #payWait .pw-field:focus { outline: none; border-color: var(--pw-acc); box-shadow: 0 0 0 3px rgba(198, 242, 78, .15) }
  #payWait .pw-field:disabled { opacity: .55 }
  #payWait .pw-field.big { margin-top: 12px; height: 48px; font-size: 16.5px; font-weight: 600; letter-spacing: .02em; background: #121417; border-color: rgba(255, 255, 255, .2) }
  #payWait .pw-field.mono { font-family: "IBM Plex Mono", ui-monospace, monospace; text-transform: uppercase; letter-spacing: .04em; height: 40px; font-size: 14px; background: transparent }
  #payWait .pw-field.mono::placeholder { text-transform: none; letter-spacing: 0; font-family: inherit }
  #payWait .pw-hint { margin: 5px 0 0; font-size: 12px; color: var(--pw-tx3) }
  #payWait .pw-consent { display: flex; gap: 9px; align-items: flex-start; margin-top: 11px; font-size: 12.5px; color: var(--pw-tx2); cursor: pointer }
  #payWait .pw-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--pw-acc); flex: none }
  #payWait .pw-more { margin-top: 3px; font-size: 12px; color: var(--pw-tx3) }
  #payWait .pw-more summary { cursor: pointer; width: max-content }
  #payWait .pw-more ul { margin: 4px 0 0; padding-left: 18px; line-height: 1.6 }
  #payWait .pw-more p { margin: 4px 0 0; line-height: 1.6 }
  #payWait .pw-more a { color: var(--pw-tx2); text-decoration: underline; text-underline-offset: 2px }
  #payWait .pw-lbl { display: block; margin: 20px 0 7px; font-size: 12.5px; font-weight: 600; color: var(--pw-tx3) }
  #payWait .pw-lbl span { font-weight: 500 }
  #payWait .pw-coupon { display: flex; gap: 8px }
  #payWait .pw-coupon .btn { flex: none; height: 40px; padding: 0 16px; font-size: 13px }
  #payWait .pw-cmsg { margin: 6px 0 0; font-size: 12px; color: var(--pw-tx3) }
  #payWait .pw-cmsg:empty { display: none }
  #payWait .pw-cmsg.ok { color: var(--pw-acc); font-weight: 600 }
  #payWait .pw-cmsg.err { color: #f08a62 }
  #payWait .pw-bill { margin-top: 20px; padding: 14px 16px; border-radius: 12px; background: rgba(255, 255, 255, .035); border: 1px solid rgba(255, 255, 255, .08); display: grid; gap: 6px; font-variant-numeric: tabular-nums }
  #payWait .pw-bill .row { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--pw-tx2) }
  #payWait .pw-bill .row.off { color: var(--pw-acc) }
  #payWait .pw-bill .total { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: var(--pw-tx); padding-bottom: 2px }
  #payWait .pw-bill.has-off .total { margin-top: 4px; padding-top: 10px; border-top: 1px dashed rgba(255, 255, 255, .1) }
  #payWait .pw-bill .total strong { font-size: 26px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1 }
  #payWait .pw-bill .row.next { margin-top: -1px; font-size: 12.5px; color: var(--pw-tx3) }
  #payWait .pw-refund1 { display: flex; align-items: center; gap: 7px; margin: 16px 0 0; font-size: 12.5px; color: var(--pw-tx2) }
  #payWait .pw-okc { width: 17px; height: 17px; border-radius: 50%; display: grid; place-items: center; background: rgba(198, 242, 78, .14); color: var(--pw-acc); font-size: 10.5px; font-weight: 800 }
  #payWait .pw-dotsep { color: var(--pw-tx3); margin: 0 -1px }
  #payWait .pw-refund1 a { color: var(--pw-tx3); text-decoration: underline; text-underline-offset: 3px }
  #payWait .pw-confirm .btn.cta { margin-top: 10px }
  #payWait .btn.main:disabled { background: #33383f; border-color: #33383f; color: #b7bec8; opacity: 1; cursor: not-allowed }
  #payWait .btn.cta:disabled { background: #33383f; border-color: #33383f; color: #b7bec8; opacity: 1; cursor: not-allowed }
  #payWait .pw-fine { margin: 9px 0 0; text-align: center; font-size: 12px; color: var(--pw-tx3) }
  #payWait .pw-fine.need { color: var(--pw-warn) }
  #payWait .pw-confirm .msg:empty { display: none }
  #payWait #pwStep .btn { margin-top: 14px }
  #payWait #pwStep .acts { margin-top: 12px; display: flex; gap: 10px }
  #payWait #pwStep .acts .btn { flex: 1 1 auto; margin-top: 0 }
  #payWait #pwStep .small { margin-top: 8px }
  #payWait #pwStep .pw-field.big { letter-spacing: .2em; font-size: 18px }
  @media (max-width: 640px) {
    #payWait .box.confirm { padding: 18px 16px 16px }
    #payWait .pw-planrow h2 { font-size: 20px }
    #payWait .pw-sub { font-size: 12.5px }
    #payWait .pw-tel { margin-top: 14px; padding: 12px }
    #payWait .pw-field.big { height: 46px; margin-top: 10px }
    #payWait .pw-lbl { margin: 14px 0 6px; font-size: 12px }
    #payWait .pw-bill { margin-top: 14px; padding: 12px 14px }
    #payWait .pw-bill .total strong { font-size: 24px }
    #payWait .pw-refund1 { margin-top: 12px; font-size: 12px }
  }
  /* 🆕 S5 — 확인 판 맨 아래 이용약관 줄(옛 계산대 요금제 칸에서 옮김) */
  #payWait .pw-terms { margin: 6px 0 0; text-align: center; font-size: 11.5px; color: var(--pw-tx3) }
  #payWait .pw-terms a { color: var(--pw-tx2); text-decoration: underline; text-underline-offset: 2px }
