/* Lehrzeug Klassendienste – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.lt-mainbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.nr-table-wrap { overflow-x: auto; }
.kd-services { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.kd-svc { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto auto auto; gap: 6px; align-items: center; padding: 8px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2); }
.kd-svc .kd-task { grid-column: 2 / -1; font-size: 13px; }
.kd-ico { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--surface); font-size: 22px; line-height: 1; }
.kd-n { display: inline-flex; align-items: center; gap: 2px; }
.kd-n b { min-width: 18px; text-align: center; }
.kd-now { margin-bottom: 16px; }
.kd-now-t { margin: 0 0 8px; font-weight: 700; color: var(--teal-ink); }
.kd-now-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.kd-now-c { display: grid; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 8px; padding: 10px 12px; border-radius: 14px; background: var(--teal-soft); }
.kd-now-i { grid-row: 1 / 3; font-size: 28px; line-height: 40px; text-align: center; }
.kd-now-c b { font-size: 14px; }
.kd-now-c span:last-child { font-size: 14px; color: var(--ink-2); }
.kd-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; }
.kd-table th, .kd-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.kd-table thead th { font-size: 12.5px; font-weight: 500; color: var(--ink-2); border-bottom: 2px solid var(--line-2); white-space: nowrap; }
.kd-th-ico { display: block; font-size: 20px; line-height: 1.2; }
.kd-table tbody th { white-space: nowrap; }
.kd-table tbody th small { display: block; color: var(--ink-3); font-weight: 400; font-size: 12px; }
.kd-table td span { display: block; }
.kd-table tr.is-now { background: var(--yellow-soft); }

/* Druck */
.kdp-sheet { width: 210mm; min-height: 296mm; padding: 14mm 16mm; font-family: var(--font); color: #071B4A; background: #fff; break-after: page; page-break-after: always; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.kdp-sheet:last-child { break-after: auto; page-break-after: auto; }
.kdp-quer { width: 297mm; min-height: 209mm; padding: 10mm 12mm; }
.kdp-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: .5mm solid #071B4A; margin-bottom: 4mm; padding-bottom: 2mm; }
.kdp-head h1 { margin: 0; font-size: 18pt; }
.kdp-head p { margin: 0; color: #5B6372; font-size: 10pt; }
.kdp-table { font-size: 9.5pt; }
.kdp-table th, .kdp-table td { padding: 1.6mm 2mm; border-bottom: .2mm solid #CCD6E1; }
.kdp-table thead th { font-size: 9pt; color: #071B4A; }
.kdp-foot { margin-top: 6mm; font-size: 8pt; color: #8E9AB0; text-align: right; }
.kdp-week-head { text-align: center; margin-bottom: 8mm; }
.kdp-week-head p { margin: 0; font-size: 13pt; color: #3D4B66; }
.kdp-week-head h1 { margin: 1mm 0; font-size: 40pt; letter-spacing: -.02em; color: #0A7F68; }
.kdp-week { display: grid; grid-template-columns: 1fr 1fr; gap: 5mm; }
.kdp-wcard { display: grid; grid-template-columns: 22mm 1fr; gap: 4mm; align-items: center; padding: 5mm; border-radius: 5mm; border: .6mm solid #12C7A3; background: #F2FBF8; }
.kdp-wi { font-size: 34pt; text-align: center; }
.kdp-wcard h2 { margin: 0; font-size: 15pt; }
.kdp-names { margin: 1mm 0 0; font-size: 17pt; font-weight: 700; color: #0A7F68; }
.kdp-task { margin: 1mm 0 0; font-size: 9pt; color: #3D4B66; }
.kdp-week.many .kdp-wcard { padding: 3.5mm; }
.kdp-week.many .kdp-wi { font-size: 26pt; }
.kdp-cut-t { margin: 0 0 4mm; font-size: 12pt; color: #5B6372; font-weight: 500; }
.kdp-cgrid { display: grid; grid-template-columns: 1fr 1fr; }
.kdp-card { height: 62mm; border: .3mm dashed #8E9AB0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 4mm 6mm; }
.kdp-ci { font-size: 40pt; line-height: 1.1; }
.kdp-card h2 { margin: 2mm 0 1mm; font-size: 18pt; }
.kdp-card p { margin: 0; font-size: 10pt; color: #3D4B66; }
.kdp-ngrid { display: grid; grid-template-columns: repeat(3, 1fr); }
.kdp-name { height: 22mm; border: .3mm dashed #8E9AB0; display: grid; place-items: center; font-size: 17pt; font-weight: 700; }
@media (max-width: 520px) { .kd-svc { grid-template-columns: 40px minmax(0, 1fr) auto; } }
