/* KPGM UI v2 — 이 파일을 비활성화하면 기존 화면으로 즉시 돌아간다. */
:root {
  --kpgm-ui-navy:#10233f;
  --kpgm-ui-navy-deep:#0a182b;
  --kpgm-ui-teal:#07999d;
  --kpgm-ui-teal-dark:#087b7d;
  --kpgm-ui-gold:#d6a834;
  /* KPGM_PROTECTED_CONTRACT_MENU_PALETTE_START
   * 메뉴는 연한 세이지 표면과 짙은 글자를 공통으로 사용한다.
   * 로고 띠만 별도 selector에서 짙은 브랜드 녹색을 유지한다. */
  --kpgm-ui-menu-green:#eef4f0;
  --kpgm-ui-menu-deep:#d6e4db;
  --kpgm-ui-menu-accent:#33765a;
  /* KPGM_PROTECTED_CONTRACT_MENU_PALETTE_END */
  --kpgm-ui-paper:#ffffff;
  --kpgm-ui-canvas:#f3f6f9;
  --kpgm-ui-line:#dce3ea;
  --kpgm-ui-text:#243247;
  --kpgm-ui-muted:#738095;
  --kpgm-ui-shadow:0 10px 30px rgba(15,35,63,.07);
  --kpgm-ui-top-h:64px;
  --kpgm-ui-rail-w:328px;

  /* 글꼴은 이 다섯 값만 바꾸면 사이트 전체에 일괄 적용된다. */
  --kpgm-ui-font-ko:"Pretendard Variable",Pretendard,"Noto Sans KR",sans-serif;
  --kpgm-ui-font-en:"Pretendard Variable",Pretendard,"Segoe UI",Arial,sans-serif;
  --kpgm-ui-font-tl:"Pretendard Variable",Pretendard,"Segoe UI",Arial,sans-serif;
  --kpgm-ui-font-heading:"Noto Serif KR",Georgia,serif;
  --kpgm-ui-font-menu:"고양덕양 B",sans-serif;
}

/* KPGM_PROTECTED_CONTRACT_DOCUMENT_TRANSITION_START
 * 일반 링크 이동은 문서를 새로 읽되, 지원 브라우저에서는 고정 프레임을 이어
 * 그려 흰 화면 깜빡임을 줄인다. 미지원 브라우저의 기본 이동은 그대로 둔다. */
@view-transition { navigation:auto; }
html body.kpgm-ui-v2 #kpgm-side-nav { view-transition-name:kpgm-side-nav; }
html body.kpgm-ui-v2 .kpgm-ui-topbar { view-transition-name:kpgm-ui-topbar; }
html body.kpgm-ui-v2 #page { view-transition-name:kpgm-ui-page; }
/* 브라우저 기본 0.25초 group 보간이 같은 좌표의 고정 프레임까지 다시
 * 움직이는 현상을 막는다. group은 새 문서의 최종 좌표에 즉시 고정한다. */
::view-transition-group(root),
::view-transition-group(kpgm-side-nav),
::view-transition-group(kpgm-ui-topbar),
::view-transition-group(kpgm-ui-page) { animation:none !important; }
/* 좌측 메뉴와 상단바는 교차 페이드도 하지 않는다. 새 프레임을 즉시 표시하고
 * 실제로 바뀌는 본문만 아주 짧은 불투명도 전환을 사용한다. */
::view-transition-old(root),
::view-transition-old(kpgm-side-nav),
::view-transition-old(kpgm-ui-topbar) { animation:none !important; opacity:0; }
::view-transition-new(root),
::view-transition-new(kpgm-side-nav),
::view-transition-new(kpgm-ui-topbar) { animation:none !important; opacity:1; }
::view-transition-old(kpgm-ui-page) { animation:none !important; opacity:0; }
::view-transition-new(kpgm-ui-page) { animation:kpgm-ui-page-in .1s ease-out both; }
@keyframes kpgm-ui-page-in { from { opacity:.94; } }
@media (prefers-reduced-motion:reduce) {
  ::view-transition-group(root),
  ::view-transition-group(kpgm-side-nav),
  ::view-transition-group(kpgm-ui-topbar),
  ::view-transition-group(kpgm-ui-page),
  ::view-transition-old(root),
  ::view-transition-new(root),
  ::view-transition-old(kpgm-side-nav),
  ::view-transition-new(kpgm-side-nav),
  ::view-transition-old(kpgm-ui-topbar),
  ::view-transition-new(kpgm-ui-topbar),
  ::view-transition-old(kpgm-ui-page),
  ::view-transition-new(kpgm-ui-page) { animation:none; }
}
/* KPGM_PROTECTED_CONTRACT_DOCUMENT_TRANSITION_END */

