/* 변경 사유(2026-10-11): 아이콘 PNG → SVG 교체(고해상도 화면 흐림 방지). 대상: bz_header.css.
   원본 PNG 는 그대로 두고 같은 폴더에 같은 이름의 .svg 를 추가했다. 퍼블리셔 원본 CSS 는 수정하지 않고 같은 선택자·같은 @media 로
   background-image(배경 외 속성은 그 속성)만 .svg 로 덮는다. 위치·크기 선언은 원본 그대로다.
   이 블록은 파일 맨 앞에 둔다 — 아래쪽 기존 프로젝트 오버라이드가 계속 이기도록(동일 특이성이면 뒤가 이김).
   3D·그림자·반투명 그림(AI 공 아이콘, 플레이어 버튼, 파일 형식 로고 등)은 벡터로 옮기면 품질이 떨어져 PNG 를 유지한다.
   SVG 대부분은 원본 PNG 를 추적해 픽셀 비교로 맞췄고, 툴바 선 아이콘·점선으로 깨진 원형 아이콘은 손으로 다시 그렸다.
   순서 보존(2026-10-11 보정): 블록이 원본보다 뒤에 로드되므로, 원본에서 대상 규칙을 이기던 뒤쪽 규칙(반응형 background:none 등)도
   같은 순서로 이 블록에 다시 적는다(background-image 만). 원본과 같은 순서라 결과는 원본과 같고 그림만 .svg 다. */
.n_header .n_gnb_2dep span{background-image:url(../images/nbz_header/arrow.svg);}
.n_header .n_mem_sch{background-image:url(../images/nbz_header/sch_red.svg);}
.n_header .n_mem_sch span{background-image:url(../images/nbz_header/arrow_d.svg);}
.n_header .n_mem_notify{background-image:url(../images/nbz_header/notify.svg);}
.n_notify .n_notify_del{background-image:url(../images/nbz_header/i_close_c.svg);}
.n_notify .n_notify_box_t{background-image:url(../images/nbz_header/i_share.svg);}
.n_notify .n_notify_share .n_notify_box_t{background-image:url(../images/nbz_header/i_share.svg);}
.n_notify .n_notify_warning .n_notify_box_t{background-image:url(../images/nbz_header/i_warning.svg);}
.n_notify .n_notify_notice .n_notify_box_t{background-image:url(../images/nbz_header/i_notice.svg);}
.n_profile .n_profile_upgrade a{background-image:url(../images/nbz_header/i_upgrade.svg);}
.n_profile .n_profile_mypage{background-image:url(../images/nbz_header/i_works.svg);}
.n_profile .n_profile_workspace{background-image:url(../images/nbz_header/i_workspace.svg);}
.n_profile .n_profile_bizforms{background-image:url(../images/nbz_header/i_bizforms.svg);}
.n_profile .n_profile_freezone{background-image:url(../images/nbz_header/i_freezone.svg);}
.n_profile .n_profile_mailing{background-image:url(../images/nbz_header/i_mailing.svg);}
.n_profile .n_profile_guide{background-image:url(../images/nbz_header/i_guide.svg);}
.n_profile .n_profile_logout{background-image:url(../images/nbz_header/i_logout.svg);}
.n_top .n_top_tab_sch span{background-image:url(../images/nbz_header/sch_off.svg);}
.n_top.n_type_sch .n_top_tab_sch span{background-image:url(../images/nbz_header/sch_on.svg);}
.n_top .n_top_tab_ai span{background-image:url(../images/nbz_header/star_off.svg);}
.n_top.n_type_ai .n_top_tab_ai span{background-image:url(../images/nbz_header/star_on.svg);}
.n_top .n_top_box_del{background-image:url(../images/nbz_header/sch_close.svg);}
.n_top.n_type_ai .n_top_box_submit{background-image:url(../images/nbz_header/sch_ai.svg);}
@media (max-width: 1300px){
  .n_header .n_gnb_1dep{background-image:url(../images/nbz_header/arrow_f_d.svg);}
  .n_header .n_gnb_area.n_on .n_gnb_1dep{background-image:url(../images/nbz_header/arrow_f_u.svg);}
  .n_header .n_gnb_2dep span{background-image:none;}
}
@media (max-width: 1040px){
  .n_header .n_mem_sch span{background-image:none;}
  .n_profile .n_profile_t{background-image:url(../images/nbz_header/arrow.svg);}
}
@media (max-width: 1300px){
  .ai_1dep.ai_1dep.ai_1dep{background-image:url(../images/nbz_header/arrow_r.svg);}
}
/* SVG 아이콘 교체 블록 끝 */

