@import url("/assets/intranet-actions.css?v=20261019dl");
@layer intranetTypography {
/* User-mandated intranet typography. Shared by the shell and authenticated frames. */
html, body {
  font-family: Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", Arial, sans-serif !important;
}
body * { font-family: inherit !important; }
input, textarea, select, button { font-family: inherit !important; }
h1 {
  font-size: 26px !important;
  margin: 0 !important;
  color: #163b6a !important;
  letter-spacing: -.03em !important;
}
/* Optional intermediate title between the main title and its description. */
.intranet-step-title {
  font-size: 16px !important;
  margin: 12px 0 5px !important;
}
/* 제목 글자 크기는 강제하지 않는다 — 페이지별 CSS를 따른다 (2026-10-23 대표 지시로 11px !important 규칙 삭제) */
/* Background-colored headings keep their original contrasting text colors. */
:is(main h2, main h3, main h4, #chartTitle, .section-title:not(:has(h2,h3,h4)), .card-title, .group-title, .sheet-title, .permission-group-title, .task-title, .order-heading):not([data-heading-tone="preserve"], [data-heading-tone="preserve"] *, .card.primary *, [style*="background"], [style*="background"] *) {
  color: #172942 !important;
}
}

/* 공통 페이지 타이틀 (2026-10-14 대표 지침) — 모든 페이지가 같은 구조·클래스·규칙을 쓴다.
   <header class="intranet-page-heading">
     <div class="intranet-page-title"><h1>메인 타이틀</h1><p class="intranet-page-subtitle">서브 타이틀</p></div>
     (오른쪽 버튼·상태 영역은 페이지별)
   </header>
   타이틀 영역 아래 여백 28px. 레이어 밖 일반 규칙이라 !important 없이 페이지별 규칙보다 우선한다.
   클래스를 두 번 쓴 선택자는 우선순위를 한 단계 올려 페이지 CSS의 같은 단계 규칙에 밀리지 않게 한 것이다. */
.intranet-page-heading.intranet-page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  min-height: 0;
}
.intranet-page-heading.intranet-page-heading + * { margin-top: 0; }
.intranet-page-title { min-width: 0; }
.intranet-page-subtitle.intranet-page-subtitle {
  margin: 5px 0 0;
  color: #73839a;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* 공통 지침 — 표 텍스트 가운데 정렬 (2026-10-15 대표 지침)
   모든 표의 타이틀(th)·내용(td)과 셀 안 입력칸·선택칸 글자를 가운데 정렬한다.
   table:not(#\#)는 우선순위를 ID 한 단계만큼 올려 페이지별 표 정렬 규칙(클래스·ID 선택자)보다 앞서게 하는 장치다(!important 대신). */
table:not(#\#) :is(th, td) { text-align: center; }
table:not(#\#) :is(th, td) :is(input:not([type=checkbox]):not([type=radio]), textarea) { text-align: center; }
table:not(#\#) :is(th, td) select { text-align: center; text-align-last: center; }

/* 페이지 뼈대 (2026-10-15 대표 지침) — 인트라넷 안에 들어가는 페이지(iframe)는 <body><main class="intranet-frame">…</main></body> 하나다.
   바깥 여백은 인트라넷 본문(main.main 30px 34px)만 준다. :where()라 우선순위가 0이어서 페이지 전용 규칙이 있으면 그 규칙을 따른다. */
:where(.intranet-frame) { display: flow-root; margin: 0; padding: 0; min-width: 0; box-sizing: border-box; }
