/* assets/css/group.css — 단체 수강신청 화면(group.php) 전용 (2-가 U4). style.css 는 0줄 — 여기 «덧입히기»만.
   색은 남색 계열 안에서 농도로만 구분(UI 규칙 1). 상태 표시는 대비 4.5 이상(8장 ①). */
.g-title-row { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:16px 0 8px; }
.g-page-title { font-size:1.35rem; margin:0; color:var(--kosmi-navy, #023979); }
.g-page-sub { font-size:.9rem; font-weight:400; color:#4b5563; margin-left:8px; }
.g-link-indiv { font-size:.9rem; color:var(--kosmi-navy, #023979); text-decoration:underline; }
.g-sub { color:#4b5563; font-size:.93rem; margin:0 0 14px; }
.g-h3 { font-size:1rem; margin:18px 0 8px; color:var(--kosmi-navy, #023979); }
.g-h3-sub { font-size:.8rem; font-weight:400; color:#6b7280; margin-left:8px; }
.g-inline-group .btn-choice { min-height:auto; }
.g-nav-bottom { margin-top:18px; display:flex; justify-content:flex-end; gap:10px; }
/* 하단 [← 이전] — 위쪽 것과 «같은 버튼»이고 새 표식을 더하지 않는다(관리자화면_원칙 F).
   왼쪽 끝으로 밀어 [다음]과 짝을 이루게 둔다. G1 은 이전이 없어 [다음]이 그대로 오른쪽에 남는다. */
.g-nav-bottom .g-back-bottom { margin-right:auto; }
/* 안내문(지역·일정 0건 · 로딩)은 «비활성»이 아니라 «알림»이다 — 흐린 회색이 「눌러도 안 되는 칸」으로 읽혔다(대표 눈검사 2026-09-21).
   본문색으로 올린다. style.css 는 0줄 — 여기서만 덧입힌다. */
.step-section .rsl-empty, .step-section .cal-loading { color:#1f2937; font-size:14px; }
.g-nav-bottom .btn-submit { width:auto; min-width:260px; }
/* 1-4 식별 — 카드 상단 «색띠 1개»(새 표식 없이 기존 카드 테두리 색만 · 원칙 F). 개인 화면 style.css 는 0줄 */
body.g-group .step-card { border-top:6px solid #023979; }
/* 1-6 G1 맨 위 안내 1줄 + 양식 버튼 */
.g-dl-btn { height:36px; line-height:34px; padding:0 14px; text-decoration:none; white-space:nowrap; }
/* [L1-07] 맨 위 안내 — 3단계 카드 · 칸 표 · 자주 틀리는 2가지 */
.g-guide { margin-bottom:14px; }
.g-guide-steps { list-style:none; margin:0 0 10px; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; }
.g-guide-steps li { display:flex; gap:8px; align-items:flex-start; padding:10px; border:1px solid #023979; border-radius:8px; background:#fff; font-size:.9rem; }
.g-guide-steps b { flex:0 0 24px; height:24px; line-height:24px; text-align:center; border-radius:50%; background:#023979; color:#fff; font-size:.85rem; }
.g-guide-steps strong { display:block; margin-bottom:4px; }
.g-guide-steps .g-dl-btn { display:inline-block; margin-top:2px; }
.g-guide-table { width:100%; border-collapse:collapse; font-size:.88rem; margin-bottom:10px; }
.g-guide-table th, .g-guide-table td { border:1px solid #cbd5e1; padding:6px 8px; text-align:left; vertical-align:top; }
.g-guide-table th { width:7.5em; background:#eef4fb; white-space:nowrap; }
.g-guide-warn { border:1px solid #b45309; background:#fff7ed; border-radius:8px; padding:8px 12px; font-size:.88rem; }
.g-guide-warn p { margin:4px 0 0; }
/* [A85 · 소요 2·3] 꼭 적을 칸 강조 · 회색 칸 한 줄 · 자주 틀리는 2가지 = 할 일 2줄 */
.g-guide-must th, .g-guide-must td { background:#e3f0ff; }
.g-guide-must td strong { color:#023979; }
.g-guide-gray { margin:-4px 0 10px; font-size:.85rem; color:#4b5563; }
.g-guide-todo { margin:4px 0 0; padding-left:1.2em; }
.g-guide-todo li { margin:2px 0; }
@media (max-width:720px) { .g-guide-steps { grid-template-columns:1fr; } }
/* 1-1 주소 — [주소 검색] 이 칸 «앞»(DOM 순서) · 칸이 남는 폭을 받는다 */
.g-addr-row { display:flex; gap:8px; align-items:stretch; }
.g-addr-row .btn-address { flex:0 0 auto; }
.g-addr-row input { flex:1 1 auto; min-width:0; }
/* 1-7 이메일 한글→영문 자동 변환 알림(1초) */
.kr2en-hint { display:block; font-size:.78rem; color:#023979; margin-top:2px; }
/* [U4-보완3] 이메일 칸 상시 안내 1줄 — kr2en.js 가 켜져 있을 때만(html.kr2en-on) 보인다 */
.kr2en-note { display:none; font-size:.78rem; color:#4b5563; margin-top:2px; }
html.kr2en-on .kr2en-note { display:block; }
.g-kr2en-table { margin:6px 0 0; }
/* 1-2 법인카드 문의 — 새 표식 없이 «색만»(원칙 F) · 옅은 노랑 + 굵게 */
.g-hl-card { background:#FEF3C7; color:#1f2937; font-weight:700; padding:1px 4px; border-radius:3px; }
/* 1-3 「위 입력정보와 동일 → 그대로 적용」 — 남색 [다음]과 구분되는 녹색 1개 (흰 글자 대비 5.0) */
#gSameBiz.btn-address { background:#15803d; border-color:#15803d; color:#fff; font-weight:600; }
#gSameBiz.btn-address:hover { background:#166534; border-color:#166534; }
/* 1-4 오류 첫 칸 — 빨간 테두리 2초(group.js flashFocus) */
.g-err-flash { outline:2px solid #b91c1c !important; outline-offset:1px; border-color:#b91c1c !important; }

/* G1 일정 목록 */
/* [A85 · 결함 0] 좌우 밀기·말줄임 폐지(종전 L1-06 «한 줄 + 좌우 밀기») — 과정·시간·날짜·지역·교육비·남은 자리는 줄바꿈으로 «전부» 보인다(390px 포함 · 가로 스크롤 0)
   그 밖(업종·교육장·교육 시간대)은 «자세히»(기본 접힘) */
.g-sched-list { display:flex; flex-direction:column; gap:6px; }
/* [A86 · 1~5] 첫 화면 = 준비할 것 한 줄 · 칩(알약) 한 줄씩 · 다 고르면 한 줄로 접힘 · 고른 카드 큰 ✓ (색 = 종전 단추와 같은 남색·옅은 하늘색 · 새 색 0) */
#gstep1 [hidden] { display:none !important; }   /* hidden 속성이 아래 display:flex 에 덮이지 않게(안 고른 묶음·빈 접힌 줄이 처음부터 보이던 결함) */
/* [A89 · 4] 준비할 것 = 연한 초록 바탕 + 진한 초록 글씨(행동 단추 P1 과 같은 계열 · 판정 표 «통과» 색 재사용) */
.g-prep { margin:0 0 12px; padding:8px 12px; border:1px solid #86efac; border-radius:8px; background:#dcfce7; font-size:.92rem; color:#14532d; }
.g-prep strong { color:#14532d; margin-right:6px; }
.g-chip-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0 0 10px; }
.g-chip-h { flex:0 0 auto; min-width:5.5em; font-weight:700; color:#023979; font-size:.95rem; }
.g-chips { display:flex; flex-wrap:wrap; gap:6px; flex:1 1 0; min-width:0; }
.g-chip { min-height:36px; padding:5px 14px; border:1px solid #023979; border-radius:18px; background:#dbeafe; color:#023979;
    font-size:.92rem; font-weight:600; line-height:1.3; cursor:pointer; white-space:normal; text-align:left; }
.g-chip:hover:not(:disabled) { background:#023979; color:#fff; }
.g-chip.selected { background:#023979; color:#fff; border-width:2px; }
.g-chip.selected::before { content:"✓ "; }
.g-chip:disabled { background:#f3f4f6; color:#9ca3af; border-color:#9ca3af; cursor:not-allowed; }
.g-q { width:22px; height:22px; margin-left:4px; border:1px solid #023979; border-radius:50%; background:#fff; color:#023979; font-weight:700; font-size:.8rem; line-height:20px; padding:0; cursor:pointer; vertical-align:middle; }
.g-tip { flex-basis:100%; margin:0; padding:6px 10px; border-radius:6px; background:#eff6ff; color:#1f2937; font-size:.88rem; }
.g-fold { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin:0 0 12px; padding:10px 12px; border:1px solid #023979; border-radius:8px; background:#eff6ff; font-weight:700; color:#023979; }
.g-fold > span { flex:1 1 200px; min-width:0; overflow-wrap:anywhere; }
.g-auto { font-weight:400; color:#4b5563; font-size:.85rem; }
.g-fold-btn { flex:0 0 auto; cursor:pointer; }   /* [A91 · 7] [바꾸기] = «이전»과 같은 흰 테두리 꼴(class btn-back · 아래 .g-group .btn-back) */
.g-group .g-fold .g-fold-btn { margin:0; height:40px; min-height:40px; align-self:center; }
.g-none { margin:6px 0 12px; }
.g-sr-check { display:none; flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:#023979; color:#fff; font-size:1.2rem; line-height:30px; text-align:center; font-weight:700; }
.g-sched-row.selected .g-sr-check { display:inline-block; }
.g-sr-dl { color:#4b5563; font-size:.85rem; }
.g-autofix { display:block; margin-top:3px; color:#14532d; font-size:.8rem; }.g-sched-row { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px;
    padding:10px 12px; border:1px solid #023979; border-radius:8px; background:#fff; font-size:.92rem; }
.g-sr-main { flex:1 1 260px; min-width:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
.g-sr-main > span { white-space:normal; overflow-wrap:anywhere; }
.g-sr-course { font-weight:700; color:#023979; }
.g-sr-date { font-weight:600; }
.g-sr-fee { font-weight:700; }
.g-sched-row .sch-remain { font-weight:600; }
.g-sched-row .rsl-btn { margin-left:auto; }
.g-sr-more { flex-basis:100%; font-size:.85rem; color:#374151; }
.g-sr-more summary { cursor:pointer; color:#023979; display:inline-block; }
.g-sr-more > div { margin-top:4px; }
/* 시간 뱃지 — .sch-session(style.css · 개인 화면 남색 옅은 띠) 꼴 그대로 · 4시간 = 판정 표 «확인» 노랑(.g-pill-warn 과 같은 색 · 새 색 0) */
.g-hours { margin-left:0; }
.sch-session.g-hours-4 { background:#fff4d6; color:#7c2d12; box-shadow:inset 0 0 0 1px #f5c56b; }
.g-sched-row.selected { background:#A9C8EC; box-shadow:inset 0 0 0 1px #023979; font-weight:600; }
.g-sched-row.rsl-off { border-color:#9ca3af; color:#374151; background:#f3f4f6; }
.g-session { font-style:normal; font-size:.8rem; color:#1f2937; background:#e5e7eb; border-radius:4px; padding:0 5px; margin-left:4px; }
.g-sched-row .rsl-btn { padding:6px 14px; border-radius:6px; border:1px solid #023979; background:#023979; color:#fff; cursor:pointer; }
.g-sched-row .rsl-btn.muted { background:#e5e7eb; color:#374151; border-color:#9ca3af; cursor:not-allowed; }
/* [L1-06] 720px 이하 2열 분기 삭제 — 휴대폰도 한 줄 + 좌우 밀기(채팅 결정 2026-09-27) */

/* G3 명단 표 */
.g-table-wrap { overflow-x:auto; border:1px solid #cbd5e1; border-radius:8px; }
.g-table { width:100%; border-collapse:collapse; font-size:.9rem; min-width:860px; }
.g-table th, .g-table td { border-bottom:1px solid #e5e7eb; padding:6px 6px; text-align:left; vertical-align:middle; white-space:nowrap; }
.g-table th { background:#eef3fa; color:#023979; font-weight:600; }
.g-table input, .g-table select { width:100%; min-width:90px; padding:6px 8px; border:1px solid #cbd5e1; border-radius:6px; font-size:.9rem; }
.g-table input[data-k="name"] { min-width:110px; } .g-table input[data-k="phone"] { min-width:130px; } .g-table input[data-k="email"] { min-width:170px; }
.g-table .g-c-no { width:34px; color:#6b7280; text-align:center; }
.g-table .g-c-del { width:48px; text-align:center; }
.g-del { border:1px solid #9ca3af; background:#fff; color:#374151; font-size:.78rem; padding:3px 7px; border-radius:4px; cursor:pointer; line-height:1.2; }
.g-del:hover { border-color:#023979; color:#023979; }
.g-del:disabled { color:#9ca3af; border-color:#e5e7eb; background:#f9fafb; cursor:not-allowed; }   /* 2행 남음 = 잠김 · 흐림이 아니라 색·테두리로 */
.g-table .g-c-msg { font-size:.8rem; color:#7f1d1d; white-space:normal; min-width:160px; }
.g-row-bad td { background:#fde2e2; }                            /* 빨강 = 진행 불가(대비 확보) */
.g-row-bad input, .g-row-bad select { border-color:#b91c1c; }
.g-table-tools { display:flex; align-items:center; gap:10px; margin:10px 0; flex-wrap:wrap; }
.g-table-tools .btn-address { height:36px; }
.g-count { margin-left:auto; font-weight:600; color:#023979; }
#gPasteWrap textarea { width:100%; padding:10px; border:1px solid #cbd5e1; border-radius:8px; font-size:.9rem; margin-bottom:8px; }

/* G4 확인 */
.g-confirm-grid { display:grid; grid-template-columns:1fr; gap:6px; margin:12px 0 14px; font-size:.93rem; }
.g-confirm-grid > div { display:flex; gap:10px; padding:8px 10px; background:#f8fafc; border-radius:6px; }
.g-confirm-grid .dep-key { min-width:90px; color:#4b5563; }
.g-table-confirm { min-width:0; }
.g-table-confirm td, .g-table-confirm th { white-space:normal; }

/* G5 완료 */
.g-appno-list { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:8px 0; }
.g-appno { display:inline-block; padding:6px 10px; border:1px solid #023979; border-radius:6px; background:#fff; color:#023979; font-weight:600; text-decoration:none; }
.g-appno-rep { background:#A9C8EC; box-shadow:inset 0 0 0 1px #023979; }
.g-appno-rep em { font-style:normal; font-size:.72rem; margin-left:6px; background:#023979; color:#fff; border-radius:4px; padding:0 5px; }

/* ── U5 ㉱ G3 명단 파일 올리기(1순위) · 판정 표 · 2순위 접기 ── */
.g-upload-steps { list-style:none; padding:0; margin:0 0 14px; display:flex; flex-direction:column; gap:10px; }
.g-upload-steps li { border:1px solid #cbd5e1; border-radius:8px; padding:10px 12px; background:#f8fafc; }
.g-upload-steps .g-step-h { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.g-upload-steps .g-step-h strong { color:#023979; white-space:nowrap; }
.g-upload-steps .form-hint { display:block; margin-top:4px; }
.g-file-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.g-file-row input[type="file"] { max-width:100%; font-size:.9rem; }
.g-verdict-sum { margin:10px 0 6px; font-size:.93rem; display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.g-pill { display:inline-block; padding:2px 9px; border-radius:12px; font-weight:600; font-size:.85rem; border:1px solid transparent; }
.g-pill-ok { background:#dcfce7; color:#14532d; border-color:#86efac; }
.g-pill-warn { background:#fff4d6; color:#7c2d12; border-color:#f5c56b; }
.g-pill-reject { background:#fde2e2; color:#7f1d1d; border-color:#fca5a5; }
.g-pill-ex { background:#e5e7eb; color:#374151; }
.g-map-line { font-size:.82rem; color:#4b5563; margin:0 0 8px; line-height:1.5; }
.g-map-line b { color:#023979; }
.g-table .g-c-xr { width:56px; color:#6b7280; text-align:center; font-size:.82rem; }
.g-table .g-c-msg { min-width:220px; }
.g-row-warn td { background:#fff4d6; }                            /* 노랑 = 확인 후 통과(대비 확보 · 흐림 아님) */
.g-row-warn input, .g-row-warn select { border-color:#b45309; }
.g-row-warn .g-c-msg { color:#7c2d12; }
.g-row-ex td { background:#eef0f3; color:#6b7280; }
.g-warn-ack { display:none; align-items:center; gap:8px; margin:8px 0; padding:8px 10px; border:1px solid #f5c56b; background:#fff9ea; border-radius:6px; font-size:.9rem; }
.g-warn-ack input { width:18px; height:18px; }
.g-manual { margin-top:14px; border:1px dashed #cbd5e1; border-radius:8px; padding:0 12px; }
.g-manual summary { cursor:pointer; padding:10px 0; color:#023979; font-weight:600; }
.g-manual[open] { padding-bottom:10px; }
.g-block-msg { margin:8px 0; padding:8px 10px; border-radius:6px; background:#fde2e2; color:#7f1d1d; font-size:.9rem; }

/* ── [U5-보완 가-1] 「한글 자판 그대로 쳐도 영문으로 바뀝니다」 = 주황 계열 + 굵게 (#c2410c on #fff = 대비 5.2) ── */
body.g-group .kr2en-note, body.g-group .kr2en-hint { color:#c2410c; font-weight:700; }

/* ── [U5-보완 가-2] 명암 — 항목 제목 = 진한 남색·굵게(#023979 on #fff = 11.3) · 입력 글자 = 거의 검정(#111827 = 17.7) · 흐림은 placeholder 에만(#6b7280 = 4.8)
   개인 화면 style.css 는 0줄 — body.g-group 안에서만 덧입힌다 ── */
body.g-group .form-group label { color:#023979; font-weight:700; font-size:13.5px; }
body.g-group .form-group input[type=text], body.g-group .form-group input[type=tel], body.g-group .form-group input[type=email],
body.g-group .form-group input[type=file], body.g-group .g-table input, body.g-group .g-table select, body.g-group #gPaste { color:#111827; }
body.g-group .form-group input::placeholder, body.g-group .g-table input::placeholder, body.g-group #gPaste::placeholder { color:#6b7280; opacity:1; }
body.g-group .form-hint { color:#4b5563; }                                   /* 보조 설명 = 7.6 (흐린 회색 6b7280 보다 한 단계 진하게) */
body.g-group .step-selected-info { color:#1f2937; }

/* ── [U5-보완2] 한 줄 배치 — 넓은 화면(≥600px): 제목 왼쪽(고정 150px) · 입력칸 오른쪽. 좁은 화면(<600px)은 종전대로 제목 위 · 입력칸 아래.
   CSS 만 — group.php 마크업은 그대로(kr2en.js 가 입력칸 «바로 뒤»에 붙이는 알림도 그대로 오른쪽 칸에 들어간다).
   제목 = .form-group 의 «첫 번째» label 만. 나머지(입력칸·보조 설명·오류·체크박스·주소 줄)는 전부 오른쪽 칸 · 같은 왼쪽 끝.
   제목이 길면 150px 안에서 줄바꿈(입력칸 폭을 깎지 않는다). 제목이 없는 칸(「위 입력정보와 동일」 버튼)도 오른쪽 칸에 선다. ── */
@media (min-width:600px) {
    body.g-group .form-group { display:grid; grid-template-columns:150px minmax(0, 1fr); column-gap:14px; row-gap:0; align-items:start; }
    body.g-group .form-group > * { grid-column:2; }
    body.g-group .form-group > label:first-child { grid-column:1; grid-row:1 / span 6; margin:0; padding-top:12px; line-height:1.45; word-break:keep-all; }
}

/* ── [U5-보완3 2] 접기 2곳 — 입금 계좌 상자(「입금 계좌 보기」) · 증빙 선택 3칸(「선택 항목 더 보기」) · 새 색 없음(남색 글자) ── */
.g-more { margin:8px 0 12px; }
.g-more > summary { cursor:pointer; color:#023979; font-weight:700; font-size:13.5px; padding:6px 0; }
.g-more > summary:hover { text-decoration:underline; }
.g-more[open] > summary { margin-bottom:8px; }
.g-more-sub { font-weight:400; color:#4b5563; font-size:12.5px; margin-left:6px; }

/* ── [U5-보완3 3] 화면 결함 ──
   ① 동의 칸 「(선택)」 두 줄 깨짐 — 체크 줄이 flex 라 긴 문장 옆에서 딱지가 눌려 접혔다 → [필수]·(선택) 같은 폭 · 줄바꿈 금지
   ② 「동일 적용」 버튼 줄 — 증빙 칸들 바로 위(한 줄 배치의 오른쪽 칸이 아니라 섹션 폭) · 설명 1줄
   ③ 단계 제목 아래 회색 띠(.step-selected-info) — 실제 흐름에서는 선택한 일정 요약이 들어간다. 값이 없을 때만 숨긴다(안전장치) */
body.g-group .form-privacy .agree-req, body.g-group .form-privacy .agree-opt { flex:0 0 3.6em; white-space:nowrap; }
.g-samebiz-row { margin:4px 0 10px; }
.g-samebiz-row #gSameBiz { height:40px; }
@media (min-width:600px) { .g-samebiz-row .form-hint { white-space:nowrap; } }   /* 넓은 화면 = 1줄(632px 안에 들어감 · 실측) · 휴대폰은 접혀도 자르지 않는다 */
body.g-group .step-selected-info:empty { display:none; }

/* [U7-보완 2] G5 환불 «요약» + 전문 링크 — 값은 includes/refund_policy.php refund_policy_summary(). 노란 상자·목록 규칙은 style.css .refund-notice 를 그대로 쓴다(개인 화면과 같은 색). */
.g-refund .g-refund-sub { font-weight: 400; font-size: 12px; color: #7c5200; }
.g-refund .g-refund-list li { color: var(--gray-9); font-size: 13px; }
.g-refund .g-refund-when { color: #7c5200; }
.g-refund .g-refund-link { margin-top: 8px; font-size: 13px; }
.g-refund .g-refund-link a { color: var(--navy-d); font-weight: 600; text-decoration: underline; }

/* ── [A89] 원칙 P1~P5 ──────────────────────────────────────────
   P1 행동 단추 1색 = 초록(style.css --green #16a34a · 새 색 0) — 다음·신청·카드 [선택] · «이전» = 테두리만
   P2 단계 표시 줄 — 지나온 단계 = 눌러서 이동(g-can) · 안 간 단계 = 흐리게·안 눌림(g-locked) */
.g-group .btn-submit, .g-group .g-next { background:#16a34a; border:1px solid #16a34a; color:#fff; }
.g-group .btn-submit:hover:not(:disabled), .g-group .g-next:hover:not(:disabled) { background:#14532d; border-color:#14532d; }
.g-group .btn-submit:disabled { background:#9ca3af; border-color:#9ca3af; }
.g-group .btn-back { background:#fff; border:1px solid #023979; color:#023979; border-radius:8px; padding:0 16px; }
.g-group .g-nav-bottom .btn-back, .g-group .g-nav-bottom .btn-submit { height:48px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; }
.g-sched-row .rsl-btn { background:#16a34a; border-color:#16a34a; }
.g-sched-row .rsl-btn.muted { background:#e5e7eb; color:#374151; border-color:#9ca3af; }
.g-group .step-item.g-can { cursor:pointer; }
.g-group .step-item.g-can:hover .step-label { text-decoration:underline; }
.g-group .step-item.g-locked { opacity:.45; cursor:default; }
/* [A89 · 5] 2단계 = 노트북 두 칸씩 */
.g-grid2 { display:grid; grid-template-columns:1fr; gap:0 16px; }
@media (min-width:768px) { .g-grid2 { grid-template-columns:1fr 1fr; } .g-grid2 .g-span2 { grid-column:1 / -1; } }
/* [A89 · 7] 4단계 = 판정 결과 한 줄(양식 내려받기 · 파일 · 올리기 줄은 A115 에서 두 칸 .g-usteps 로 바뀜) */
.g-verdict-key { margin:4px 0 8px; font-size:.88rem; color:#374151; }/* [A89 · P4] 노트북 스크롤 줄이기 — 두 칸 배치 안은 «이름 위 · 칸 아래»(종전 왼쪽 이름 150px 꼴은 두 칸에서 입력칸이 좁아 예시 글씨가 잘림)
   · 카드 여백·제목 간격 축소 · 2~5단계 위쪽 «← 이전» 은 제목 줄 왼쪽에 겹쳐 둔다(줄 하나 아낌) */
body.g-group .g-grid2 .form-group { display:block; margin-bottom:12px; }
body.g-group .g-grid2 .form-group > label:first-child { padding-top:0; margin:0 0 4px; }
.g-group .step-card { position:relative; padding:20px 24px; }
.g-group .step-title { margin-bottom:12px; }
.g-group .step-section:not(#gstep1) .step-nav { position:absolute; top:16px; left:20px; margin:0; }
.g-group .step-section:not(#gstep1) .step-nav .btn-back { height:40px; }
.g-group .step-section:not(#gstep1) .step-title { min-height:40px; padding:0 96px; display:flex; align-items:center; justify-content:center; text-align:center; }
.g-group .step-selected-info { margin-bottom:12px; }
.g-group .g-nav-bottom { margin-top:12px; }
/* [A89 · P4] 2~5단계 아래 [← 이전][다음 →] 줄 = 화면 아래에 붙어 따라온다(sticky) — 긴 입력 중에도 진행 단추가 늘 보임(노트북·휴대폰 공통) · 카드 끝에 오면 제자리 */
.g-group .step-section:not(#gstep1) .g-nav-bottom { position:sticky; bottom:0; z-index:20; background:#fff; margin:12px -24px -20px; padding:10px 24px calc(10px + env(safe-area-inset-bottom, 0px));
    border-top:1px solid #e5e7eb; border-radius:0 0 14px 14px; }
@media (max-width:600px) { .g-group .step-section:not(#gstep1) .g-nav-bottom { margin-left:-16px; margin-right:-16px; padding-left:16px; padding-right:16px; } .g-nav-bottom .btn-submit { min-width:0; flex:1 1 auto; } }@media (max-width:600px) { .g-group .step-card { padding:16px; } .g-group .step-section:not(#gstep1) .g-nav-bottom { margin-bottom:-16px; } .g-group .step-section:not(#gstep1) .step-nav { top:12px; left:12px; } }

/* [A90 · 2] 3단계 결제 한 줄 */
.g-pay-line { margin:0 0 6px; font-size:.95rem; color:#1f2937; line-height:1.6; }
.g-pay-line strong { color:#023979; }
/* [A90 · 3] 머리(제목 줄 + 단계 표시 줄) 높이 축소 — 위아래 여백·글자 크기만(합계 약 60px) · 단계 이름 12px */
.g-group .main-wrap { padding-top:8px; }
.g-group .g-title-row { margin:4px 0 4px; }
.g-group .g-page-title { font-size:1.15rem; }
.g-group .g-page-sub, .g-group .g-link-indiv { font-size:.85rem; }
.g-group .step-indicator { margin-bottom:10px; padding-bottom:0; }
.g-group .step-item { gap:3px; }
.g-group .step-num { width:22px; height:22px; font-size:12px; }
.g-group .step-item + .step-item::before { top:10px; }
.g-group .step-label { font-size:12px; }
/* ── [A91] 단체 화면 손질 3차 ──────────────────────────────────
   1 준비할 것 = 번호 ①~⑤ · 2~4단계 제목 아래 작은 줄 · 채워지면 ✓(group.js updatePrep) */
.g-pi { white-space:nowrap; margin-right:4px; }
.g-pi b { font-weight:700; }
.g-pi-ok b { color:#16a34a; }
.g-prep-mini { margin:-6px auto 8px; padding:2px 10px; font-size:.8rem; width:fit-content; max-width:100%; text-align:center; }
/* 2 3단계 — 증빙 칸 위 회색 작은 한 줄 · 고르는 두 단추 = 둥근 단추(아래 설명 상자와 잇던 탭 꼴 해제) · 개인 안내 = 회색 글(파란 상자 없음) */
/*   증빙 칸 위 한 줄 = 왼쪽 회색 작은 글(사업자등록번호 칸 바로 위) · 오른쪽 「동일 적용」 단추 + «적용됨» · 휴대폰 = 단추 줄 아래로 */
.g-group .g-samebiz-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; margin:0 0 8px; }
.g-inv-note { margin:0; font-size:.82rem; color:#4b5563; }
.g-samebiz-r { display:inline-flex; align-items:center; gap:8px; margin-left:auto; }
.g-samebiz-r .form-hint { margin:0; color:#14532d; font-weight:600; }
@media (max-width:600px) { .g-inv-note { order:2; flex-basis:100%; } .g-samebiz-r { margin-left:0; } .g-group .g-samebiz-row .form-hint { white-space:nowrap; } }
/*   3단계 세로 줄이기 — 칸 사이·칸 높이·동의 상자 여백만(글·순서 변경 0) */
.g-group #gstep3 .form-section { margin-bottom:14px; }
.g-group #gstep3 .form-section-title { margin-bottom:10px; padding-bottom:6px; }
.g-group #gstep3 .form-group input[type=text] { height:40px; }
.g-group #gstep3 .form-group input[type=file] { padding:6px 10px; }
.g-group #gstep3 .g-grid2 .form-group { margin-bottom:8px; }
.g-group #gstep3 .form-group { margin-bottom:10px; }
.g-group #gstep3 .form-privacy { padding:10px 14px; margin-bottom:10px; }
.g-group #gstep3 .form-privacy .agree-row + .agree-row { margin-top:6px; }
.g-group #gstep3 .form-privacy .agree-row-opt { margin-top:8px; padding-top:8px; }
.g-group #gstep3 .g-more { margin:4px 0 8px; }
.g-group .pay-method-group { margin-bottom:10px; }
.g-group .pay-label { height:42px; border-radius:10px; }
.g-group .pay-method-item input:checked + .pay-label { margin-bottom:0; }
.g-indiv-note { margin:4px 0 0; }
/* 4 [A115] 명단 단계 — 양식 받기(1번) · 파일 올리기(2번) 두 칸 · 번호 = 주황 알약 · 내려받기 = 흰 테두리(휴대폰도 단추 모양) · 올리기 = 남색(초록은 [다음 →] 하나만) */
.g-usteps { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0 0 10px; }
.g-ustep { display:flex; gap:10px; align-items:flex-start; border:1px solid #cbd5e1; border-radius:10px; padding:10px 12px; background:#fff; min-width:0; }
.g-unum { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; height:24px; padding:0 9px; border-radius:12px; background:#ea580c; color:#fff; font-size:13px; font-weight:700; white-space:nowrap; }
.g-ubody { flex:1 1 auto; min-width:0; }
.g-uhead { font-weight:700; color:#1a1a1a; font-size:.95rem; margin:1px 0 6px; }
.g-ubody .g-dl-btn { display:inline-flex; align-items:center; height:40px; line-height:normal; padding:0 14px; border:1px solid #023979; border-radius:8px; background:#fff; color:#023979; font-size:13px; font-weight:600; }
.g-ubody .g-dl-btn:hover { background:#eff6ff; }
.g-uhint { margin:6px 0 0; font-size:.8rem; color:#6b7280; line-height:1.45; }
.g-uhint b { color:#374151; }
.g-urow { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.g-urow input[type=file] { flex:1 1 160px; min-width:0; font-size:.85rem; }
.g-up-btn { height:40px; padding:0 16px; border:1px solid #023979; border-radius:8px; background:#023979; color:#fff; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; }
.g-up-btn:hover:not(:disabled) { background:#022f63; border-color:#022f63; }
.g-up-btn:disabled { background:#9ca3af; border-color:#9ca3af; }
@media (max-width:760px) { .g-usteps { grid-template-columns:1fr; } }
/* 5 등록증 없이 «다음» — 작은 확인창 */
.g-dlg-back { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; background:rgba(17,24,39,.45); padding:16px; }
.g-dlg-back[hidden] { display:none; }
.g-dlg { width:100%; max-width:380px; background:#fff; border-radius:12px; padding:20px; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.g-dlg p { margin:0 0 16px; font-size:15px; line-height:1.6; color:#1f2937; }
.g-dlg-btns { display:flex; gap:8px; }
.g-group .g-dlg-btns .btn-back, .g-group .g-dlg-btns .btn-submit { flex:1 1 0; width:auto; min-width:0; height:44px; min-height:44px; margin:0; justify-content:center; font-size:14px; }
/* ── [A92] ② 두 단추 · 저장 동의 · 저장 직후 상자 · ③ 이어하기 한 줄 · 링크 안내 화면 (새 색 0 — 초록·남색·회색 재사용) ── */
.g-opt { color:#6b7280; font-weight:400; font-size:.85em; }
.g-group .g-nav-2 { flex-wrap:wrap; row-gap:8px; }
.g-save-agree { flex:1 1 100%; order:-1; margin:0; font-size:.85rem; color:#374151; justify-content:flex-end; }
.g-save-agree[hidden] { display:none; }
.g-group .g-nav-2 .btn-submit { min-width:200px; }
.g-group .g-nav-bottom .g-save { height:48px; min-height:48px; display:inline-flex; align-items:center; justify-content:center; font-weight:600; cursor:pointer; }
.g-group .g-save:disabled { opacity:.45; cursor:default; }
.g-group .g-save[hidden] { display:none; }
.g-saved { margin:4px 0 0; padding:10px 12px; border:1px solid #86efac; border-radius:8px; background:#f0fdf4; font-size:.9rem; color:#14532d; }
.g-saved { scroll-margin-bottom:96px; }   /* [A92b · 5] 저장 직후 상자로 굴릴 때 아래 붙는 단추 줄(390 ≈ 77px) 높이만큼 비워 둔다 → 가림 0 */
.g-saved[hidden] { display:none; }
.g-saved-h { margin:0 0 6px; }
.g-saved-link { display:flex; gap:8px; min-width:0; }
.g-saved-link input { flex:1 1 auto; min-width:0; height:40px; font-size:.82rem; color:#1f2937; background:#fff; }
.g-group .g-saved-link .btn-back { height:40px; flex:0 0 auto; cursor:pointer; }
.g-saved-sub { margin:6px 0 0; color:#374151; line-height:1.6; }
.g-draft-line { margin:0 0 10px; padding:6px 10px; border-radius:8px; background:#f3f4f6; font-size:.88rem; color:#374151; }
.g-draft-line[hidden] { display:none; }
@media (max-width:600px) {
    .g-save-agree { justify-content:flex-start; }
    .g-group .g-nav-2 .btn-submit { min-width:0; flex:1 1 auto; }
    .g-group .g-nav-2 .g-save { flex:1 1 100%; }
}
/* [A93 · 5] ③ 판정 표는 올린 뒤에만 · 표는 «표 안»에서 굴린다(머리줄 고정) — 화면 전체가 길어지지 않게 · 안내 줄 = 남색 농도(새 색 0) */
#gTableBlock[hidden] { display:none; }
.g-group #gstep3 .g-table-wrap { max-height:min(48vh, 360px); overflow:auto; }
.g-group #gstep3 .g-table thead th { position:sticky; top:0; z-index:2; }
.g-notice-line { margin:0 0 8px; padding:6px 10px; border-radius:8px; background:#eff6ff; color:#023979; font-size:.86rem; line-height:1.5; }
.g-notice-line[hidden] { display:none; }
/* [A93b · 원장 5] 뒤쪽 삭제 칸 = 표 오른쪽 끝에 붙임(표가 옆으로 길어도 늘 보임) · [원장 8] «법인카드는 … 문의» = 갈색 굵게(흰 바탕 대비 5.0 · 기존 #b45309) */
.g-group #gstep3 .g-table .g-c-del-end { position:sticky; right:0; z-index:1; background:#fff; box-shadow:-1px 0 0 #e5e7eb; }
.g-group #gstep3 .g-table thead .g-c-del-end { background:#eef3fa; z-index:3; }
.g-group #gstep3 .g-row-bad .g-c-del-end { background:#fde2e2; }
.g-card-ask { color:#b45309; font-weight:700; }
.g-group #gstep3 .g-row-warn .g-c-del-end { background:#fff4d6; }
/* [A93c · 원장 9-결정] ② 상세주소 + 인원수(안내용) 한 줄 · ④ 참석자 명단 접기 줄 (새 색 0) */
.g-addr-row2 { display:flex; gap:8px; margin-top:8px; }
.g-addr-row2 #gAddrDetail { flex:1 1 auto; min-width:0; }
.g-addr-row2 .g-headcount { flex:0 0 128px; width:128px; min-width:0; }
.g-roster-fold { display:flex; align-items:center; gap:10px; margin:10px 0 6px; font-size:.95rem; color:#1f2937; }
.g-roster-fold strong { color:#023979; }
.g-group .g-roster-fold .g-fold-btn { height:34px; min-height:34px; padding:0 12px; font-size:13px; display:inline-flex; align-items:center; cursor:pointer; width:auto; }
#gConfirmRoster[hidden] { display:none; }
