/* Essensplan (essensplan.html) – baut auf aemtliplan.css auf (ap-*: Seite, Formular, Blatt A4 quer, Druck) */
.ap-radio input[type=checkbox] { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--sage); flex: none; }
.es-meals { display: flex; flex-wrap: wrap; gap: 6px; }
.es-plan { display: grid; grid-template-columns: 2.4em repeat(var(--n, 2), 1fr); gap: 6px; align-items: center; }
.es-plan .es-h { font-size: 13px; font-weight: 800; color: var(--quiet); }
.es-plan b { font-size: 14px; }
.ap-form .es-plan input[type=text] { min-height: 44px; padding: 0 10px; font-size: 15px; }

/* Blatt */
.es-body { display: flex; gap: 1.4em; flex: 1; min-height: 0; }
.es-body .ap-table { flex: 1; align-self: flex-start; }
.es-table th.ap-job { width: 6.5em; }
.es-table td { text-align: left !important; vertical-align: top !important; padding: .5em .6em !important; font-weight: 700; font-size: .95em; line-height: 1.25; white-space: normal; overflow-wrap: break-word; hyphens: auto; height: calc(36em / var(--rows, 1)); }
.es-table thead th { text-align: center; }
.es-table td .ap-blank { margin-top: 1.4em; }
.es-shop { width: 13em; flex: none; display: flex; flex-direction: column; border-radius: .6em; background: var(--sage-tint); padding: .6em .9em; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.es-shop b { font-size: 1.25em; color: var(--sage-dark); margin-bottom: .2em; }
.es-shop span { flex: 1; border-bottom: 1px solid var(--line-2); min-height: 1.4em; }
