/**
 * A4 세로 공정위 보고서 스타일
 * print 전용 DOM (#print-root) 분리: 화면용 app-shell과 완전 분리
 * A4 본문 폭 186mm (210mm - 좌우 margin 12mm*2)
 * 화면에서 .print-layout 숨김은 style-new.css에서 처리
 */

@media print {
  @page {
    size: A4 portrait;
    margin: 12mm 12mm 14mm 12mm;
  }

  /* A4 print 기준 강제 */
  html {
    width: 100% !important;
    height: 100% !important;
  }
  body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 10pt !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  /* transform/scale/zoom/translate 제거 - 축소 원인 차단 */
  .print-root,
  .print-root *,
  .print-root *::before,
  .print-root *::after {
    transform: none !important;
    zoom: 1 !important;
    translate: none !important;
  }

  /* print-root: A4 인쇄 가능 영역 전체 사용 */
  .print-root {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* print-page: A4 본문 컨테이너, 전체폭 사용 */
  .print-page {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 3mm !important;
    box-sizing: border-box !important;
  }

  /* print-header / print-content */
  .print-header,
  .print-content {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  /* 모바일 flex/grid override */
  .print-root .compare-brand-summary-wrap,
  .print-root .compare-print-sections,
  .print-root .compare-detail-body {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* 다크모드 변수 print에서 차단 - 라이트 색상 강제 */
  html body,
  body.dark-mode,
  body.dark-mode .brand-detail-page,
  body.dark-mode .compare-print-area,
  body.dark-mode .compare-detail-page {
    background: #fff !important;
    color: #111827 !important;
    --bg: #fff !important;
    --text: #111827 !important;
    --text-muted: #555 !important;
    --border: #ccc !important;
  }

  .print-content.report-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    padding: 6mm 0 !important;
  }

  /* 표 wrapper: A4 폭 사용 */
  .print-table-wrap,
  .compare-print-area .compare-table-wrap,
  .brand-detail-page .brand-detail-table-wrap {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  /* 표: width 100% 고정 */
  .compare-print-area table,
  .compare-print-area .compare-table,
  .brand-detail-print-area table,
  .brand-detail-page table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    box-sizing: border-box !important;
  }

  /* ===== print 전용 DOM: app-shell 숨기고 #print-root만 표시 ===== */
  .app-shell {
    display: none !important;
  }

  .print-layout {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    box-sizing: border-box !important;
  }

  /* A4 본문 폭: 186mm (인쇄 가능 영역), margin 0 auto */
  .print-layout-doc {
    width: 186mm !important;
    max-width: 186mm !important;
    margin: 0 auto !important;
    padding: 0 4mm !important;
    box-sizing: border-box !important;
  }

  .print-layout-doc * {
    box-sizing: border-box !important;
  }

  /* compare print 전용 */
  .compare-print-layout-doc .compare-print-doc-header {
    margin-bottom: 6px;
    padding-bottom: 6px;
    border-bottom: 2px solid #111;
  }
  .compare-print-layout-doc .compare-print-doc-title {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin: 0;
  }
  .compare-print-layout-doc .compare-print-brand-summary {
    margin-bottom: 8px;
  }
  /* colgroup 기반: 헤더/본문 동일 폭 체계 (label 18%, brand 82/n%) */
  .compare-print-layout-doc .compare-print-header-table,
  .compare-print-layout-doc .compare-print-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .compare-print-layout-doc .compare-print-header-table {
    border: 1px solid #333;
    border-top: 2px solid #1e3a5f;
  }
  .compare-print-layout-doc .compare-print-header-table th,
  .compare-print-layout-doc .compare-header-panel {
    padding: 6px 8px;
    border-right: 1px solid #333;
    min-width: 0;
    box-sizing: border-box;
  }
  .compare-print-layout-doc .compare-print-header-table th:last-child,
  .compare-print-layout-doc .compare-header-panel:last-child {
    border-right: none;
  }
  /* 첫 칸("비교 브랜드"): 단일 셀, 세로/가로 중앙 정렬, 하단 빈 영역 제거 */
  .compare-print-layout-doc .compare-print-header-table th.compare-brand-cell,
  .compare-print-area .compare-print-header-table th.compare-brand-cell,
  .compare-print-area .compare-header-table th.compare-brand-cell {
    vertical-align: middle !important;
    text-align: center !important;
    padding: 6px 8px !important;
  }
  .compare-print-layout-doc .compare-brand-cell-inner,
  .compare-print-area .compare-brand-cell-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 0 !important;
    height: 100% !important;
    line-height: 1.2 !important;
    gap: 2px !important;
  }
  .compare-print-layout-doc .compare-brand-cell-title,
  .compare-print-layout-doc .compare-brand-cell-sub,
  .compare-print-area .compare-brand-cell-title,
  .compare-print-area .compare-brand-cell-sub {
    display: block !important;
    border: none !important;
    box-shadow: none !important;
  }
  .compare-print-layout-doc .compare-brand-cell-title,
  .compare-print-area .compare-brand-cell-title {
    font-size: 11px !important;
    font-weight: 700 !important;
  }
  .compare-print-layout-doc .compare-brand-cell-sub,
  .compare-print-area .compare-brand-cell-sub {
    font-size: 9px !important;
    color: #555 !important;
  }
  /* 헤더와 표 동일 outer width: 공통 colgroup */
  .compare-print-layout-doc .compare-print-brand-summary,
  .compare-print-layout-doc .compare-core-section .compare-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .compare-print-layout-doc .compare-table-wrap,
  .compare-print-layout-doc .compare-region-wrap {
    width: 100% !important;
    overflow: visible !important;
  }
  .compare-print-layout-doc table,
  .compare-print-layout-doc .compare-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .compare-print-layout-doc th,
  .compare-print-layout-doc td {
    padding: 4px 6px;
    font-size: 10pt;
    border: 1px solid #333;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  /* compare print: 첫 열 왼쪽 선 복원 (표/그래프 일관된 외곽선) */
  .compare-print-layout-doc .compare-table th:first-child,
  .compare-print-layout-doc .compare-table td:first-child,
  .compare-print-layout-doc .compare-core-table th:first-child,
  .compare-print-layout-doc .compare-core-table td:first-child,
  .compare-print-layout-doc .compare-region-table th:first-child,
  .compare-print-layout-doc .compare-region-table td:first-child,
  .compare-print-layout-doc .compare-unified-table th:first-child,
  .compare-print-layout-doc .compare-unified-table td:first-child {
    border-left: 1px solid #333 !important;
  }

  /* detail print 전용 */
  .brand-detail-print-layout-doc .brand-detail-print-doc-header {
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 2px solid #111;
  }
  .brand-detail-print-layout-doc .brand-detail-print-doc-title {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin: 0 0 4px 0;
  }
  .brand-detail-print-layout-doc .brand-detail-print-hint {
    font-size: 9px;
    color: #666;
    margin: 0;
  }
  .brand-detail-print-layout-doc .brand-detail-doc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
  .brand-detail-print-layout-doc .brand-detail-table-wrap {
    width: 100% !important;
  }
  .brand-detail-print-layout-doc table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .brand-detail-print-layout-doc th,
  .brand-detail-print-layout-doc td {
    padding: 4px 6px;
    font-size: 10pt;
    border: 1px solid #333;
    word-wrap: break-word;
  }
  .brand-detail-print-layout-doc .brand-detail-section,
  .brand-detail-print-layout-doc .brand-detail-core-section {
    margin-bottom: 12px;
  }
  .brand-detail-print-layout-doc .brand-detail-section-title {
    font-size: 12px;
    font-weight: 700;
    margin: 8px 0 4px 0;
    padding-bottom: 3px;
    border-bottom: 1px solid #333;
  }
  .brand-detail-print-layout-doc .brand-detail-block-header {
    margin-bottom: 4px;
  }
  .brand-detail-print-layout-doc .brand-detail-subsection-title {
    font-size: 11px;
    font-weight: 600;
  }

  /* detail print: 섹션/블록 헤더 - compare와 동일 (제목 왼쪽, 단위 오른쪽 한 줄) */
  .brand-detail-print-layout-doc .brand-detail-section-header,
  .brand-detail-print-layout-doc .brand-detail-block-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin: 0 0 2px 0 !important;
    padding-bottom: 2px !important;
    border-bottom: 1px solid #333 !important;
  }
  .brand-detail-print-layout-doc .brand-detail-section-header .brand-detail-section-title,
  .brand-detail-print-layout-doc .brand-detail-block-header .brand-detail-subsection-title {
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }
  .brand-detail-print-layout-doc .brand-detail-section-header .brand-detail-unit,
  .brand-detail-print-layout-doc .brand-detail-block-header .brand-detail-unit {
    font-size: 8px !important;
    color: #555 !important;
    flex-shrink: 0 !important;
  }

  /* detail print: 표 값 셀 가운데 정렬 (compare와 동일) */
  .brand-detail-print-layout-doc .brand-detail-info-table td,
  .brand-detail-print-layout-doc .brand-detail-year-table td,
  .brand-detail-print-layout-doc .brand-detail-core-table td,
  .brand-detail-print-layout-doc .brand-detail-region-table td {
    text-align: center !important;
  }
  .brand-detail-print-layout-doc .brand-detail-info-table th,
  .brand-detail-print-layout-doc .brand-detail-year-table th,
  .brand-detail-print-layout-doc .brand-detail-core-table th,
  .brand-detail-print-layout-doc .brand-detail-region-table th {
    text-align: center !important;
  }

  /* compare print: 차트·섹션 */
  .compare-print-layout-doc .compare-core-section {
    margin-bottom: 8px;
  }
  .compare-print-layout-doc .compare-section-header {
    margin-bottom: 4px;
    padding-bottom: 2px;
    border-bottom: 1px solid #333;
  }
  .compare-print-layout-doc .compare-section-title {
    font-size: 12px;
    font-weight: 700;
  }
  .compare-print-layout-doc .compare-charts-wrap {
    margin-top: 8px;
    display: block;
  }
  .compare-print-layout-doc .compare-chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
    padding-left: 12px;
    padding-right: 12px;
  }
  .compare-print-layout-doc .compare-chart-block {
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #ccc;
  }
  .compare-print-layout-doc .compare-chart-row {
    display: grid;
    grid-template-columns: 24px 55px 1fr 55px;
    gap: 4px;
    font-size: 9px;
    background: #ffffff !important;
  }
  .compare-print-layout-doc .compare-print-summary-footer {
    margin-top: 8px;
    padding-top: 6px;
    border-top: 2px solid #333;
  }

  /* 기존 compare-print-area/brand-detail-print-area (화면 내) - 인쇄 시 미사용이지만 fallback */
  .compare-print-area,
  .brand-detail-print-area {
    display: none !important;
  }
  .brand-detail-page * {
    box-sizing: border-box !important;
  }
  .brand-detail-page .brand-detail-document,
  .brand-detail-page .brand-detail-content,
  .brand-detail-page .brand-detail-sections,
  .brand-detail-page .brand-detail-section-body {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }
  .brand-detail-page .brand-detail-doc-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 16px !important;
    max-width: 100% !important;
  }
  .brand-detail-page .brand-detail-doc-meta,
  .brand-detail-page .brand-detail-section-header,
  .brand-detail-page .brand-detail-block-header {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* 상세 인쇄: section header 무조건 2줄 구조 (unit label 잘림 제거)
   * - flex row 금지, column/block으로 제목+단위 분리
   * - unit은 다음 줄 block, width:100%, text-align:right
   * - overflow visible, right 고정 positioning 사용 금지 */
  .brand-detail-page .brand-detail-section-header,
  .brand-detail-page .brand-detail-block-header,
  .brand-detail-page--ftc .brand-detail-section-header,
  .brand-detail-page--ftc .brand-detail-block-header {
    display: block !important;
    flex-direction: unset !important;
    align-items: unset !important;
    justify-content: unset !important;
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 2px !important;
  }
  .brand-detail-page .brand-detail-section-header .brand-detail-section-title,
  .brand-detail-page .brand-detail-section-header .brand-detail-subsection-title,
  .brand-detail-page .brand-detail-block-header .brand-detail-section-title,
  .brand-detail-page .brand-detail-block-header .brand-detail-subsection-title,
  .brand-detail-page--ftc .brand-detail-section-header .brand-detail-section-title,
  .brand-detail-page--ftc .brand-detail-section-header .brand-detail-subsection-title,
  .brand-detail-page--ftc .brand-detail-block-header .brand-detail-section-title,
  .brand-detail-page--ftc .brand-detail-block-header .brand-detail-subsection-title {
    display: block !important;
    margin-bottom: 2px !important;
  }
  .brand-detail-page .brand-detail-section-header .brand-detail-unit,
  .brand-detail-page .brand-detail-block-header .brand-detail-unit,
  .brand-detail-page--ftc .brand-detail-section-header .brand-detail-unit,
  .brand-detail-page--ftc .brand-detail-block-header .brand-detail-unit {
    display: block !important;
    width: 100% !important;
    text-align: right !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    flex-shrink: unset !important;
    white-space: normal !important;
    overflow: visible !important;
    position: static !important;
  }

  /* meta row wrap 강화 - 한 줄 고정 금지 */
  .brand-detail-page .brand-detail-doc-meta {
    flex-wrap: wrap !important;
    gap: 6px 12px !important;
  }
  .brand-detail-page .brand-meta-row {
    white-space: normal !important;
  }
  /* 상세 테이블: 비교페이지와 동일 - width 100%, overflow 방지 */
  .brand-detail-page .brand-detail-info-table,
  .brand-detail-page .brand-detail-year-table,
  .brand-detail-page .brand-detail-core-table,
  .brand-detail-page .brand-detail-region-table {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    box-sizing: border-box !important;
    border-collapse: collapse !important;
  }
  .brand-detail-page .brand-detail-info-table td,
  .brand-detail-page .brand-detail-year-table td,
  .brand-detail-page .brand-detail-core-table td,
  .brand-detail-page .brand-detail-region-table td {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
  }
  .brand-detail-page .brand-detail-document,
  .brand-detail-page .brand-detail-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .brand-detail-page .brand-detail-info-table th,
  .brand-detail-page .brand-detail-info-table td,
  .brand-detail-page .brand-detail-year-table th,
  .brand-detail-page .brand-detail-year-table td,
  .brand-detail-page .brand-detail-core-table th,
  .brand-detail-page .brand-detail-core-table td,
  .brand-detail-page .brand-detail-region-table th,
  .brand-detail-page .brand-detail-region-table td {
    background: #fff !important;
    color: #111 !important;
    border-color: #333 !important;
  }
  .brand-detail-page .brand-detail-info-table th:first-child,
  .brand-detail-page .brand-detail-info-table td:first-child,
  .brand-detail-page .brand-detail-region-table th:first-child,
  .brand-detail-page .brand-detail-region-table td:first-child,
  .brand-detail-page .brand-detail-core-table th:first-child,
  .brand-detail-page .brand-detail-core-table td:first-child {
    background: #f0f0f0 !important;
  }
  .brand-detail-page thead th,
  .brand-detail-page .brand-detail-year-table .brand-detail-th-item {
    background: #e8e8e8 !important;
    color: #111 !important;
  }
  body.dark-mode .brand-detail-page .brand-detail-info-table th,
  body.dark-mode .brand-detail-page .brand-detail-info-table td,
  body.dark-mode .brand-detail-page .brand-detail-year-table th,
  body.dark-mode .brand-detail-page .brand-detail-year-table td,
  body.dark-mode .brand-detail-page .brand-detail-core-table th,
  body.dark-mode .brand-detail-page .brand-detail-core-table td,
  body.dark-mode .brand-detail-page .brand-detail-region-table th,
  body.dark-mode .brand-detail-page .brand-detail-region-table td {
    background: #fff !important;
    color: #111 !important;
    border-color: #333 !important;
  }
  body.dark-mode .brand-detail-page .brand-detail-info-table th:first-child,
  body.dark-mode .brand-detail-page .brand-detail-info-table td:first-child,
  body.dark-mode .brand-detail-page .brand-detail-region-table th:first-child,
  body.dark-mode .brand-detail-page .brand-detail-region-table td:first-child,
  body.dark-mode .brand-detail-page .brand-detail-core-table th:first-child,
  body.dark-mode .brand-detail-page .brand-detail-core-table td:first-child,
  body.dark-mode .brand-detail-page .brand-detail-year-table th:first-child,
  body.dark-mode .brand-detail-page .brand-detail-year-table td:first-child {
    background: #f0f0f0 !important;
  }
  body.dark-mode .brand-detail-page thead th {
    background: #e8e8e8 !important;
    color: #111 !important;
  }

  .print-sheet {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .compare-print-doc {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .print-content {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }


  /* ========== 문서 헤더: 보고서형 ========== */
  .compare-print-header {
    display: none;
  }

  .compare-print-header.compare-print-only {
    display: block !important;
    text-align: left;
    margin-bottom: 4px;
    padding-bottom: 6px;
    border-bottom: 2px solid #111;
  }

  .compare-print-doc-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em;
  }

  .compare-print-meta {
    font-size: 10px !important;
    color: #333 !important;
    margin: 2px 0 !important;
    line-height: 1.4 !important;
  }

  .compare-print-meta-brand {
    font-weight: 600 !important;
  }

  /* 1페이지 요약: A4 전체폭 */
  .compare-print-summary-page {
    width: 100% !important;
    max-width: none !important;
  }


  /* compare 인쇄: 데스크탑형 브랜드 헤더 4열 가로 배치 강제 */
  .compare-print-brand-summary {
    display: block !important;
    visibility: visible !important;
  }
  .compare-header-desktop {
    display: block !important;
    visibility: visible !important;
  }
  /* 모바일 헤더 카드는 인쇄 시 숨김 (compare-print-hide 클래스로 처리됨) */
  .compare-mobile-header-wrap,
  .compare-header-mobile {
    display: none !important;
  }
  /* compare header: colgroup 기반 table (헤더/본문 동일 폭) */
  .compare-print-area .compare-header-table-wrap,
  .compare-print-area .compare-print-brand-summary {
    display: block !important;
  }
  .compare-print-area .compare-print-header-table,
  .compare-print-area .compare-print-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
  .compare-print-area .compare-print-header-table {
    border: 1px solid #333;
    border-top: 2px solid #1e3a5f;
  }
  .compare-print-area .compare-print-header-table th {
    padding: 6px 8px;
    border-right: 1px solid #333;
  }
  .compare-print-area .compare-print-header-table th:last-child {
    border-right: none;
  }
  .compare-print-area .compare-header-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* 인쇄 시 숨김 */
  .compare-print-hide {
    display: none !important;
    visibility: hidden !important;
  }

  .compare-print-only {
    visibility: visible !important;
  }

  .compare-version-select,
  select,
  .version-select {
    display: none !important;
  }

  .print-no-print,
  .no-print,
  .print-button-wrap,
  .top-actions,
  .main-header,
  .main-footer,
  .site-rail,
  .ad-inline,
  .tray-container,
  .home-tray-wrap,
  .compare-header-actions .compare-reset-link,
  .compare-header-actions .btn-share-link,
  .scroll-hint-mobile,
  .compare-avg-hint,
  .compare-detail-back,
  .brand-detail-back {
    display: none !important;
  }

  /* ========== 페이지 분할: 자연스럽게 이어지게 (강제 페이지 끊김 제거) ========== */
  .compare-print-summary-page {
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .compare-print-detail-pages {
    break-before: auto !important;
    page-break-before: auto !important;
  }

  .compare-section-title,
  .section-title,
  .subsection-title,
  .compare-detail-title,
  .compare-block-header,
  .compare-print-subtitle {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  /* 큰 섹션은 넘어가도 됨, 행만 찢기지 않게 */
  .compare-core-section,
  .section,
  .compare-detail-section {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .compare-block {
    break-inside: auto !important;
  }

  .compare-print-area table,
  .compare-print-area .compare-table {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  .compare-print-area tr {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .compare-detail-section:first-of-type {
    break-before: avoid !important;
  }

  .compare-table thead {
    display: table-header-group !important;
  }

  /* ========== 핵심 지표 표: 컴팩트, 잘림 방지 ========== */
  .compare-core-section {
    margin-top: 2px !important;
  }

  .compare-core-section .compare-section-header {
    margin: 0 0 2px 0 !important;
    padding-bottom: 2px !important;
    border-bottom: 1px solid #333 !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .compare-core-section .section-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    margin: 0 !important;
  }

  .compare-core-section .compare-section-unit {
    font-size: 8px !important;
    color: #555 !important;
    flex-shrink: 0 !important;
  }

  .compare-core-section .compare-table-wrap {
    width: 100% !important;
    max-width: none !important;
  }

  .compare-core-table {
    width: 100% !important;
    max-width: none !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    box-sizing: border-box !important;
  }

  /* colgroup: label 18%, brand 82/n (첫 열 5~6글자 한 줄 유지) */
  .compare-core-table col.compare-col-label,
  .compare-print-table col.compare-col-label {
    width: 18% !important;
  }

  .compare-core-section[data-active-brand-count="1"] .compare-core-table col.compare-col-brand,
  .compare-core-section[data-active-brand-count="1"] .compare-print-table col.compare-col-brand,
  [data-print-brand-count="1"] .compare-print-table col.compare-col-brand { width: 82% !important; }
  .compare-core-section[data-active-brand-count="2"] .compare-core-table col.compare-col-brand,
  .compare-core-section[data-active-brand-count="2"] .compare-print-table col.compare-col-brand,
  [data-print-brand-count="2"] .compare-print-table col.compare-col-brand { width: 41% !important; }
  .compare-core-section[data-active-brand-count="3"] .compare-core-table col.compare-col-brand,
  .compare-core-section[data-active-brand-count="3"] .compare-print-table col.compare-col-brand,
  [data-print-brand-count="3"] .compare-print-table col.compare-col-brand { width: 27.33% !important; }
  .compare-core-section[data-active-brand-count="4"] .compare-core-table col.compare-col-brand,
  .compare-core-section[data-active-brand-count="4"] .compare-print-table col.compare-col-brand,
  [data-print-brand-count="4"] .compare-print-table col.compare-col-brand { width: 20.5% !important; }

  .compare-core-table th,
  .compare-core-table td {
    padding: 4px 6px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    border: 1px solid #333 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    box-sizing: border-box !important;
  }

  .compare-core-table th:first-child,
  .compare-core-table td:first-child {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  .compare-core-table tbody td:not(:first-child) {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    min-width: 0 !important;
  }

  .compare-core-table th.compare-col-item {
    background: #f0f0f0 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
  }

  .compare-core-table thead th:not(.compare-col-item) {
    background: #e8e8e8 !important;
    font-weight: 700 !important;
    font-size: 13px !important;
  }

  .compare-core-table th.brand-header-cell {
    text-align: center !important;
    vertical-align: middle !important;
    line-height: 1.3 !important;
    padding: 6px 4px !important;
  }

  .compare-core-table th.brand-header-cell .brand-header-name {
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  .compare-core-table th.brand-header-cell .brand-header-year {
    font-size: 10px !important;
    color: #666 !important;
  }

  .compare-core-table th.brand-header-cell .brand-header-version {
    font-size: 10px !important;
    color: #666 !important;
  }

  /* 핵심지표 헤더: 기준연도/버전은 인쇄 시에만 표시 (화면에서는 compare-print-only로 숨김) */
  .compare-core-table th.brand-header-cell .brand-header-year.compare-print-only,
  .compare-core-table th.brand-header-cell .brand-header-version.compare-print-only {
    display: block !important;
  }

  .compare-core-table td {
    text-align: right !important;
  }

  .compare-core-table th.compare-col-item {
    text-align: center !important;
  }

  .compare-core-table tbody td {
    text-align: right !important;
  }

  /* 핵심지표 표 값 가운데 정렬 (compare-core-section = 핵심지표 영역) */
  .compare-core-section .compare-core-table td,
  .compare-core-section .compare-core-table tbody td {
    text-align: center !important;
  }

  /* 핵심지표 표 (CompareKpiTable / compare-kpi-section) 값 가운데 정렬 */
  .compare-kpi-table td,
  .compare-kpi-section .compare-kpi-table td {
    text-align: center !important;
  }

  /* ========== 그래프: 1페이지 하단 여백 최소화 ========== */
  .compare-metric-note {
    font-size: 11px !important;
    color: #666 !important;
    margin-top: 6px !important;
    margin-bottom: 6px !important;
  }

  .compare-core-section .compare-charts-wrap {
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    gap: 4px !important;
    width: 100% !important;
    max-width: none !important;
    border: none !important;
    background: transparent !important;
  }

  .compare-core-section .compare-chart-block {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    padding: 3px 0 !important;
    margin-bottom: 0 !important;
  }

  .compare-core-section .compare-chart-block:last-of-type {
    border-bottom: none !important;
    padding-bottom: 0 !important;
  }

  .compare-core-section .compare-chart-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 4px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .compare-core-section .compare-chart-title {
    font-size: 8px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    color: #111 !important;
  }
  .compare-core-section .compare-chart-unit {
    font-size: 9px !important;
    color: #666 !important;
  }

  .compare-core-section .compare-chart-row {
    grid-template-columns: 24px 55px 1fr 55px !important;
    gap: 4px !important;
    font-size: 9px !important;
    background: #ffffff !important;
  }
  .compare-core-section .compare-chart-rank-badge--bar1,
  .compare-core-section .compare-chart-rank-badge--bar2,
  .compare-core-section .compare-chart-rank-badge--bar3,
  .compare-core-section .compare-chart-rank-badge--bar4 {
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
    font-size: 9px !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  .compare-core-section .compare-chart-rank-badge--bar1 { background: #3b82f6 !important; }
  .compare-core-section .compare-chart-rank-badge--bar2 { background: #10b981 !important; }
  .compare-core-section .compare-chart-rank-badge--bar3 { background: #f59e0b !important; }
  .compare-core-section .compare-chart-rank-badge--bar4 { background: #8b5cf6 !important; }
  .compare-core-section .compare-chart-rank-tag {
    font-size: 8px !important;
  }

  .compare-core-section .compare-chart-bar-wrap {
    height: 14px !important;
    background: #e5e5e5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .compare-core-section .compare-chart-bar-wrap .compare-bar {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ========== 첫 페이지 하단 출처·요약: 여백 최소화 ========== */
  .compare-print-summary-footer {
    margin-top: 2px !important;
    padding: 4px 0 2px 0 !important;
    border-top: 2px solid #333 !important;
  }

  .compare-print-summary-block {
    margin-bottom: 4px !important;
  }

  .compare-print-summary-head {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.3 !important;
  }

  .compare-print-summary-text {
    font-size: 9px !important;
    color: #333 !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }

  .compare-print-disclaimer {
    font-size: 9px !important;
    color: #333 !important;
    margin: 2px 0 !important;
    line-height: 1.4 !important;
  }

  /* ========== 상세 섹션 (1페이지 남은 공간 또는 2페이지 이후) ========== */
  .compare-detail-section .section-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    margin: 6px 0 4px 0 !important;
    padding-bottom: 3px !important;
    border-bottom: 1px solid #333 !important;
  }

  .compare-detail-section .section-title:first-child {
    margin-top: 4px !important;
  }

  .compare-block-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .compare-block-header .subsection-title {
    font-size: 10px !important;
    font-weight: 600 !important;
    margin: 0 !important;
  }
  .compare-block-header .compare-section-unit,
  .compare-block-header .unit-label {
    font-size: 8px !important;
    color: #555 !important;
    flex-shrink: 0 !important;
  }

  .compare-table-wrap {
    width: 100% !important;
    max-width: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .compare-table {
    width: 100% !important;
    max-width: none !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    box-sizing: border-box !important;
  }

  .compare-table th,
  .compare-table td {
    padding: 4px 6px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    border: 1px solid #333 !important;
    box-sizing: border-box !important;
  }

  /* 브랜드 데이터 셀: 주소·긴 숫자 줄바꿈, 겹침 방지 (비교페이지·인쇄레이아웃 공통) */
  .compare-detail-section .compare-table tbody td:not(:first-child),
  .compare-print-area .compare-table tbody td:not(:first-child),
  .compare-print-area .compare-unified-table tbody td:not(:first-child),
  .compare-print-area .compare-section-table tbody td:not(:first-child),
  .compare-print-area .compare-region-table tbody td:not(:first-child),
  .compare-print-layout-doc .compare-table tbody td:not(:first-child),
  .compare-print-layout-doc .compare-region-table tbody td:not(:first-child) {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    min-width: 0 !important;
  }

  .compare-block-header {
    padding: 3px 0 !important;
    margin: 0 0 3px 0 !important;
  }

  .compare-block-title-text {
    font-size: 11px !important;
  }

  /* compare/detail 공통: 다크모드여도 인쇄는 라이트 */
  .compare-print-area .compare-table,
  .compare-print-area .compare-table th,
  .compare-print-area .compare-table td,
  body.dark-mode .compare-print-area .compare-table,
  body.dark-mode .compare-print-area .compare-table th,
  body.dark-mode .compare-print-area .compare-table td {
    background: #fff !important;
    color: #111 !important;
    border-color: #333 !important;
  }

  /* 왼쪽 외곽선 복원: style-new.css의 first-child border-left:none 오버라이드 */
  .compare-print-area .compare-table th:first-child,
  .compare-print-area .compare-table td:first-child,
  .compare-print-area .compare-unified-table th:first-child,
  .compare-print-area .compare-unified-table td:first-child,
  .compare-print-area .compare-kpi-table th:first-child,
  .compare-print-area .compare-kpi-table td:first-child,
  .compare-print-area .compare-section-table th:first-child,
  .compare-print-area .compare-section-table td:first-child,
  .compare-print-area .compare-metrics-table th:first-child,
  .compare-print-area .compare-metrics-table td:first-child,
  .compare-print-area .compare-core-table th:first-child,
  .compare-print-area .compare-core-table td:first-child,
  .compare-print-area .compare-region-table th:first-child,
  .compare-print-area .compare-region-table td:first-child,
  .compare-print-area .compare-header-table th:first-child,
  .compare-print-area .compare-header-table td:first-child,
  .compare-print-area .print-table th:first-child,
  .compare-print-area .print-table td:first-child {
    border-left: 1px solid #333 !important;
  }

  .compare-print-area thead th {
    background: #e8e8e8 !important;
  }

  .compare-unified-table,
  .compare-header-table,
  .compare-kpi-table,
  .compare-section-table,
  .print-table,
  .compare-metrics-table,
  .compare-region-table {
    width: 100% !important;
    max-width: none !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    box-sizing: border-box !important;
  }

  /* 인쇄 페이지: 모든 테이블 셀 자동 줄바꿈 (긴 항목명·주소·숫자 포함) */
  .compare-print-layout-doc .compare-table th,
  .compare-print-layout-doc .compare-table td,
  .compare-print-area .compare-table th,
  .compare-print-area .compare-table td,
  .compare-print-layout-doc .compare-section-table th,
  .compare-print-layout-doc .compare-section-table td,
  .compare-print-area .compare-section-table th,
  .compare-print-area .compare-section-table td,
  .compare-print-layout-doc .compare-unified-table th,
  .compare-print-layout-doc .compare-unified-table td,
  .compare-print-area .compare-unified-table th,
  .compare-print-area .compare-unified-table td,
  .print-table th,
  .print-table td {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  .compare-block .compare-table-wrap,
  .compare-region-block .compare-table-wrap {
    width: 100% !important;
    max-width: none !important;
  }

  /* 가맹점 매출 테이블: thead 내부 브랜드명↔평균/평당 행 사이 얇은 구분선 (인쇄 시에도 유지) */
  .compare-print-area .compare-region-table thead tr:first-child th {
    border-bottom: 1px solid rgba(120, 130, 150, 0.4) !important;
  }
  .compare-print-area .compare-region-table thead tr:nth-child(2) th {
    border-top: none !important;
  }

  /* 헤더 아래 간격 소폭 축소 */
  .compare-print-header {
    margin-bottom: 2px !important;
    padding-bottom: 5px !important;
  }

  /* 핵심지표 표 아래 간격 */
  .compare-core-section .compare-table-wrap {
    margin-bottom: 0 !important;
  }

  /* ========== 상세페이지 인쇄: 1페이지 공백 최소화 ========== */
  .brand-detail-page .brand-detail-section {
    page-break-inside: auto !important;
    break-inside: auto !important;
    margin-bottom: 16px !important;
  }

  .brand-detail-page table {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  body {
    margin: 0 !important;
  }
}
