/* The Prepper's Planner — print: A4 portrait, 15 mm margins, black and white */
@page { size: A4 portrait; margin: 15mm; }

html, html.ts-large, html.ts-xl { font-size: 10.5pt !important; }
html.lowbattery { --bg: #fff; --surface: #fff; --text: #000; --muted: #000; --border: #000; }
* { color: #000 !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; }
body { background: #fff !important; font-size: 10.5pt; line-height: 1.35; }
a { text-decoration: none; }

/* Never print the site chrome */
.sos-bar, .site-header, .site-footer, .skip-link, .sample-banner, .no-print, .btn, .btn-row, .clear-control, .tabs, .chip, .filter, .crumb, .tick input, .step-btn { display: none !important; }

/* A small line with the book title when printing a normal page */
.print-book-line { display: block !important; font-size: 8pt; border-bottom: 0.3mm solid #000; padding-bottom: 1mm; margin-bottom: 4mm; }
main { padding: 0 !important; }
.wrap { max-width: none; padding: 0; }
.panel, .notice, .hero, .totals, .step, .never-box, .tile, .qcard-tile { border-color: #000 !important; break-inside: avoid; }
.never-box { border-width: 1mm !important; }
[role="tabpanel"][hidden] { display: block !important; }
.page-title { font-size: 20pt; }
.title-icon { display: none; }

/* Printing a chosen document: only #print-root */
body.has-print > *:not(#print-root) { display: none !important; }
body.has-print #print-root { display: block !important; }

.sheet { break-after: page; page-break-after: always; font-family: "Barlow", Arial, sans-serif; }
.sheet:last-child { break-after: auto; page-break-after: auto; }
.sheet-line { font-size: 7.5pt; margin: 0 0 2mm; border-bottom: 0.3mm solid #000; padding-bottom: 0.8mm; }
.sheet h2 { font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; font-weight: 700; text-transform: uppercase; font-size: 17pt; margin: 0 0 1.5mm; }
.sheet h3 { font-size: 12pt; margin: 2mm 0 1mm; }
.sheet-intro { font-size: 9.5pt; margin: 0 0 3mm; }
.sheet-table { width: 100%; border-collapse: collapse; margin: 0 0 3mm; }
.sheet-table th, .sheet-table td { border: 0.3mm solid #000 !important; padding: 1mm 1.6mm; text-align: left; vertical-align: top; font-size: 9.5pt; }
.sheet-table thead th { background: #E6E6E6 !important; font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; font-weight: 700; font-size: 10pt; }
.sheet-table .group-row th { background: #F0F0F0 !important; font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; font-size: 9.5pt; padding: 0.6mm 1.6mm; }
.sheet-table .tick-cell { width: 9mm; text-align: center; }
.sheet-table tr { break-inside: avoid; page-break-inside: avoid; }
.sheet-table.kv th { width: 42%; font-weight: 600; }
.sheet-table.compact th, .sheet-table.compact td { padding: 0.8mm 1.6mm; font-size: 9pt; }
.sheet-table.kv td { height: 7mm; }
.sheet-table.kv td.tall { height: 16mm; }
.sheet-table.grid td { height: 6.5mm; }
.print-note { display: block; font-size: 8pt; font-weight: 500; }
* { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* One-page sheets: rows tall enough to write in, short enough to fit */
.sheet-one tbody td { height: 8mm; }
.sheet-one.sheet-kit-checklist tbody td { height: 5.4mm; padding-top: 0.5mm; padding-bottom: 0.5mm; font-size: 9pt; }
.sheet-one.sheet-kit-checklist .group-row th { padding-top: 0.3mm; padding-bottom: 0.3mm; font-size: 8.5pt; }
.sheet-one.sheet-food-water-tracker tbody td { height: 12mm; }
.sheet-one.sheet-monthly-check tbody td { height: 15mm; }
.sheet-one.sheet-medicines tbody td { height: 13mm; }
.sheet-one.sheet-contacts tbody td { height: 10mm; }
.sheet-one.sheet-household-plan tbody td { height: 13mm; }
.sheet-one.sheet-grab-bag tbody td { height: 9mm; }
.write-box { border: 0.3mm solid #000 !important; min-height: 10mm; padding: 1mm; }
.write-box.tall { min-height: 28mm; }
.sheet-field-label { font-weight: 600; margin: 2mm 0 1mm; font-size: 10pt; }
.owner-line { margin: 3mm 0 1.5mm; font-size: 11pt; }
.write-line { display: inline-block; min-width: 60%; border-bottom: 0.3mm solid #000; }
.print-bag { break-inside: avoid; margin-bottom: 4mm; }
.print-ticks { list-style: none; padding: 0; columns: 2; column-gap: 8mm; margin: 1mm 0 0; font-size: 9.5pt; }
.print-ticks li { margin-bottom: 1.2mm; break-inside: avoid; }
.print-ticks .box { display: inline-block; width: 4mm; height: 4mm; border: 0.3mm solid #000; margin-right: 2mm; text-align: center; line-height: 4mm; vertical-align: middle; }

/* Quick card printout */
.card-print .sec-label { font-size: 13pt; margin: 3mm 0 1.5mm; }
.card-print .steps { list-style: none; padding: 0; }
.card-print .step { border: 0.3mm solid #000 !important; padding: 1.5mm 2mm; margin-bottom: 1.5mm; display: flex; gap: 2mm; }
.card-print .step-num { width: 6mm; height: 6mm; font-size: 10pt; border: 0.3mm solid #000; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.card-print .tick { display: none !important; }
.card-print .step-text { font-size: 10pt; }
.card-print .never-box { border: 1mm solid #000 !important; padding: 1mm 3mm 2mm; margin: 3mm 0; }
.card-print .call-list { list-style: none; padding: 0; }
.card-print .call-list li { margin-bottom: 1mm; }
.card-print .source-note { font-size: 8.5pt; }
.sheet-table.grid th[scope="row"] { width: 42%; font-weight: 600; }

/* ===== The Prepper's Planner sheets ===== */
.sheet h3 { font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; font-size: 11pt; margin: 2.5mm 0 1mm; }
.sheet-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
.sheet-cols .sheet-table.kv th { width: 55%; }
.sheet-plan .plan-people td { height: 7mm; }
.sheet-plan .plan-people th:first-child { width: 30%; }
.sheet-plan .plan-people th:nth-child(2) { width: 24%; }
.sheet-plan .plan-turnoffs th[scope="row"] { width: 30%; font-weight: 600; }
.sheet-plan .plan-turnoffs td { height: 7mm; }
.sheet-plan .write-box.plan-exits { min-height: 16mm; margin-bottom: 2mm; }
.sheet-plan .sheet-table { margin-bottom: 2mm; }
.sheet-plan .sheet-table.kv td { height: 6mm; }
.print-ticks.one-col { columns: 1; margin: 1mm 0 2mm; font-size: 9pt; }
.sheet-contacts .contacts-table th[scope="row"] { width: 36%; font-weight: 600; }
.sheet-contacts .contacts-table td { height: 9mm; }
.sheet-contacts .contacts-table th:nth-child(3), .sheet-contacts .contacts-table td:nth-child(3) { width: 26%; }
.sheet-pantry .pantry-table td { height: 8.6mm; font-size: 9pt; }
.sheet-pantry .pantry-table th:nth-child(2) { width: 11%; }
.sheet-pantry .pantry-table th:nth-child(3) { width: 17%; }
.sheet-pantry .pantry-table th:nth-child(4) { width: 22%; }
.sheet-pantry .pantry-table th:nth-child(5) { width: 13%; }
.sheet-pantry .ck-date { width: 30%; }
.sheet-tracker .tracker-table td { font-size: 8.6pt; padding: 0.55mm 1.4mm; }
.sheet-tracker .tr-n { width: 10mm; }
.sheet-tracker .tr-time { width: 24mm; }
.sheet-tracker .tr-date { width: 26mm; }
.sheet-tracker h3 { margin-top: 1.6mm; }
.sheet-knots .knot-table th[scope="row"] { width: 38%; font-weight: 700; }
.sheet-knots .knot-table td { height: 14mm; }
.sheet-knots .knot-table th[scope="row"] .print-note { font-weight: 500; }
.print-knot { break-inside: avoid; margin-bottom: 3mm; }
.print-knot ol { margin: 0; padding-left: 6mm; font-size: 9.5pt; }
.print-knot li { margin-bottom: 0.6mm; }
.sheet-calc .totals, .sheet-calc .panel, .sheet-calc .notice { border: 0.3mm solid #000 !important; padding: 2mm 3mm; margin: 0 0 3mm; border-radius: 2mm; }
.sheet-calc .icon { display: none; }
.sheet-calc .panel h2 { font-size: 13pt; }

/* Wallet cards: bank-card size, front and back side by side, fold in the middle */
.wc-how { font-size: 9pt; margin: 0 0 4mm; }
.wc-pair { display: flex; width: 171.2mm; height: 54mm; border: 0.4mm solid #000; margin: 0 0 7mm; break-inside: avoid; page-break-inside: avoid; }
.wc { width: 85.6mm; height: 54mm; padding: 3mm 3.5mm; overflow: hidden; font-family: "Barlow", Arial, sans-serif; }
.wc-front { border-right: 0.3mm dashed #000; }
.wc-head { font-family: "Barlow Condensed", "Arial Narrow", Arial, sans-serif; font-weight: 700; text-transform: uppercase; font-size: 11pt; letter-spacing: 0.05em; margin: 0 0 1.5mm; border-bottom: 0.6mm solid #000; padding-bottom: 0.6mm; }
.wc-line { display: flex; gap: 2mm; margin: 0 0 1.2mm; font-size: 8.5pt; line-height: 1.2; }
.wc-label { font-weight: 700; flex: none; width: 21mm; }
.wc-val { flex: 1 1 auto; border-bottom: 0.25mm solid #000; min-height: 4.2mm; overflow: hidden; }
.wc-nums { list-style: none; padding: 0; margin: 0; font-size: 8.4pt; line-height: 1.3; }
.wc-nums li { margin: 0 0 0.5mm; }
.wc-nums strong { display: inline-block; min-width: 25mm; }
