@page {
  size: A4 portrait;
  margin: 0;
}

@font-face {
  font-family: 'MiSans';
  src: url('../MiSans/woff2/MiSans-Regular.woff2') format('woff2'),
       url('../MiSans/ttf/MiSans-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'MiSans';
  src: url('../MiSans/woff2/MiSans-Medium.woff2') format('woff2'),
       url('../MiSans/ttf/MiSans-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'MiSans';
  src: url('../MiSans/woff2/MiSans-Bold.woff2') format('woff2'),
       url('../MiSans/ttf/MiSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ══ RESET & BASE ════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --rc-orange:       #FF5500;
  --rc-orange-light: #FF7722;
  --rc-orange-pale:  #FFF9F6;
  --rc-blue:         #007AFF;
  --rc-blue-light:   #F4F9FF;
  --ink-900:         #1C1C1E;
  --ink-700:         #2C2C2E;
  --ink-500:         #48484A;
  --ink-300:         #AEAEB2;
  --ink-100:         #E5E5EA;
  --ink-050:         #F9F9FB;
  --white:           #FFFFFF;
  --font-family:     'MiSans', 'Noto Sans SC', 'Inter', -apple-system, sans-serif;
  --page-w:          210mm;
  --page-h:          297mm;
  --pad-top:         16mm;
  --pad-side:        18mm;
  --pad-bottom:      16mm;
  --shadow:          0 10px 40px rgba(0,0,0,0.06), 0 2px 10px rgba(0,0,0,0.03);
}

html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: 'MiSans', 'Noto Sans SC', 'Inter', system-ui, -apple-system, sans-serif;
  background: #F4F6F9;
  color: var(--ink-700);
  -webkit-font-smoothing: antialiased;
  display: flex;
  justify-content: center;
}

/* ══ LAYOUT CONTAINER ════════════════════════ */
.main-layout {
  display: flex;
  gap: 32px;
  margin: 40px auto 80px;
  position: relative;
  max-width: 1120px;
  width: 100%;
  justify-content: center;
}

/* ══ STICKY SIDEBAR NAVIGATION ═══════════════ */
.sidebar {
  position: sticky; top: 40px;
  width: 250px; height: fit-content;
  max-height: calc(100vh - 80px);
  background: var(--white);
  border: 1px solid var(--ink-100);
  border-radius: 12px;
  display: flex; flex-direction: column;
  padding: 24px 16px; z-index: 90;
  overflow-y: auto;
  box-shadow: 0 4px 20px rgba(0,0,0,0.02);
  transition: all 0.3s ease;
}
.sb-header {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 24px; padding-left: 8px;
}
.sb-logo img { height: 20px; display: block; }
.sb-menu {
  list-style: none; display: flex; flex-direction: column; gap: 4px;
  flex-grow: 1;
}
.sb-item a {
  display: flex; align-items: center; justify-content: space-between;
  color: var(--ink-500); font-size: 8.5pt; text-decoration: none;
  padding: 8px 14px; border-radius: 8px; transition: all 0.2s ease;
  border-left: 3px solid transparent;
}
.sb-item a:hover {
  background: var(--rc-orange-pale); color: var(--rc-orange);
  transform: translateX(4px);
}
.sb-item.active a {
  background: var(--rc-orange-pale); color: var(--rc-orange);
  font-weight: 700; border-left-color: var(--rc-orange);
}
.sb-item-num {
  font-family: 'Inter', sans-serif; font-size: 7.5pt;
  color: var(--ink-300); font-weight: 500;
}
.sb-item.active .sb-item-num {
  color: var(--rc-orange);
}
.sb-print-btn {
  border: none; border-radius: 8px; padding: 12px 14px;
  font-size: 8.5pt; font-weight: 700; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--ink-900); color: var(--white); width: 100%;
  margin-top: 16px; transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.sb-print-btn:hover {
  background: var(--rc-orange);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(255,85,0,0.25);
}

/* Mobile hamburger button */
.mobile-menu-btn {
  display: none; position: fixed; top: 12px; right: 12px; z-index: 110;
  width: 44px; height: 44px; background: var(--white);
  border: 1px solid var(--ink-100); border-radius: 50%;
  align-items: center; justify-content: center; cursor: pointer;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  transition: all 0.2s;
}
.mobile-menu-btn:hover {
  transform: scale(1.05);
}

/* ══ PAGES WRAPPER ══════════════════════════ */
.pages-wrapper {
  display: flex; flex-direction: column;
  gap: 28px; width: var(--page-w);
  flex-shrink: 0;
}

/* ══ PAGE LAYOUT ═════════════════════════════ */
.page {
  position: relative;
  width: var(--page-w); height: var(--page-h);
  background: var(--white); box-shadow: var(--shadow);
  border-radius: 6px; overflow: hidden;
  padding: var(--pad-top) var(--pad-side) var(--pad-bottom);
  display: flex; flex-direction: column;
  page-break-after: always; page-break-inside: avoid;
}

/* Page top border accent color */
.page::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--rc-orange) 0%, #FF8844 100%);
}