html[lang^="ko"] body.kpgm-ui-v2 { --kpgm-ui-font-body:var(--kpgm-ui-font-ko); }
html[lang^="en"] body.kpgm-ui-v2 { --kpgm-ui-font-body:var(--kpgm-ui-font-en); }
html[lang^="tl"] body.kpgm-ui-v2 { --kpgm-ui-font-body:var(--kpgm-ui-font-tl); }

html body.kpgm-ui-v2 {
  --kpgm-ink:var(--kpgm-ui-text);
  --kpgm-ink-2:#526075;
  --kpgm-ink-3:var(--kpgm-ui-muted);
  --kpgm-line:var(--kpgm-ui-line);
  --kpgm-line-2:#edf1f5;
  --kpgm-bg-2:#f8fafc;
  --kpgm-bg-3:#f2f6f8;
  --kpgm-brand:var(--kpgm-ui-teal-dark);
  --kpgm-brand-2:var(--kpgm-ui-teal);
  --kpgm-brand-soft:#e7f5f5;
  --kpgm-font-sans:var(--kpgm-ui-font-body);
  --kpgm-font-serif:var(--kpgm-ui-font-heading);
  color:var(--kpgm-ui-text);
  background:var(--kpgm-ui-canvas);
  font-family:var(--kpgm-ui-font-body);
}

html body.kpgm-ui-v2 #page {
  box-sizing:border-box;
  min-height:100vh;
  padding-top:var(--kpgm-ui-top-h);
  background:var(--kpgm-ui-canvas);
}
html body.kpgm-ui-v2.kpgm-ui-v2-has-rail #page { padding-right:0; }

