/**
 * index.html 마크업 보조: 인라인 스타일을 클래스·토큰으로 이전 (조직도 범례, 그리드 스택, KPI 여백 등).
 * --view-section-gap / --view-panel-stack-gap 는 erp-app-base.css :root 에 정의.
 *
 * 타이포 정책: 패널·툴바 제목은 이모지 없이 한글/영문 텍스트만 사용 (브랜드 톤 통일).
 */

/* ── 조직도 범례 도트 ── */
.oc-legend-dot--group {
  background: linear-gradient(135deg, #0f2744, #1a3a5c);
}
.oc-legend-dot--center {
  background: linear-gradient(135deg, #1e3a8a, #2563eb);
}
.oc-legend-dot--office {
  background: linear-gradient(135deg, #ea580c, #fb923c);
}
.oc-legend-dot--team {
  background: linear-gradient(135deg, #15803d, #22c55e);
}
.oc-legend-dot--part {
  background: linear-gradient(135deg, #fde047, #facc15);
}

.oc-stat-dot--blue {
  background: #60a5fa;
}
.oc-stat-dot--indigo {
  background: #818cf8;
}
.oc-stat-dot--green {
  background: #34d399;
}
.oc-stat-dot--violet {
  background: #a78bfa;
}

.oc-members-meta-inline {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}

/* 조직 내부 중첩 패널: flex 자식 수축 */
.panel--min-h-0 {
  min-height: 0;
}

/* ── 그리드 / KPI 스택 간격 (토큰) ── */
.product-kpi-strip--mb-12 {
  margin-bottom: var(--view-kpi-strip-gap, 12px);
}

.product-kpi-strip--mb-10 {
  margin-bottom: var(--view-kpi-strip-gap-sm, 10px);
}

.grid--flush-y {
  margin-top: 0;
  margin-bottom: 0;
}

.grid--stack-tight {
  margin-top: var(--view-section-gap, 8px);
  margin-bottom: 0;
}

.record-table--mt-8 {
  margin-top: var(--view-panel-stack-gap, 8px);
}

.summary-box--mt-6 {
  margin-top: var(--view-panel-stack-gap-sm, 6px);
}

/* 거래처 라이프사이클 스트립: 기본 숨김 (표시 로직 추가 시 클래스 제거·JS 보강) */
.metric-strip--hidden {
  display: none;
}

/* 매출유형 랭킹 바 / 조직 믹스 호스트 */
#stRankBars.st-rank-bars-host {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 4px 0 8px;
}

#stOrgMixViz.st-org-mix-viz-host {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 4px 0;
}

/* 이슈 센터 상단 KPI 바 */
#issueSummaryBar.issue-summary-bar-host {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

/* 이슈 드릴다운 빈 상태 */
.issue-drilldown-placeholder-inner {
  text-align: center;
  padding: 32px 16px;
  color: var(--muted);
}

.issue-drilldown-placeholder-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  font-size: 26px;
  font-weight: 800;
  line-height: 1;
  opacity: 0.4;
  color: var(--muted);
  border: 2px solid currentColor;
  border-radius: 50%;
}

.issue-drilldown-placeholder-text {
  font-size: 14px;
  font-weight: 600;
}

/* -------------------------------------------------------------------------- */
/* 강한 리디자인 패스: 헤더/툴바/레이아웃/표면/타이포/모션 전면 강화                     */
/* -------------------------------------------------------------------------- */
/*
  Header cascade map (최종 우선순위):
  1) erp-app-base.css(기본)
  2) erp-atlas-skin.css(테마/헤더 프레임)
  3) erp-index-layout-extras.css(최종 통합 레이어, 본 블록)
*/
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) {
  --impact-shell-max-width: 100%;
  --impact-shell-padding: clamp(8px, 0.95vw, 14px);
  --impact-panel-radius: 20px;
  --impact-panel-border: color-mix(in srgb, var(--primary) 18%, transparent);
  --impact-panel-shadow: 0 16px 42px rgba(15, 23, 42, 0.12);
  --impact-panel-shadow-hover: 0 24px 54px rgba(15, 23, 42, 0.16);
  --impact-headline-size: clamp(22px, 1.65vw, 30px);
  --impact-title-size: clamp(19px, 1.2vw, 24px);
}

/* 베이스의 shell/main 폭 계산과 충돌 방지: 전체 폭 100%로 고정 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .shell {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) main {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  /* 본문 높이: --erp-visible-vh(dvh 우선) + JS 실측 --top-chrome-offset */
  height: calc((var(--erp-visible-vh, 100vh) - var(--top-chrome-offset)) / var(--content-zoom, 1)) !important;
  min-height: calc((var(--erp-visible-vh, 100vh) - var(--top-chrome-offset)) / var(--content-zoom, 1)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* 플렉/그리드 자식이 main 높이를 넘겨 겹치지 않도록 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) main > .view {
  min-height: 0 !important;
}

/* 1) 헤더 / 툴바: 상단 띠는 뷰포트 폭에 고정
   — width:100% 는 문서(넓은 표 등)가 넓어질 때 조상 폭을 따라가 fixed 헤더·로고가 잘림.
   — 메인요약 .main-summary-local-header 는 100vw 기준이라 정상; 글로벌 크롬도 동일하게 100vw 사용 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  z-index: 2000 !important;
  backdrop-filter: blur(12px) saturate(1.12) !important;
  -webkit-backdrop-filter: blur(12px) saturate(1.12) !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header.atlas-page-header {
  min-height: var(--app-header-bar-height) !important;
  height: var(--app-header-bar-height) !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  border-bottom: 1px solid color-mix(in srgb, #fff 22%, transparent) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.26) !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-page-header-inner {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  min-height: var(--app-header-bar-height) !important;
  height: var(--app-header-bar-height) !important;
  margin: 0 !important;
  padding: 0 6px !important;
  gap: 0 !important;
  box-sizing: border-box !important;
}

/* 헤더는 메인요약과 동일: 풀폭 + 로고 모서리 정렬 */
/* 메인요약 .main-summary-local-header 의 cover-corner-logo 와 동일: inner 기준 좌우 0·상단 0 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-logo.left {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-logo.right {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  transform: none !important;
  margin: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* 요약~이후 헤더 타이틀 표시 강제(메인요약과 동일한 헤더 그리드 내부 정렬로 복구) */
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-copy {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  width: max-content !important;
  max-width: min(92vw, 720px) !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  text-align: center !important;
  pointer-events: none !important;
  z-index: 1301 !important;
}

/* 일반 헤더를 메인요약 헤더와 동일 구성으로 정렬:
   - 좌측: 메인/초기화 버튼
   - 중앙: 타이틀
   - 우측: 테마 + 툴팁
   (메인요약과의 유일한 차이: 버튼 텍스트 '분석' vs '메인')
*/
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-left-nav-group.atlas-header-actions {
  position: absolute !important;
  left: clamp(88px, 7.5vw, 136px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 4 !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-left-nav-btn {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(15, 23, 42, 0.4) !important;
  color: #f8fafc !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  font-family: "Sora", "Noto Sans KR", sans-serif !important;
  box-sizing: border-box !important;
}
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-left-nav-btn:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
  color: #ffffff !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-utility-box.atlas-header-util {
  position: absolute !important;
  right: clamp(200px, 16vw + 120px, 280px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
}

/* 메인요약과 동일하게 일반 헤더에서 모드/Data는 숨김 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-utility-box.atlas-header-util .mode-cluster,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-utility-box.atlas-header-util > .theme-picker.compact:first-of-type {
  display: none !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) #dataSourceSelector {
  display: none !important;
}

/* 메인요약 타이틀 중앙 배치와 동일 좌표계 적용 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-masthead.page-header-copy {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  text-align: center !important;
  width: max-content !important;
  max-width: min(92vw, 720px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-masthead.page-header-copy h1 {
  margin: 0 !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-masthead.page-header-copy .page-header-eyebrow {
  margin: 4px 0 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

/* 우측 테마/툴팁 UI도 메인요약 규격으로 고정 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-utility-box.atlas-header-util label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-utility-box.atlas-header-util select {
  height: 30px !important;
  border-radius: 999px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .header-utility-box.atlas-header-util .tooltip-toggle-btn {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 11px !important;
  font-size: 12px !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-copy h1,
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-copy .page-header-eyebrow,
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-copy span.page-header-eyebrow {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* (중복 제거됨 — 아래 FINAL 블록 747행대에서 동일 규칙을 더 높은 특이도로 선언) */

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-util .mode-cluster,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-util .theme-picker,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-util .tooltip-toggle-btn {
  border-radius: 12px !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, #fff 20%, transparent) inset !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .chrome-toolbar.atlas-chrome-toolbar {
  padding: 3px clamp(8px, 1vw, 18px) 0 !important;
  border-bottom: 1px solid color-mix(in srgb, var(--primary) 18%, transparent) !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 74%, transparent), color-mix(in srgb, var(--panel) 88%, transparent)) !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .unified-toolbar .atlas-dock--top .atlas-dock-item.tab {
  min-height: 52px !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .unified-toolbar .atlas-dock--top .atlas-dock-item.tab.active {
  transform: translateY(-1px);
  box-shadow:
    0 8px 18px color-mix(in srgb, var(--primary) 35%, transparent),
    0 0 0 1px color-mix(in srgb, #fff 24%, transparent) inset !important;
}

/* 2) 레이아웃: 섹션 밀도 완화 + 리듬 강화 */
/* 상단 고정 크롬 아래로 본문이 오도록 padding-top 은 반드시 JS 실측 --top-chrome-offset 과 일치.
   (padding 단축 1px … 가 erp-app-base 의 padding-top 을 덮어써 main 이 뷰포트 맨 위부터 그려지던 버그) */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-shell {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-top: var(--top-chrome-offset) !important;
  padding-left: var(--impact-shell-padding) !important;
  padding-right: var(--impact-shell-padding) !important;
  padding-bottom: 24px !important;
  box-sizing: border-box !important;
}

/* 주요 레이아웃 요소가 부모 폭을 넘어가지 않도록 공통 보호 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .view,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .grid,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .panel,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .glass-panel {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section {
  margin-bottom: 18px !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section-title {
  margin-bottom: 14px !important;
  padding-bottom: 8px !important;
}

/* section-title 타이포는 erp-index-section-overrides.css 단일 소스 사용 */

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .grid,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .report-row,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .main-summary-grid {
  gap: 12px !important;
}

/* 3) 카드 표면/대비: 시각적 구획 강화 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .panel,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .glass-panel {
  border-radius: var(--impact-panel-radius) !important;
  border: 1px solid var(--impact-panel-border) !important;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 96%, #fff 4%) 0%, color-mix(in srgb, var(--panel) 86%, var(--bg-2) 14%) 100%) !important;
  box-shadow: var(--impact-panel-shadow) !important;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .panel:hover,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .glass-panel:hover {
  transform: translateY(-2px);
  box-shadow: var(--impact-panel-shadow-hover) !important;
  border-color: color-mix(in srgb, var(--primary) 30%, transparent) !important;
}

body.erp-atlas[data-theme="dark"]:not(.cover-mode):not(.main-summary-mode) .panel,
body.erp-atlas[data-theme="dark"]:not(.cover-mode):not(.main-summary-mode) .glass-panel {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 94%, #000 6%) 0%, color-mix(in srgb, var(--panel) 82%, #000 18%) 100%) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.5) !important;
}

body.erp-atlas[data-theme="warm"]:not(.cover-mode):not(.main-summary-mode) .panel,
body.erp-atlas[data-theme="warm"]:not(.cover-mode):not(.main-summary-mode) .glass-panel {
  box-shadow: 0 14px 34px rgba(45, 27, 15, 0.12) !important;
}

/* 4) 타이포 + 모션
   panel-head h3 font-size/letter-spacing → erp-ui-polish.css에서 최종 결정 */

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .panel-head .meta,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .mini-note {
  letter-spacing: 0.01em !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .btn,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .btn-mini,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .main-summary-org-toggle-btn,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .org-compare-period-btn,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .table-sortable-th {
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .btn:hover,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .btn-mini:hover,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .main-summary-org-toggle-btn:hover,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .org-compare-period-btn:hover {
  transform: translateY(-1px);
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .view.active .panel,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .view.active .glass-panel {
  animation: impactFadeRise 340ms ease both;
}

@keyframes impactFadeRise {
  from {
    opacity: 0.82;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 1180px) {
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-util {
    transform: scale(0.96);
    transform-origin: right center;
  }
}

/* -------------------------------------------------------------------------- */
/* Impeccable Full Pass 보강: adapt / harden / polish                           */
/* -------------------------------------------------------------------------- */

/* 정보 스캔성 강화: 섹션 타이틀 2열(좌 설명 + 우 컨트롤) 정렬 안정화 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section-title {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}

/* 기간·연도 필터(섹션 타이틀 우측 정렬 고정) */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section-title .section-title-filters {
  margin-left: auto !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section-title > p {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: min(52ch, 42%) !important;
  margin: 0 !important;
  text-align: right;
}

/* 도크 아이콘은 장식요소로 축소(텍스트 라벨 우선 스캔) */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-dock-glyph {
  opacity: 0.62;
  transform: translateY(-0.5px);
}

/* 데이터 테이블 가독성 강화
   overflow는 base에서 overflow-x/y를 분리 제어하므로 여기서 단축 속성으로 덮지 않음 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .record-table {
  border-radius: 14px !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--line) 72%, transparent);
}

/* 좁은 패널(조직 부록 우측 표 등)은 min-width가 컨테이너보다 크게 잡히면 가로 스크롤·열 밀림 유발 → 제외 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .record-table:not(.org-investment-side-table) table {
  min-width: min(100%, 720px);
  width: 100%;
}

/* 부록 인원·투자·매출: 그리드 40% 열 안에서 100% 폭 고정 (Atlas 공통 min-width 무효) */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) #view-organization .record-table.org-investment-side-table table {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

/* record-table th sticky: base의 flex-tbody 패턴이 thead th를 static !important로
   고정하므로 여기서 sticky를 선언해도 무효. 개별 테이블(org-investment 등)에서
   display: table-row-group 복원 시 base에서 직접 sticky !important 적용 중 */

/* 버튼/필드 hit-area 강화 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) button,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) select,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) input {
  min-height: 34px;
}

/* 키보드 접근성 시각화 */
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) button:focus-visible,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) select:focus-visible,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) input:focus-visible,
body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .tab:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--primary) 72%, #fff 28%) !important;
  outline-offset: 2px !important;
}

/* 대형 화면: 콘텐츠 폭 확장 시 카드 가독성 보정 */
@media (min-width: 1680px) {
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) {
    --impact-shell-max-width: 100%;
  }
  /* panel-head h3 font-size → erp-ui-polish.css에서 최종 결정 */
}

/* 태블릿 이하: 헤더/툴바/섹션 타이틀 적응형 */
@media (max-width: 1024px) {
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-page-header-inner {
    grid-template-columns: auto 1fr auto auto !important;
    grid-template-rows: 1fr !important;
    row-gap: 0 !important;
    min-height: var(--app-header-bar-height) !important;
    height: var(--app-header-bar-height) !important;
    padding: 0 !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-logo.left,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-logo.right,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-actions {
    display: block !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-masthead.page-header-copy {
    grid-column: 2 !important;
    order: 0;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-util.header-utility-box {
    grid-column: 3 !important;
    justify-self: end !important;
    order: 0;
    transform: scale(0.94) !important;
    transform-origin: right center !important;
    flex-wrap: nowrap;
    gap: 4px !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .chrome-toolbar.atlas-chrome-toolbar {
    padding-top: 6px !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section-title {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .section-title > p {
    max-width: 100%;
    text-align: left;
  }
}

/* 모바일: 탭 가독성 + 카드 여백 최소화 */
@media (max-width: 720px) {
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-shell {
    padding-top: var(--top-chrome-offset) !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    padding-bottom: 16px !important;
    max-width: 100% !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .panel,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .glass-panel {
    border-radius: 14px !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .unified-toolbar .atlas-dock--top .atlas-dock-item.tab {
    min-height: 46px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    min-width: max-content !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-dock-glyph {
    display: none !important;
  }

  /* 모바일도 헤더 구성 유지(완전 숨김 금지) */
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-logo {
    height: 52px !important;
    max-height: 52px !important;
  }
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-actions {
    display: inline-flex !important;
    gap: 4px !important;
  }
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-actions .header-left-nav-btn {
    height: 28px !important;
    padding: 0 8px !important;
    font-size: 11px !important;
  }
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-util.header-utility-box {
    transform: scale(0.88) !important;
  }
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-masthead.page-header-copy h1 {
    font-size: clamp(15px, 4.2vw, 18px) !important;
  }
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .atlas-header-masthead .page-header-eyebrow {
    font-size: 10px !important;
  }

  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .record-table:not(.org-investment-side-table) table {
    min-width: min(100%, 560px);
  }
}

/* 모션 최소화 사용자 설정 존중 */
@media (prefers-reduced-motion: reduce) {
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .panel,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .glass-panel,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .btn,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .btn-mini,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .main-summary-org-toggle-btn,
  body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .org-compare-period-btn {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------- */
/* FINAL: 일반 헤더 = 메인요약 헤더 1:1 동기화 (버튼 텍스트만 상이)                      */
/* -------------------------------------------------------------------------- */
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header.atlas-page-header {
  height: var(--app-header-bar-height) !important;
  min-height: var(--app-header-bar-height) !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  height: var(--app-header-bar-height) !important;
  min-height: var(--app-header-bar-height) !important;
  padding: 0 6px !important;
  margin: 0 !important;
  gap: 0 !important;
  box-sizing: border-box !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .page-header-logo.left {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  transform: none !important;
  height: var(--app-header-logo-height) !important;
  max-height: var(--app-header-logo-height) !important;
  width: auto !important;
  z-index: 2 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .page-header-logo.right {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  transform: none !important;
  height: var(--app-header-logo-height) !important;
  max-height: var(--app-header-logo-height) !important;
  width: auto !important;
  z-index: 2 !important;
  pointer-events: none !important;
  margin: 0 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .header-left-nav-group.atlas-header-actions {
  position: absolute !important;
  left: clamp(88px, 7.5vw, 136px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  z-index: 4 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .header-left-nav-group.atlas-header-actions .header-left-nav-btn {
  height: 30px !important;
  min-height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(15, 23, 42, 0.4) !important;
  color: #f8fafc !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  font-family: "Sora", "Noto Sans KR", sans-serif !important;
  box-sizing: border-box !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .page-header-copy.atlas-header-masthead {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  text-align: center !important;
  width: max-content !important;
  max-width: min(92vw, 720px) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .page-header-copy.atlas-header-masthead h1 {
  margin: 0 !important;
  color: #ffffff !important;
  font-family: "Sora", "Noto Sans KR", sans-serif !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .page-header-copy.atlas-header-masthead .page-header-eyebrow {
  margin: 4px 0 0 !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-family: "Sora", "Noto Sans KR", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.25 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util {
  position: absolute !important;
  right: clamp(200px, 16vw + 120px, 280px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  flex-wrap: nowrap !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util .mode-cluster,
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util > .theme-picker.compact:first-of-type,
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util #dataSourceSelector {
  display: none !important;
}

/* STRICT MIRROR: 메인요약 헤더 수치/좌표/타이포 1:1 강제 */
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header.atlas-page-header {
  background: var(--hero-header-surface) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.12) !important;
  min-height: var(--app-header-bar-height) !important;
  height: var(--app-header-bar-height) !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  min-height: var(--app-header-bar-height) !important;
  height: var(--app-header-bar-height) !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  padding: 0 6px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .page-header-logo.left {
  left: 0 !important;
  top: 0 !important;
  transform: none !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .page-header-logo.right {
  right: 0 !important;
  top: 0 !important;
  transform: none !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .header-left-nav-group.atlas-header-actions {
  left: clamp(88px, 7.5vw, 136px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .page-header-copy.atlas-header-masthead {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: max-content !important;
  max-width: min(92vw, 720px) !important;
  gap: 4px !important;
  z-index: 1 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .page-header-copy.atlas-header-masthead h1 {
  margin: 0 !important;
  font-family: "Sora", "Noto Sans KR", sans-serif !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .page-header-copy.atlas-header-masthead .page-header-eyebrow {
  margin: 4px 0 0 !important;
  font-family: "Sora", "Noto Sans KR", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util {
  right: clamp(200px, 16vw + 120px, 280px) !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  gap: 8px !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util label {
  font-size: 12px !important;
  font-weight: 700 !important;
}

html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util select,
html body.erp-atlas:not(.cover-mode):not(.main-summary-mode) .top-chrome.atlas-top-chrome .page-header-inner.atlas-page-header-inner > .header-utility-box.atlas-header-util .tooltip-toggle-btn {
  height: 30px !important;
  min-height: 30px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}
    .sr-only {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
    }
