/* PashuKosh A4 print sheet. Loaded with media="print". The sheet itself (#print-sheet) is built by print.js. */
@page { size: A4; margin: 12mm 14mm 15mm; }
@page { @bottom-center { content: counter(page) " / " counter(pages); font: 8pt "Public Sans", Arial, sans-serif; color: #6b7a70; } }

html, body { background: #fff !important; color: #1c2a22 !important; }
body > *:not(#print-sheet) { display: none !important; }
#print-sheet { display: block !important; }

.ps {
  --brand: #1E6B45; --brand-soft: #E4F1E9; --ink: #1c2a22; --muted: #5b6b61; --line: #cfd9d2;
  font-family: "Public Sans", "Noto Sans Devanagari", "Segoe UI", Arial, sans-serif;
  font-size: 10.5pt; line-height: 1.5; color: var(--ink);
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.ps[lang="mr"] { line-height: 1.65; }
.ps .ico, .ps .ico-a { width: 1.15em; height: 1.15em; flex: none; vertical-align: -0.2em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ps .ico-a { fill: currentColor; stroke: none; }
.ps .ico-sm { width: 1em; height: 1em; }
.ps .badge { display: inline-flex; align-items: center; justify-content: center; width: 30pt; height: 30pt; border-radius: 50%; background: var(--c, var(--brand)); color: #fff; flex: none; }
.ps .badge .ico, .ps .badge .ico-a { width: 58%; height: 58%; vertical-align: 0; }
.ps .badge.b-lg { width: 44pt; height: 44pt; background: var(--brand); }
.ps .badge.b-sm { width: 22pt; height: 22pt; background: var(--brand-soft); color: var(--brand); }

/* masthead */
.ps-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 8pt; border-bottom: 2.5pt solid var(--brand); margin-bottom: 14pt; }
.ps-brand { display: flex; align-items: center; gap: 7pt; }
.ps-mark { display: inline-flex; width: 22pt; height: 22pt; border-radius: 6pt; background: var(--brand); color: #fff; align-items: center; justify-content: center; }
.ps-mark .ico-a { width: 70%; height: 70%; }
.ps-bname { font-size: 15pt; font-weight: 500; letter-spacing: -.01em; }
.ps-bname b { color: var(--brand); font-weight: 700; }
.ps-kind { font-size: 9pt; color: var(--muted); }

.ps-title { display: flex; align-items: center; gap: 12pt; margin-bottom: 10pt; break-inside: avoid; }
.ps-title h1 { margin: 0; font-family: "Source Serif 4", "Noto Serif Devanagari", Georgia, serif; font-size: 24pt; line-height: 1.15; font-weight: 700; letter-spacing: -.01em; }
.ps-alt { font-size: 13pt; color: var(--brand); font-weight: 600; margin-top: 2pt; }
.ps-full { font-size: 9.5pt; color: var(--muted); margin-top: 2pt; }

.ps-urg, .ps-warn { display: flex; align-items: center; gap: 8pt; padding: 7pt 11pt; border-radius: 6pt; font-weight: 600; margin-bottom: 8pt; break-inside: avoid; }
.ps-urg.u1 { background: #FBE3E3; color: #8C1D1D; border: 1pt solid #E8A9A9; }
.ps-urg.u2 { background: #FDF0D5; color: #7A4B00; border: 1pt solid #E8CB8A; }
.ps-urg.u3 { background: #E4F1E9; color: #14532D; border: 1pt solid #A9D2BA; }
.ps-warn { background: #FFF4E5; color: #7A3E00; border: 1pt dashed #D9A25C; font-weight: 500; }
.ps-urg .ico, .ps-warn .ico { width: 15pt; height: 15pt; }

/* key facts */
.ps-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6pt 14pt; margin: 4pt 0 9pt; padding: 7pt 11pt; background: #F5F8F6; border: 1pt solid var(--line); border-radius: 7pt; break-inside: avoid; }
.ps-kf { display: flex; gap: 8pt; align-items: center; }
.ps-kf b { display: block; font-size: 8pt; font-weight: 600; color: var(--muted); }
.ps-kf span { font-size: 10pt; font-weight: 600; }

/* sections */
.ps-sec { --c: var(--brand); margin: 0 0 8pt; border: 1pt solid var(--line); border-left: 4pt solid var(--c); border-radius: 6pt; overflow: hidden; break-inside: avoid; }
.ps-sec-h { break-after: avoid; display: flex; align-items: center; gap: 8pt; padding: 5pt 10pt; background: color-mix(in srgb, var(--c) 11%, #fff); }
.ps-sec-h h3 { margin: 0; font-size: 11.5pt; font-weight: 700; color: var(--c); }
.ps-sec-h .badge { width: 19pt; height: 19pt; background: var(--c); }
.ps-sec-b { padding: 7pt 11pt 8pt; }
.ps-sec-b p { margin: 0 0 5pt; max-width: 68ch; }
.ps-sec-b p:last-child { margin-bottom: 0; }
.ps-sec-b ul { margin: 0; padding-left: 14pt; }
.ps-sec-b li { margin: 0 0 3pt; padding-left: 2pt; max-width: 70ch; }
.ps-sec-b li::marker { color: var(--c); }
.ps-farmer .ps-sec { font-size: 11pt; }
.ps-farmer .ps-top { margin-bottom: 10pt; }
.ps-farmer .ps-sec.care { background: #FFFAF5; border-width: 1.5pt 1.5pt 1.5pt 5pt; border-color: #E9C9B3; border-left-color: var(--c); }
.ps-lab { font-weight: 700; color: var(--muted); font-size: 9pt; margin: 6pt 0 3pt !important; }
.ps-lab:first-child { margin-top: 0 !important; }
.ps-small { font-size: 8.5pt; color: var(--muted); margin-top: 6pt !important; }
.ps .std { background: #FFF3C4; border-radius: 2pt; padding: 0 2pt; }
.ps-std { margin: 2pt 0 8pt; }

/* vet write-in */
.ps-vet { margin-top: 8pt; border: 1.5pt dashed #8aa597; border-radius: 8pt; padding: 9pt 12pt 12pt; break-inside: avoid; }
.ps-vet-h { display: flex; align-items: center; gap: 7pt; color: var(--brand); font-size: 11.5pt; margin-bottom: 10pt; }
.ps-lines { display: grid; grid-template-columns: 1.3fr 1fr; gap: 16pt; }
.ps-lines div { display: flex; align-items: flex-end; gap: 6pt; font-size: 9pt; color: var(--muted); }
.ps-lines i { flex: 1; border-bottom: 1pt solid #8aa597; height: 12pt; }

/* footer block (flows after content, kept together) */
.ps-foot { display: flex; justify-content: space-between; gap: 16pt; align-items: flex-end; margin-top: 10pt; padding-top: 6pt; border-top: 1pt solid var(--line); break-inside: avoid; }
.ps-disc { margin: 0 0 4pt; font-size: 8.5pt; color: var(--muted); }
.ps-meta { margin: 0 0 2pt; font-size: 8pt; color: var(--muted); display: flex; gap: 12pt; flex-wrap: wrap; }
.ps-src { display: block; }
.ps-rev { display: inline-flex; align-items: center; gap: 3pt; font-weight: 600; }
.ps-rev.ok { color: #14532D; } .ps-rev.no { color: #8A5A00; }
.ps-qr { text-align: center; font-size: 6.5pt; color: var(--muted); width: 52pt; flex: none; }
.ps-qr svg { width: 48pt; height: 48pt; display: block; margin: 0 auto 2pt; }
.ps-qr span { display: block; line-height: 1.2; }
.ps-farmer .ps-facts { grid-template-columns: repeat(3, 1fr); gap: 5pt 10pt; }
.ps-farmer .ps-kf span { font-size: 9.5pt; }
.ps-farmer .ps-title h1 { font-size: 22pt; }
.ps-farmer .ps-sec-b { padding: 5pt 11pt 6pt; }
.ps-farmer .ps-vet { padding: 7pt 12pt 9pt; }
.ps-farmer .ps-vet-h { margin-bottom: 7pt; }
.ps-farmer .ps-foot { margin-top: 7pt; }
.ps-farmer .ps-title .badge.b-lg { width: 38pt; height: 38pt; }