/*
 * bz_header_project.css — 납품 헤더 시트 bz_header.css(.nbz_header / .n_*) 위에 얹는 프로젝트 오버라이드. 2026-10-07.
 * bz_layout.css + bz_layout_project.css 와 같은 관례의 짝이다(원문은 납품 파일, 보정은 *_project.css).
 *
 * 로드 순서(app/layout.tsx): bz_layout.css → bz_header.css → bz_header_project.css → bz_layout_project.css
 *   - bz_header.css 뒤여야 납품 헤더 규칙을 덮고, bz_layout.css 뒤여야 페이지 오프셋이 원본 5.2em 을 이긴다.
 *   - bz_layout_project.css 앞이어야 프로젝트 전역 오버라이드가 최종 발언권을 갖는다.
 * 재납품 시 bz_header.css 만 통째로 교체하고 이 파일은 유지한다.
 *
 * 분리 사유(2026-10-07): 원래 bz_header.css 파일 끝 "② 프로젝트 보정" 구간이었다. 그 방식은 재납품 때
 * "마커 아래는 남기고 위만 교체"라는 수작업 규칙이 필요해, 파일을 통째로 덮어쓰면 보정이 조용히 사라질 위험이 있었다.
 * 아래 내용은 그 구간을 마커 주석까지 그대로 옮긴 것이다(규칙·순서 무변경 — 같은 파일 안 순서 의존이 있다).
 * 본문 주석의 "①(납품 원문)" 은 bz_header.css 를, "② 프로젝트 보정" 은 이 파일을 가리킨다.
 */

/* ===================== ② 프로젝트 보정 (재납품 때 유지) ===================== */

/* 변경 사유(2026-10-07): 납품이 헤더 구획 "밖"의 기존 규칙 값을 바꾼 2건 — 발췌 범위에 안 들어가 여기에 적는다.
   (1) 납품 788행 `.bz_main{padding-top:6.2em;padding-bottom:2em}` (구 5.2em/3em). 상단 1em 추가·하단 1em 감소로 합계 8.2em 유지.
       접두사 때문에 명시도가 (0,3,0)으로 올라 원본의 `.bz_index .bz_main{padding-bottom:0}`·`.bz_after .bz_main{padding-bottom:0}`(0,2,0)과
       ≤760px `.bz_index .bz_main{padding-top:5em}` 을 이겨 버리므로, 납품 cascade 결과를 그대로 재현하도록 세 규칙을 같은 접두사로 다시 적는다.
   ⚠ 순서: 이 데스크톱 6.2em 은 아래 오프셋 블록의 ≤1040px `.bz_main{padding-top:5rem}` 보다 **앞**에 있어야 한다 —
       둘은 명시도가 같아 뒤에 오는 쪽이 이기고, 납품 파일도 788행(6.2em) → 끝 블록(5rem) 순서다.
   (2) 납품 8613행대(≤760px) 배경 위치 `26.4% 2em` → `26.4% 0`. (≤760 블록은 아래에 둔다 — `.bz_index .bz_main` 은 (0,4,0)이라 순서 무관.) */
:root:has(.nbz_header) .bz_main {
    padding-top: 7em;
    padding-bottom: 2em;
}
:root:has(.nbz_header) .bz_index .bz_main,
:root:has(.nbz_header) .bz_after .bz_main {
    padding-bottom: 0;
}

/* 변경 사유(2026-10-08): 납품 bz_layout.css 15035~15070행 "새 헤더 높이 기준 페이지 오프셋" 블록.
   데스크톱 값은 납품 9rem 이 아니라 7rem — 납품 헤더 실제 높이(`.n_header_inner{height:7rem}`, bz_header.css)가 7rem 인데
   오프셋만 9rem 이라 헤더·fixed 요소(페이저 토글·퀵메뉴·중단 배너·Word 툴바·표준화 탭) 사이에 20px 틈이 났다.
   사용자 결정: 헤더 7rem 이 정답, 오프셋을 헤더에 맞춘다(10-07 "틈도 납품 그대로" 결정 뒤집음). ≤1040px 은 둘 다 5rem 이라 그대로.
   모든 셀렉터에 `:root:has(.nbz_header)` 접두사 — 비정형 라우트는 루트 CSS 뒤에 자기 bz_layout.css(app/(unstructured)/layout.tsx)·v437r1 스냅샷
   (검증 페이지가 페이지 안에서 링크)·published.css(표준화)를 더 로드하고, 그 안의 같은 셀렉터
   (`.bz_gener .bz_quick{top:5.2em}` 등)가 로드 순서로 이 블록을 되덮는다. 명시도를 한 단계 올려 순서와
   무관하게 이기고, 새 헤더가 실제로 렌더된 페이지에서만 적용되게 한다. `:has()` 는 bz_layout_project.css 가 이미 쓴다. */