/* Page number on the bottom of page */
.page-footer-num {
  position: absolute; bottom: 8mm; left: 50%;
  transform: translateX(-50%); font-size: 8.5pt;
  color: var(--ink-500); font-family: 'Inter', sans-serif;
  font-weight: 500; letter-spacing: 0.05em;
}

/* ══ COVER PAGE (全新精美设计) ════════════════ */
.page-cover {
  display: flex; flex-direction: column;
  justify-content: space-between; align-items: center;
  padding: 40mm 18mm 20mm;
}
.page-cover::before {
  height: 6px;
}
.cv-logo {
  margin-bottom: 2mm;
}
.cv-logo img { height: 32px; display: block; }

.cv-hero {
  flex: 1; display: flex; flex-direction: column;
  align-items: center; justify-content: flex-start; width: 100%;
  position: relative;
  padding-top: 4mm;
}
.cv-glow {
  position: absolute;
  top: -4mm; left: -6mm; right: -6mm; bottom: -4mm;
  background: 
    linear-gradient(rgba(28, 28, 30, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(28, 28, 30, 0.02) 1px, transparent 1px);
  background-size: 10mm 10mm, 10mm 10mm;
  background-position: center;
  z-index: 0; pointer-events: none;
  border: 1px dashed rgba(28, 28, 30, 0.06);
  border-radius: 4px;
}
.cv-title-group {
  text-align: center; margin-bottom: 23mm; margin-top: 0; z-index: 2;
  width: 100%; display: flex; flex-direction: column; align-items: center; gap: 3.5mm;
}
.cv-pre-title {
  font-family: var(--font-family); font-size: 13pt; font-weight: 700;
  color: var(--rc-orange); letter-spacing: 0.15em; margin-bottom: 0;
}
.cv-title {
  font-size: 30pt; font-weight: 800; color: var(--ink-900);
  letter-spacing: 0.04em; line-height: 1.25;
  font-family: 'Inter', sans-serif; margin-bottom: 0;
}
.cv-title-deco {
  width: 12mm; height: 3px; background: var(--rc-orange);
  border-radius: 1.5px; margin-top: 1mm;
}

/* 镜头对焦框设计 */
.cv-focus-wrapper {
  position: relative;
  padding: 6mm 10mm;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 6mm; z-index: 2;
}
.cv-focus-bracket {
  position: absolute; width: 16px; height: 16px; border-color: rgba(255, 85, 0, 0.45); border-style: solid;
}
.cv-focus-bracket.tl { top: 0; left: 0; border-width: 1.5px 0 0 1.5px; }
.cv-focus-bracket.tr { top: 0; right: 0; border-width: 1.5px 1.5px 0 0; }
.cv-focus-bracket.bl { bottom: 0; left: 0; border-width: 0 0 1.5px 1.5px; }
.cv-focus-bracket.br { bottom: 0; right: 0; border-width: 0 1.5px 1.5px 0; }

.cv-img-box {
  width: 115mm; height: 86mm; display: flex; align-items: center; justify-content: center;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,0.04));
}
.cv-img-box img { max-width: 100%; max-height: 100%; object-fit: contain; }

