/* Lehrzeug Stoffverteilungsplan – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.lz-sec-title .i { width: 18px; height: 18px; color: var(--teal-ink); }
.sv-plans { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; align-items: center; margin-bottom: 6px; }
.sv-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 10px; }
.sv-grid label { display: grid; gap: 3px; font-size: 12px; font-weight: 600; color: var(--ink-3); }
.sv-grid .input, .sv-grid select { width: 100%; min-width: 0; }
.sv-ferien { margin-top: 10px; font-size: 13.5px; }
.sv-ferien summary { cursor: pointer; font-weight: 700; color: var(--teal-ink); }
.sv-ferien ul { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 3px; }
.sv-ferien li { display: flex; justify-content: space-between; gap: 8px; padding: 4px 8px; border-radius: 8px; background: var(--sunken); }
.sv-ferien li.is-ft { background: none; color: var(--ink-2); }
.sv-ferien li span { white-space: nowrap; color: var(--ink-2); }
.sv-hint { margin: 0 0 6px; }
.sv-slots { display: grid; gap: 4px; }
.sv-sr { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 6px; align-items: center; }
.sv-sd { font-weight: 800; font-size: 13px; color: var(--ink-2); }
.sv-sb { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 3px; }
.sv-sb button { height: 28px; padding: 0; border-radius: 7px; border: 1.5px solid var(--line-2); background: var(--surface-2); color: var(--ink-3); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.sv-sb button:hover { border-color: var(--blue); }
.sv-sb button[aria-pressed="true"] { background: var(--blue-ink); border-color: var(--blue-ink); color: #fff; }
.sv-slotsum { margin: 8px 0 0; font-size: 13.5px; font-weight: 700; color: var(--blue-ink); }
.sv-units { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 5px; }
.sv-units li { display: grid; grid-template-columns: auto minmax(0, 1fr) 74px auto auto; gap: 4px; align-items: center; }
.sv-col { width: 22px; height: 22px; border-radius: 7px; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--line-2); cursor: pointer; }
.sv-std { display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 700; color: var(--ink-3); }
.sv-std .input { width: 100%; min-width: 0; text-align: right; padding-right: 4px; }
.sv-units .input.sm, .sv-rows .input.sm, .sv-rows select.sm { padding: 6px 7px; font-size: 13px; }
.sv-rows { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 8px; }
.sv-rows li { display: grid; gap: 4px; padding: 8px; border-radius: 12px; background: var(--sunken); }
.sv-ka li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.sv-ka .sv-kth { grid-column: 1 / 2; } .sv-ka .sv-std { grid-column: 2; } .sv-ka .icon-btn { grid-column: 3; grid-row: 1; }
.sv-ka [data-kf="datum"] { grid-column: 1; grid-row: 1; } .sv-ka .select-wrap { grid-column: 2; grid-row: 1; }
.sv-frei li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.sv-frei .sv-fname { grid-column: 1 / 3; } .sv-frei .icon-btn { grid-column: 3; grid-row: 1; }
.sv-ohne { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 600; color: var(--ink-2); grid-column: 1 / -1; }
.sv-clear { border: 0; background: none; padding: 0; color: var(--teal-ink); font: inherit; text-decoration: underline; cursor: pointer; }
.sv-links { display: grid; gap: 6px; }
.sv-link { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2); color: var(--ink); text-decoration: none; }
.sv-link:hover { border-color: var(--blue); }
.sv-link .i { width: 18px; height: 18px; color: var(--blue-ink); }
.sv-link span { display: grid; } .sv-link b { font-size: 14px; } .sv-link small { color: var(--ink-3); font-size: 12px; }

/* Ausgabe */
.sv-scroll { overflow-x: auto; }
.sv-out { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.sv-ph h3 { margin: 0; font-size: 1.15rem; } .sv-ph small { color: var(--ink-3); font-weight: 600; }
.sv-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sv-stats div { padding: 10px 12px; border-radius: 12px; background: var(--sunken); display: grid; }
.sv-stats b { font-size: 1.35rem; line-height: 1.1; color: var(--blue-ink); font-variant-numeric: tabular-nums; }
.sv-stats small { font-size: 12px; color: var(--ink-3); font-weight: 600; }
.sv-fit { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 10px 14px; border-radius: 12px; font-weight: 600; font-size: 14.5px; line-height: 1.45; }
.sv-fit .i { flex: none; width: 20px; height: 20px; margin-top: 1px; }
.sv-fit.is-ok { background: var(--teal-soft); color: var(--teal-ink); } .sv-fit.is-no { background: var(--coral-soft); color: var(--coral-ink); }
.sv-band { display: block; width: 100%; height: auto; }
.sv-band text { font-family: var(--font); }
.sv-bm { font-size: 13px; font-weight: 700; fill: #5B6372; } .sv-bh { font-size: 11px; font-weight: 700; fill: #071B4A; }
.sv-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--ink-2); }
.sv-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.sv-dot { display: inline-block; flex: none; width: 11px; height: 11px; border-radius: 3px; }
.sv-dot.c0, .sv-col.c0 { background: #12A383; } .sv-dot.c1, .sv-col.c1 { background: #2E7CF6; } .sv-dot.c2, .sv-col.c2 { background: #F08A24; } .sv-dot.c3, .sv-col.c3 { background: #8B5CF6; }
.sv-dot.c4, .sv-col.c4 { background: #E5487A; } .sv-dot.c5, .sv-col.c5 { background: #C99200; } .sv-dot.c6, .sv-col.c6 { background: #0EA5C6; } .sv-dot.c7, .sv-col.c7 { background: #5DB85C; }
.sv-hatch { display: inline-block; width: 14px; height: 11px; border-radius: 3px; background: repeating-linear-gradient(45deg, #EEF1F5 0 3px, #C9D2DE 3px 5px); }
.sv-tri { display: inline-block; width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 10px solid #B4233A; }
.sv-ut, .sv-wt { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.sv-ut th, .sv-wt th { text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); padding: 6px 8px; border-bottom: 2px solid var(--ink); }
.sv-ut td, .sv-wt td { padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.sv-ut td:first-child { display: flex; align-items: center; gap: 8px; }
.sv-ut td:nth-child(n+2) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.sv-miss { color: var(--coral-ink); }
.sv-wt .c-kw { width: 38px; } .sv-wt .c-dt { width: 96px; } .sv-wt .c-h { width: 40px; } .sv-wt .c-ev { width: 36%; }
.sv-wt td:nth-child(-n+3) { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--ink-2); }
.sv-fer td { background: repeating-linear-gradient(45deg, var(--sunken) 0 6px, transparent 6px 12px); color: var(--ink-3); font-weight: 700; }
.sv-u { display: flex; align-items: flex-start; gap: 6px; }
.sv-u .sv-dot { margin-top: .3em; }
.sv-free { color: var(--ink-3); font-style: italic; }
.sv-ev { display: block; font-size: 12.5px; line-height: 1.35; }
.sv-e-ka { color: #B4233A; font-weight: 700; } .sv-e-feier { color: var(--ink-3); } .sv-e-frei { color: var(--orange-ink); } .sv-e-note { color: var(--blue-ink); }
@media (max-width: 560px) { .sv-ut td:nth-child(n+2), .sv-wt td:nth-child(-n+3) { white-space: normal; } .sv-ut, .sv-wt { font-size: 12.5px; } .sv-wt .c-dt { width: 64px; } .sv-grid { grid-template-columns: minmax(0, 1fr); } .sv-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sv-wt .c-ev { width: auto; } .sv-sb button { height: 30px; } }

/* Druck */
.sv-page { padding: 12mm 12mm 14mm; font-family: var(--font); color: #071B4A; background: #fff; font-size: 9pt; }
.sv-page h1 { margin: 0 0 1mm; font-size: 16pt; }
.sv-page h2 { margin: 4mm 0 1.5mm; font-size: 11pt; }
.sv-pm { margin: 0 0 3mm; color: #5B6372; font-weight: 600; }
.sv-page .sv-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 2mm; margin: 0 0 2mm; }
.sv-page .sv-stats div { padding: 1.5mm 2mm; border-radius: 2mm; background: #F3F6FA; }
.sv-page .sv-stats b { font-size: 11pt; color: #071B4A; } .sv-page .sv-stats small { font-size: 6.8pt; color: #5B6372; }
.sv-page .sv-fit { padding: 1.5mm 3mm; font-size: 8.5pt; margin: 0 0 2mm; border-radius: 2mm; }
.sv-page .sv-fit.is-ok { background: #E3F6F1; color: #0B7A62; } .sv-page .sv-fit.is-no { background: #FDE8E4; color: #A33A22; }
.sv-page .sv-fit .i { width: 4mm; height: 4mm; }
.sv-page .sv-ut, .sv-page .sv-wt { font-size: 8.4pt; }
.sv-page .sv-ut th, .sv-page .sv-wt th { font-size: 6.8pt; padding: 1mm 1.5mm; border-bottom: .4mm solid #071B4A; color: #5B6372; }
.sv-page .sv-ut td, .sv-page .sv-wt td { padding: .9mm 1.5mm; border-bottom: .2mm solid #DCE3EC; }
.sv-page .sv-wt tr { break-inside: avoid; }
.sv-page .sv-wt .c-no { width: 28%; } .sv-page .sv-wt .c-ev { width: 26%; }
.sv-page .sv-ev { font-size: 7.6pt; }
.sv-page .sv-fer td { background: #F1F4F8; color: #5B6372; }
.sv-src { margin: 3mm 0 0; font-size: 7pt; color: #5B6372; }
