/* Lehrzeug Tageszettel (1.9.3) – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.tz-quick { display: grid; gap: 8px; padding: 12px 14px; border-radius: 14px; background: var(--yellow-soft); border: 1px solid var(--yellow); }
.tz-quick .field-label { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 700; color: var(--yellow-ink); }
.tz-quick .field-label .i { width: 18px; height: 18px; }
.tz-quick .hint { margin: 0; }
.tz-seg { gap: 6px; }
.tz-seg span { padding: 6px 11px; font-size: 13.5px; }
.tz-seg .i { width: 16px; height: 16px; }
.lz-sec-title .i { width: 18px; height: 18px; color: var(--teal-ink); }
.tz-tpls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.tz-tpl { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; padding: 8px 10px; border-radius: 12px; border: 1.5px solid var(--line-2); background: var(--surface); color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.tz-tpl b { font-size: 14px; line-height: 1.25; }
.tz-tpl small { font-size: 12px; color: var(--ink-3); }
.tz-tpl:hover { border-color: var(--teal); }
.tz-tpl.is-on { border-color: var(--teal); background: var(--teal-soft); box-shadow: inset 0 0 0 1px var(--teal); }
.tz-tpl:focus-visible, .tz-catb:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.tz-days { margin: 6px 0; }
.tz-spwrap { overflow-x: auto; }
.tz-sp { width: 100%; border-collapse: collapse; font-size: 13px; }
.tz-sp th { padding: 4px 3px; text-align: left; font-weight: 600; color: var(--ink-2); font-size: 12px; }
.tz-sp td { padding: 2px; }
.tz-sp .input { padding: 4px 6px; font-size: 13px; min-width: 0; width: 100%; }
.tz-sp td:nth-child(2) .input, .tz-sp td:nth-child(3) .input { width: 4.4em; }
.tz-rows { min-width: 130px; }
.tz-top { display: grid; gap: 6px; }
.tz-topl { display: flex; align-items: center; gap: 8px; }
.tz-topl .input { flex: 1; min-width: 0; }
.tz-star { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--yellow-soft); color: #C98A00; flex: none; }
.tz-star .i { width: 16px; height: 16px; fill: currentColor; }
.tz-cats { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.tz-catb { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 99px; border: 1.5px solid var(--line-2); background: var(--surface-2); color: var(--ink-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.tz-catb .i { width: 15px; height: 15px; }
.tz-catb.is-on { border-color: var(--teal); background: var(--teal-soft); color: var(--teal-ink); }
.tz-items textarea { resize: vertical; font-size: 13.5px; }
.tz-pairs { display: grid; gap: 6px; }
.tz-pair { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 6px; align-items: center; }

/* Blatt (Vorschau und Druck) */
.tz-page { padding: 26px 30px; font-size: 10pt; line-height: 1.35; color: #071B4A; }
.tz-print .tz-page { padding: 0; }
.tz-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding-bottom: 6px; margin-bottom: 8px; border-bottom: 2.5px solid #071B4A; }
.tz-kick { margin: 0; font-size: 9pt; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #0A7F68; }
.tz-date { margin: 2px 0 0; font-size: 19pt; font-weight: 800; line-height: 1.1; }
.tz-date-blank { display: flex; align-items: flex-end; gap: 8px; min-width: 300px; font-size: 13pt; }
.tz-date-blank i { flex: 1; height: 1.2em; border-bottom: 1px solid #5B6372; }
.tz-head-r .i { width: 34px; height: 34px; color: #F5A623; }
.tz-plan { width: 100%; border-collapse: collapse; margin: 0 0 8px; table-layout: fixed; font-size: 8.6pt; }
.tz-plan th, .tz-plan td { border: .3mm solid #9AA6B8; padding: 1.2mm 1mm; text-align: center; vertical-align: middle; height: 5.6mm; overflow: hidden; overflow-wrap: anywhere; }
.tz-plan thead th { background: #E7ECF2; font-size: 8.4pt; height: auto; }
.tz-plan tbody th { width: 14mm; background: #F3F6F9; text-align: left; font-size: 7.8pt; color: #3D4B66; }
.tz-plan .tz-pz td { font-size: 7.2pt; color: #3D4B66; line-height: 1.15; }
.tz-note { margin: -6px 0 10px; font-size: 8pt; color: #3D4B66; }
.tz-top3 { margin: 0 0 8px; padding: 2.5mm 3.5mm; border-radius: 2.5mm; border: .5mm solid #F5A623; background: #FFF8E6; break-inside: avoid; }
.tz-top3 h2, .tz-cat h3 { display: flex; align-items: center; gap: 2mm; margin: 0 0 1.5mm; font-size: 10.5pt; }
.tz-top3 h2 .i { width: 15px; height: 15px; color: #E59400; fill: #FFD23F; }
.tz-top3 ol { margin: 0; padding-left: 5mm; display: grid; gap: .5mm; }
.tz-top3 li { display: flex; align-items: flex-end; gap: 2.5mm; min-height: 7.2mm; font-weight: 700; font-size: 10.5pt; }
.tz-top3 li::marker { font-weight: 800; }
.tz-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5mm 4mm; margin: 0 0 2.5mm; }
.tz-grid.c3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tz-grid.is-one { grid-template-columns: 1fr; }
.tz-cat { break-inside: avoid; padding: 2mm 3mm 2.5mm; border-radius: 2mm; border: .3mm solid #C9D2DE; }
.tz-cat.tz-wide { grid-column: 1 / -1; }
.tz-cat h3 { font-size: 9.6pt; }
.tz-cat h3 .i { width: 14px; height: 14px; color: #0A7F68; }
.tz-cat ul { list-style: none; margin: 0; padding: 0; display: grid; }
.tz-cat li { display: flex; align-items: flex-end; gap: 2mm; min-height: 6.3mm; }
.tz-l { flex: 1; min-width: 0; padding: 0 0 .6mm; border-bottom: .25mm solid #B8C3D2; font-size: 9.4pt; line-height: 1.25; }
.tz-box { flex: none; display: inline-block; width: 3.6mm; height: 3.6mm; margin-bottom: .9mm; border: .35mm solid #071B4A; border-radius: .7mm; }
.tz-k, .tz-z { flex: none; width: 13mm; padding: 0 0 .6mm; border-bottom: .25mm solid #B8C3D2; font-weight: 700; font-size: 9.4pt; }
.tz-rest { border-color: #E4572E; }
.tz-rest h3 .i { color: #E4572E; }
.tz-nl i { display: block; height: 6.3mm; border-bottom: .25mm solid #B8C3D2; }
.tz-mich { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5mm 3mm; margin: 0; padding: 2mm 3mm; border-radius: 2mm; background: #EEF8F4; font-size: 9pt; }
.tz-mich b { display: inline-flex; align-items: center; gap: 1.5mm; }
.tz-mich .i { width: 13px; height: 13px; color: #E4572E; }
.tz-mich .tz-box { margin: 0 0 0 2mm; }
.tz-mich i:not(.tz-box) { display: inline-block; width: 14mm; border-bottom: .25mm solid #5B6372; height: 1em; }
@media (max-width: 760px) { .tz-page { padding: 16px; } .tz-tpls { grid-template-columns: 1fr; } .tz-date { font-size: 15pt; } }