.cv-footer {
  width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center;
  margin-top: auto; z-index: 2;
}
.cv-footer-line {
  width: 100%; height: 1px; background: var(--ink-100); margin-bottom: 4mm;
}
.cv-footer-sub {
  font-size: 8.5pt; color: var(--ink-500); letter-spacing: 0.08em;
  font-family: 'Inter', var(--font-family), sans-serif;
}

/* ══ RUNNING HEADER / FOOTER ═════════════════ */
.ph {
  display: flex; align-items: flex-end; justify-content: space-between;
  padding-bottom: 2.5mm; border-bottom: 1px solid var(--ink-100); margin-bottom: 6mm;
  position: relative;
}
.ph::after {
  content: ''; position: absolute; bottom: -1px; left: 0; width: 30px; height: 1.5px;
  background: var(--rc-orange);
}
.ph-title { font-size: 12.5pt; font-weight: 700; color: var(--ink-900); }

/* ══ TABLE OF CONTENTS (目录) PAGE ═══════════ */
.toc-container {
  display: flex; flex-direction: column;
  margin-top: 10mm;
  width: 100%;
}
.toc-list {
  list-style: none; display: flex; flex-direction: column; gap: 2.5mm;
  width: 100%;
}
.toc-row {
  display: flex; align-items: flex-end; font-size: 10.5pt; text-decoration: none;
  color: var(--ink-700); padding: 1.5mm 0; transition: all 0.2s ease;
}
.toc-row:hover {
  color: var(--rc-orange);
  transform: translateX(4px);
}
.toc-num {
  display: inline-block; width: 9mm;
  color: var(--rc-orange); font-weight: 700; flex-shrink: 0;
}
.toc-name { font-weight: 500; white-space: nowrap; display: flex; align-items: center; }
.toc-dots {
  flex-grow: 1; border-bottom: 1.5px dotted rgba(28, 28, 30, 0.12);
  margin: 0 10px 4px 10px;
}
.toc-page {
  font-family: 'Inter', sans-serif; font-weight: 700; color: var(--ink-900);
  min-width: 24px; text-align: right;
}
.toc-row:hover .toc-page { color: var(--rc-orange); }

/* ══ MAIN HEADINGS IN BODY ══ */
.sh {
  font-size: 12.5pt; font-weight: 700; color: var(--ink-900);
  margin-bottom: 5mm; margin-top: 7mm;
  padding-bottom: 2.5mm; border-bottom: 1px solid var(--ink-100);
  position: relative;
}
.sh::after {
  content: ''; position: absolute; bottom: -1px; left: 0; width: 30px; height: 1.5px;
  background: var(--rc-orange);
}
.sh:first-of-type { margin-top: 0; }

/* ══ SUB HEADINGS ══ */
.sub-sh {
  font-size: 10.5pt; font-weight: 700; color: var(--ink-900);
  margin-bottom: 3.5mm; margin-top: 5.5mm;
  border-left: 3.5px solid var(--rc-orange); padding-left: 8.5px;
}

.body-text { font-size: 9.5pt; line-height: 1.75; color: var(--ink-700); }
.body-text p { margin-bottom: 2mm; }
.body-text p:last-child { margin-bottom: 0; }

/* ══ LISTS ═ */
.bl { list-style: none; display: flex; flex-direction: column; gap: 2mm; margin-bottom: 3.5mm; }
.bl li { font-size: 9.5pt; line-height: 1.7; color: var(--ink-700); position: relative; padding-left: 4.5mm; }
.bl li::before {
  content: '●'; color: var(--ink-900); font-size: 6pt;
  position: absolute; left: 0; top: 0.2mm; line-height: 1.7;
}