:root:has(.nbz_header) .bz_after .bz_contents,
:root:has(.nbz_header) .bz_gener {
    min-height: calc(100vh - 7rem);
}
:root:has(.nbz_header) .bz_gener_ing {
    top: 7rem;
    height: calc(100vh - 7rem);
}
:root:has(.nbz_header) .bz_gener .bz_pager_toggle,
:root:has(.nbz_header) .bz_gener .bz_quick,
:root:has(.nbz_header) .bz_gener .bz_stop_docu,
:root:has(.nbz_header) .bz_gener .bz_gener_c.bz_word .bz_editor_tool,
:root:has(.nbz_header) .bz_standard .bz_gener .bz_page_tab {
    top: 7rem;
}
/* 변경 사유(2026-10-08): 접두사의 부작용 복구. 위 블록이 (0,4,0)으로 올라가면서 원본 bz_layout.css 의 상태 변형
   `.bz_gener .bz_pager_toggle.bz_tgl{top:15.6em}`(0,3,0 — 페이지 목록 접힘 시 알약 버튼, bz_layout.css:705)까지 되덮어
   접힌 버튼이 헤더 바로 밑(7rem)으로 올라갔다. 납품 cascade 에서는 끝 블록(0,2,0)이 이 규칙을 못 이기므로 15.6em 이
   남는다 — 그 결과를 같은 접두사로 다시 적어 재현한다(값은 납품 그대로, 새 헤더 기준 재환산 안 함). ≤760px 의 `top:auto`
   짝은 아래 760 블록. 다른 네 요소(.bz_quick·.bz_stop_docu·Word .bz_editor_tool·.bz_page_tab)는 원본에 (0,2,0) 초과 변형이
   없거나(.bz_quick·.bz_stop_docu·.bz_page_tab) bz_layout_project.css 가 :has() 로 이미 다시 쓴다(배너 아래 Word 툴바).
   단 .bz_quick 의 ≤760px `top:auto`(하단 시트)는 납품 cascade 에서도 끝 블록에 덮이는 납품 결함이라 아래 760 블록에서 PPT 화면만 따로 복구한다(2026-10-09). */
:root:has(.nbz_header) .bz_gener .bz_pager_toggle.bz_tgl {
    top: 15.6em;
}
/* 변경 사유(2026-10-09): 페이지 목록(.bz_pager)이 위 오프셋 목록에서 빠져 있었다(납품 끝 블록도 동일 — 납품 결함).
   원본은 목록 top 11.2em = 토글 top 5.2em + 토글 높이 6em 이라 목록 안쪽 padding-top 2em 이 토글 아래 여백으로 보인다.
   토글만 7rem 으로 내려가 토글(z 16, DOM 뒤)이 목록 상단 1.8em 을 덮어 첫 썸네일이 헤더에 붙어 보였다 → 토글 top + 6em 으로 맞춘다.
   PPT(.bz_design)·Word(.bz_generate) 화면만 — 검증(check.css)·표준화(published.css)는 자기 토글·목록 오프셋(9.5em/15.5em)을 따로 둔다.
   ≤760px 는 범위 밖 — 원본 bz_layout.css ≤760px 블록의 em 기준 위치(Word 목록 14em, /design 하단 띠 top:auto !important)를 그대로 쓴다.
   :where() 라 명시도는 위 블록과 같은 (0,4,0). */
@media (min-width: 761px) {
    :root:has(.nbz_header) :where(.bz_design, .bz_generate) .bz_gener .bz_pager {
        top: calc(7rem + 6em);
    }
}
@media (min-width: 761px) and (max-width: 1040px) {
    :root:has(.nbz_header) :where(.bz_design, .bz_generate) .bz_gener .bz_pager {
        top: calc(5rem + 6em);
    }
}

