/* Beleg → Kalkulation (Fabian 7.11.2026). Schwarz auf Weiss wie die übrige Erfassung, Rot nur für eine Marge unter der Grenze. */
.wk-workspace[data-erf-stufe] .wk-kalk-summen { margin: 0 0 16px; padding: 12px 14px; }
.wk-workspace[data-erf-stufe] .wk-kalk-summen > h2 { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
.wk-workspace[data-erf-stufe] .wk-kalk-summen h2 small { font-size: 11px; font-weight: 400; color: var(--erf-leise); }
.wk-workspace[data-erf-stufe] .wk-kalk-konditionen { max-width: 620px; margin: 16px 0 0; padding: 14px; }
.wk-workspace[data-erf-stufe] .wk-kalk-konditionen > h2 { margin: 0 0 8px; padding: 0 0 8px; border-bottom: 1px solid var(--erf-linie); }
.wk-kalk-kacheln { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px 16px; }
.wk-kalk-kachel small { display: block; font-size: 11px; color: var(--erf-leise); }
.wk-kalk-kachel b { display: block; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; }
.wk-workspace[data-erf-stufe] .wk-kalk-warnung, .wk-workspace[data-erf-stufe] .wk-kalk-warnung :is(b, small) { color: #b91c1c; }
.wk-kalk-hinweis { display: block; margin: 6px 0 8px; font-size: 12px; color: var(--erf-leise); }
.wk-kalk-tabelle td { vertical-align: top; }
.wk-kalk-tabelle .num small, .wk-kalk-text small { display: block; font-size: 11px; font-weight: 400; color: var(--erf-leise); }
.wk-kalk-tabelle .wk-kalk-warnung small { color: #b91c1c; }
.wk-kalk-text { min-width: 190px; }
.wk-kalk-text b { font-weight: 700; }
.wk-kalk-tabelle tr.wk-kalk-hand > td { background: #f4f4f4; }
.wk-kalk-eingabe { display: inline-flex; align-items: center; justify-content: flex-end; gap: 3px; }
.wk-kalk-eingabe input { width: 84px; min-height: 30px; padding: 3px 6px; text-align: right; font-variant-numeric: tabular-nums; }
.wk-kalk-eingabe input[aria-invalid=true] { border-color: #b91c1c; outline: 1px solid #b91c1c; }
.wk-kalk-zurueck { min-width: 26px; min-height: 30px; padding: 0 4px; border: 1px solid #aaa; background: #fff; color: #111; cursor: pointer; }
.wk-kalk-tabelle select { width: 118px; min-height: 30px; padding: 3px 4px; }
.wk-kalk-fest { font-variant-numeric: tabular-nums; }
.wk-kalk-mehr { white-space: nowrap; }
.wk-kalk-zeilen > td { padding: 8px 12px 12px 40px; background: #fafafa; }
.wk-kalk-zeilen table { width: min(100%, 720px); border-collapse: collapse; font-size: 12px; }
.wk-kalk-zeilen table td { padding: 3px 8px 3px 0; border-bottom: 1px solid var(--erf-linie); }
.wk-kalk-tabelle .wk-kalk-zeilen table td.num, .wk-kalk-tabelle .wk-kalk-zeilen table th.num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wk-kalk-zeilen p { margin: 8px 0 0; }
.wk-kalk-zp-titel { margin: 12px 0 6px; font-size: 12px; font-weight: 700; }
.wk-kalk-zp-titel:first-child { margin-top: 0; }
/* 8.11.2026: was bis 10.16.0 nur in der Karte «Kalkulation» der Position ging – «Preis fehlt» beheben, Ausbrüche je Stück oder je Lauf-cm */
.wk-kalk-hilfe { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 4px; font-size: 12px; }
.wk-kalk-ersatz { display: inline-flex; align-items: center; gap: 6px; }
.wk-kalk-frei { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 10px; flex-basis: 100%; padding: 8px; border: 1px solid var(--erf-linie, #d3d3d3); }
.wk-kalk-frei[hidden] { display: none; }
.wk-kalk-frei label { display: inline-flex; flex-direction: column; gap: 2px; }
.wk-kalk-ausbruch { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 12px; }
.wk-kalk-zeilen table.wk-kalk-zp th { padding: 3px 8px 3px 0; font-size: 11px; font-weight: 700; text-align: left; border-bottom: 1px solid var(--erf-linie); }
.wk-kalk-zp-platz { display: inline-block; }
.wk-kalk-zp .wk-kalk-zurueck, .wk-kalk-zp-platz { width: 32px; min-width: 32px; }
.wk-kalk-zp-einheit { min-width: 44px; font-size: 11px; color: var(--erf-leise); text-align: left; white-space: nowrap; }
.wk-kalk-zeilen table.wk-kalk-zp td { vertical-align: top; }
/* Fabian 8.11.2026: das Preisfeld gleich hinter Glassorte und Bearbeitung, die Tabelle nur so breit wie nötig */
.wk-kalk-zeilen table.wk-kalk-zp { width: auto; min-width: min(100%, 560px); }
.wk-kalk-zeilen table.wk-kalk-zp td:first-child { min-width: 200px; max-width: 320px; padding-right: 16px; }
.wk-kalk-zeilen table.wk-kalk-zp td small { display: block; font-size: 11px; color: var(--erf-leise); }
.wk-kalk-zeilen table.wk-kalk-zp td small.wk-kalk-warnung { color: #b91c1c; }
.wk-workspace[data-erf-stufe] .wk-kalk-liste { padding: 14px; }
.wk-workspace[data-erf-stufe] .wk-kalk-liste > h2 { margin: 0 0 6px; }
/* Handy: Titel und Hinweise so breit wie der Bildschirm, beim Aufklappen rollt die Tabelle nach links (public/beleg-kalkulation.js) */
@media (max-width: 700px) {
  .wk-kalk-zeilen > td { padding-left: 8px; }
  .wk-kalk-zeilen > td > :is(h3, p) { max-width: calc(100vw - 72px); }
  .wk-kalk-zeilen > td > table, .wk-kalk-zeilen > td > table.wk-kalk-zp { width: calc(100vw - 72px); min-width: 0; }
  .wk-kalk-zeilen table.wk-kalk-zp td:first-child { min-width: 0; }
}
@media (pointer: coarse) {
  .wk-kalk-eingabe input, .wk-kalk-tabelle select, .wk-kalk-zurueck, .wk-kalk-hilfe :is(select, input, button), .wk-kalk-ausbruch select { min-height: 44px; }
  .wk-kalk-zurueck, .wk-kalk-zp .wk-kalk-zurueck, .wk-kalk-zp-platz { width: 44px; min-width: 44px; }
}