/* 세 언어 랜딩: 스킨 전환 전의 원래 서체·중앙 배치를 공통 구조로 보존한다. */
html body.kpgm-ui-v2.kpgm-front :is(.elementor-element-kpgmtxt1,.kpgm-decl__lead) {
  display:block !important;
  width:100% !important;
  color:#1f5e46 !important;
  -webkit-text-fill-color:#1f5e46 !important;
  font-family:"고양덕양 B",sans-serif !important;
  font-size:clamp(24px,2.8vw,42px) !important;
  font-weight:700 !important;
  line-height:1.65 !important;
  text-align:center !important;
  word-break:keep-all;
}
html[lang^="tl"] body.kpgm-ui-v2.kpgm-front :is(.elementor-element-kpgmtxt1,.kpgm-decl__lead) {
  font-size:clamp(22px,2.35vw,36px) !important;
}
html body.kpgm-ui-v2.kpgm-front .kpgm-jeju-hallasan {
  color:#1f5e46 !important;
  -webkit-text-fill-color:#1f5e46 !important;
  font-family:"JejuHallasan","제주한라산 OTF",sans-serif !important;
}
html body.kpgm-ui-v2.kpgm-front .kpgm-decl--hero {
  width:100% !important;
  max-width:none !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
@media (min-width:900px) {
  html body.kpgm-ui-v2.kpgm-front .kpgm-decl__lead { white-space:nowrap !important; }
}
@media (max-width:640px) {
  html body.kpgm-ui-v2.kpgm-front :is(.elementor-element-kpgmtxt1,.kpgm-decl__lead) {
    font-size:clamp(18px,5.2vw,24px) !important;
    line-height:1.72 !important;
  }
}

/* KPGM_PROTECTED_CONTRACT_MENU_PALETTE_RULES_START
 * 왼쪽 메뉴: 공통 색상과 상시 펼침 목록의 간격. 현재 위치만 강조한다. */
html body.kpgm-ui-v2 #kpgm-side-nav {
  color:#17362c !important;
  background:linear-gradient(180deg,var(--kpgm-ui-menu-deep),var(--kpgm-ui-menu-green)) !important;
  border-right:1px solid rgba(23,54,44,.14) !important;
  box-shadow:5px 0 25px rgba(30,73,57,.10) !important;
  scrollbar-color:rgba(51,118,90,.42) transparent;
}
html body.kpgm-ui-v2 #kpgm-side-nav::-webkit-scrollbar-thumb { background:rgba(51,118,90,.42); }
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-side__brand {
  min-height:78px;
  padding:20px 22px 16px !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  background:#1e4939 url('/wp-content/uploads/2026/08/kpgm-logo.png') no-repeat center center !important;
  background-size:auto 40px !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-side__brand b {
  color:var(--kpgm-ui-gold) !important;
  -webkit-text-fill-color:var(--kpgm-ui-gold) !important;
  font-size:25px !important;
  letter-spacing:1.6px !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-side__brand span { color:rgba(255,255,255,.62) !important; }
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-langs,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-account { display:none !important; }
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp.kpgmb-un,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp.kpgmb-un-2 {
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(23,54,44,.07) !important;
  border-radius:0 !important;
  background:transparent !important;
}
html body.kpgm-app.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp.current-menu-ancestor {
  background:transparent !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp > .kpgm-grp__btn {
  min-height:var(--kpgm-menu-group-height) !important;
  padding:var(--kpgm-menu-group-padding) !important;
  border:0 !important;
  border-left:3px solid transparent !important;
  border-radius:0 !important;
  color:#17362c !important;
  -webkit-text-fill-color:#17362c !important;
  background:transparent !important;
  font-family:var(--kpgm-ui-font-menu) !important;
  font-size:14px !important;
  font-weight:400 !important;
  font-synthesis:none !important;
  letter-spacing:0 !important;
  line-height:1.4 !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp > .kpgm-grp__btn:hover {
  color:#0f2b22 !important;
  -webkit-text-fill-color:#0f2b22 !important;
  background:rgba(255,255,255,.50) !important;
  border-left-color:var(--kpgm-ui-menu-accent) !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp.current-menu-item > .kpgm-grp__btn,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp.current-menu-ancestor > .kpgm-grp__btn {
  color:#17362c !important;
  -webkit-text-fill-color:#17362c !important;
  background:rgba(51,118,90,.16) !important;
  border-left-color:var(--kpgm-ui-menu-accent) !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub {
  margin:0 8px 6px !important;
  padding:2px 0 !important;
  border:1px solid rgba(23,54,44,.10) !important;
  border-radius:6px !important;
  background:rgba(255,255,255,.42) !important;
}
html body.kpgm-app.kpgm-ui-v2 #kpgm-side-nav .kpgm-grp.current-menu-ancestor > .kpgm-sub {
  background:rgba(255,255,255,.42) !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub a,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub__label {
  color:#36594c !important;
  -webkit-text-fill-color:#36594c !important;
  background:transparent !important;
  font-family:var(--kpgm-ui-font-menu) !important;
  font-size:13px !important;
  font-weight:500 !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub a {
  min-height:var(--kpgm-menu-row-height) !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub__no {
  color:#2d7256 !important;
  -webkit-text-fill-color:#2d7256 !important;
  background:none !important;
  font-family:var(--kpgm-ui-font-menu) !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub a:hover,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgm-sub li.current-menu-item > a {
  color:#17362c !important;
  -webkit-text-fill-color:#17362c !important;
  background:rgba(51,118,90,.18) !important;
  border-left-color:var(--kpgm-ui-menu-accent) !important;
}
html body.kpgm-ui-v2 #kpgm-side-nav .kpgmb-un > a::after,
html body.kpgm-ui-v2 #kpgm-side-nav .kpgmb-un > .kpgm-grp__btn::after {
  color:#2d7256 !important;
  -webkit-text-fill-color:#2d7256 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
/* KPGM_PROTECTED_CONTRACT_MENU_PALETTE_RULES_END */

/* KPGM_PROTECTED_CONTRACT_TOPBAR_PALETTE_START
 * 고정 상단: 메뉴와 같은 세이지 계열의 더 밝은 표면을 공통 적용한다. */
.kpgm-ui-topbar {
  position:fixed;
  z-index:10020;
  top:0;
  right:0;
  left:var(--kpgm-side-w,264px);
  height:var(--kpgm-ui-top-h);
  box-sizing:border-box;
  padding:0 22px;
  border-bottom:1px solid #d5e2da;
  background:rgba(246,249,247,.96);
  backdrop-filter:blur(12px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
/* KPGM_PROTECTED_CONTRACT_TOPBAR_PALETTE_END */
.admin-bar .kpgm-ui-topbar { top:32px; }
.kpgm-ui-topbar__context,.kpgm-ui-topbar__actions,.kpgm-ui-languages,.kpgm-ui-user { display:flex; align-items:center; }
.kpgm-ui-topbar__context { min-width:0; gap:9px; }
.kpgm-ui-topbar__home { color:#8a96a6; font-size:12px; text-decoration:none; }
.kpgm-ui-topbar__slash { color:#c4cbd4; }
.kpgm-ui-topbar__title { overflow:hidden; color:var(--kpgm-ui-navy); font-size:15px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.kpgm-ui-topbar__meta { flex:0 0 auto; color:#9aa4b1; font-size:11px; }
.kpgm-ui-topbar__actions { flex:0 0 auto; gap:8px; }
html body.kpgm-app.kpgm-ui-v2 :is(.kpgm-ui-action,.kpgm-ui-language,.kpgm-ui-notice,.kpgm-ui-sign,.kpgm-ui-assistant-toggle) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  box-sizing:border-box;
  border:1px solid var(--kpgm-ui-line) !important;
  border-radius:8px;
  color:#536176 !important;
  -webkit-text-fill-color:#536176 !important;
  background:#fff !important;
  font-size:11px;
  font-weight:750;
  line-height:1;
  text-decoration:none;
}
html body.kpgm-app.kpgm-ui-v2 :is(.kpgm-ui-action,.kpgm-ui-notice,.kpgm-ui-sign) { padding:0 11px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-action--primary { color:#fff !important; -webkit-text-fill-color:#fff !important; border-color:var(--kpgm-ui-teal-dark) !important; background:var(--kpgm-ui-teal-dark) !important; }
.kpgm-ui-languages { gap:3px; padding:3px; border:1px solid var(--kpgm-ui-line); border-radius:9px; background:#f5f7f9; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-language { min-width:31px; min-height:27px; border:0 !important; background:transparent !important; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-language.is-current { color:#fff !important; -webkit-text-fill-color:#fff !important; background:var(--kpgm-ui-navy) !important; }
.kpgm-ui-user { max-width:130px; gap:7px; color:#536176; font-size:11px; }
.kpgm-ui-user span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kpgm-ui-user__avatar { width:28px; height:28px; border-radius:8px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-assistant-toggle { width:34px; padding:0; color:#fff !important; -webkit-text-fill-color:#fff !important; border-color:var(--kpgm-ui-teal) !important; background:var(--kpgm-ui-teal) !important; font-size:12px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-topbar :is(a,button):hover { color:var(--kpgm-ui-navy) !important; -webkit-text-fill-color:var(--kpgm-ui-navy) !important; border-color:#9ca9b8 !important; background:#f3f6f8 !important; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-topbar :is(.kpgm-ui-action--primary,.kpgm-ui-language.is-current,.kpgm-ui-assistant-toggle):hover { color:#fff !important; -webkit-text-fill-color:#fff !important; border-color:var(--kpgm-ui-navy) !important; background:var(--kpgm-ui-navy) !important; }

/* 게시판·게시글을 흰 카드로 만들되 기존 기능 class와 DOM은 바꾸지 않는다. */
html body.kpgm-ui-v2 .site-content { background:var(--kpgm-ui-canvas); }
html body.kpgm-ui-v2 #page .kpgmb-board__wrap {
  box-sizing:border-box;
  flex:1 1 0;
  width:calc(100% - 44px);
  max-width:none;
  min-width:0;
  margin:22px;
  padding:0;
  background:transparent;
}
html body.kpgm-ui-v2 #page .kpgmb-board {
  overflow:hidden;
  border:1px solid var(--kpgm-ui-line);
  border-radius:14px;
  background:var(--kpgm-ui-paper);
  box-shadow:var(--kpgm-ui-shadow);
}
html body.kpgm-ui-v2.tax-kpgm_board #page .kpgmb-board__head { display:none; }
html body.kpgm-ui-v2 #page .kpgmb-rows__head {
  min-height:42px;
  padding:0 18px;
  border-bottom:1px solid var(--kpgm-ui-line);
  color:#8994a3 !important;
  -webkit-text-fill-color:#8994a3 !important;
  background:#fafbfd;
  font-size:11px;
}
html body.kpgm-ui-v2 #page .kpgmb-row {
  min-height:66px;
  box-sizing:border-box;
  padding:10px 18px;
  border-bottom:1px solid #edf1f5;
  background:#fff;
}
html body.kpgm-ui-v2 #page .kpgmb-row:hover,
html body.kpgm-ui-v2 #page .kpgmb-row.is-top:hover {
  background:#f5fafb !important;
  box-shadow:inset 3px 0 var(--kpgm-ui-teal);
}
html body.kpgm-ui-v2 #page .kpgmb-row__title {
  color:#1d2b3e !important;
  -webkit-text-fill-color:#1d2b3e !important;
  font-size:15px;
  font-weight:650;
  line-height:1.45;
}
html body.kpgm-ui-v2 #page .kpgmb-title-pair__translation { color:#778397 !important; -webkit-text-fill-color:#778397 !important; }
html body.kpgm-ui-v2 #page .kpgmb-row__no,
html body.kpgm-ui-v2 #page .kpgmb-row__who,
html body.kpgm-ui-v2 #page .kpgmb-row__when,
html body.kpgm-ui-v2 #page .kpgmb-row__hit,
html body.kpgm-ui-v2 #page .kpgmb-row__status,
html body.kpgm-ui-v2 #page .kpgmb-row__manage { color:#7f8b9b !important; -webkit-text-fill-color:#7f8b9b !important; font-size:12px; }
html body.kpgm-ui-v2 #page .kpgmb-rows__head * { color:#8994a3 !important; -webkit-text-fill-color:#8994a3 !important; }

/* 목록 열 계약: 일반형 5칸, 관리형 7칸을 명시해 빈 가상 열 없이 제목에 남는 폭을 모두 준다. */
@media (min-width:1120px) {
  html body.kpgm-ui-v2 #page .kpgmb-rows__head,
  html body.kpgm-ui-v2 #page .kpgmb-row {
    display:grid;
    grid-template-columns:44px minmax(0,1fr) minmax(106px,116px) 84px 40px;
    column-gap:8px;
    align-items:center;
  }
  html body.kpgm-ui-v2 #page .kpgmb-rows__head--manage,
  html body.kpgm-ui-v2 #page .kpgmb-row--manage {
    grid-template-columns:44px minmax(0,1fr) minmax(106px,116px) 84px 40px 64px 72px;
  }
  html body.kpgm-ui-v2 #page :is(.kpgmb-rows__head,.kpgmb-row) > :is(.kpgmb-row__no,.kpgmb-row__title,.kpgmb-row__who,.kpgmb-row__when,.kpgmb-row__hit,.kpgmb-row__status,.kpgmb-row__manage) {
    grid-column:auto;
    box-sizing:border-box;
    width:auto;
    min-width:0;
    max-width:none;
    margin:0;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row--manage .kpgmb-row__status {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row--manage .kpgmb-row__manage {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:2px;
  }
}
html body.kpgm-ui-v2 #page .kpgmb-status-btn {
  min-width:60px;
  min-height:23px;
  padding:3px 5px;
  font-size:10.5px;
  color:#667386 !important;
  -webkit-text-fill-color:#667386 !important;
  border-color:#cfd8e2 !important;
  background:#fff !important;
}
html body.kpgm-ui-v2 #page .kpgmb-row__manage :is(.kpgmb-manage__move,.kpgmb-manage__edit,.kpgmb-manage__trash) {
  display:inline-grid;
  place-items:center;
  flex:0 0 16px;
  width:16px;
  min-width:16px;
  height:24px;
  padding:0;
  border:0;
  border-radius:4px;
  color:#607086 !important;
  -webkit-text-fill-color:#607086 !important;
  background:transparent !important;
  font-size:11px;
  line-height:1;
  text-decoration:none;
}
html body.kpgm-ui-v2 #page .kpgmb-row__manage :is(.kpgmb-manage__move,.kpgmb-manage__edit,.kpgmb-manage__trash):hover,
html body.kpgm-ui-v2 #page .kpgmb-row__manage :is(.kpgmb-manage__move,.kpgmb-manage__edit,.kpgmb-manage__trash):focus-visible {
  color:var(--kpgm-ui-navy) !important;
  -webkit-text-fill-color:var(--kpgm-ui-navy) !important;
  background:#edf2f7 !important;
}
html body.kpgm-ui-v2 #page .kpgmb-status-btn.is-active {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:var(--kpgm-ui-navy) !important;
  background:var(--kpgm-ui-navy) !important;
}
html body.kpgm-ui-v2 #page .kpgmb-status-btn:hover,
html body.kpgm-ui-v2 #page .kpgmb-status-btn:focus-visible {
  color:var(--kpgm-ui-navy) !important;
  -webkit-text-fill-color:var(--kpgm-ui-navy) !important;
  border-color:#aeb9c6 !important;
  background:#f3f6f9 !important;
}
html body.kpgm-ui-v2 #page .kpgmb-status-btn.is-active:hover,
html body.kpgm-ui-v2 #page .kpgmb-status-btn.is-active:focus-visible {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:var(--kpgm-ui-navy-deep) !important;
  background:var(--kpgm-ui-navy-deep) !important;
}
html body.kpgm-ui-v2 #page .kpgmb-board__empty { min-height:280px; box-sizing:border-box; padding:92px 20px; }
html body.kpgm-ui-v2 #page .kpgmb-board__pager { padding-bottom:16px; }
html body.kpgm-ui-v2 #page .kpgmb-board__pager .current { background:var(--kpgm-ui-navy); }

html body.kpgm-ui-v2.single-kpgm_post #primary,
html body.kpgm-ui-v2.single-kpgm_post .site-main { max-width:none; }
html body.kpgm-ui-v2.single-kpgm_post article.kpgm_post,
html body.kpgm-ui-v2.single-kpgm_post .type-kpgm_post {
  box-sizing:border-box;
  width:auto;
  max-width:none;
  margin:22px;
  padding:26px clamp(20px,3vw,44px) 36px;
  border:1px solid var(--kpgm-ui-line);
  border-radius:14px;
  background:#fff;
  box-shadow:var(--kpgm-ui-shadow);
}
html body.kpgm-ui-v2.single-kpgm_post .entry-header { max-width:980px; margin-right:auto; margin-left:auto; }
html body.kpgm-ui-v2.single-kpgm_post .entry-title,
html body.kpgm-ui-v2.single-kpgm_post.kpgm-legacy-source .entry-title {
  margin:12px auto 18px;
  color:var(--kpgm-ui-navy);
  font-family:var(--kpgm-ui-font-heading);
  font-size:clamp(17px,1.25vw,20px) !important;
  font-weight:700;
  line-height:1.5;
  letter-spacing:-.2px;
  text-align:left;
}
html body.kpgm-ui-v2.single-kpgm_post .kpgmb-post { font-family:var(--kpgm-ui-font-body); color:var(--kpgm-ui-text); }
html body.kpgm-ui-v2.single-kpgm_post .kpgmb-reader__toolbar {
  border:1px solid var(--kpgm-ui-line);
  border-radius:11px;
  background:#f8fafc;
}
html body.kpgm-ui-v2.single-kpgm_post .kpgmb-reader__language.is-selected { border-color:var(--kpgm-ui-teal-dark); background:var(--kpgm-ui-teal-dark) !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }
html body.kpgm-ui-v2.single-kpgm_post .kpgmb-reader__pane,
html body.kpgm-ui-v2.single-kpgm_post .kpgmb-reader__aligned-pair { border-color:var(--kpgm-ui-line); border-radius:10px; }
html body.kpgm-ui-v2.single-kpgm_post .kpgmb-foot__edit { border-color:#b9c5d1 !important; background:#f8fafc !important; }

/* KPGM 도우미: 답변 영역이 남는 공간을 채우고 입력창은 항상 맨 아래에 둔다. */
.kpgm-ui-rail {
  position:fixed;
  z-index:10010;
  top:var(--kpgm-ui-top-h);
  right:0;
  bottom:0;
  width:var(--kpgm-ui-rail-w);
  box-sizing:border-box;
  padding:16px;
  border-left:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,var(--kpgm-ui-navy-deep),#163657);
  color:#fff;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transform:translateX(105%);
  transition:transform .2s ease;
}
.kpgm-ui-rail.is-open { transform:translateX(0); }
.admin-bar .kpgm-ui-rail { top:calc(var(--kpgm-ui-top-h) + 32px); }
.kpgm-ui-rail__head { flex:0 0 auto; display:grid; grid-template-columns:36px minmax(0,1fr) 28px; gap:10px; align-items:center; }
.kpgm-ui-rail__mark { width:36px; height:36px; border-radius:10px; display:grid; place-items:center; background:var(--kpgm-ui-teal); font-size:13px; font-weight:900; }
.kpgm-ui-rail__head strong,.kpgm-ui-rail__head small { display:block; }
.kpgm-ui-rail__head strong { font-size:14px; }
.kpgm-ui-rail__head small { margin-top:3px; color:rgba(255,255,255,.52); font-size:10px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-rail__close { width:28px; height:28px; padding:0; border:0 !important; color:rgba(255,255,255,.58) !important; -webkit-text-fill-color:rgba(255,255,255,.58) !important; background:transparent !important; font-size:20px; }
.kpgm-ui-scope { flex:0 0 auto; margin:13px 0 9px; padding:9px 10px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.055); }
.kpgm-ui-scope > strong { color:#fff; display:block; font-size:11px; }
.kpgm-ui-scope > p { margin:4px 0 7px; color:rgba(255,255,255,.68); font-size:10px; line-height:1.45; }
.kpgm-ui-scope > a { padding-top:7px; border-top:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.66); display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:9px; text-decoration:none; }
.kpgm-ui-scope > a b { color:#8de0e1; font-size:10px; white-space:nowrap; }
.kpgm-ui-scope > a:hover b,.kpgm-ui-scope > a:focus-visible b { color:#fff; }
.kpgm-ui-quick { flex:0 0 auto; margin:0 0 9px; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-quick button { min-height:55px; padding:7px 3px; border:1px solid rgba(255,255,255,.12) !important; border-radius:9px; color:rgba(255,255,255,.72) !important; -webkit-text-fill-color:rgba(255,255,255,.72) !important; background:rgba(255,255,255,.06) !important; font-size:10px; font-weight:700; }
.kpgm-ui-quick button span { margin-bottom:5px; display:block; color:#67d2d4; font-size:14px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-quick button:hover { color:#fff !important; -webkit-text-fill-color:#fff !important; border-color:rgba(103,210,212,.55) !important; background:rgba(7,153,157,.18) !important; }
.kpgm-ui-chat {
  flex:1 1 auto;
  min-height:140px;
  height:auto;
  box-sizing:border-box;
  padding:12px 7px;
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,255,255,.22) transparent;
}
.kpgm-ui-message { width:fit-content; max-width:92%; margin:0 0 9px; padding:8px 10px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.07); }
.kpgm-ui-message--user { margin-left:auto; border-color:transparent; border-bottom-right-radius:3px; background:var(--kpgm-ui-teal-dark); }
.kpgm-ui-message--assistant { border-bottom-left-radius:3px; }
.kpgm-ui-message small { width:fit-content; margin-bottom:5px; padding:2px 5px; border-radius:4px; color:#8de0e1; background:rgba(7,153,157,.14); display:block; font-size:9px; font-weight:800; }
.kpgm-ui-message p { margin:0; color:rgba(255,255,255,.84); font-size:12px; line-height:1.65; word-break:normal; overflow-wrap:anywhere; }
.kpgm-ui-message--user p { color:#fff; }
.kpgm-ui-results { margin:0; padding:0; list-style:none; }
.kpgm-ui-results li + li { margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.1); }
.kpgm-ui-results a { display:block; color:#fff; font-size:12px; font-weight:700; line-height:1.45; text-decoration:none; }
.kpgm-ui-results span { margin-top:2px; display:block; color:rgba(255,255,255,.5); font-size:9px; }
.kpgm-ui-login-link { margin-top:7px; display:inline-flex; color:#fff; font-size:11px; text-decoration:underline; }
.kpgm-ui-composer { flex:0 0 auto; min-height:58px; margin-top:9px; padding:5px; border:1px solid rgba(255,255,255,.17); border-radius:10px; background:rgba(255,255,255,.08); display:grid; grid-template-columns:minmax(0,1fr) 34px 34px; gap:4px; align-items:end; }
.kpgm-ui-composer textarea { box-sizing:border-box; height:46px; min-height:46px; max-height:92px; padding:7px 6px; border:0; outline:0; overflow-y:hidden; resize:none; color:#fff; background:transparent; font:12px/1.5 var(--kpgm-ui-font-body); }
.kpgm-ui-composer textarea::placeholder { color:rgba(255,255,255,.42); }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-composer button { width:34px; height:34px; padding:0; border:0 !important; border-radius:8px; color:#fff !important; -webkit-text-fill-color:#fff !important; background:rgba(255,255,255,.1) !important; display:grid; place-items:center; font-size:14px; }
.kpgm-ui-mic__icon { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-composer .kpgm-ui-send { background:var(--kpgm-ui-teal) !important; font-size:19px; }
html body.kpgm-app.kpgm-ui-v2 .kpgm-ui-composer .kpgm-ui-mic.is-listening { background:#cf5656 !important; box-shadow:0 0 0 3px rgba(207,86,86,.22); }
.kpgm-ui-composer button:disabled { opacity:.35; cursor:not-allowed; }
.kpgm-ui-voice-status { flex:0 0 auto; margin:7px 3px 0; color:rgba(255,255,255,.68); font-size:10px; }
/* KPGM_PROTECTED_CONTRACT_HOSTINGER_KODEE_START
 * KPGM 도우미와 겹치는 Hostinger Kodee의 열기 버튼뿐 아니라
 * 동작하지 않는 보라색 이동 손잡이까지 공통 컨테이너째 숨긴다. */
body.kpgm-ui-v2 .kodee-fab { display:none !important; }
/* KPGM_PROTECTED_CONTRACT_HOSTINGER_KODEE_END */

/* 기존 테마의 전역 초록 버튼 규칙은 UI v2 소유 버튼에 관여하지 못한다. */
html body.kpgm-app.kpgm-ui-v2 .kpgm-burger {
  color:var(--kpgm-ui-navy) !important;
  -webkit-text-fill-color:var(--kpgm-ui-navy) !important;
  border-color:var(--kpgm-ui-line) !important;
  background:#fff !important;
}

@media (min-width:1281px) {
  html body.kpgm-ui-v2.kpgm-ui-v2-has-rail #page,
  body.kpgm-ui-v2-has-rail .kpgm-ui-topbar,
  .kpgm-ui-rail { transition:padding-right .2s ease,right .2s ease,transform .2s ease; }
  html body.kpgm-ui-v2.kpgm-ui-v2-has-rail.kpgm-ui-rail-open #page { padding-right:var(--kpgm-ui-rail-w); }
  body.kpgm-ui-v2-has-rail.kpgm-ui-rail-open .kpgm-ui-topbar { right:var(--kpgm-ui-rail-w); }
}
@media (max-width:1280px) {
  html body.kpgm-ui-v2.kpgm-ui-v2-has-rail #page { padding-right:0; }
  .kpgm-ui-rail { z-index:10060; top:0; width:min(360px,94vw); box-shadow:-10px 0 30px rgba(5,18,33,.28); }
  .admin-bar .kpgm-ui-rail { top:32px; }
}
@media (max-width:900px) {
  :root { --kpgm-ui-top-h:60px; }
  .kpgm-ui-topbar { left:0; padding:0 12px 0 58px; }
  .kpgm-ui-burger,.kpgm-burger { z-index:10040; }
  .kpgm-ui-notice,.kpgm-ui-user span,.kpgm-ui-sign { display:none; }
  html body.kpgm-ui-v2 #page .kpgmb-board__wrap,
  html body.kpgm-ui-v2.single-kpgm_post article.kpgm_post,
  html body.kpgm-ui-v2.single-kpgm_post .type-kpgm_post { margin:14px 10px; }
}
@media (max-width:640px) {
  .kpgm-ui-topbar__home,.kpgm-ui-topbar__slash,.kpgm-ui-topbar__meta { display:none; }
  .kpgm-ui-topbar__title { max-width:34vw; font-size:13px; }
  .kpgm-ui-action { width:34px; padding:0; overflow:hidden; color:transparent; font-size:0; }
  .kpgm-ui-action::before { content:"＋"; color:#fff; font-size:18px; }
  .kpgm-ui-topbar__actions { gap:4px; }
  .kpgm-ui-languages { gap:1px; }
  .kpgm-ui-language { min-width:27px; padding:0; font-size:10px; }
  html body.kpgm-ui-v2 #page .kpgmb-rows__head { display:none; }
  html body.kpgm-ui-v2 #page .kpgmb-row {
    min-height:82px;
    padding:13px 12px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:5px 10px;
    align-items:start;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row__title {
    grid-column:1 / -1;
    width:auto;
    overflow:visible;
    display:block;
    font-size:14px;
    white-space:normal;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row__who {
    grid-column:1;
    display:block;
    width:auto;
    text-align:left;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row__when {
    grid-column:2;
    width:auto;
    text-align:right;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row__status {
    grid-column:1;
    width:auto;
    justify-self:start;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row__manage {
    grid-column:2;
    width:auto;
    justify-self:end;
  }
  html body.kpgm-ui-v2 #page .kpgmb-row__no,
  html body.kpgm-ui-v2 #page .kpgmb-row__hit { display:none; }
  html body.kpgm-ui-v2.single-kpgm_post article.kpgm_post,
  html body.kpgm-ui-v2.single-kpgm_post .type-kpgm_post { padding:18px 14px 28px; }
  html body.kpgm-ui-v2.single-kpgm_post .entry-title,
  html body.kpgm-ui-v2.single-kpgm_post.kpgm-legacy-source .entry-title { font-size:17px !important; }
  .kpgm-ui-scope { margin-top:10px; }
  .kpgm-ui-chat { min-height:160px; height:auto; }
}
@media (max-width:782px) {
  .admin-bar .kpgm-ui-topbar { top:46px; }
  .admin-bar .kpgm-ui-rail { top:46px; }
}
@media (prefers-reduced-motion:reduce) {
  .kpgm-ui-rail { transition:none; }
}
