* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", Arial, sans-serif; font-size: 14px; color: #1d2330; background: #eef1f6; }
.app { display: flex; height: 100vh; }
aside { width: 380px; background: #fff; border-right: 1px solid #d6dbe4; overflow-y: auto; padding: 0 18px 24px; }
nav { display: flex; gap: 6px; position: sticky; top: 0; background: #fff; padding: 14px 0 10px; z-index: 1; }
nav button { flex: 1; padding: 9px; border: 1px solid #c7cfdc; background: #f5f7fb; border-radius: 6px; cursor: pointer; font-size: 14px; }
nav button.aktiv { background: #1f5fbf; color: #fff; border-color: #1f5fbf; }
h3 { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: #56617a; margin: 20px 0 8px; }
label { display: block; margin: 8px 0; font-size: 13px; color: #3a4459; }
label.check { display: flex; align-items: center; gap: 8px; }
input:not([type=checkbox]), select, textarea { display: block; width: 100%; margin-top: 3px; padding: 7px 8px; font: inherit; border: 1px solid #c7cfdc; border-radius: 5px; background: #fff; }
textarea { resize: vertical; }
.zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.drei { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.drei label, .zwei label { margin: 4px 0; }
.zeile { display: flex; gap: 6px; }
.zeile select { margin: 0; }
.hinweis { margin: 12px 0 0; font-size: 12px; color: #6b7590; }
.knoepfe { display: flex; gap: 8px; margin-top: 18px; }
button.haupt, button.zweit, button.klein { padding: 10px 14px; border-radius: 6px; font-size: 14px; cursor: pointer; border: 1px solid #1f5fbf; }
button.haupt { flex: 1; background: #1f5fbf; color: #fff; }
button.zweit { flex: 1; background: #fff; color: #1f5fbf; }
button.klein { padding: 6px 10px; font-size: 13px; background: #fff; color: #1f5fbf; white-space: nowrap; }
button:disabled { opacity: .5; cursor: default; }
#meldung { min-height: 1.4em; font-size: 13px; }
#meldung.fehler { color: #b3261e; }
#meldung.ok { color: #1b7a3a; }
main { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; overflow: hidden; }
#vorschauRahmen { box-shadow: 0 6px 24px rgba(20,30,60,.18); background: #fff; line-height: 0; }
#vorschau { border: 0; display: block; background: #fff; }
#masse { color: #56617a; font-size: 13px; }
