/* 뽀바 전역 테마 — 로그인·게시판·계산기 공통 크롬 */
:root{--pb-ink:#141A24;--pb-orange:#FF6600;--pb-deep:#D2570A;--pb-paper:#FBFAF7;--pb-card:#fff;--pb-line:#E7E3DA;--pb-grid:#ECEEF1;--pb-text:#1B2330;--pb-t2:#5B6675;--pb-muted:#9AA6B6}
#hd_login_msg,#skip_to_container{display:none!important}
/* 하단 법적고지 (ppoba_footlinks) — 탭바 위에 놓이므로 여백을 탭바 높이만큼 준다 */
/* body 에 이미 탭바용 padding-bottom:74px 가 있으므로 여기서 또 주지 않는다 */
.ppb-footlinks{max-width:600px;margin:26px auto 0;padding:16px 16px 6px;text-align:center;font-size:12px;color:var(--pb-muted);line-height:1.7;border-top:1px solid var(--pb-line)}
.ppb-footlinks a{color:var(--pb-t2)!important;text-decoration:none;font-weight:600}
.ppb-footlinks a:hover{color:var(--pb-orange)!important}
.ppb-footlinks>span{margin:0 7px;opacity:.5}
/* 사업자 정보 (ppoba_bizinfo) — 상호는 매그니캐드와 동일 사업자.
 * ★법적 고지라 --pb-muted(#9AA6B6, 대비 2.4:1)로 두지 않는다. #647386 = 4.8:1 (WCAG AA) */
.ppb-biz{margin-top:12px;font-size:11.5px;color:#647386;line-height:1.9}
.ppb-biz b{color:var(--pb-t2);font-weight:800}
.ppb-biz a{color:#647386!important;text-decoration:underline;font-weight:400}
.ppb-biz .s{opacity:.45;margin:0 4px}
/* 면책 고지도 읽혀야 하므로 동일 대비 */
.ppb-footnote{margin-top:12px;padding-top:10px;border-top:1px solid var(--pb-line);font-size:11.5px;color:#647386;line-height:1.75}

/* ★라이트 고정 — 브라우저 기본 UI(입력창·select·스크롤바)까지 라이트로.
 * 이게 없으면 다크모드 단말에서 폼 컨트롤만 어둡게 렌더돼 배경과 어긋난다. */
html{color-scheme:light}
html,body{margin:0}
body{background:var(--pb-paper)!important;color:var(--pb-text)!important;font-family:'Pretendard',-apple-system,'Malgun Gothic',sans-serif!important;
  background-image:linear-gradient(var(--pb-grid) 1px,transparent 1px),linear-gradient(90deg,var(--pb-grid) 1px,transparent 1px)!important;background-size:22px 22px,22px 22px!important}
/* 그누보드 기본 래퍼 무력화 */
#wrapper,#container,#container_wr,#hd,#gnb,#ft,#hd_wrapper,#tnb{all:unset}
#hd,#gnb,#ft,#tnb,.hd_sch_wr{display:none!important}
/* 뽀바 크롬 */
.ppb-topbar{background:transparent}
.ppb-tin{max-width:600px;margin:0 auto;padding:11px 16px;display:flex;align-items:center;justify-content:space-between}
.ppb-mark{display:inline-flex;align-items:center;gap:9px;font-weight:900;font-size:19px;color:var(--pb-text)!important;text-decoration:none;letter-spacing:-.02em}
.ppb-dot{width:26px;height:26px;border-radius:8px;background:var(--pb-orange);display:grid;place-items:center;color:#fff;transform:rotate(-4deg);box-shadow:0 2px 0 var(--pb-deep)}
.ppb-dot i{font-size:15px}
.ppb-nav{display:flex;align-items:center;gap:14px}
.ppb-nav a{color:#A9B2C0!important;text-decoration:none;font-size:13px;font-weight:600}
.ppb-nav a.ppb-btn{color:#fff!important;background:var(--pb-orange);padding:7px 13px;border-radius:9px}
.ppb-wrap{display:block;max-width:600px;margin:0 auto;padding:18px 16px 8px;min-height:52vh}
.ppb-foot{max-width:600px;margin:0 auto;padding:24px 16px 40px;text-align:center;color:var(--pb-muted);font-size:12px;line-height:1.7}
.ppb-foot a{color:var(--pb-t2)!important;text-decoration:none}
/* 폼·버튼·표 뽀바화 */
.ppb-wrap h1,.ppb-wrap h2,.ppb-wrap h3,.ppb-wrap h4{color:var(--pb-text)}
a{color:var(--pb-deep)}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=tel],input[type=search],textarea,select{
  border:1px solid var(--pb-line)!important;border-radius:10px!important;background:#fff!important;color:var(--pb-text)!important;
  padding:10px 12px!important;font-family:inherit!important;font-size:14px!important;box-shadow:none!important;height:auto!important}
input:focus,textarea:focus,select:focus{outline:none!important;border-color:var(--pb-orange)!important;box-shadow:0 0 0 3px #FFE2CC!important}
.btn_submit,input[type=submit],button[type=submit],.btn_b01,.btn_b02,.btn01,a.btn01,.btn_frmline,.btn_confirm input,.btn e,.win_btn a,input.btn_submit{
  background:var(--pb-orange)!important;border:1px solid var(--pb-orange)!important;color:#fff!important;border-radius:10px!important;
  font-weight:700!important;font-size:14px!important;padding:11px 18px!important;box-shadow:0 2px 0 var(--pb-deep)!important;cursor:pointer;height:auto!important}
.btn_cancel,a.btn_cancel,.btn_close{background:#fff!important;border:1px solid var(--pb-line)!important;color:var(--pb-t2)!important;border-radius:10px!important;padding:11px 18px!important;font-weight:700!important;text-decoration:none}
/* ★게시판 목록·글보기 우측의 아이콘 버튼(검색·글쓰기·관리)은 내용이 아이콘 하나뿐이다.
   위 글자 버튼 규칙(padding 11/18 + font 14)을 그대로 받으면 59px 짜리 거대한 주황 사각형이 된다.
   여기서 정사각 아이콘 버튼으로 눌러 준다 — 위 규칙보다 뒤에 와야 이긴다. */
.btn_bo_user .btn_b01,.btn_bo_user .btn_bo_sch,.btn_bo_user .btn,
.btn_bo_adm .btn_b01,.btn_bo_adm .btn_b02,.btn_bo_adm .btn,
.bo_v_nb .btn_b01,.bo_v_com .btn_b01{
  display:inline-flex!important;align-items:center;justify-content:center;
  width:34px!important;height:34px!important;min-width:0!important;padding:0!important;
  font-size:14px!important;line-height:1!important;box-shadow:0 1px 0 var(--pb-deep)!important}
.btn_bo_adm .btn_b02,.btn_bo_adm .btn{background:#fff!important;border-color:var(--pb-line)!important;
  color:var(--pb-t2)!important;box-shadow:none!important}
.btn_bo_user,.btn_bo_adm{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.btn_bo_user li,.btn_bo_adm li{margin:0;list-style:none}
/* 로그인/회원 박스 카드화 */
#mb_login,#login,.mb_login,#register_form,#mb_confirm,.new_win .win_desc{max-width:440px;margin:22px auto;background:var(--pb-card);border:1px solid var(--pb-line);border-radius:18px;padding:26px 22px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
#login h1,#mb_login h1{font-size:20px;font-weight:800;margin:0 0 16px;text-align:center}
#login label,#mb_login label{display:block;font-size:12px;color:var(--pb-t2);margin:10px 0 4px}
/* 표 */
table{border-collapse:collapse}
.tbl_head01 thead th,.bo_list thead th{background:#F3F1EC!important;color:var(--pb-t2)!important;border-color:var(--pb-line)!important}
.tbl_head01 td,.tbl_head01 th,.tbl_wrap td{border-color:var(--pb-line)!important}
/* 게시판 제목 */
#bo_cate,.bo_cate_link{color:var(--pb-t2)}
/* 하단 탭바(사주아이식) */
body{padding-bottom:74px!important}
.ppb-tabbar{position:fixed;left:0;right:0;bottom:0;margin:0 auto;max-width:600px;z-index:300;background:#fff;border:1px solid var(--pb-line);border-bottom:0;border-radius:16px 16px 0 0;display:flex;padding:6px 2px env(safe-area-inset-bottom);box-shadow:0 -3px 14px rgba(0,0,0,.06)}
.ppb-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none!important;color:var(--pb-muted)!important;font-size:10.5px;font-weight:600;padding:4px 0}
.ppb-tabbar a i{font-size:22px}
.ppb-tabbar a:hover{color:var(--pb-orange)!important}
#login,#mb_login,.mb_login{max-width:440px;margin:18px auto}
.ppb-ham{display:inline-flex;align-items:center;justify-content:center;color:var(--pb-text)!important;text-decoration:none;padding:6px}
.ppb-ham i{font-size:26px}
.ppb-login{display:inline-flex;align-items:center;background:var(--pb-orange);color:#fff!important;font-weight:800;font-size:13.5px;text-decoration:none;padding:9px 16px;border-radius:10px;box-shadow:0 2px 0 var(--pb-deep)}

/* 공용 뒤로가기 버튼 */
.ppb-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;background:#fff;border:1px solid var(--pb-line);border-radius:10px;padding:9px 14px;font-size:13px;font-weight:700;color:var(--pb-text)!important;text-decoration:none}
/* 개별자재 계산: 600px 폭 = 항상 1단 */
.tk-layout{grid-template-columns:1fr!important;padding:8px 0!important;gap:14px!important}
/* 개별자재 계산(write): 내부 2단(.c2 1fr+340px)도 600px 컨테이너에선 항상 1단, 게이트 카드는 위로 */
#mm .mc .c2{grid-template-columns:1fr!important}
#mm .mc .c2-viz{position:static!important}
/* 단가 미공개(mt-na) 블록 임시 숨김 — 실단가 배선 후 이 줄 제거 */
.mv-tier.mt-na,.mc-tier.mt-na{display:none!important}