@media (max-width: 1040px) {
    :root:has(.nbz_header) .bz_main {
        padding-top: 5rem;
    }
    :root:has(.nbz_header) .bz_after .bz_contents,
    :root:has(.nbz_header) .bz_gener {
        min-height: calc(100vh - 5rem);
    }
    :root:has(.nbz_header) .bz_gener_ing {
        top: 5rem;
        height: calc(100vh - 5rem);
    }
    :root:has(.nbz_header) .bz_gener .bz_pager_toggle,
    :root:has(.nbz_header) .bz_gener .bz_quick,
    :root:has(.nbz_header) .bz_gener .bz_stop_docu,
    :root:has(.nbz_header) .bz_gener .bz_gener_c.bz_word .bz_editor_tool,
    :root:has(.nbz_header) .bz_standard .bz_gener .bz_page_tab {
        top: 5rem;
    }
}

/* 구획 밖 변경 (2)의 ≤760px 부분 — 사유는 위 (1)(2) 주석 참조 */
@media (max-width: 760px) {
    /* 변경 사유(2026-10-08): 위 .bz_tgl 복구의 모바일 짝 — 원본 `.bz_gener .bz_pager_toggle.bz_tgl{top:auto;bottom:9em}`
       (bz_layout.css:2226, 접힌 버튼을 화면 하단에 띄움)을 ≤1040px 블록의 5rem 이 되덮어 top·bottom 이 동시에 잡혔다.
       배너(.bz_stop_docu.bz_on) 켜진 경우는 bz_layout_project.css 의 :has() 규칙이 같은 auto 를 준다. */
    :root:has(.nbz_header) .bz_gener .bz_pager_toggle.bz_tgl {
        top: auto;
    }
    /* 변경 사유(2026-10-09): 모바일 빠른편집은 하단 시트다 — 원본 `.bz_gener .bz_quick{top:auto;bottom:0;max-height:90%}`
       (디자인 75%, bz_layout.css ≤760px 블록). ≤1040px 블록의 top:5rem 이 이걸 덮어 top·bottom·max-height 가 동시에 잡히면
       위쪽이 이겨 시트가 헤더 밑에 매달리고 화면 아래가 비었다. 납품 파일(12159행 → 15064행)도 같은 순서라 납품 결함이다 — 헤더 이식 전 모양으로 되돌린다.
       PPT 편집기(.bz_design)만 — Word 빠른편집(정형·비정형 /create/freeform·/document/unstructured 공용 셀렉터)은 바닥에 붙으면
       하단 고정 버튼(.bz_quick_btns 7.2em)이 서식 목록 끝(텍스트 정렬)을 33~55px 덮어 공개 비정형 화면이 나빠진다(2026-10-09 실측, 사용자 결정). */
    :root:has(.nbz_header) .bz_design .bz_gener .bz_quick {
        top: auto;
    }
    :root:has(.nbz_header) .bz_index .bz_main {
        padding-top: 5em;
    }
    :root:has(.nbz_header) .bz_wrap,
    :root:has(.nbz_header) .bz_generate.bz_wrap,
    :root:has(.nbz_header) .bz_design.bz_wrap,
    :root:has(.nbz_header) .bz_check.bz_wrap,
    :root:has(.nbz_header) .bz_standard.bz_wrap,
    :root:has(.nbz_header) .bz_index.bz_wrap {
        background-position: 26.4% 0;
    }
}

/* 변경 사유(2026-10-07): z-index 를 이 앱의 레이어 대역으로 내린다. 납품값(.n_header 80000 / .n_top 60000 / .n_profile 80030)은
   뉴비즈폼 자체 척도라, 그대로 두면 우리 로그인 모달(.bz_layers 141 — 2026-10-09 재생성 패널 140 위로, bz_layout_project.css)·생성 로딩 딤(10000)·이탈 가드(10050)·슬라이드쇼(9999) 위로
   헤더가 떠서 "생성 중 헤더 비활성"·"모달이 헤더를 덮음" 계약이 깨진다. 기존 계약은 헤더 70, 페이지 요소 ≤50, 오버레이 ≥101(레이어 모달은 141) 이고
   헤더 내부(GNB 드롭다운 70000·드로어)는 헤더 자신의 쌓임 맥락 안이라 바깥 숫자와 무관하다. 검색 오버레이는 헤더 아래·페이지 위(69),
   프로필은 헤더 위(71). `!important` 는 표준화 published.css 에 남을 수 있는 스코프 복제본(`[data-standardize-publish] .n_header`, 명시도 +1)을
   이기기 위한 것 — 복제본을 제거해도 재납품 때 되돌아올 수 있어 유지한다. */
