@page { size: A4 portrait; margin: 15mm 15mm 17mm; }
* { box-sizing: border-box; }
:root {
  --ink:#173037; --muted:#66777b; --deep:#163d42; --teal:#0f766e;
  --blue:#245f78; --gold:#9a6a24; --red:#9b4a4a; --line:#d8e4e0;
  --paper:#fbfcfb; --soft:#eef5f2; --soft-blue:#eef4f7;
}
html { background:#dce5e1; }
body {
  max-width:180mm; margin:8mm auto; padding:13mm 14mm; background:var(--paper);
  color:var(--ink); font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
  font-size:9.5pt; line-height:1.58; -webkit-print-color-adjust:exact; print-color-adjust:exact;
  box-shadow:0 16px 48px rgba(25,55,50,.15);
}
h1 { margin:0 0 5mm; padding-bottom:4mm; color:var(--deep); border-bottom:1px solid var(--line); font-size:23pt; line-height:1.18; letter-spacing:-.03em; }
h2 { margin:7mm 0 2.5mm; color:var(--deep); font-size:14.5pt; line-height:1.3; break-after:avoid; }
h3 { margin:4.5mm 0 1.8mm; color:var(--teal); font-size:11pt; break-after:avoid; }
p { margin:1.2mm 0 2.3mm; }
strong { color:var(--deep); }
blockquote { margin:3mm 0 5mm; padding:3mm 4mm; border-left:1.4mm solid var(--teal); background:var(--soft); color:#244a45; font-size:10.5pt; font-weight:620; border-radius:0 2mm 2mm 0; break-inside:avoid; }
table { width:100%; margin:3mm 0 5mm; border-collapse:separate; border-spacing:0; font-size:8pt; background:white; border:1px solid var(--line); border-radius:2mm; overflow:hidden; break-inside:auto; }
thead { display:table-header-group; }
tr { break-inside:avoid; }
th { background:var(--deep); color:white; text-align:left; font-weight:700; }
th,td { padding:2mm 2.2mm; vertical-align:top; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
th:last-child,td:last-child { border-right:0; } tr:last-child td { border-bottom:0; } tbody tr:nth-child(even) td { background:#f4f8f6; }
ul,ol { margin:1.5mm 0 3mm; padding-left:6mm; } li { margin:.8mm 0; }
code { padding:.2mm .7mm; color:#24514b; background:#eaf1ee; border-radius:.8mm; overflow-wrap:anywhere; }
a { color:var(--blue); text-decoration:none; }
.callout { margin:4mm 0; padding:3mm 4mm; border:1px solid #cfe0da; border-radius:2mm; background:var(--soft); color:#28514b; break-inside:avoid; }
.callout.warning { border-color:#e4d3b8; background:#fbf5ea; color:#684b20; }
.source-note { margin-top:7mm; padding-top:3mm; border-top:1px solid var(--line); color:var(--muted); font-size:7.7pt; overflow-wrap:anywhere; }
.hero-meta { display:flex; flex-wrap:wrap; gap:2mm; margin:3mm 0 6mm; }
.hero-meta span { padding:1.2mm 2.4mm; border-radius:99px; color:#28514b; background:var(--soft); border:1px solid #d2e2dc; font-size:8pt; }
.doc-grid { display:grid; grid-template-columns:1fr 1fr; gap:3mm; margin:4mm 0 7mm; }
.doc-card { display:flex; flex-direction:column; min-height:30mm; padding:4mm; border:1px solid var(--line); border-radius:3mm; background:white; box-shadow:0 4px 14px rgba(22,61,66,.06); }
.doc-card b { margin-bottom:2mm; color:var(--deep); font-size:11.5pt; }
.doc-card span { color:var(--muted); font-size:8.5pt; }
@media (max-width:760px) { body { margin:0; padding:7vw; } .doc-grid { grid-template-columns:1fr; } }
@media print { html,body { background:white; } body { margin:0; padding:0; max-width:none; box-shadow:none; } .doc-card { box-shadow:none; } }
