/* Lehrzeug Verlaufsplan – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.lz-sec-title .i { width: 18px; height: 18px; color: var(--teal-ink); }
.vp-quick { margin: 0 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--teal-soft); }
.vp-quick-t { margin: 0 0 10px; font-size: 14px; color: var(--ink-2); } .vp-quick-t b { color: var(--ink); }
.vp-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
.vp-tpls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.vp-tpl { display: grid; gap: 2px; padding: 9px 11px; text-align: left; border: 2px solid var(--line-2); border-radius: 12px; background: var(--surface-2); color: var(--ink); font: inherit; cursor: pointer; }
.vp-tpl b { font-size: 14px; } .vp-tpl small { font-size: 12px; color: var(--ink-2); line-height: 1.3; }
.vp-tpl:hover { border-color: var(--teal); } .vp-tpl.is-on { border-color: var(--teal); background: var(--teal-soft); }
.vp-tpl:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.vp-sum { margin: 0; padding: 8px 12px; border-radius: 10px; background: var(--surface-2); font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.vp-sum.is-over { background: var(--coral-soft, #FDEBE8); color: var(--coral-ink, #B1382A); } .vp-sum.is-ok { background: var(--teal-soft); color: var(--teal-ink); }
.vp-fields { display: grid; gap: 6px; }
.vp-f { display: grid; grid-template-columns: 20px minmax(0, .9fr) minmax(0, 1.1fr); gap: 6px; align-items: center; opacity: .6; }
.vp-f.is-on { opacity: 1; }
.vp-f input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--teal); }
.vp-f .input.xs { padding: 5px 8px; font-size: 13px; min-height: 0; }
.vp-fl { font-weight: 600; } .vp-fl.is-wide { grid-column: span 2; }
.vp-fauto { font-size: 12px; color: var(--ink-3); padding-left: 4px; }
.vp-extras { display: grid; gap: 6px; }
.vp-safe { display: flex; gap: 8px; align-items: flex-start; margin: 14px 0 0; font-size: 13px; color: var(--ink-3); } .vp-safe .i { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--teal-ink); }
.vp-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.vp-views { display: inline-flex; gap: 4px; padding: 4px; border-radius: 14px; background: var(--surface-2); border: 1.5px solid var(--line-2); }
.vp-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; }
.vp-view .i { width: 18px; height: 18px; } .vp-view.is-on { background: var(--teal); color: var(--on-teal, #fff); }
.vp-view:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.vp-hint { font-size: 13.5px; font-weight: 600; color: var(--ink-3); } .vp-hint.is-over { color: var(--coral-ink, #B1382A); }
.vp-ablauf { display: grid; gap: 12px; }
.vp-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vp-row { display: grid; gap: 8px; padding: 10px 12px 12px; border-radius: 14px; border: 1.5px solid var(--line-2); background: var(--surface-2); }
.vp-row.is-zwischen { background: var(--surface); border-style: dashed; } .vp-row.is-reserve { background: color-mix(in srgb, var(--yellow, #F5A623) 9%, var(--surface)); }
.vp-rh { display: flex; align-items: center; gap: 10px; }
.vp-rt { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--teal-ink); }
.vp-rtime { font-size: 13px; font-weight: 600; color: var(--ink-2); }
.vp-rb { margin-left: auto; display: flex; gap: 2px; }
.vp-rg { display: grid; grid-template-columns: minmax(0, 1.8fr) 68px minmax(0, .9fr) minmax(0, 1fr); gap: 8px; }
.vp-rg.is-z { grid-template-columns: minmax(0, 1fr) 76px; }
.vp-rg label, .vp-rt2 label { display: grid; gap: 3px; min-width: 0; }
.vp-rg label > span, .vp-rt2 label > span { font-size: 11.5px; font-weight: 600; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vp-rt2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 8px; }
.vp-rt2 textarea { resize: vertical; min-height: 54px; }
.vp-add { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 10px 12px; border-radius: 14px; border: 1.5px dashed var(--line-2); }
.vp-add-t { font-size: 13px; font-weight: 600; color: var(--ink-3); margin-right: 4px; }
@media (max-width: 700px) { .vp-rg { grid-template-columns: minmax(0, 1fr) 70px; } .vp-tpls { grid-template-columns: minmax(0, 1fr); } }
.vp-wrap { display: grid; gap: 16px; }
.vp-prevsheet { overflow: hidden; } .vp-prevsheet.is-quer { max-width: 1060px; }
.vp-prevsheet > .vp-page { width: 210mm; min-height: 296.5mm; } .vp-prevsheet > .vp-page.is-quer { width: 297mm; min-height: 209.5mm; }
.vp-learn { margin: 26px 0 18px; } .vp-h2 { margin: 0 0 12px; font-size: 22px; }
.vp-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .vp-grid { grid-template-columns: minmax(0, 1fr); } }
.vp-box { padding: 18px 20px; } .vp-box h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: 16.5px; } .vp-box h3 .i { width: 20px; height: 20px; color: var(--teal-ink); }
.vp-box p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2); }

/* ================================================================ Blatt */
.vp-page { padding: 11mm 12mm 15mm; font-family: var(--font); color: #071B4A; background: #fff; font-size: 9pt; line-height: 1.35; }
.vp-page.is-quer { padding: 9mm 11mm 13mm; }
.vp-page :where(h1, h2, p, ol, ul) { margin: 0; }
.vp-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 6mm; margin: 0 0 3mm; padding-bottom: 1.4mm; border-bottom: .6mm solid #071B4A; }
.vp-top h1 { font-size: 15pt; line-height: 1.15; }
.vp-kopf, .vp-tab { width: 100%; border-collapse: collapse; table-layout: fixed; }
.vp-kopf { margin: 0 0 3.5mm; }
.vp-kopf td { border: .25mm solid #8E9AB0; padding: 1.1mm 1.6mm; vertical-align: top; font-size: 8.6pt; }
.vp-kl { width: 13%; background: #EEF2F6; font-weight: 700; color: #24324F; font-size: 7.8pt !important; }
.vp-page.is-quer .vp-kl { width: 10.5%; }
.vp-kv.is-empty { height: 6mm; }
.vp-kopf tr.is-wide .vp-kv { font-weight: 600; }
.vp-tab th { border: .25mm solid #8E9AB0; padding: 1.2mm 1.5mm; background: #EEF2F6; color: #24324F; font-size: 8pt; text-align: left; vertical-align: bottom; line-height: 1.25; }
.vp-tab td { border: .25mm solid #8E9AB0; padding: 1.3mm 1.5mm; vertical-align: top; font-size: 8.8pt; overflow-wrap: anywhere; }
.vp-tab td.c-zeit, .vp-tab td.c-dauer { white-space: nowrap; font-size: 8.2pt; color: #3D4B66; }
.vp-tab td.c-sozial, .vp-tab td.c-medien { font-size: 8.4pt; }
.vp-tab tr:not(.vp-zw) td { height: 12mm; }
.vp-zw td { background: #F3F6FA; text-align: center; font-weight: 700; font-size: 8.8pt; height: auto; padding: 1.2mm; }
.vp-zw td small { margin-left: 3mm; font-weight: 500; color: #5B6372; }
.vp-res td { background: #FFF8EC; } .vp-res td.c-phase b { color: #8A5A00; }
.vp-abk { margin-top: 2.5mm !important; font-size: 7.6pt; color: #3D4B66; line-height: 1.45; }
.vp-komp { margin-top: 4mm; } .vp-komp h2, .vp-tafel h2, .vp-notiz h2 { font-size: 9.6pt; margin: 0 0 1.5mm; }
.vp-komp ol { padding-left: 5mm; display: grid; gap: 1.5mm; } .vp-komp ul { padding-left: 4.5mm; margin-top: .8mm; display: grid; gap: .6mm; }
.vp-komp p { color: #5B6372; margin-top: .6mm; }
.vp-ln { display: block; height: 6.5mm; border-bottom: .3mm solid #9AA6B8; }
.vp-ln.is-inline { display: inline-block; width: 120mm; height: 4mm; vertical-align: bottom; }
.vp-ha { margin-top: 4mm !important; }
.vp-tafel { margin-top: 4mm; } .vp-tafel-box { height: 62mm; border: .35mm solid #071B4A; border-radius: 2mm; }
.vp-notiz { margin-top: 4mm; }
