/* This batch extends the existing paper-and-punch-card visual system. */
.batch-page .nav-links a[href="/guides/building-habits"] { display: none; }
.batch-page .hero h1 { font-size: clamp(2.3rem,6vw,4rem); }
.batch-page .result-panel { position: static; }
.batch-page input[type="checkbox"] { width: 20px; min-height: 20px; accent-color: var(--indigo-dark); }
.batch-page .check-label { display:flex; align-items:center; gap:10px; }
.sheet-title { font-size:clamp(1.5rem,4vw,2.15rem); letter-spacing:-.035em; line-height:1.15; margin:0 0 18px; overflow-wrap:anywhere; }
.idea-list { display:grid; gap:8px; margin-top:12px; }
.idea-choice { text-align:left; padding:12px; border:1px solid var(--line); background:white; border-radius:12px; color:var(--ink); cursor:pointer; }
.idea-choice:hover { border-color:var(--indigo); }
.idea-choice small { display:block; color:var(--muted); }
.menu-list { padding-left:24px; }
.menu-list li { padding:14px 0; border-bottom:1px dashed var(--line); break-inside:avoid; }
.menu-list p { margin:0 0 6px; overflow-wrap:anywhere; }
.mini-punches { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0; }
.mini-punches span { width:20px; height:20px; border:1.5px dashed var(--indigo); border-radius:50%; }
.text-button { color:var(--indigo-dark); text-decoration:underline; border:0; background:none; padding:5px 0; cursor:pointer; font-size:13px; }
.batch-page button:focus-visible, .batch-page summary:focus-visible { outline:3px solid var(--indigo-dark); outline-offset:3px; }
.tool-status { font-size:13px; margin-top:14px; color:var(--indigo-dark); }
.table-scroll { overflow-x:auto; }
.table-scroll .data-table { min-width:440px; }
.batch-page progress { display:block; width:100%; height:18px; accent-color:var(--indigo-dark); }
.blank-log { margin-top:18px; padding:12px 0; border-bottom:1px solid var(--line); font-size:12px; }
.classroom-sheets { display:grid; gap:20px; }
.class-sheet { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.class-punch-card { border:1px dashed #888; background:white; padding:14px; border-radius:12px; break-inside:avoid; overflow-wrap:anywhere; }
.class-punch-card p { margin:0 0 8px; }
.card-label { font-size:14px; font-weight:850; color:var(--indigo-dark); }
.card-name { font-size:12px; font-weight:750; }
.card-reward,.card-rule { font-size:11px; }
.class-punches { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; margin:10px 0; }
.class-punches span { display:flex; align-items:center; justify-content:center; aspect-ratio:1; border:1px solid #777; border-radius:50%; font-size:10px; }
.rotation-table small { display:block; font-weight:400; white-space:nowrap; }
.rotation-table select { padding:6px; min-height:38px; min-width:95px; border-radius:8px; }
.rotation-table { font-size:12px; }
.batch-page .result-body { padding:24px; }
.print-only { display:none; }
.workload { padding-left:20px; }
.batch-page .article-body table { display:block; overflow-x:auto; }
@media(max-width:600px) {
 .batch-page .nav-links>a:not(.button) { display:none; }
 .batch-page .nav-links { gap:5px; }
 .batch-page .brand { font-size:14px; }
 .batch-page .nav-links .button { padding:8px; font-size:11px; }
 .class-sheet { grid-template-columns:1fr; }
 .batch-page .field-row { grid-template-columns:1fr; gap:0; }
}
@media print {
 @page { size:auto; margin:12mm; }
 .batch-page .print-only { display:inline; }
 .batch-page .tool-status,.batch-page .hero,.batch-page .print-hide { display:none!important; }
 .batch-page .result-panel { min-height:0; overflow:visible; break-inside:auto; page-break-inside:auto; }
 .batch-page .result-body { padding:0; }
 .batch-page .table-scroll { overflow:visible; }
 .batch-page .data-table { min-width:0; width:100%; font-size:9pt; table-layout:fixed; }
 .batch-page .data-table th,.batch-page .data-table td { padding:2mm; overflow-wrap:anywhere; }
 .batch-page tr { break-inside:avoid; }
 .batch-page thead { display:table-header-group; }
 .batch-page .classroom-sheets { display:block; }
 .batch-page .class-sheet { display:grid; grid-template-columns:1fr 1fr; gap:6mm; break-after:page; }
 .batch-page .class-sheet:last-child { break-after:auto; }
 .batch-page .class-punch-card { border-radius:0; padding:4mm; min-height:66mm; }
 .batch-page .class-punches { grid-template-columns:repeat(5,8mm); gap:2mm; }
 .batch-page .class-punches span { height:8mm; width:8mm; }
 .batch-page .class-punch-card p { margin:0 0 2mm; }
 .batch-page .card-label { font-size:11pt; }
 .batch-page .card-name { font-size:9pt; }
 .batch-page .card-reward,.batch-page .card-rule { font-size:8pt; }
 .batch-page .menu-list { margin:0; }
 .batch-page .sheet-title { font-size:18pt; }
 .batch-page .rotation-table th:first-child { width:24%; }
}
@media print {
 /* Twenty-slot cards must leave room for browser headers and printer margins. */
 .batch-page .class-punch-card { line-height:1.2; }
 .batch-page .class-punches { grid-template-columns:repeat(5,7mm); gap:1.5mm; margin:2mm 0; }
 .batch-page .class-punches span { width:7mm; height:7mm; }
}
