/* FMA-Tresor — eigene Stile, kein Framework vom CDN (P1). */
:root { --text: #1a1a1a; --leise: #5f6368; --linie: #d9d9d9; --akzent: #1f4e79; --grund: #f7f7f5; --feld: #ffffff; --warn: #8a1c1c; --warngrund: #fbeaea; --hinweisgrund: #eef3f8; }
@media (prefers-color-scheme: dark) {
    :root { --text: #e8e8e8; --leise: #a0a4a8; --linie: #3a3a3a; --akzent: #8fb8e0; --grund: #161616; --feld: #202020; --warn: #f2a3a3; --warngrund: #3a1e1e; --hinweisgrund: #1c2733; }
}
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--text); background: var(--grund); }
.kopf { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding: .75rem 1rem; border-bottom: 1px solid var(--linie); }
.marke { font-weight: 600; color: var(--akzent); text-decoration: none; }
.navi { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-left: auto; }
main { max-width: 60rem; margin: 0 auto; padding: 1rem; }
a { color: var(--akzent); }
h1 { font-size: 1.5rem; margin: .5rem 0 1rem; }
h2 { font-size: 1.15rem; margin: 1.5rem 0 .5rem; }
.leise { color: var(--leise); font-size: .9rem; }
.meldung { padding: .5rem .75rem; border-left: 3px solid var(--warn); background: var(--warngrund); }
.hinweis { padding: .5rem .75rem; border-left: 3px solid var(--akzent); background: var(--hinweisgrund); }
.einmalig { padding: .75rem; border: 2px solid var(--akzent); background: var(--hinweisgrund); margin: 1rem 0; }
.einmalig input { width: 100%; font-family: ui-monospace, Consolas, monospace; }
label { display: block; margin: .75rem 0 .25rem; }
label.haken { display: flex; gap: .5rem; align-items: center; }
input[type=text] { width: 100%; max-width: 28rem; padding: .45rem .6rem; font: inherit; color: var(--text); background: var(--feld); border: 1px solid var(--linie); border-radius: 4px; }
button { font: inherit; cursor: pointer; }
button:disabled { cursor: default; opacity: .6; }
button.haupt { display: block; margin: 1rem 0; padding: .55rem 1rem; color: #fff; background: var(--akzent); border: 0; border-radius: 4px; }
@media (prefers-color-scheme: dark) { button.haupt { color: #111; } }
button.schlicht { padding: 0; color: var(--akzent); background: none; border: 0; text-decoration: underline; }
form.zeile { display: inline; margin: 0; }
.liste { width: 100%; border-collapse: collapse; margin: .5rem 0; }
.liste th, .liste td { text-align: left; padding: .4rem .5rem; border-bottom: 1px solid var(--linie); vertical-align: top; }
.liste th { font-weight: 600; font-size: .9rem; color: var(--leise); }
.liste tr.inaktiv td { color: var(--leise); }
@media (max-width: 40rem) { .liste { display: block; overflow-x: auto; } }
h3 { font-size: 1rem; margin: 1rem 0 .25rem; }
a.knopf { display: inline-block; margin: 0 .5rem .5rem 0; padding: .35rem .75rem; border: 1px solid var(--akzent); border-radius: 4px; text-decoration: none; }
textarea, select, input[type=date], input[type=time], input[type=search] { font: inherit; color: var(--text); background: var(--feld); border: 1px solid var(--linie); border-radius: 4px; padding: .45rem .6rem; }
textarea { width: 100%; }
.formular.eintrag input[type=text] { max-width: none; }
.zeile2 { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: flex-end; }
.zeile2 label { margin-top: .5rem; }
.zeile2 .haupt { margin: 0; }
.text { white-space: normal; overflow-wrap: anywhere; }
.suche input { width: 100%; max-width: 28rem; }
ul.freigaben { padding-left: 1.25rem; }
.diff { font-family: ui-monospace, Consolas, monospace; font-size: .9rem; border: 1px solid var(--linie); border-radius: 4px; overflow-x: auto; }
.diff div { padding: 0 .5rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.diff .zeichen { display: inline-block; width: 1.25rem; color: var(--leise); user-select: none; }
.diff .alt { background: var(--warngrund); text-decoration: line-through; text-decoration-color: var(--warn); }
.diff .neu { background: #e6f4ea; }
@media (prefers-color-scheme: dark) { .diff .neu { background: #17301f; } }
body.einbettung { background: var(--grund); padding: .5rem 1rem; }
body.einbettung h1 { font-size: 1.25rem; }