.nl { list-style: none; display: flex; flex-direction: column; gap: 2mm; counter-reset: item; }
.nl li {
  font-size: 9.5pt; line-height: 1.7; color: var(--ink-700);
  position: relative; padding-left: 5.5mm; counter-increment: item;
}
.nl li::before {
  content: counter(item) '.'; color: var(--rc-orange); font-weight: 700;
  position: absolute; left: 0; top: 0; line-height: 1.7;
}

/* ══ CAUTION ROUNDED BOX ════════════════════ */
.co {
  background-color: var(--rc-orange-pale);
  border: 1px solid rgba(255,85,0,0.08);
  border-left: 4px solid var(--rc-orange);
  border-radius: 8px;
  padding: 4mm 5mm; margin-top: 4mm; margin-bottom: 4mm;
}
.co-title { font-size: 9.5pt; font-weight: 700; color: var(--rc-orange); margin-bottom: 1.5mm; }
.co-content { font-size: 9pt; line-height: 1.7; color: var(--ink-700); }
.co-content p { margin-bottom: 1px; }
.co-content p:last-child { margin-bottom: 0; }

/* ══ DIAGRAMS & SCHEMATICS ══════════════════ */
.diag-container {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  margin: 4mm 0;
}

/* 4-column layout for 4 angles with light grey bg */
.g4-row {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 4mm; width: 100%; margin-bottom: 5mm;
}

/* 统一规范：去除配图卡片的背景底色，仅保留 1px 细边框线 */
.g4-card {
  background: transparent; border-radius: 8px; padding: 2.5mm;
  display: flex; flex-direction: column; align-items: center;
  border: 1px solid var(--ink-100);
}
.g4-frame { height: 26mm; display: flex; align-items: center; justify-content: center; }
.g4-frame img { max-height: 100%; max-width: 100%; object-fit: contain; }

