/* Gemeinsames Erscheinungsbild des Verwaltungsportals (schlicht, hell, „Apple-Look“, Akzent Sonnen-Orange aus dem Logo).
   Wird von allen Seiten NACH ihrem eigenen <style> eingebunden und überschreibt Farben, Schrift und Grundformen. */
:root{
 --bg:#f5f5f7;--flaeche:#fff;--text:#1d1d1f;--leise:#6e6e73;--linie:#d2d2d7;--linie-hell:#e8e8ed;
 --akzent:#bf5317;--akzent-hell:#fdf0e7;--sonne:#ec7530;--marke:#8f3a24;--ok:#248a3d;--warn:#b25000;--fehler:#d70015;
 --radius:18px;--radius-klein:11px;--schatten:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.06);--schatten-hover:0 2px 4px rgba(0,0,0,.05),0 14px 34px rgba(0,0,0,.10);
 --schrift:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--schrift);font-size:16px;line-height:1.47;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;letter-spacing:-.011em}
h1{font-size:clamp(28px,4vw,40px);font-weight:700;letter-spacing:-.025em;line-height:1.1;color:var(--text)}
h2{font-weight:650;letter-spacing:-.02em;color:var(--text)}
h3{font-weight:600;letter-spacing:-.015em}
p,small,.fine,.muted,.small{color:var(--leise)}
a{color:var(--akzent);text-decoration:none}a:hover{text-decoration:underline}

/* Kopfleiste: halbtransparent, mit Unschärfe, bleibt oben */
body>header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
 border-bottom:1px solid rgba(0,0,0,.08);padding:10px max(20px,calc((100vw - 1100px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;box-sizing:border-box}
body>header img{width:200px;height:auto;display:block}
body>header a{font-size:14px;font-weight:500}
body>header h1{font-size:22px}

/* Karten / Abschnitte */
.card,.panel,section.card,.section,.box{background:var(--flaeche);border:0;border-radius:var(--radius);box-shadow:var(--schatten)}

/* Buttons: Pillenform */
button,.button,input[type=submit]{font-family:inherit;font-size:15px;font-weight:600;border-radius:980px;padding:10px 20px;background:var(--akzent);color:#fff;border:0;cursor:pointer;transition:background .15s,transform .05s,box-shadow .15s}
button:hover{background:#a8460f}button:active{transform:scale(.98)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(236,117,48,.45);outline-offset:2px}
button.sec,button.secondary,.button.sec{background:var(--linie-hell);color:var(--text)}button.sec:hover,button.secondary:hover{background:#dcdce1}
button:disabled{opacity:.45;cursor:default;transform:none}

/* Eingabefelder */
input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font-family:inherit;font-size:16px;background:#fff;border:1px solid var(--linie);border-radius:var(--radius-klein);padding:10px 12px;color:var(--text);transition:border-color .15s,box-shadow .15s}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--sonne);box-shadow:0 0 0 4px rgba(236,117,48,.15);outline:none}
input[type=checkbox],input[type=radio]{accent-color:var(--akzent)}
label{color:var(--text)}

/* Tabellen */
table{border-collapse:collapse}
th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--leise);background:transparent}
td,th{border-bottom:1px solid var(--linie-hell)}
tbody tr:hover{background:#fafafa}

footer{color:var(--leise);font-size:13px}
@media (max-width:700px){body>header img{width:150px}}

/* Link-Buttons der Unterseiten (.btn, .btn.sec, .back) im gleichen Stil */
html{background:var(--bg)}
a.btn,.btn,a.back{font-family:inherit;font-size:15px;font-weight:600;border-radius:980px;padding:10px 20px;background:var(--akzent);color:#fff;border:0;text-decoration:none;transition:background .15s}
a.btn:hover,a.back:hover{background:#a8460f;text-decoration:none}
a.btn.sec,a.btn.secondary,.btn.sec,.btn.secondary{background:var(--linie-hell);color:var(--text)}a.btn.sec:hover,a.btn.secondary:hover{background:#dcdce1}
select:not([multiple]){min-height:44px}
select:not([multiple]){-webkit-appearance:none;appearance:none;padding-right:36px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236e6e73' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center}
@media print{body>header{position:static;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.card,.panel,.section,.box{box-shadow:none;border:1px solid var(--linie-hell)}body,html{background:#fff}}

/* Sonne als Hintergrund-Motiv (Anmeldung, Aktivierung, Passwort) */
body.sonne{position:relative;overflow-x:hidden}
body.sonne::before{content:"";position:fixed;right:-170px;top:-170px;width:560px;height:560px;background:url(/sonne-512.png) center/contain no-repeat;opacity:.16;pointer-events:none;z-index:0}
body.sonne>*{position:relative;z-index:1}
@media (max-width:600px){body.sonne::before{width:360px;height:360px;right:-120px;top:-120px}}

/* Kopfleiste der Unterseiten: Logo + Pfad (kopf.js) */
.kopf-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;min-width:0}
.logo-link{display:block;line-height:0}
.pfad{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--leise)}
.pfad a{color:var(--leise);font-weight:500}.pfad a:hover{color:var(--text)}.pfad .seite{color:var(--text);font-weight:600}.pfad .trenner{color:#c7c7cc}
.bereich-link{display:inline-flex;align-items:center;gap:7px}.bereich-link .bpunkt{width:9px;height:9px;border-radius:50%;background:var(--f)}
@media (max-width:700px){.kopf-links{gap:10px}.pfad{font-size:13px}.pfad>a:first-child,.pfad>a:first-child+.trenner{display:none}}
#lb-sitzung{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100;display:flex;gap:16px;align-items:center;flex-wrap:wrap;max-width:calc(100% - 32px);box-sizing:border-box;background:rgba(29,29,31,.92);color:#fff;padding:14px 18px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#lb-sitzung a{color:#ffb27a;font-weight:600}#lb-sitzung button{padding:7px 14px;font-size:14px;background:rgba(255,255,255,.18)}
