:root { color-scheme: light; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: #16181d; background: #f3f4f6; }
header.seite, main, footer.seite { max-width: 62rem; margin: 0 auto; padding: 1rem 1.25rem; }
header.seite { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; justify-content: space-between; }
header.seite .marke { font-weight: 650; text-decoration: none; color: inherit; }
header.seite nav { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; font-size: .9rem; }
footer.seite { color: #5b6170; font-size: .8rem; }
a { color: #1d4ed8; }
h1 { font-size: 1.5rem; margin: .5rem 0 1rem; }
h2 { font-size: 1.15rem; margin: 1.5rem 0 .5rem; }
.karte { background: #fff; border: 1px solid #d9dce3; border-radius: .5rem; padding: 1.25rem; margin: 0 0 1.25rem; }
.karte.schmal { max-width: 28rem; }
.hinweis { background: #fff8e1; border: 1px solid #e6c65c; border-radius: .5rem; padding: .75rem 1rem; margin: 0 0 1rem; }
.fehler { background: #fdecec; border-color: #e19a9a; }
.erfolg { background: #e9f7ee; border-color: #8cc9a1; }
label { display: block; font-weight: 600; margin: .9rem 0 .25rem; }
input[type=text], input[type=email], textarea { width: 100%; box-sizing: border-box; font: inherit; padding: .55rem .65rem; border: 1px solid #9aa1b0; border-radius: .35rem; background: #fff; }
label.wahl { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; background: #f6f7f9; border: 1px solid #d9dce3; border-radius: .35rem; padding: .75rem; }
label.wahl input { margin-top: .3rem; flex: none; }
button, a.knopf { font: inherit; font-weight: 600; cursor: pointer; padding: .55rem 1rem; border-radius: .35rem; border: 1px solid #1d4ed8; background: #1d4ed8; color: #fff; text-decoration: none; display: inline-block; margin-top: 1rem; }
button.zweit, a.knopf.zweit { background: #fff; color: #1d4ed8; }
button.klein { padding: .25rem .6rem; margin: 0; font-size: .85rem; }
button.link { background: none; border: 0; color: #1d4ed8; padding: 0; margin: 0; font-weight: 400; text-decoration: underline; }
form.zeile { display: inline; }
table.liste { width: 100%; border-collapse: collapse; font-size: .92rem; }
table.liste th, table.liste td { text-align: left; vertical-align: top; padding: .5rem .6rem; border-bottom: 1px solid #e3e5ea; }
table.liste th { color: #5b6170; font-weight: 600; }
.hash { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .8rem; word-break: break-all; }
.status { display: inline-block; padding: .1rem .55rem; border-radius: .4rem; background: #e8eaf0; font-size: .82rem; }
.status.abgeschlossen, .status.wirksam { background: #d6f0de; }
.status.widersprochen { background: #fbd9d9; }
.status.eingeladen, .status.kunde_bestaetigt, .status.angekuendigt { background: #fdeebf; }
.blatt { background: #fff; border: 1px solid #d9dce3; border-radius: .5rem; padding: 2rem clamp(1rem, 5vw, 3.5rem); margin: 0 0 1.25rem; overflow-x: auto; }
.blatt .dokument { font-size: .95rem; }
.blatt .dokument .klauseln, .blatt .dokument .anhang { border-top: 2px solid #d9dce3; margin-top: 2.5rem; padding-top: 2rem; }
.leise { color: #5b6170; font-size: .88rem; }
@media (max-width: 40rem) { table.liste, table.liste tbody, table.liste tr, table.liste td { display: block; } table.liste th { display: none; } table.liste tr { border-bottom: 1px solid #d9dce3; padding: .4rem 0; } table.liste td { border: 0; padding: .15rem 0; } }
.entwurf { margin: .75rem 0 0; }
td form { margin-top: .4rem; }
