/* Gratis-Werkzeuge der Website (Lohnrechner, QR-Rechnung) – 08.10.2026 */
.wz { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px; align-items: start; }
@media (max-width: 900px) { .wz { grid-template-columns: minmax(0, 1fr); } }
.wz-karte { background: #fff; border: var(--k); border-radius: var(--r); box-shadow: var(--wurf); padding: 24px 24px 28px; color: var(--tinte); }
.wz-karte > label:first-child, .wz-karte > .fld-2:first-child label { margin-top: 0; }
.wz .fld select { appearance: auto; }
.wz .fld input[type="checkbox"] { width: 20px; height: 20px; margin: 0 8px 0 0; padding: 0; vertical-align: -4px; accent-color: var(--blau); box-shadow: none; translate: none; }
.wz-inline, .wz-schalter label { display: flex !important; align-items: center; text-transform: none !important; letter-spacing: 0 !important; font-size: .95rem !important; font-weight: 700 !important; cursor: pointer; }
.wz-schalter { display: flex; align-items: flex-end; padding-bottom: 12px; }
.wz-hilfe { margin: 8px 0 0; font-size: .84rem; font-weight: 600; color: #5A5A62; }
.wz-kinder { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0 12px; }
.wz-qst { border: 2px dashed #D9D6CC; border-radius: 12px; padding: 4px 16px 16px; margin: 22px 0 0; }
.wz-qst legend { padding: 0 6px; }
.wz-mehr { margin-top: 20px; }
.wz-mehr summary { cursor: pointer; font-weight: 800; font-size: .9rem; }
.wz-erg { position: sticky; top: 90px; }
@media (max-width: 900px) { .wz-erg { position: static; } }
.wz-k { margin: 0; font-weight: 800; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #5A5A62; }
.wz-netto { margin: 4px 0 0; font-family: "Archivo Black", sans-serif; font-size: clamp(2rem, 4.6vw, 2.8rem); line-height: 1.1; }
.wz-sub { margin: 6px 0 0; font-weight: 600; color: #5A5A62; font-size: .92rem; min-height: 1.2em; }
.wz-tab { width: 100%; border-collapse: collapse; margin-top: 18px; font-size: .95rem; }
.wz-tab td { padding: 7px 0; border-bottom: 1px solid #ECE9E0; vertical-align: top; }
.wz-tab td:last-child { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 700; padding-left: 12px; }
.wz-tab .satz { color: #5A5A62; font-weight: 600; font-size: .85rem; white-space: nowrap; }
.wz-tab tr.plus td:last-child { color: #12784A; }
.wz-tab tr.total td { border-top: 2px solid var(--tinte); border-bottom: 0; font-weight: 800; }
.wz-ag { margin-top: 16px; padding: 12px 14px; background: var(--creme); border-radius: 10px; font-size: .9rem; font-weight: 600; }
.wz-ag b { font-weight: 800; }
.wz-ag small { display: block; margin-top: 4px; color: #5A5A62; font-size: .8rem; }
.wz-hinweise { margin: 16px 0 0; padding-left: 18px; font-size: .84rem; color: #4A4A52; font-weight: 500; display: grid; gap: 4px; }
.wz-fehler { margin: 14px 0 0; color: #B42318; font-weight: 700; }
.wz-schutz { margin: 18px 0 0; font-weight: 700; font-size: .9rem; display: flex; gap: 8px; align-items: center; }
.wz-schutz::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--mint); border: 2px solid var(--tinte); flex: none; }
.wz-knoepfe { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.wz-vorschau { margin-top: 6px; border: 1px dashed #BDB9AE; border-radius: 8px; background: #fff; overflow: hidden; }
.wz-vorschau > svg { display: block; max-width: none; width: 210mm; height: 105mm; }
#druckseite { display: none; }
.wz-fehlerliste { margin: 12px 0 0; padding-left: 18px; color: #B42318; font-weight: 700; font-size: .9rem; }

/* Druck: nur der Zahlteil, unten auf A4 */
@media print {
  @page { size: A4; margin: 0; }
  body > :not(#druckseite) { display: none !important; }
  html, body { background: #fff !important; margin: 0 !important; padding: 0 !important; }
  #druckseite { display: block !important; position: fixed; left: 0; bottom: 0; width: 210mm; height: 105mm; }
  #druckseite svg { display: block; width: 210mm; height: 105mm; max-width: none; }
}
.wz-knoepfe .btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; translate: none; }
