/* Übersicht für Lehrpersonen: Bildschirm (Tabelle ab 820 px, darunter Karten) und Druck A4 hoch.
   Farben aus styles.css; Lernwege tragen die Pastellfamilie ihres Lernbereichs (data-offer in ux.css). */
.teachers-page{--to-ink:#3f4d44;--to-soft:#5d675e;--to-card:#fffdf9;--to-limit:#fbece7;--to-limit-edge:#c07a66;--to-limit-ink:#6f3526}
.teachers-page p{color:var(--to-soft)}
.to-skip{position:absolute;left:12px;top:-60px;z-index:30;background:var(--to-card);padding:10px 14px;border-radius:10px;border:1px solid var(--line)}
.to-skip:focus{top:12px}
.to-site-header{padding:22px 24px}
.to-links{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.to-links a{padding:10px 2px;min-height:44px;display:inline-flex;align-items:center}
.teachers-main{max-width:1280px;padding:0 24px 60px;color:var(--to-ink)}
select:focus-visible,[tabindex]:focus-visible{outline:3px solid #8c9eaf;outline-offset:3px}
.to-hero{max-width:880px;padding:10px 0 26px}
.to-hero h1{font-size:clamp(32px,4vw,54px);margin-bottom:18px;color:var(--ink)}
.to-lead{font-size:19px;line-height:1.5;margin-bottom:12px}
.to-stand{font-size:15px;margin-bottom:6px}
.to-company{font-size:13px;font-weight:700;letter-spacing:.04em}
.to-notice{margin-top:14px;padding:10px 14px;border-radius:12px;background:var(--yellow);color:#5a4a16}
.to-legend{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;padding:0;margin:18px 0 0;font-size:14px}
.to-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.02em;padding:2px 9px;border-radius:999px;vertical-align:.1em;white-space:nowrap;border:1px solid}
.to-badge.is-built{background:#e3eedd;border-color:#b9cfae;color:#3a5634}
.to-badge.is-planned,.to-badge.is-partial{background:#f5ecd0;border-color:#dcc98e;color:#654f12}
.to-tag{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-right:4px;color:#4c6246}
.to-tag.is-limit,.to-limit .to-tag{color:var(--to-limit-ink)}
.to-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;align-items:start}
.to-toc{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow:auto;padding:16px 12px;border:1px solid var(--line);border-radius:20px;background:#fffdf9cc}
.to-toc h2{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px 6px}
.to-toc ol{list-style:none;margin:0;padding:0}
.to-toc a{display:flex;gap:8px;align-items:baseline;padding:7px 8px;border-radius:10px;text-decoration:none;font-size:14px;line-height:1.3;min-height:32px}
.to-toc a:hover{background:var(--sage)}
.to-toc a[aria-current]{background:var(--sage);font-weight:700;box-shadow:inset 3px 0 0 var(--sage-strong)}
.to-num{display:inline-flex;min-width:1.9em;height:1.9em;align-items:center;justify-content:center;border-radius:50%;background:var(--tile,var(--sage));color:var(--tile-ink,var(--ink));font-size:.62em;font-weight:800;letter-spacing:0;flex-shrink:0;vertical-align:.25em}
.to-toc .to-num{font-size:11px;height:22px;min-width:22px;vertical-align:0}
.to-tools{border:1px solid var(--line);border-radius:22px;background:var(--to-card);padding:18px;margin-bottom:10px;box-shadow:var(--shadow)}
.to-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.to-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--to-ink)}
.to-field .form-input{min-height:46px;font-weight:400}
.to-search{grid-column:1/-1}
.to-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.to-actions .primary{margin-left:auto;min-height:48px}
.to-count{margin-top:12px;font-weight:700;color:var(--to-ink)}
.to-hint{margin-top:4px}
.to-code-panel{margin-top:14px;padding:14px 16px;border-radius:16px;background:var(--blue);outline-offset:3px}
.to-code-panel h2{font-size:18px;letter-spacing:0;margin-bottom:6px}
.to-code-panel ul{margin:0 0 8px;padding-left:18px}
.to-empty{padding:24px;border:1px dashed #c8cfbf;border-radius:18px;margin:20px 0;text-align:center}
.to-chapter{margin-top:46px;padding-left:18px;border-left:6px solid var(--tile-edge,var(--line));scroll-margin-top:16px}
.to-chapter>h2{font-size:clamp(25px,2.6vw,36px);margin-bottom:14px;color:var(--ink)}
.to-chapter h3{font-size:21px;margin:26px 0 10px;letter-spacing:-.02em;color:var(--ink)}
.to-chapter h4{font-size:17px;margin:22px 0 8px;color:var(--tile-ink,var(--ink))}
.to-p{max-width:78ch;margin:0 0 12px;font-size:16px}
.to-list{margin:6px 0 14px;padding-left:20px;max-width:82ch}
.to-list li{margin:8px 0;color:var(--to-soft)}
.to-ideas{list-style:none;padding:0;display:grid;gap:10px}
.to-ideas li{margin:0;padding:12px 14px;border-radius:14px;background:var(--to-card);border:1px solid var(--line)}
.to-pills{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px;vertical-align:.1em}
.to-pill{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--tile,var(--sage));color:var(--tile-ink,var(--ink));white-space:nowrap}
.to-table-wrap{margin:10px 0 18px}
.to-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px;line-height:1.45;background:var(--to-card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.to-table thead th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:12px;background:var(--tile,var(--sage));color:var(--tile-ink,var(--ink));vertical-align:bottom}
.to-table th[scope=row],.to-table td{padding:12px;vertical-align:top;border-top:1px solid var(--line);text-align:left;color:var(--to-soft)}
.to-table th[scope=row]{color:var(--ink);font-weight:700;min-width:9em}
.to-table p{margin:0;color:inherit}
.to-code{font-weight:800;color:var(--tile-ink,var(--ink))}
.to-limit{margin-top:8px!important;padding:8px 10px;border-radius:10px;background:var(--to-limit);border-left:4px solid var(--to-limit-edge);color:#5b3a31!important}
.to-limit:first-child{margin-top:0!important}
.to-basis+.to-limit{margin-top:10px!important}
.to-chip{display:inline-block;margin:1px 0;padding:2px 8px;min-height:24px;line-height:19px;border-radius:999px;border:1px solid var(--tile-edge,#c9d3c0);background:var(--tile,#eef2ea);color:var(--tile-ink,var(--ink));font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
.to-chip:hover{text-decoration:underline}
.to-toggle{display:flex;margin-top:10px;padding:4px 12px;min-height:32px;border:1px solid #cfd6c6;border-radius:999px;background:#fff;font-size:13px;font-weight:600;align-items:center;gap:6px}
.to-toggle:after{content:'▾';transition:transform .2s}
.to-toggle[aria-expanded=true]:after{transform:rotate(180deg)}
.to-row.is-collapsed [data-detail]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.to-sources{padding-left:20px;font-size:14px}
.to-sources li{margin:6px 0;color:var(--to-soft)}
.to-url{overflow-wrap:anywhere}
.to-print-dialog{border:0;border-radius:22px;padding:24px;max-width:min(460px,calc(100vw - 32px));background:var(--paper);color:var(--ink);box-shadow:0 20px 60px #0003}
.to-print-dialog::backdrop{background:#3b44384d}
.to-print-dialog h2{font-size:24px;margin-bottom:12px}
.to-print-dialog fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
.to-print-dialog legend{font-weight:700;margin-bottom:6px}
.to-print-dialog label{display:flex;gap:10px;align-items:center;min-height:32px}
.to-print-dialog .small{margin-top:12px}
@media (prefers-reduced-motion:no-preference){html:has(.teachers-page){scroll-behavior:smooth}}
@media (prefers-reduced-motion:reduce){.to-toggle:after{transition:none}}

/* Tablet und Handy: Inhaltsverzeichnis als klebende Leiste, Tabellen als Karten. */
@media screen and (max-width:1000px){
 .to-layout{display:block}
 .to-toc{top:0;z-index:5;margin:0 -24px 16px;border-radius:0;border-width:0 0 1px;padding:8px 16px;max-height:none;background:var(--paper)}
 .to-toc h2{display:none}
 .to-toc ol{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}
 .to-toc a{white-space:nowrap;border:1px solid var(--line);background:var(--to-card)}
}
@media screen and (max-width:820px){
 .teachers-main{padding:0 16px 40px}
 .to-toc{margin:0 -16px 14px}
 .to-site-header{padding:16px}
 .to-chapter{padding-left:10px;border-left-width:4px}
 .to-table,.to-table tbody,.to-table tr,.to-table th[scope=row],.to-table td{display:block;width:auto}
 .to-table{border:0;background:none;border-radius:0}
 .to-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .to-table tbody{margin:0 0 12px;border:1px solid var(--line);border-radius:16px;background:var(--to-card);overflow:hidden}
 .to-table th[scope=row]{background:var(--tile,var(--sage));border-top:0}
 .to-table td{border-top:1px solid var(--line)}
 .to-table td:before{content:attr(data-label);display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tile-ink,var(--ink));margin-bottom:3px}
 .to-actions .primary{margin-left:0}
}

/* Druck: A4 hoch, ohne Filter und Navigation, Kapitel auf neuer Seite, Zeilen nie geteilt, Adressen ausgeschrieben. */
@media print{
 .teachers-page{--to-soft:#222;--to-ink:#111;--to-card:#fff}
 body{background:#fff!important;font-size:9.5pt;line-height:1.35;color:#111}
 body:after,.to-site-header,.to-skip,.to-toc,.to-ui,.to-toggle,.to-print-dialog{display:none!important}
 .teachers-main{max-width:none;padding:0}
 .to-layout{display:block}
 .to-hero{padding:0 0 6mm;max-width:none}
 .to-hero h1{font-size:22pt}
 .to-lead{font-size:11pt}
 .to-chapter{break-before:page;margin-top:0;padding-left:3mm;border-left-width:2mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .to-chapter:first-of-type{break-before:auto}
 .to-chapter>h2{font-size:16pt}
 .to-chapter h3{font-size:12pt;margin:5mm 0 2mm}
 .to-chapter h4{font-size:11pt;margin:4mm 0 2mm}
 h2,h3,h4{break-after:avoid}
 .to-p,.to-list li,.to-ideas li,.to-sources li{break-inside:avoid}
 .to-table{font-size:8.3pt;border-radius:0;box-shadow:none}
 .to-table thead{display:table-header-group}
 .to-table tbody,.to-table tr{break-inside:avoid;page-break-inside:avoid}
 .to-table th,.to-table td{padding:1.6mm 2mm}
 .to-table thead th,.to-num,.to-pill,.to-badge,.to-limit,.to-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .to-row.is-collapsed [data-detail]{display:block;-webkit-line-clamp:none;overflow:visible;opacity:1}
 .to-chip{border:0;padding:0;background:none;font-size:inherit}
 .to-ideas li{border:0;padding:1mm 0;background:none}
 a{color:#111;text-decoration:none}
 .to-content a[href^="http"]:not(.to-url):not(.to-chip):after,.to-lead a[href^="http"]:after{content:" (" attr(href) ")";font-size:7.5pt;color:#333;overflow-wrap:anywhere}
 .to-url{font-size:8pt}
}
/* Zusatz der App ausserhalb der docx-Übersicht (Videobotschaften) */
.to-app-addition{margin:2rem 0;padding:1rem 1.25rem;border:2px dashed rgba(0,0,0,.2);border-radius:12px;max-width:48rem}
/* Lehrplan-Abdeckung (Release 4) */
.teacher-coverage{max-width:1100px;margin:24px auto;padding:0 16px}
.teacher-coverage .classroom-scroll{overflow-x:auto}
.coverage-table{width:100%;border-collapse:collapse;font-size:14px}
.coverage-table th,.coverage-table td{border-bottom:1px solid #e1e6d8;padding:6px 8px;text-align:left;vertical-align:top}
.coverage-cycle{font-style:italic}