.n_top { z-index: 69 !important; }
.n_header { z-index: 70 !important; }
.n_profile { z-index: 71 !important; }

/* 변경 사유(2026-10-07): Tailwind preflight(globals.css @tailwind base)가 `img{display:block}` 을 깔아 두는데, 납품 정적
   페이지에는 Tailwind 가 없어 헤더 이미지가 inline 이다. ① 의 `.n_gnb_1dep span{line-height:4.2rem}` + `.nbz_header *{vertical-align:top}`
   은 inline 이미지가 42px 줄상자 상단에 붙는 것을 전제로 짜여 있어, block 이 되면 "비즈폼 AI" 로고가 6px 내려앉는다
   (실측: 납품 img top 15px / preflight 적용 시 21px). ①(납품 원문)은 손대지 않고 여기서 UA 기본값(inline)으로 되돌린다 —
   (0,1,1) 이라 preflight 의 요소 셀렉터(0,0,1)를 이긴다. 로고·프로필 아이콘도 같은 전제라 함께 적용한다. */
.nbz_header img { display: inline; }

/* 변경 사유(2026-10-09): AI 헤더 재납품의 "비즈폼 홈" 버튼이 /standardize 에서만 납작해졌다(여백 0·글자 10px).
   표준화 스냅샷 published.css 의 리셋 `[data-standardize-publish="20261006"] a / span`(0,1,1, padding 0·font inherit)이
   루트 CSS 뒤에 로드돼 납품 `.ai_home`(0,1,0)·`.ai_home span`(0,1,1)을 이긴다. 비정형 파일은 수정 금지라
   납품 값 그대로를 명시도 +1 로 다시 적는다. 색은 납품에서도 `.nbz_header a{color:inherit}` 가 이기므로 건드리지 않는다.
   ≤1300px 의 `.ai_home{padding:0}` 은 이 규칙이 되덮으므로 같은 명시도로 다시 적는다(10-08 명시도 역전 교훈). */
.nbz_header .ai_home {
    padding: 0 2rem 0 1.8rem;
}
.nbz_header .ai_home span {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
}
@media (max-width: 1300px) {
    .nbz_header .ai_home {
        padding: 0;
    }
}

/* 변경 사유(2026-10-09): /standardize 에서만 프로필 패널이 화면 가운데(좌단 = 50%)에 붙었다. 표준화 published.css 의
   스코프 리셋 `[data-standardize-publish="20261006"] div{margin:0}`(0,1,1, 뒤 로드)이 납품 `.n_profile{margin-left:41.3rem}`(0,1,0)을
   이겨 `left:50%` 만 남았다. 위 .ai_home 과 같은 함정이다 — 그 리셋은 a·span 뿐 아니라 div·p·dl·dd·button 등 거의 모든 요소의
   margin·padding·font·line-height·vertical-align 을 덮으므로, 명시도 (0,1,1) 이하 납품 헤더 규칙이 이 속성을 쓰면 표준화 화면에서 진다
   (재납품 시 이 기준으로 다시 훑을 것). 납품 값 그대로를 명시도 +1 로 다시 적는다.
   ≤1300px 의 `margin-left:0`(납품 ≤1300·≤1040 블록, 0,1,0)은 이 규칙에 되덮이므로 같은 명시도로 다시 적는다 — 빠지면 ≤1040px 드로어
   (`inset:5rem 0 0`)가 41.3rem 밀려 화면 밖으로 나간다. ≤1300 블록 하나가 ≤1040 구간까지 덮는다. */
.nbz_header .n_profile {
    margin-left: 41.3rem;
}
@media (max-width: 1300px) {
    .nbz_header .n_profile {
        margin-left: 0;
    }
}
/* 모바일 AI 로고는 현재 이미지+AI 배지의 실제 높이로 헤더 중앙에 놓는다.
   이전 단일 이미지용 top:0.4rem 값은 재납품 배지를 상단에 붙인다.
   공통 헤더에서 보정해 생성·검증·표준화·정형 화면의 위치를 함께 유지한다. */
@media (max-width: 1040px) {
    .nbz_header .n_header .n_logo.ai_logo {
        top: 50%;
        transform: translate(-50%, -50%);
    }
}
