/* Lehrzeug Arbeitsblatt – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.lz-sec-title .i { width: 18px; height: 18px; color: var(--teal-ink); }
.ab-two { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 0 10px; }
.ab-phasen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.ab-ph { position: relative; display: block; }
.ab-ph input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.ab-ph span { display: flex; align-items: center; gap: 7px; padding: 8px 10px; border: 2px solid var(--line-2); border-radius: 12px; background: var(--surface-2); font-size: 13.5px; font-weight: 600; line-height: 1.2; cursor: pointer; }
.ab-ph .i { width: 17px; height: 17px; flex: none; color: var(--teal-ink); }
.ab-ph:hover span { border-color: var(--teal); }
.ab-ph input:checked + span { border-color: var(--teal); background: var(--teal-soft); color: var(--teal-ink); }
.ab-ph input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.ab-pal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.ab-pb { display: flex; align-items: center; gap: 7px; min-width: 0; padding: 7px 9px; border: 1.5px solid var(--line-2); border-radius: 10px; background: var(--surface-2); color: var(--ink); font: inherit; font-size: 13px; font-weight: 600; text-align: left; cursor: pointer; }
.ab-pb span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab-pb .i { width: 16px; height: 16px; flex: none; color: var(--teal-ink); }
.ab-pb:hover { border-color: var(--teal); background: var(--teal-soft); }
.ab-pb:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.ab-printrow { margin-top: 14px; }
.ab-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.ab-views { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--surface-2); border: 1.5px solid var(--line-2); }
.ab-view { display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border: 0; border-radius: 10px; background: transparent; color: var(--ink-2); font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.ab-view .i { width: 18px; height: 18px; } .ab-view.is-on { background: var(--teal); color: var(--on-teal, #fff); }
.ab-view:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.ab-hint { font-size: 13.5px; font-weight: 600; color: var(--ink-3); }
.ab-wrap { display: grid; gap: 16px; }
.ab-prevsheet { overflow: hidden; } .ab-prevsheet.is-quer { max-width: 1060px; }
.ab-prevsheet > .ab-page { width: 210mm; min-height: 296.5mm; } .ab-prevsheet > .ab-page.is-quer { width: 297mm; min-height: 209.5mm; }
/* Bausteine bearbeiten */
.ab-blocks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ab-card { border: 1.5px solid var(--line-2); border-radius: 14px; background: var(--surface-2); }
.ab-card.is-open { border-color: var(--teal); background: var(--surface); }
.ab-ch { display: flex; align-items: center; gap: 6px; padding: 6px 8px 6px 4px; }
.ab-tog { display: grid; grid-template-columns: 22px auto minmax(0, 1fr); align-items: center; gap: 2px 8px; flex: 1; min-width: 0; padding: 6px 8px; border: 0; border-radius: 10px; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.ab-tog .i { width: 20px; height: 20px; color: var(--teal-ink); }
.ab-tog b { font-size: 14.5px; white-space: nowrap; }
.ab-tog small { min-width: 0; font-size: 13px; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ab-tog:hover { background: var(--surface); } .ab-tog:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; }
.ab-cb { display: flex; gap: 2px; flex: none; }
.ab-cf { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 4px 14px 14px; }
.ab-fd { display: grid; gap: 4px; min-width: 0; }
.ab-fd > span:first-child { font-size: 12.5px; font-weight: 600; color: var(--ink-3); }
.ab-fd.is-w { grid-column: 1 / -1; }
.ab-fd.is-w textarea { resize: vertical; min-height: 64px; }
.ab-fd.is-b { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; font-size: 14px; cursor: pointer; }
.ab-fd.is-b input { width: 18px; height: 18px; margin: 0; accent-color: var(--teal); }
.ab-fd.is-b span { font-size: 14px !important; font-weight: 500 !important; color: var(--ink) !important; }
.ab-ops { grid-column: 1 / -1; }
.ab-ops select { width: 100%; padding: 7px 10px; font-size: 14px; border-radius: 9px; }
.ab-none { padding: 18px; text-align: center; color: var(--ink-3); }
@media (max-width: 700px) { .ab-cf { grid-template-columns: minmax(0, 1fr); } .ab-tog { grid-template-columns: 22px minmax(0, 1fr); } .ab-tog small { grid-column: 2; } }
/* Gut zu wissen */
.ab-learn { margin: 26px 0 18px; } .ab-h2 { margin: 0 0 12px; font-size: 22px; }
.ab-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .ab-grid { grid-template-columns: minmax(0, 1fr); } }
.ab-box { padding: 18px 20px; } .ab-box h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 16.5px; } .ab-box h3 .i { width: 20px; height: 20px; color: var(--teal-ink); }
.ab-box p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }

/* ================================================================ Blatt */
.ab-page { padding: 12mm 13mm 16mm; font-family: var(--font); color: #071B4A; background: #fff; font-size: 10.5pt; line-height: 1.4; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ab-page.is-quer { padding: 10mm 13mm 14mm; }
.ab-page :where(h1, h2, h3, p, ol, ul) { margin: 0; }
.ab-head { margin: 0 0 5mm; padding-bottom: 2mm; border-bottom: .6mm solid #071B4A; }
.ab-head h1 { font-size: 17pt; line-height: 1.15; }
.ab-sub { margin-top: .8mm !important; font-size: 9pt; font-weight: 600; color: #3D4B66; }
.ab-empty { margin: 20mm 0; text-align: center; color: #5B6372; }
.ab-b { margin: 0 0 4.5mm; }
.ab-fine { margin-top: 1.4mm !important; font-size: 8.4pt; color: #5B6372; }
/* Arbeitsauftrag */
.ab-auft { display: flex; align-items: flex-start; gap: 2.6mm; }
.ab-auft p { flex: 1; font-weight: 600; padding-top: .3mm; }
.ab-nr { display: inline-grid; place-items: center; flex: none; width: 6.6mm; height: 6.6mm; border-radius: 50%; background: #071B4A; color: #fff; font-size: 9.5pt; font-weight: 700; line-height: 1; }
.ab-meta { display: inline-flex; gap: 1.4mm; flex: none; padding-top: .4mm; }
.ab-afb, .ab-pk { display: inline-block; padding: .5mm 1.8mm; border: .3mm solid #0A7F68; border-radius: 99mm; font-size: 7.6pt; font-weight: 700; color: #0A7F68; white-space: nowrap; }
.ab-pk { border-color: #5B6372; color: #3D4B66; }
.ab-auf > .ab-lines, .ab-auf > .ab-karo, .ab-auf > .ab-gsl, .ab-auf > .ab-leer { margin-top: 1.2mm; }
/* Schreibflächen */
.ab-lines { display: block; }
.ab-ln { display: block; height: 8mm; border-bottom: .3mm solid #9AA6B8; }
.ab-ln.is-in { display: inline-block; width: 110mm; height: 5mm; vertical-align: bottom; }
.ab-karo { display: block; }
.ab-leer { display: block; }
.ab-gsl { display: block; }
.ab-gs { display: block; padding-top: 3mm; }
.ab-gs i { display: block; height: 3.2mm; border-top: .25mm solid #9AA6B8; }
.ab-gs i:nth-child(2) { border-top-color: #4F7FD9; }
.ab-gs i:nth-child(3) { border-top: .25mm solid #4F7FD9; }
.ab-gs i:nth-child(4) { height: 0; border-top-color: #9AA6B8; }
.ab-gs i:nth-child(2), .ab-gs i:nth-child(3) { background: #F1F5FD; }
/* Infotext, Merkkasten */
.ab-info { padding: 3mm 4mm; border-left: 1.2mm solid #0A7F68; background: #F2F8F6; border-radius: 0 2mm 2mm 0; }
.ab-info h2, .ab-merk h2, .ab-quelle h2 { font-size: 11pt; margin: 0 0 1.2mm; }
.ab-merk { padding: 3mm 4mm 3.5mm; border: .45mm solid #071B4A; border-radius: 2.5mm; }
/* Tabellen */
.ab-tab { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ab-tab th { border: .3mm solid #8E9AB0; padding: 1.4mm 2mm; background: #EEF2F6; color: #24324F; font-size: 9pt; text-align: left; vertical-align: bottom; }
.ab-tab td { border: .3mm solid #8E9AB0; padding: 1.4mm 2mm; height: 10mm; vertical-align: top; overflow-wrap: anywhere; }
.ab-tab .c-rf, .ab-tab .c-a { width: 15mm; text-align: center; vertical-align: middle; }
.ab-tab td.c-rf i, .ab-tab td.c-a i { display: inline-block; width: 4.6mm; height: 4.6mm; border: .35mm solid #071B4A; border-radius: .8mm; }
.ab-ampel td.c-a i { border-radius: 50%; }
.ab-ampel td.c-a i.is-r { border-color: #C0392B; } .ab-ampel td.c-a i.is-y { border-color: #C98A00; } .ab-ampel td.c-a i.is-g { border-color: #0A7F68; }
.ab-ampel .c-a { width: 19mm; }
.ab-rf th:first-child { width: 42%; }
.ab-wf th { width: 34%; vertical-align: top; } .ab-wf th small { display: block; font-size: 7.6pt; font-weight: 500; color: #5B6372; }
.ab-wf td { height: 9mm; }
/* Ankreuzen */
.ab-q { font-weight: 600; margin-bottom: 1.4mm !important; }
.ab-mc ul { list-style: none; padding: 0; display: grid; gap: 1.8mm; }
.ab-mc li { display: flex; align-items: center; gap: 2.6mm; }
.ab-mc li i { flex: none; width: 4.4mm; height: 4.4mm; border: .35mm solid #071B4A; }
.ab-mc li i.is-ci { border-radius: 50%; } .ab-mc li i.is-sq { border-radius: .8mm; }
/* Zuordnen */
.ab-zu { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 22mm; }
.ab-zl, .ab-zr { display: grid; gap: 2.4mm; align-content: start; }
.ab-zl > div, .ab-zr > div { display: flex; align-items: center; gap: 2mm; min-height: 8mm; padding: 1.2mm 2.4mm; border: .3mm solid #8E9AB0; border-radius: 1.8mm; }
.ab-zl > div { justify-content: flex-start; }
.ab-zl .ab-dot { margin-left: auto; }
.ab-dot { flex: none; width: 2.6mm; height: 2.6mm; border-radius: 50%; background: #071B4A; }
.ab-zn { flex: none; font-weight: 700; color: #0A7F68; min-width: 3.6mm; }
/* Reihenfolge */
.ab-reihe > div { display: flex; align-items: center; gap: 3mm; margin-top: 1.8mm; }
.ab-reihe > div i { flex: none; width: 7mm; height: 7mm; border: .35mm solid #071B4A; border-radius: 1.2mm; }
/* Lückentext */
.ab-luecke p { line-height: 2.2; }
.ab-gap { display: inline-block; height: 1em; border-bottom: .3mm solid #071B4A; vertical-align: baseline; }
.ab-wsp { margin-bottom: 2mm; padding: 1.6mm 3mm; border: .3mm dashed #5B6372; border-radius: 2mm; font-size: 9.6pt; }
/* Bild, Cluster, Diagramme */
.ab-bild { display: flex; align-items: flex-start; justify-content: flex-end; padding: 2mm 3mm; border: .35mm dashed #8E9AB0; border-radius: 2.5mm; }
.ab-bild span { font-size: 8pt; color: #5B6372; }
.ab-cluster, .ab-koord, .ab-zahl, .ab-noten { display: flex; justify-content: center; }
.ab-cluster svg, .ab-koord svg, .ab-zahl svg, .ab-noten svg { display: block; }
.ab-noten { justify-content: stretch; }
/* Versuch */
.ab-versuch { display: grid; gap: 2.4mm; }
.ab-vq { padding: 2mm 3mm; background: #F2F8F6; border-radius: 2mm; }
.ab-vs h3 { font-size: 10pt; margin: 0 0 .4mm; }
.ab-skizze { height: 45mm; border: .35mm dashed #8E9AB0; border-radius: 2mm; }
/* Quelle */
.ab-quelle { display: grid; gap: 2mm; }
.ab-qt { padding: 2.4mm 3.5mm; border-left: .8mm solid #8E9AB0; background: #F7F9FC; font-style: italic; }
/* Programmcode */
.ab-code ol { margin: 0; padding: 2mm 3mm 2mm 11mm; border: .3mm solid #8E9AB0; border-radius: 2mm; background: #F7F9FC; font-size: 9.4pt; }
.ab-code li { min-height: 6.4mm; padding: .9mm 0; border-bottom: .2mm solid #DCE3EC; color: #5B6372; }
.ab-code li:last-child { border-bottom: 0; }
.ab-code code { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; color: #071B4A; white-space: pre-wrap; }
/* Exit-Ticket */
.ab-exit { margin-top: 7mm; padding: 3mm 4mm; border: .4mm dashed #071B4A; border-radius: 2.5mm; }
.ab-exh { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1.4mm; }
.ab-exh b { font-size: 11pt; } .ab-exh span { font-size: 8pt; color: #5B6372; }
.ab-exq { margin-bottom: 1.4mm; } .ab-exq p { font-weight: 600; font-size: 9.8pt; }
.ab-exq .ab-ln { height: 7mm; }
.ab-exn { display: flex; align-items: flex-end; gap: 2mm; margin-top: 2mm; font-size: 9pt; font-weight: 600; }
.ab-exn i { flex: 0 1 70mm; height: 5mm; border-bottom: .3mm solid #5B6372; }
/* Tippkarten */
.ab-tipps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3mm; }
.ab-tipps .ab-fine { grid-column: 1 / -1; margin-top: 0 !important; }
.ab-tipp { padding: 2.4mm 3mm; border: .35mm dashed #071B4A; border-radius: 2.5mm; min-height: 20mm; }
.ab-tipp b { display: block; font-size: 9pt; color: #0A7F68; margin-bottom: .6mm; }
.ab-tipp p { font-size: 9.4pt; line-height: 1.35; }
.ab-page.is-quer .ab-tipps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* QR */
.ab-qr { display: flex; align-items: center; gap: 4mm; padding: 2mm 3mm; border: .3mm solid #8E9AB0; border-radius: 2.5mm; }
.ab-qrc { flex: none; width: 24mm; height: 24mm; display: grid; place-items: center; border-radius: 1.6mm; }
.ab-qrc svg { width: 24mm; height: 24mm; display: block; }
.ab-qrc > span { width: 22mm; height: 22mm; display: grid; place-items: center; border: .35mm dashed #8E9AB0; border-radius: 1.6mm; font-size: 8pt; color: #5B6372; }
.ab-qr p { font-weight: 600; } .ab-qr small { display: block; margin-top: .6mm; font-size: 8pt; font-weight: 500; color: #5B6372; overflow-wrap: anywhere; }
/* Abstand */
.ab-platz { margin: 0; } .ab-platz.is-line { border-bottom: .3mm solid #8E9AB0; margin-bottom: 4.5mm; }
/* Große Schrift */
.ab-page.is-gross { font-size: 13pt; line-height: 1.45; }
.ab-page.is-gross .ab-head h1 { font-size: 20pt; }
.ab-page.is-gross .ab-nr { width: 8mm; height: 8mm; font-size: 11pt; }
.ab-page.is-gross .ab-ln { height: 10mm; }
.ab-page.is-gross .ab-tab th { font-size: 11pt; } .ab-page.is-gross .ab-tab td { height: 12mm; }
.ab-page.is-gross .ab-mc li i, .ab-page.is-gross .ab-tab td.c-rf i, .ab-page.is-gross .ab-tab td.c-a i { width: 5.6mm; height: 5.6mm; }
.ab-page.is-gross .ab-tipp p, .ab-page.is-gross .ab-wsp { font-size: 11.5pt; }
.ab-page.is-gross .ab-gs i { height: 4.2mm; }
