@charset "utf-8";
/* ============================================================================
 * mobile.css — 모바일 화면 · 통합로그인 스타일 (2026-09-27 스타일 정리 4단계)
 *   모바일 뷰 21개 + 통합로그인 PC 1개 파일 안에 있던 <style> 블록과 옛 admin/mobile_common.css 를 한 파일로 모았다.
 *   각 화면은 <body class="m-page mp-xxx"> (또는 공유 그룹 mg-xxx) 로 구분하고, 그 화면의 규칙은 전부 그 class 아래에 둔다
 *   → 화면끼리 규칙이 섞이지 않고, 각 규칙의 순서·값은 원래 파일 안의 순서·값 그대로 (색은 tokens.css 변수).
 *   같은 <style> 을 그대로 복사해 쓰던 화면들은 그룹 class 하나로 묶었다:
 *     .mg-list            지사·영업관리자 매출조회 · 빌링현황 (4개, 옛 mobile_common.css)
 *     .mg-home            지사·영업관리자 홈 (2개)
 *     .mg-shop-issue-form 가맹점 빌키발급 폼 2개
 *   로드: tokens.css → (jquery-ui.css) → mobile.css.  * · html/body 규칙은 .mp-xxx / body.mp-xxx 로 바꿔 적용.
 * ========================================================================== */
/* ---------- .m-page : 모바일 공통(8·9단계) — 값이 같던 규칙 + 공통 컴포넌트의 모바일 규격 ----------
   버튼: 기본 38px(터치) · .bw_lg 48px 블록 · .bw_xxs 22px  /  카드: 흰 배경 · 모서리 14 · 그림자  /  입력(.field input): 48px  ---------- */
