@page { size: A4; margin: 14mm 13mm; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 10.5pt; line-height: 1.4;
       color: #111; max-width: 190mm; margin: 0 auto; padding: 1rem; background: #fff; }
.hint { background: #fff8d6; border: 1px solid #e6d27a; padding: .5rem .8rem; border-radius: 6px; font-size: 10pt; }
header { display: flex; align-items: center; gap: 1rem; border-bottom: 2px solid #2c6fbb; padding-bottom: .5rem; margin-bottom: .8rem; }
.logo { height: 16mm; width: auto; }
.htext { flex: 1; }
h1 { font-size: 16pt; margin: 0; }
header p { margin: .2rem 0 0; font-size: 11.5pt; }
.meta { text-align: right; font-size: 9.5pt; color: #444; }
section { margin-bottom: .6rem; }
h2 { font-size: 12pt; margin: .9rem 0 .3rem; padding: .15rem .5rem; background: #eef3f9; border-left: 4px solid #2c6fbb; break-after: avoid; }
h3 { font-size: 10.5pt; margin: .5rem 0 .2rem; color: #2c6fbb; break-after: avoid; }
dl { margin: 0; display: grid; grid-template-columns: 52mm 1fr; gap: .15rem .6rem; }
dt { font-weight: 600; color: #333; }
dd { margin: 0; white-space: pre-wrap; }
dt.chk { grid-column: 1 / -1; font-weight: 500; }
table { width: 100%; border-collapse: collapse; margin: .2rem 0 .4rem; font-size: 9.5pt; break-inside: auto; }
th, td { border: 1px solid #bbb; padding: .2rem .35rem; text-align: left; vertical-align: top; white-space: pre-wrap; }
th { background: #f3f3f3; }
tr { break-inside: avoid; }
.nowrap { white-space: nowrap; }
.bodies { display: flex; gap: 6mm; align-items: flex-end; break-inside: avoid; }
.bodies figure { margin: 0; width: 30mm; text-align: center; font-size: 8.5pt; color: #555; }
.body-canvas { position: relative; }
.body-canvas img { display: block; width: 100%; height: auto; }
.body-canvas svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.legend { list-style: none; padding: 0; margin: 0; font-size: 9pt; }
footer { display: flex; gap: 12mm; margin-top: 16mm; break-inside: avoid; }
.sig { flex: 1; border-top: 1px solid #333; padding-top: .2rem; font-size: 9pt; color: #444; }
@media print { .hint { display: none; } body { padding: 0; } }
