/* LohnPilot · Lohnzettel */
.lohn-subnav {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}
.lohn-subnav-btn {
  appearance: none;
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--muted);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
}
.lohn-subnav-btn:hover { color: inherit; }
.lohn-subnav-btn.is-active {
  color: inherit;
  border-color: color-mix(in srgb, var(--accent, #c9a227) 55%, var(--line));
  background: color-mix(in srgb, var(--accent, #c9a227) 12%, var(--card));
}
.lohnzettel-sheet {
  max-width: 720px;
  margin: 0 auto 24px;
  padding: 28px 30px 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(165deg, rgba(255,255,255,.04), transparent 40%), var(--card);
  color: inherit;
}
.lz-brand {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  border-bottom: 2px solid color-mix(in srgb, currentColor 55%, transparent);
  padding-bottom: 14px;
  margin-bottom: 16px;
}
.lz-sys { margin: 0; font-size: 1.35rem; font-weight: 700; letter-spacing: .02em; }
.lz-prod { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.lz-doc { margin: 0; font-size: 1.1rem; font-weight: 700; text-align: right; }
.lz-period { margin: 4px 0 0; font-size: 13px; color: var(--muted); text-align: right; }
.lz-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 20px;
  margin: 0 0 18px;
  font-size: 13px;
}
.lz-meta dt { margin: 0; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.lz-meta dd { margin: 2px 0 0; font-weight: 600; }
.lz-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.lz-table th {
  text-align: left;
  padding: 6px 8px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-weight: 600;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.lz-table th.num,
.lz-table td.num { text-align: right; }
.lz-table td { padding: 8px; border-bottom: 1px solid color-mix(in srgb, var(--line) 70%, transparent); }
.lz-table tr.em td {
  font-weight: 700;
  border-top: 1px solid color-mix(in srgb, currentColor 35%, transparent);
  background: color-mix(in srgb, var(--accent, #c9a227) 6%, transparent);
}
.lz-table td.neg { color: #c45c5c; }
.lz-empty-box {
  padding: 28px 16px;
  text-align: center;
  color: var(--muted);
  border: 1px dashed var(--line);
  border-radius: 8px;
  margin: 8px 0 12px;
}
.lz-foot {
  margin-top: 18px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 11px;
  color: var(--muted);
  line-height: 1.45;
}
@media (max-width: 640px) {
  .lz-meta { grid-template-columns: 1fr; }
  .lz-brand { flex-direction: column; }
  .lz-doc, .lz-period { text-align: left; }
}