.annotated-img-center {
  width: 100%; background: var(--white); border-radius: 8px; padding: 2mm;
  display: flex; align-items: center; justify-content: center; height: 148mm;
  margin-bottom: 4mm;
}
.annotated-img-center img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* ══ TABLES ═════════════════════════════════ */
.tbl {
  width: 100%; border-collapse: collapse; border: 1px solid var(--ink-100);
  margin-bottom: 4mm;
}
.tbl th {
  background-color: var(--ink-050); color: var(--ink-900);
  padding: 2.5mm 3.5mm; font-size: 9pt; font-weight: 700; text-align: left;
  border: 1px solid var(--ink-100);
}
.tbl td {
  padding: 2.5mm 3.5mm; font-size: 9pt; line-height: 1.6;
  color: var(--ink-700); border: 1px solid var(--ink-100);
  vertical-align: middle;
  text-align: justify; text-justify: inter-character;
}
.tbl-op td:first-child { font-weight: 700; color: var(--ink-900); width: 22%; }
.tbl-op td:last-child { padding-left: 1.5mm; } /* 符号前紧凑 (Tighten space before bullet) */
.bullet-dot { display: inline-block; margin-right: -1px; }
.op-title { font-weight: 700; color: var(--ink-900); margin-bottom: 0.5mm; }
.op-desc { color: var(--ink-700); }
.text-red { color: #D9383A; font-weight: 700; }
.text-blue { color: #2B6CB0; font-weight: 700; } /* 符号后紧凑 (Tighten space after bullet) */

.tbl-specs { width: 100%; border-collapse: collapse; border: 1px solid var(--ink-100); }
.tbl-specs td {
  padding: 1.8mm 3.5mm; font-size: 8.5pt; line-height: 1.5;
  color: var(--ink-700); border: 1px solid var(--ink-100);
  text-align: justify; text-justify: inter-character;
}
.tbl-specs td:first-child { font-weight: 700; color: var(--ink-900); width: 35%; }

/* ══ DIAGRAM IMAGE CARDS & FRAMES ══ */
/* 统一规范：去除配图卡片的背景底色，仅保留 1px 细边框线 */
.diag-img-card {
  background: transparent; border-radius: 8px; padding: 3mm;
  width: 100%; display: flex; flex-direction: column; align-items: center;
  border: 1px solid var(--ink-100); min-width: 0;
}
.diag-img-frame {
  width: 100%; display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.diag-img-frame img {
  max-width: 100%; max-height: 100%; object-fit: contain; display: block;
}
.power-feed-frame {
  position: relative;
}
.power-feed-label {
  position: absolute;
  left: 50%;
  bottom: 16mm;
  transform: translateX(-50%);
  font-size: 8.5pt;
  font-weight: 600;
  color: var(--ink-700);
  white-space: nowrap;
}
.microsd-figure img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
}
.reset-hole-figure {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: -1mm 0 2mm;
  border: 1px solid var(--ink-100);
  border-radius: 8px;
  padding: 2mm;
  width: 100%;
}
.reset-hole-figure img {
  width: 72mm;
  max-width: 100%;
  height: auto;
  display: block;
}



/* ══ RESPONSIVE MOBILE ADAPTATION ═══════════ */
.status-figure-card {
  position: relative;
  background: transparent;
  border: 1px solid var(--ink-100);
  border-radius: 8px;
  padding: 1.4mm 1.8mm 1.7mm;
  width: 100%;
}
.status-diagram {
  margin: 1.8mm 0 1mm;
}
.status-figure-crop {
  position: relative;
  height: 56mm;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 0;
}
.status-figure-crop img {
  width: 80mm;
  height: auto;
  max-width: 100%;
  display: block;
  transform: translateY(-8mm);
}
.status-table {
  position: static;
  width: 100%;
  margin-top: 1.2mm;
  border-collapse: collapse;
  table-layout: fixed;
  border: 1.5px solid #111;
  background: var(--white);
  color: var(--ink-900);
}
.status-table th,
.status-table td {
  border: 1px solid #111;
  text-align: center;
  vertical-align: middle;
  padding: 1.35mm 1mm;
  font-size: 7.1pt;
  line-height: 1.16;
  font-weight: 500;
}
.status-table th {
  font-size: 8.1pt;
  line-height: 1.15;
  font-weight: 700;
}
.status-table .sub {
  display: block;
  font-size: 6.3pt;
  font-weight: 500;
}
.status-led-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 1mm;
  border-radius: 50%;
  background: #169CE7;
  vertical-align: middle;
}
.status-led-flash {
  color: #169CE7;
  font-size: 10pt;
  margin-right: 0.8mm;
  vertical-align: middle;
}
.status-speaker {
  display: inline-block;
  width: 3.8mm;
  height: 3.8mm;
  margin-right: 0.7mm;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.status-speaker-on {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M4 11v6h5l7 6V5l-7 6H4Z' stroke='%23111' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M20 10c1.6 2.2 1.6 5.8 0 8M23 7c3 4 3 10 0 14' stroke='%23111' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.status-speaker-off {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='M4 11v6h5l7 6V5l-7 6H4Z' stroke='%23111' stroke-width='2.2' stroke-linejoin='round'/%3E%3Cpath d='M20 11l5 5m0-5-5 5' stroke='%23111' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
#p8 .page-footer-num {
  bottom: 3mm;
}

@media screen and (max-width: 1100px) {
  .main-layout {
    flex-direction: column; align-items: center;
    margin: 20px auto; max-width: 100%;
  }
  .sidebar {
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 260px; height: 100vh;
    border-radius: 0; border: none;
    border-right: 1px solid var(--ink-100);
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    z-index: 100;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .mobile-menu-btn {
    display: flex;
  }
  .pages-wrapper {
    width: var(--page-w); padding: 10px 0; gap: 12px;
  }
}

@media screen and (max-width: 850px) {
  :root {
    --page-w: 100vw; --page-h: auto;
    --pad-top: 10mm; --pad-side: 6mm; --pad-bottom: 10mm;
  }
  .pages-wrapper {
    width: 100%;
  }
  .page {
    width: 100%; min-height: 100vh; height: auto; border-radius: 0; box-shadow: none;
    padding: var(--pad-top) var(--pad-side) var(--pad-bottom);
  }
  .page::before { height: 0; }
  
  /* 手机端字体适度放大，保证极佳的可读性 */
  .body-text { font-size: 10.5pt; }
  .bl li { font-size: 10.5pt; }
  .nl li { font-size: 10.5pt; }
  .tbl th, .tbl td { font-size: 9.5pt; padding: 2mm 2.5mm; }
  .tbl-specs td { font-size: 9.5pt; padding: 2.1mm 2.5mm; }
  .sh { font-size: 13.5pt; }
  .sub-sh { font-size: 11.5pt; }
  .toc-row { font-size: 11.5pt; padding: 2mm 0; }
  .toc-num { width: 10mm; }
  .cv-pre-title { font-size: 11.5pt; margin-top: 2.5mm; }
  .cv-title { font-size: 22pt; }
  .cv-img-box { width: 70mm; height: 50mm; }
  .cv-title-group { margin-bottom: 6mm; margin-top: 2mm; gap: 2.5mm; }
  .cv-focus-wrapper { padding: 3mm 6mm; margin-bottom: 6mm; }
  .cv-glow { display: none; }
  
  /* 手机端图片卡片尺寸与排版自适应 */
  .g4-row { grid-template-columns: 1fr 1fr; gap: 3mm; }
  .g4-frame { height: 32mm; }
  
  .diag-img-card { padding: 2.5mm; }
  .diag-img-frame { height: auto !important; }
  .diag-img-frame img { width: 100%; height: auto; transform: none !important; }
  
  /* 手机端大图自适应宽度，确保标注清晰 */
  .annotated-img-center { 
    height: auto; 
    min-height: 200px;
    padding: 0; 
  }
  .annotated-img-center img { 
    width: 100%; 
    height: auto; 
    max-height: none; 
  }
  
  .g2 { grid-template-columns: 1fr !important; gap: 4mm; }
  .toc-list { padding: 0; }
}
  .text-center { text-align: center !important; }

  /* ══ PRINT RULES ════════════════════════════ */
  @media print {
@page {
  size: A4 portrait;
  margin: 0;
}
body {
  margin: 0 !important;
  background: none;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  font-family: 'MiSans', sans-serif !important;
}
.main-layout { display: block !important; margin: 0 !important; width: 100% !important; }
.sidebar { display: none !important; }
.mobile-menu-btn { display: none !important; }
.pages-wrapper { display: block !important; margin: 0 !important; width: 100% !important; padding: 0 !important; gap: 0 !important; }

.page {
  width: 210mm !important;
  height: 297mm !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  margin: 0 !important;
  padding: var(--pad-top) var(--pad-side) var(--pad-bottom) !important;
  page-break-after: always !important;
  page-break-inside: avoid !important;
  overflow: hidden !important;
}
.page::before { height: 0 !important; }

/* Restore cover padding in print to match HTML */
.page-cover {
  padding: 40mm 18mm 20mm !important;
}

/* Table print optimizations (CN - matches HTML heights better) */
.tbl th {
  padding: 2.0mm 3.0mm !important;
  font-size: 9pt !important;
}
.tbl td {
  padding: 2.0mm 3.0mm !important;
  font-size: 9pt !important;
  line-height: 1.55 !important;
  text-justify: auto !important;
}

/* Image print heights customized for page spaces */
#p7 .diag-img-frame {
  height: 52mm !important;
}
#p7 .diag-img-card {
  padding: 2.5mm !important;
}
#p7 .diag-container {
  margin-top: 1.5mm !important;
  margin-bottom: 3.0mm !important;
}

.diag-img-frame img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
  }