.m-page .btn { height: 38px; padding: 0 16px; border-radius: 9px; font-size: 13px; font-weight: 400; }
.m-page .btn.bw_lg { height: 48px; border-radius: 10px; font-size: 15px; }
.m-page .btn.bw_xxs { height: 22px; padding: 0 6px; border-radius: 4px; font-size: 11px; font-weight: 400; }
.m-page .card { border: none; border-radius: 14px; padding: 14px; margin-bottom: 14px; box-shadow: var(--sh-m-card); }
.m-page .card-stat { background: var(--c-white); border-radius: 14px; padding: 14px; border-left-width: 4px; box-shadow: var(--sh-m-card); }
.m-page .card-stat p:first-child { font-size: 11.5px; color: var(--c-text-gray); }
.m-page .card-stat p:last-child { font-size: 17px; font-weight: 700; color: var(--c-primary); }
.m-page .badge { font-size: 10.5px; padding: 2px 7px; }
.m-page .m-header .shop { font-size: 15px; font-weight: 700; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-page .m-header a.back, .m-page .m-header a.logout { display: inline-block; font-size: 12px; font-weight: 600; text-decoration: none; padding: 7px 12px; border-radius: 8px; white-space: nowrap; }
.m-page .m-header a.back { background: var(--c-white-a12); border: 1px solid var(--c-white-a30); color: var(--c-white); }
.m-page .m-header a.logout { background: var(--c-danger-2); border: 1px solid var(--c-danger-2); color: var(--c-white); }
.mp-login .input-wrap:has(.icon) input { padding-left: 44px; }
.m-page .field { margin-bottom: 14px; }
.m-page .field label { display: block; font-size: 12px; font-weight: 600; color: var(--c-text-sub); margin-bottom: 6px; }
.m-page .field input, .m-page .field select { width: 100%; height: 48px; border: 1px solid var(--c-border-form); border-radius: 10px; padding: 0 14px; font-size: 16px; -webkit-appearance: none; background: var(--c-bg-input); box-sizing: border-box; }
.m-page .field input:focus, .m-page .field select:focus { border-color: var(--c-primary); background: var(--c-white); outline: none; }
.m-page .field-row { display: flex; gap: 10px; }
.m-page .field-row .field { flex: 1; }
.m-page .field-hint { font-size: 11px; color: var(--c-text-gray); margin-top: 5px; }
.m-page .field .input-wrap { position: relative; }
.m-page .logo-row { display:flex; align-items:center; gap:8px; justify-content:center; margin-bottom:28px; }
.m-page .logo-text { font-size:18px; font-weight:700; color:var(--c-primary); }
.m-page .m-header { position: sticky; top: 0; z-index: 20; background: var(--c-primary); color:var(--c-white); padding: 14px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.m-page .m-header .shop small { display:block; font-size:11px; font-weight:400; color:var(--c-text-gray-2); margin-top:2px; }
.m-page .m-header .header-btns { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.m-page .m-wrap { padding: 14px; max-width: 720px; margin: 0 auto; }
.m-page .empty { text-align:center; color:var(--c-text-gray); font-size:13px; padding:48px 0; background:var(--c-white); border-radius:14px; }
.m-page .pg-wrap a.active { background:var(--c-primary); color:var(--c-white); }
.m-page .pg-wrap span.active { background:var(--c-primary); color:var(--c-white); }
.m-page .m-tabbar { position: fixed; bottom:0; left:0; right:0; z-index: 30; background:var(--c-white); border-top:1px solid var(--c-bg-soft-2); display:flex; padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); }
.m-page .m-tabbar a { flex:1; text-align:center; text-decoration:none; color:var(--c-text-gray); font-size:11px; padding:6px 2px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; }
.m-page .m-tabbar a .ic { width:22px; height:22px; display:block; }
.m-page .m-tabbar a.active { color:var(--c-blue-2); font-weight:700; }
.m-page .result-count { font-size:12.5px; color:var(--c-text-gray); margin:0 2px 8px; }
.m-page .card .row { display:flex; align-items:center; gap:6px; margin-bottom:9px; }
.m-page .card .row:last-of-type { margin-bottom:0; }
.m-page .card .tilde { color:var(--c-text-gray); font-size:13px; flex-shrink:0; }
.m-page .quick-range { display:flex; flex-wrap:wrap; gap:6px; }
.m-page .quick-range a.active { background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
.m-page .quick-range a:active { background:var(--c-bg-active); }
.m-page .sum-row:not(:last-child) { border-bottom:1px solid var(--c-border-row); }
.m-page .sum-label { font-size:12.5px; color:var(--c-text-gray); }
.m-page .sum-value { font-size:17px; font-weight:800; color:var(--c-primary); }
.m-page .sum-value.net { color:var(--c-success); }
.m-page .sum-cnt { flex:1; text-align:center; background:var(--c-bg-th-2); border-radius:10px; padding:8px 0; }
.m-page .sum-cnt .num { font-size:15px; font-weight:800; color:var(--c-blue-2); }
.m-page .sum-cnt.cancel .num { color:var(--c-danger-2); }
.m-page .sum-cnt .lb { font-size:11px; color:var(--c-text-gray); margin-top:2px; }
.m-page .card.cancel { background:var(--c-bg-danger-2); }
.m-page .tx-date { font-size:12px; color:var(--c-text-gray); white-space:nowrap; }
.m-page .tx-dow.sun { color:var(--c-danger-2); }
.m-page .tx-amt { font-size:16px; font-weight:700; color:var(--c-primary); white-space:nowrap; }
.m-page .card.cancel .tx-amt { color:var(--c-danger-2); }
.m-page .tx-row2 { display:flex; justify-content:space-between; align-items:center; font-size:11.5px; color:var(--c-text-gray); gap:8px; }
.m-page .tx-row2 .left { display:flex; align-items:center; gap:6px; overflow:hidden; }
.m-page .tx-card-no { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.m-page .tx-settle-lb { color:var(--c-violet); font-weight:400; opacity:0.75; }
.m-page .ui-datepicker { font-size: 15px; width: 300px !important; padding: 10px; z-index: 9999 !important; }
.m-page .ui-datepicker .ui-datepicker-header { padding: 6px 0; }
.m-page .ui-datepicker th { padding: 6px 2px; }
.m-page .ui-datepicker td a { padding: 8px 6px; }
.m-page .ui-datepicker td span { padding: 8px 6px; }
.m-page .date-bar button:active { background:var(--c-bg-active); }
.m-page .card-grid { display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:16px; }
.m-page .card .p-title { font-size:13px; font-weight:700; color:var(--c-primary); margin:0 0 2px; }
.m-page .card .p-unit { font-size:11px; color:var(--c-text-gray); margin:0 0 10px; }
.m-page .chart-wrap { position:relative; height:220px; }
.m-page .section-title { font-size: 13px; font-weight: 700; color: var(--c-primary); margin: 4px 2px 8px; }
.m-page .info-row:not(:last-child) { border-bottom: 1px solid var(--c-border-row); }
.m-page .card.none { text-align:center; padding:32px 16px; }
.m-page .history-row1 { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; }
.m-page .history-date { font-size:11px; color:var(--c-text-gray); }
.m-page .history-body { font-size:12.5px; color:var(--c-text-sub); }
/* ---------- .mp-cklogin-pc : 통합 로그인 PC(cklogin/index.php) ---------- */
.mp-cklogin-pc, .mp-cklogin-pc * { box-sizing: border-box; margin: 0; padding: 0; }
body.mp-cklogin-pc { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--c-lemon-page); padding: 20px; }
.mp-cklogin-pc .login-box { width: 100%; max-width: 380px; padding: 40px 32px; background: var(--c-white); border-radius: 16px; border: 1px solid #f0eee0; box-shadow: 0 10px 25px -5px rgba(22, 33, 62, 0.05), 0 8px 10px -6px rgba(22, 33, 62, 0.03); }
.mp-cklogin-pc .login-box .logo { text-align: center; margin-bottom: 24px; }
.mp-cklogin-pc .login-box .logo img { max-width: 200px; height: auto; display: block; margin: 0 auto; }
.mp-cklogin-pc .login-box h2 { font-size: 24px; font-weight: 700; color: var(--c-menu-accent); margin-bottom: 6px; }   /* [MOD] 2026-10-16 Kim 요청: 로그인 화면 색 = type01(#095db3) */
.mp-cklogin-pc .login-box .sub { font-size: 13px; color: var(--c-text-gray); margin-bottom: 32px; }
.mp-cklogin-pc .field { margin-bottom: 18px; }
.mp-cklogin-pc .field label { display: block; font-size: 12px; font-weight: 600; color: var(--c-text-sub); margin-bottom: 7px; letter-spacing: 0.2px; }
.mp-cklogin-pc .field input { width: 100%; height: 48px; padding: 0 16px 0 42px; border: 1.5px solid var(--c-border-form); border-radius: 10px; font-size: 14px; color: var(--c-text); outline: none; transition: border-color .15s ease, box-shadow .15s ease; background: var(--c-bg-input); }   /* [MOD] 2026-10-16: 입력 글자색이 빨강으로 되어 있던 것을 기본 글자색으로 수정(가독성) */
.mp-cklogin-pc .field input:focus { border-color: var(--c-menu-accent); background: var(--c-white); box-shadow: 0 0 0 3px rgba(9,93,179,0.12); }   /* [MOD] 2026-10-16 Kim 요청: 로그인 화면 색 = type01(#095db3) */
.mp-cklogin-pc .btn_blue:not(.ui) { background: var(--c-menu-accent); border-color: var(--c-menu-accent); }   /* [ADD] 2026-10-16 Kim 요청: 로그인 버튼 색 = type01(#095db3) — 이 화면에서만, 다른 화면의 주 버튼(빨강)은 그대로 */
.mp-cklogin-pc .field .icon { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--c-text-gray-4); }
.mp-cklogin-pc .captcha-notice { font-size: 11px; color: var(--c-text-gray-3); text-align: center; margin-top: 14px; line-height: 1.6; }
.mp-cklogin-pc .captcha-notice a { color: var(--c-text-gray); text-decoration: none; }
.mp-cklogin-pc .captcha-notice a:hover { text-decoration: underline; }
.mp-cklogin-pc .login-foot { margin-top: 28px; text-align: center; font-size: 12px; color: var(--c-text-gray-3); }
/* ---------- .mp-login : 통합 로그인 모바일 · 가맹점 로그인 모바일 — 9단계 통합 ---------- */
.mp-login, .mp-login * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mp-login { margin: 0; padding: 0; }
body.mp-login { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; min-height: 100vh; min-height: 100dvh; display: flex; align-items: center; justify-content: center; background: var(--c-bg-soft); padding: 24px 20px; }
.mp-login .login-box { width: 100%; max-width: 420px; }
.mp-login .login-box h2 { font-size: 21px; font-weight: 700; color: var(--c-menu-accent); margin: 0 0 6px; text-align:center; }   /* [MOD] 2026-10-16 Kim 요청: 로그인 화면 색 = type01(#095db3) */
.mp-login .login-box .sub { font-size: 13px; color: var(--c-text-gray); margin: 0 0 28px; text-align:center; }
.mp-login .field { margin-bottom: 16px; }
.mp-login .field label { display: block; font-size: 12.5px; font-weight: 600; color: var(--c-text-sub); margin-bottom: 6px; }
.mp-login .field input { width: 100%; height:48px; padding: 0 16px; border: 1.5px solid var(--c-border-form); border-radius: 12px; font-size: 16px; outline: none; background: var(--c-bg-input); -webkit-appearance: none; }
.mp-login .field input:focus { border-color: var(--c-menu-accent); background: var(--c-white); }   /* [MOD] 2026-10-16 Kim 요청: 로그인 화면 색 = type01(#095db3) */
.mp-login .field .icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; color: var(--c-text-gray-4); }
.mp-login .captcha-notice { font-size: 10.5px; color: var(--c-text-gray-3); text-align: center; margin-top: 16px; line-height: 1.6; }
.mp-login .captcha-notice a { color: var(--c-text-gray); }
.mp-login .login-foot { margin-top: 22px; text-align: center; font-size: 11.5px; color: var(--c-text-gray-3); }
@media (min-width: 600px) {
	body.mp-login { background: var(--c-bg-soft-3); }
	.mp-login .login-box { max-width: 440px; background: var(--c-white); padding: 40px 36px; border-radius: 20px; box-shadow: 0 12px 40px rgba(22,33,62,0.08); }
}
.mp-login .logo-mark { width:20px; height:20px; background:var(--c-menu-accent); border-radius:6px; transform:rotate(45deg); }   /* [MOD] 2026-10-16 Kim 요청: 로그인 화면 색 = type01(#095db3) */
.mp-login .btn_blue:not(.ui) { background: var(--c-menu-accent); border-color: var(--c-menu-accent); }   /* [ADD] 2026-10-16 Kim 요청: 로그인 버튼 색 = type01(#095db3) — 이 화면에서만, 다른 화면의 주 버튼(빨강)은 그대로 */
/* ---------- .mg-list : 지사·영업관리자·가맹점 매출조회(stat_date_list_mobile 3개) · 빌링현황(billing_list_mobile 2개) — 9단계 통합(가맹점 규격) ---------- */
.mg-list, .mg-list * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mg-list { margin:0; padding:0; background:var(--c-bg-soft); }
body.mg-list { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; padding-bottom: 78px; }
.mg-list .pg-wrap { margin-top: 16px; display:flex; justify-content:center; flex-wrap:wrap; }
.mg-list .pg-wrap ul { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:4px; flex-wrap:wrap; justify-content:center; }
.mg-list .pg-wrap li { list-style:none; }
.mg-list .pg-wrap a { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; margin:3px; padding:0 6px; border-radius:8px; background:var(--c-white); color:var(--c-primary); text-decoration:none; font-size:13px; box-shadow: 0 1px 4px rgba(22,33,62,0.08); }
.mg-list .pg-wrap span { display:inline-flex; align-items:center; justify-content:center; min-width:32px; height:32px; margin:3px; padding:0 6px; border-radius:8px; background:var(--c-white); color:var(--c-primary); text-decoration:none; font-size:13px; box-shadow: 0 1px 4px rgba(22,33,62,0.08); }
.mg-list .pg-wrap .active a { background:var(--c-primary); color:var(--c-white); }
.mg-list .pg-wrap .active span { background:var(--c-primary); color:var(--c-white); }
.mg-list .pg-wrap .disabled span { color:var(--c-text-disabled); box-shadow:none; background:var(--c-bg-soft); }
@media (min-width: 600px) {
	.mg-list .m-wrap { padding: 20px 24px; }
}
.mg-list .card input[type=text] { width:100%; height:36px; border:1px solid var(--c-border-form); border-radius:8px; padding:0 10px; font-size:13px; margin-bottom:8px; background:var(--c-bg-input); box-sizing:border-box; }
/*@UNUSED-BEGIN U0780 | css_rule | 선택자의 class/id(filter-row)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .filter-row { display:flex; gap:6px; }
@UNUSED-END U0780*/
/*@UNUSED-BEGIN U0781 | css_rule | 선택자의 class/id(filter-row)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .filter-row a { flex:1; text-align:center; padding:7px 4px; border-radius:8px; border:1px solid var(--c-border-form); background:var(--c-white); color:var(--c-primary); font-size:11.5px; font-weight:600; text-decoration:none; }
@UNUSED-END U0781*/
/*@UNUSED-BEGIN U0782 | css_rule | 선택자의 class/id(filter-row)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .filter-row a.active { background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
@UNUSED-END U0782*/
/*@UNUSED-BEGIN U0783 | css_rule | 선택자의 class/id(bk-row1)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .bk-row1 { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
@UNUSED-END U0783*/
/*@UNUSED-BEGIN U0784 | css_rule | 선택자의 class/id(bk-shop)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .bk-shop { font-size:13px; font-weight:700; color:var(--c-primary); }
@UNUSED-END U0784*/
/*@UNUSED-BEGIN U0785 | css_rule | 선택자의 class/id(bk-org)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .bk-org { font-size:11px; color:var(--c-text-dim); margin-bottom:6px; }
@UNUSED-END U0785*/
/*@UNUSED-BEGIN U0786 | css_rule | 선택자의 class/id(bk-body)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mg-list .bk-body { font-size:12px; color:var(--c-text-sub); line-height:1.6; }
@UNUSED-END U0786*/
.mg-list .card input[type=text] { flex:1; height:38px; border:1px solid var(--c-border-form); border-radius:9px; padding:0 10px; font-size:13px; -webkit-appearance:none; background:var(--c-bg-input); min-width: 0; }
.mg-list .quick-range a { flex: 1 1 auto; min-width: 62px; text-align:center; padding:9px 4px; border-radius:9px; border:1px solid var(--c-border-form); background:var(--c-white); color:var(--c-primary); font-size:12.5px; font-weight:600; text-decoration:none; }
.mg-list .card .org-title { font-size:12px; font-weight:700; color:var(--c-text-sub); margin-bottom:8px; }
.mg-list .card select { width:100%; height:32px; border:1px solid var(--c-border-form); border-radius:9px; padding:0 10px; font-size:13px; background:var(--c-bg-input); margin-bottom:6px; -webkit-appearance:none; }
.mg-list .card select:last-child { margin-bottom:0; }
.mg-list .sum-row { display:flex; justify-content:space-between; align-items:baseline; padding: 6px 0; }
.mg-list .sum-cnt-row { display:flex; gap:16px; margin-top:8px; }
.mg-list .tx-list { display:flex; flex-direction:column; gap:8px; }
.mg-list .tx-row1 { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; gap:8px; }
.mg-list .tx-dow { font-weight:600; margin-left: 2px; }
.mg-list .tx-holiday-name { font-weight:600; color: var(--c-danger-2); }
.mg-list .tx-settle { flex-shrink:0; color:var(--c-violet); font-weight:600; }
.mg-list .tx-shop { font-size:11.5px; font-weight:700; color:var(--c-primary); margin-top:1px; }
.mg-list .tx-shop-unregistered { color:var(--c-danger-2); font-weight:700; }
.mg-list .tx-org-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mg-list .org-btn-row { display:flex; gap:6px; margin-top:4px; }
.mg-list .tx-dow.sat { color: var(--c-blue-2); }
/* ---------- .mg-home : 지사·영업관리자·가맹점 홈(index_mobile 3개) — 9단계 통합 ---------- */
.mg-home, .mg-home * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mg-home { margin:0; padding:0; background:var(--c-bg-soft); }
body.mg-home { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; padding-bottom: 78px; }
.mg-home .date-bar { display:flex; align-items:center; justify-content:space-between; background:var(--c-white); border-radius:14px; padding:10px 12px; margin-bottom:14px; box-shadow: var(--sh-m-card); gap: 6px; }
.mg-home .date-nav-group { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.mg-home .date-bar button { width:38px; height:38px; border-radius:10px; border:1px solid var(--c-border-form); background:var(--c-white); font-size:16px; color:var(--c-primary); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.mg-home .date-label { font-size:14px; font-weight:700; color:var(--c-primary); text-align:center; flex: 1; min-width: 0; }
.mg-home .date-label .dow { font-weight:400; font-size:12px; color:var(--c-text-gray); }
.mg-home .date-today-btn { margin-left:8px; height:38px; padding:0 14px; border-radius:10px; border:none; background:var(--c-primary); color:var(--c-white); font-size:12.5px; font-weight:400; white-space: nowrap; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; }
.mg-home .date-today-btn.active { background:var(--c-text-black); color:var(--c-white); }
.mg-home input#target_date_picker { position:absolute; width:1px; height:1px; opacity:0; border:none; padding:0; pointer-events:none; }
@media (min-width: 600px) {
	.mg-home .m-wrap { padding: 20px 24px; }
	.mg-home .card-grid { grid-template-columns: repeat(4, 1fr); }
	.mg-home .chart-wrap { height:280px; }
}
.mg-home input#target_date_input { position:absolute; width:1px; height:1px; opacity:0; border:none; }
/* ---------- .mg-myinfo : 지사·영업관리자·가맹점 내정보(manage·member/main/member_suview_mobile · shopmng/main/member_suview_mobile) — 8단계 통합 ---------- */
.mg-myinfo, .mg-myinfo * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mg-myinfo { margin:0; padding:0; background:var(--c-bg-soft); }
body.mg-myinfo { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; padding-bottom: 78px; }
.mg-myinfo .info-row { display:flex; justify-content:space-between; align-items:baseline; padding: 11px 0; gap: 12px; }
.mg-myinfo .info-label { font-size:12.5px; color:var(--c-text-gray); flex-shrink:0; }
.mg-myinfo .info-value { font-size:13.5px; font-weight:600; color:var(--c-primary); text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mg-myinfo .info-value.multiline { white-space: normal; line-height: 1.4; }
.mg-myinfo .info-value.org-path { font-size: 12px; font-weight: 500; color: var(--c-text-sub); white-space: normal; text-align: right; }
@media (min-width: 600px) {
	.mg-myinfo .m-wrap { padding: 20px 24px; }
}
/* ---------- .mg-paycal : 지사·영업관리자·가맹점 정산달력(manage·member·shopmng/payorder/payorder_main_mobile) — 8단계 통합 ---------- */
.mg-paycal, .mg-paycal * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mg-paycal { margin:0; padding:0; background:var(--c-bg-soft); }
body.mg-paycal { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; padding-bottom: 78px; }
.mg-paycal .month-bar { position: sticky; top: 68px; z-index: 15; display:flex; align-items:center; justify-content:space-between; background:var(--c-white); border-radius:14px; padding:12px; margin-bottom:14px; box-shadow: var(--sh-m-card); }
.mg-paycal .month-bar a { width:38px; height:38px; border-radius:10px; border:1px solid var(--c-border-form); background:var(--c-white); display:inline-flex; align-items:center; justify-content:center; font-size:16px; color:var(--c-primary); text-decoration:none; flex-shrink:0; }
.mg-paycal .month-bar a:active { background:var(--c-bg-active); }
.mg-paycal .month-label { font-size:15px; font-weight:700; color:var(--c-primary); }
.mg-paycal .month-bar .today-btn { width:auto; padding:0 12px; font-size:12.5px; font-weight:400; background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
.mg-paycal .day-list { display:flex; flex-direction:column; gap:8px; }
.mg-paycal .card.today { border: 1.5px solid var(--c-lemon-bd-2); background: var(--c-lemon-soft); }
.mg-paycal .card.empty-day { opacity: 0.55; }
.mg-paycal .day-head { display:flex; align-items:baseline; gap:8px; margin-bottom:8px; flex-wrap:wrap; row-gap:4px; }
.mg-paycal .day-date { font-size:15px; font-weight:800; color:var(--c-primary); }
.mg-paycal .day-dow { font-size:12px; font-weight:700; color:var(--c-primary); }
.mg-paycal .day-dow.sun { color:var(--c-danger-2); }
.mg-paycal .day-dow.sat { color:var(--c-blue-2); }
.mg-paycal .day-holiday { font-size:10.5px; font-weight:700; color:var(--c-white); padding:2px 7px; border-radius:5px; white-space:nowrap; background:var(--c-danger-2); }
.mg-paycal .day-holiday.national { background:var(--c-danger-2); }
.mg-paycal .day-holiday.substitute { background:var(--c-orange-3); }
.mg-paycal .day-holiday.temporary { background:var(--c-violet); }
.mg-paycal .metric-grid { display:grid; grid-template-columns: 1fr 1fr; gap:6px; }
.mg-paycal .metric { border-radius:9px; padding:7px 10px; display:flex; align-items:center; justify-content:space-between; gap:6px; }
.mg-paycal .metric .lb { font-size:11.5px; color:var(--c-text-gray); white-space:nowrap; }
.mg-paycal .metric .val { font-size:13px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:right; }
.mg-paycal .metric.approve { background:var(--c-bg-blue-soft); }
.mg-paycal .metric.approve .val { color:var(--c-blue-2); }
.mg-paycal .metric.cancel { background:var(--c-bg-cancel-soft); }
.mg-paycal .metric.cancel .val { color:var(--c-cancel); }
.mg-paycal .metric.net { background:var(--c-bg-success); }
.mg-paycal .metric.net .val { color:var(--c-success); }
.mg-paycal .metric.settle { background:var(--c-bg-violet); cursor:pointer; }
.mg-paycal .metric.settle .val { color:var(--c-violet); }
.mg-paycal .metric.settle .val.neg { color:var(--c-danger-2); }
.mg-paycal .no-data-text { font-size:12px; color:var(--c-text-gray-3); text-align:center; padding: 6px 0; }
/* ---------- 정산달력 차감/가산 (2026-10-02): 일자 카드의 차감·가산 행 + 상세내역 모달 ---------- */
.mg-paycal .metric-grid.adj-grid { margin-top: 6px; }
.mg-paycal .metric.deduct { background:var(--c-bg-danger-2); }
.mg-paycal .metric.deduct .val { color:var(--c-danger-2); }
.mg-paycal .metric.addition { background:var(--c-bg-blue-soft); }
.mg-paycal .metric.addition .val { color:var(--c-blue-2); }
.mg-paycal .metric.adj-link { cursor:pointer; }
.mg-paycal .metric.adj-link .val { text-decoration:underline; text-underline-offset:2px; }
.mg-paycal .metric.adj-none { opacity:.55; }
.mg-paycal .adj-modal-bg { display:none; position:fixed; left:0; top:0; right:0; bottom:0; z-index:100; background:rgba(0,0,0,.5); align-items:center; justify-content:center; padding:16px; }
.mg-paycal .adj-modal-bg.open { display:flex; }
.mg-paycal .adj-modal { width:100%; max-width:480px; max-height:80vh; background:var(--c-white); border-radius:14px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.mg-paycal .adj-head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; font-size:14px; font-weight:700; color:var(--c-primary); border-bottom:1px solid var(--c-border-row); }
.mg-paycal .adj-close { border:0; background:none; font-size:24px; line-height:1; color:var(--c-text-gray); padding:0 4px; cursor:pointer; }
.mg-paycal .adj-sum { padding:8px 16px 0; font-size:12px; color:var(--c-text-gray); }
.mg-paycal .adj-sum:empty { display:none; }
.mg-paycal .adj-sum b { color:var(--c-primary); }
.mg-paycal .adj-sum b.minus { color:var(--c-danger-2); }
.mg-paycal .adj-sum b.plus { color:var(--c-blue-2); }
.mg-paycal .adj-body { overflow-y:auto; padding:6px 16px 14px; -webkit-overflow-scrolling:touch; }
.mg-paycal .adj-item { padding:10px 0; border-bottom:1px solid var(--c-border-row); }
.mg-paycal .adj-item:last-child { border-bottom:0; }
.mg-paycal .adj-row1 { display:flex; justify-content:space-between; align-items:baseline; gap:8px; }
.mg-paycal .adj-name { font-size:13px; font-weight:700; color:var(--c-primary); word-break:break-all; }
.mg-paycal .adj-amt { font-size:14px; font-weight:800; white-space:nowrap; }
.mg-paycal .adj-amt.minus { color:var(--c-danger-2); }
.mg-paycal .adj-amt.plus { color:var(--c-blue-2); }
.mg-paycal .adj-row2 { display:flex; justify-content:space-between; gap:8px; margin-top:4px; font-size:11.5px; color:var(--c-text-gray); }
.mg-paycal .adj-reason { word-break:break-all; min-width:0; }
.mg-paycal .adj-date { white-space:nowrap; flex-shrink:0; }
.mg-paycal .adj-empty { text-align:center; padding:28px 0; font-size:12.5px; color:var(--c-text-gray); }
.mg-paycal .stl-sum { display:grid; grid-template-columns:1fr 1fr; gap:6px; padding-top:4px; }
.mg-paycal .stl-sum > div { display:flex; justify-content:space-between; gap:6px; padding:6px 8px; border-radius:8px; background:var(--c-bg-violet); font-size:12px; }
.mg-paycal .stl-sum > div b { color:var(--c-primary); white-space:nowrap; }
.mg-paycal .stl-sum > div b.minus { color:var(--c-danger-2); }
.mg-paycal .stl-sum > div b.plus { color:var(--c-blue-2); }
.mg-paycal .stl-sum .stl-net { grid-column:1 / -1; font-weight:700; font-size:13px; }
.mg-paycal .adj-sec { margin:10px 0 2px; font-size:12px; font-weight:700; color:var(--c-primary); }
.mg-paycal .stl-m { border-bottom:1px solid var(--c-border-row); }
.mg-paycal .stl-m:last-child { border-bottom:0; }
.mg-paycal .stl-m-head { padding:10px 0; cursor:pointer; }
.mg-paycal .stl-arrow { color:var(--c-text-gray); transition:transform .15s; flex-shrink:0; }
.mg-paycal .stl-m.open .stl-arrow { transform:rotate(180deg); }
.mg-paycal .stl-m-body { display:none; margin:0 0 10px; padding:4px 10px; background:var(--c-bg-th-2); border-radius:8px; }
.mg-paycal .stl-m.open .stl-m-body { display:block; }
.mg-paycal .stl-line { display:flex; justify-content:space-between; gap:8px; padding:6px 0; font-size:11.5px; color:var(--c-text-gray); border-bottom:1px dashed var(--c-border-row); }
.mg-paycal .stl-line:last-of-type { border-bottom:0; }
.mg-paycal .stl-l1 { min-width:0; word-break:break-all; }
.mg-paycal .stl-r { font-weight:700; white-space:nowrap; color:var(--c-primary); }
.mg-paycal .stl-r.minus { color:var(--c-danger-2); }
.mg-paycal .stl-r.plus { color:var(--c-blue-2); }
.mg-paycal .stl-more { padding:6px 0; font-size:11px; color:var(--c-text-gray); text-align:center; }
@media (min-width: 600px) {
	.mg-paycal .m-wrap { padding: 20px 24px; }
	.mg-paycal .metric-grid { grid-template-columns: repeat(4, 1fr); }
}
/* ---------- .mg-shop-status : 가맹점 빌키발급 목록 · 월정기결제 메인 — 9단계 통합 ---------- */
.mg-shop-status, .mg-shop-status * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mg-shop-status { margin:0; padding:0; background:var(--c-bg-soft); }
body.mg-shop-status { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; padding-bottom: 78px; }
.mg-shop-status .info-row { display:flex; justify-content:space-between; padding:8px 0; font-size:13px; }
.mg-shop-status .info-label { color:var(--c-text-gray); }
.mg-shop-status .info-value { font-weight:600; color:var(--c-primary); }
@media (min-width: 600px) {
	.mg-shop-status .m-wrap { padding: 20px 24px; }
}
/* ---------- .mg-form : 가맹점 빌키발급 폼 2개 · 스케줄 등록 — 9단계 통합 ---------- */
.mg-form, .mg-form * { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
body.mg-form { margin:0; padding:0; background:var(--c-bg-soft); }
body.mg-form { font-family: -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif; padding-bottom: 40px; }
.mg-form .field { margin-bottom: 14px; }
.mg-form .field label { display:block; font-size:12px; font-weight:600; color:var(--c-text-sub); margin-bottom:6px; }
.mg-form .field input { width:100%; height:48px; border:1px solid var(--c-border-form); border-radius:10px; padding:0 14px; font-size:16px; -webkit-appearance:none; background:var(--c-bg-input); }
.mg-form .field input:focus { border-color:var(--c-primary); background:var(--c-white); }
.mg-form .field-row { display:flex; gap:8px; }
.mg-form .field-row .field { flex:1; margin-bottom:0; }
.mg-form .field-hint { font-size:11px; color:var(--c-text-dim); margin-top:5px; }
@media (min-width: 600px) {
	.mg-form .m-wrap { padding: 20px 24px; }
}
.mg-form .card b { color:var(--c-primary); }
.mg-form .field select { width:100%; height:48px; border:1px solid var(--c-border-form); border-radius:10px; padding:0 14px; font-size:16px; -webkit-appearance:none; background:var(--c-bg-input); }
.mg-form .interval-toggle { display:flex; gap:8px; margin-bottom:14px; }
.mg-form .interval-toggle label { flex:1; text-align:center; height:44px; line-height:44px; border-radius:10px; border:1px solid var(--c-border-form); background:var(--c-white); font-size:13.5px; font-weight:600; color:var(--c-text-sub); cursor:pointer; }
.mg-form .interval-toggle input { display:none; }
.mg-form .interval-toggle input:checked + label { background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
/* ---------- .mp-pg-billing-pc : PG관리자 빌링현황 PC(pgadmin/billkey/billing_list.php, 독립형) — 5단계 이동 ---------- */
/*@UNUSED-BEGIN U0787 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
body.mp-pg-billing-pc { font-family: "Malgun Gothic", sans-serif; background:var(--c-bg-soft); margin:0; padding:24px; }
@UNUSED-END U0787*/
/*@UNUSED-BEGIN U0788 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .wrap { max-width: 1200px; margin: 0 auto; }
@UNUSED-END U0788*/
/*@UNUSED-BEGIN U0789 | css_rule | 선택자의 class/id(mp-pg-billing-pc, page-title)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .page-title { font-size:20px; font-weight:700; color:var(--c-primary); margin-bottom:18px; }
@UNUSED-END U0789*/
/*@UNUSED-BEGIN U0790 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .cont_search_wrap { background:var(--c-white); border-radius:10px; padding:18px 20px; margin-bottom:16px; box-shadow:0 2px 8px rgba(22,33,62,0.05); }
@UNUSED-END U0790*/
/*@UNUSED-BEGIN U0791 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .form_block { margin-bottom:10px; }
@UNUSED-END U0791*/
/*@UNUSED-BEGIN U0792 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .form_block:last-child { margin-bottom:0; }
@UNUSED-END U0792*/
/*@UNUSED-BEGIN U0793 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .form_block dl { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; }
@UNUSED-END U0793*/
/*@UNUSED-BEGIN U0794 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .form_block dt { font-size:12.5px; font-weight:600; color:var(--c-text-sub); }
@UNUSED-END U0794*/
/*@UNUSED-BEGIN U0795 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .form_block dd { margin:0; }
@UNUSED-END U0795*/
/*@UNUSED-BEGIN U0796 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .form_block input[type=text], .mp-pg-billing-pc .form_block select { height:34px; border:1px solid var(--c-border-form); border-radius:6px; padding:0 10px; font-size:13px; }
@UNUSED-END U0796*/
/*@UNUSED-BEGIN U0797 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .btn { display:inline-block; padding:8px 16px; border-radius:6px; font-size:12.5px; font-weight:400; text-decoration:none; cursor:pointer; border:1px solid var(--c-border-form); background:var(--c-white); color:var(--c-primary); }
@UNUSED-END U0797*/
/*@UNUSED-BEGIN U0798 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .btn_dark { background:var(--c-primary); color:var(--c-white); border-color:var(--c-primary); }
@UNUSED-END U0798*/
/*@UNUSED-BEGIN U0799 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .result_text { font-size:13px; color:var(--c-text-gray); margin:0 0 10px; }
@UNUSED-END U0799*/
/*@UNUSED-BEGIN U0800 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc table.ver_t { width:100%; border-collapse:collapse; background:var(--c-white); border-radius:10px; overflow:hidden; box-shadow:0 2px 8px rgba(22,33,62,0.05); }
@UNUSED-END U0800*/
/*@UNUSED-BEGIN U0801 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc table.ver_t th { background:var(--c-border-soft); padding:10px 8px; font-size:12px; color:var(--c-text); font-weight:600; text-align:left; white-space:nowrap; }
@UNUSED-END U0801*/
/*@UNUSED-BEGIN U0802 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc table.ver_t td { padding:10px 8px; font-size:12.5px; color:var(--c-primary); border-top:1px solid var(--c-border-row); white-space:nowrap; }
@UNUSED-END U0802*/
/*@UNUSED-BEGIN U0803 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc table.ver_t td.l { white-space:normal; }
@UNUSED-END U0803*/
/*@UNUSED-BEGIN U0804 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .pagination { list-style:none; margin:16px 0 0; padding:0; display:flex; justify-content:center; gap:4px; }
@UNUSED-END U0804*/
/*@UNUSED-BEGIN U0805 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .pagination a, .mp-pg-billing-pc .pagination span { display:inline-flex; align-items:center; justify-content:center; min-width:30px; height:30px; padding:0 6px; border-radius:6px; background:var(--c-white); color:var(--c-menu-accent); text-decoration:none; font-size:12.5px; box-shadow:0 1px 3px rgba(22,33,62,0.08); }
@UNUSED-END U0805*/
/*@UNUSED-BEGIN U0806 | css_rule | 선택자의 class/id(mp-pg-billing-pc)가 사용 중인 화면·스크립트 어디에도 없음 — 미사용 화면에만 있음 | 미사용확률 88%
.mp-pg-billing-pc .pagination .active a, .mp-pg-billing-pc .pagination .active span { background:var(--c-menu-accent); color:var(--c-white); }
@UNUSED-END U0806*/   /* [MOD] 2026-10-16 Kim 요청: 페이지버튼 색 = type01(#095db3) */

/* ---------- .mg-list : 가맹점별 매출조회(영업관리자) - 2026-10-02 ---------- */
.mg-list .merchant-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; }
.mg-list .merchant-nav .btn { flex:1 1 auto; display:inline-flex; align-items:center; justify-content:center; gap:5px; text-decoration:none; }
.mg-list .shop-filter { font-size:12.5px; color:var(--c-text-gray); }
.mg-list .shop-filter b { color:var(--c-primary); }
.mg-list .shop-filter a { margin-left:6px; color:var(--c-blue-2); font-weight:700; }
.mg-list .mc-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.mg-list .mc-name { font-size:14px; font-weight:700; color:var(--c-primary); min-width:0; word-break:break-all; }
.mg-list .mc-sub { margin:3px 0 10px; font-size:11.5px; color:var(--c-text-gray); word-break:break-all; }
.mg-list .mc-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.mg-list .mc-cell { display:flex; flex-direction:column; gap:2px; padding:8px 10px; border-radius:10px; background:var(--c-bg-th-2); }
.mg-list .mc-cell .lb { font-size:11px; color:var(--c-text-gray); }
.mg-list .mc-cell .v { font-size:14px; font-weight:800; color:var(--c-blue-2); }
.mg-list .mc-cell.cancel .v { color:var(--c-danger-2); }
.mg-list .mc-cell.net .v { color:var(--c-success); }
