@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-grotesque.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"Public Sans";src:url(../fonts/public-sans.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#EDF0EB;--surface:#F8FAF6;--ink:#14281F;--muted:#475D52;--line:#C5D0C7;--water:#2F6676;--band:#17332A;--band-ink:#EAF1EC;--band-muted:#A9C0B3;--band-water:#8FC0CD;--btn-bg:#17332A;--btn-fg:#EDF4EE;--focus:#2F6676;--ok:#1F6B3A;--err:#9A2A1F;--warn:#8A5A00;
--font-display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;--font-body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0E1914;--surface:#15251E;--ink:#E5EEE8;--muted:#A2B5AA;--line:#2A4035;--water:#8FC0CD;--band:#0A1410;--btn-bg:#8FC0CD;--btn-fg:#0A1410;--focus:#8FC0CD;--ok:#7FD39B;--err:#FF9C8F;--warn:#F0C674;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1;padding-block:40px 64px}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:2px}
.band :focus-visible{outline-color:var(--band-water)}
.wrap{width:100%;max-width:1120px;margin-inline:auto;padding-inline:16px}
.band{background:var(--band);color:var(--band-ink)}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 1.1rem/1.1 var(--font-display)}
.brand small{display:block;font:400 13px/1.3 var(--font-body);color:var(--band-muted);margin-top:2px}
.logo{display:block;width:40px;aspect-ratio:553/560;background:currentColor;-webkit-mask:url(logo.png) center/contain no-repeat;mask:url(logo.png) center/contain no-repeat}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.nav a,.linkbtn{font:500 15px/1 var(--font-body);color:var(--band-muted);text-decoration:none;padding:10px 12px;border-radius:99px;background:none;border:0;cursor:pointer}
.nav a:hover,.linkbtn:hover{color:var(--band-ink);background:rgb(255 255 255/.08)}
.nav a[aria-current=page]{color:var(--band-ink);background:rgb(255 255 255/.12)}
.nav form{margin:0}
h1{font:750 clamp(2rem,4.6vw,3rem)/1.05 var(--font-display);font-stretch:88%;letter-spacing:-.02em;margin:0 0 12px}
h2{font:700 1.4rem/1.2 var(--font-display);font-stretch:92%;margin:36px 0 12px}
.lead{color:var(--muted);max-width:42em;margin:0 0 24px}
.narrow{max-width:460px}
.empty{padding:32px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}
.msg{padding:12px 14px;border-radius:6px;border:1px solid var(--line);background:var(--surface);margin:0 0 16px;max-width:44em}
.msg.ok{border-color:var(--ok)}.msg.err{border-color:var(--err);color:var(--err)}.msg.warn{border-color:var(--warn)}
.msg.ok::before{content:"✓ "}.msg.err::before{content:"! "}
.form{display:grid;gap:16px;max-width:520px}
.form.row{max-width:none;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}
.field{display:grid;gap:6px;min-width:0;border:0;padding:0;margin:0}
.field label,.lab{font:600 14px/1.3 var(--font-body)}
input:not([type=checkbox]):not([type=radio]),select{width:100%;min-height:46px;padding:10px 12px;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:6px}
input[type=file]{padding:10px}
.check{display:flex;gap:8px;align-items:center;font:400 15px/1.3 var(--font-body)}
.check input{width:18px;height:18px;accent-color:var(--btn-bg)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;font:600 16px/1 var(--font-body);text-decoration:none;color:var(--btn-fg);background:var(--btn-bg);border:2px solid var(--btn-bg);border-radius:6px;cursor:pointer;width:fit-content}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.small{min-height:36px;padding:0 12px;font-size:14px}
.list{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:16px 0;border-bottom:1px solid var(--line)}
.list li.off{opacity:.6}
.title{font:650 1.15rem/1.3 var(--font-display);text-decoration-thickness:1px;text-underline-offset:3px}
.meta{margin:2px 0 0;font-size:14px;color:var(--muted)}
.tag{display:inline-block;padding:1px 8px;border:1.5px solid var(--ink);border-radius:99px;font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.inline{display:inline-flex;gap:8px;align-items:center;margin:0}
.acts{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.acts select{width:auto;min-height:36px;padding:4px 8px;font-size:14px}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--line)}
.cap{margin:6px 0 0;font-size:14px;color:var(--muted)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}
.hint{font-size:14px;color:var(--muted);margin:0}
.secret{border:2px solid var(--warn);border-radius:8px;padding:16px;margin:0 0 24px;max-width:44em;background:var(--surface)}
.secret p{margin:0 0 6px}.pw{font:600 1.6rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;user-select:all;word-break:break-all}
.foot{padding-block:20px;font-size:14px;color:var(--band-muted)}
.foot a{color:var(--band-ink)}
@media (max-width:560px){.list li{align-items:flex-start}}
/* Diashow und Filter */
.show{margin:0 0 28px;background:var(--band);color:var(--band-ink);border-radius:10px;overflow:hidden}
.show[hidden]{display:none}
.stage{position:relative;aspect-ratio:16/9;max-height:68vh;width:100%;display:grid;place-items:center;background:#0A1410}
.stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transition:opacity .35s ease}
.stage img.out{opacity:0}
.show-cap{margin:0;padding:12px 16px 0;font-size:15px;color:var(--band-muted);min-height:2.1em}
.show-ctl{display:flex;align-items:center;gap:8px;padding:10px 16px 14px}
.show .btn.ghost{color:var(--band-ink);border-color:rgb(234 241 236/.45);min-width:44px}
.show-count{margin-left:auto;font-size:14px;color:var(--band-muted)}
.filters{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;justify-content:space-between;margin:0 0 20px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills a{padding:7px 14px;border:1.5px solid var(--line);border-radius:99px;font-size:14px;font-weight:500;text-decoration:none;background:var(--surface)}
.pills a span{color:var(--muted)}
.pills a:hover{border-color:var(--muted)}
.pills a[aria-current=true]{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
.pills a[aria-current=true] span{color:inherit;opacity:.8}
.edit{margin-top:6px;font-size:14px}.edit summary{cursor:pointer;color:var(--muted)}
.edit .inline{display:flex;flex-wrap:wrap;margin-top:8px}
.edit input:not([type=checkbox]){min-height:36px;padding:4px 8px;font-size:14px;width:100%}
@media (prefers-reduced-motion:reduce){.stage img{transition:none}}
/* Dokumentordner */
.folders{margin:0 0 20px}
.folder h2{margin:28px 0 8px}
.folder .list{margin-bottom:8px}
.foldedit{margin:0 0 12px}
.list li .edit{margin:0;max-width:360px}
.list li .edit[open]{flex-basis:100%;max-width:none}

/* Stegplan */
textarea{width:100%;padding:10px 12px;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:6px;resize:vertical}
.crumb{margin:0 0 8px;font-size:15px}
.stegwrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px;max-height:82vh}
.stegsvg{display:block;width:100%;min-width:640px;max-width:900px;height:auto;margin-inline:auto}
.stegtxt{fill:#0E2841;font-family:var(--font-body)}.stegtxt.sub{fill:#2b3f52}.stegtxt.nr{font-weight:700}.stegtxt.lab{font-weight:600;font-size:10px}
.stegsvg a{cursor:pointer}.stegsvg a:hover rect{filter:brightness(.94)}.stegsvg a:focus-visible{outline:none}.stegsvg a:focus-visible rect{stroke:#2F6676;stroke-width:3}
.stegsvg .dim{opacity:.85}
.stegnote{margin:8px 0 0}
.legend{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:14px 0 0;padding:0;font-size:14px;color:var(--muted)}
.legend li{display:flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:18px;height:12px;border:1px solid #0E2841;border-radius:3px}
.legend .c-blau{background:#A6CAEC}.legend .c-gelb{background:#FFC000}.legend .c-weiss{background:#fff}.legend .c-frei{background:#92D050}.legend .c-asv{background:#BFBFBF}.legend .c-gesperrt{background:#FF0000}
.tablewrap{overflow-x:auto}
.steg-table{border-collapse:collapse;width:100%;font-size:15px}
.steg-table th,.steg-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.steg-table thead th{border-bottom:2px solid var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.statline{margin:0 0 10px}.filt{margin:0 0 16px}
.tag.free{border-color:var(--ok);color:var(--ok)}.warnmark{color:var(--warn);font-weight:600}

/* Mitglieder */
.memhead{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;margin:0 0 16px}
.memfilter{margin:0 0 12px}
.memtable th[scope=row]{font-weight:600;white-space:nowrap}
.form.wide{max-width:900px}
.boxcheck{align-self:end;min-height:46px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px;margin:0 0 24px;max-width:700px}
.facts dt{font-size:13px;color:var(--muted)}.facts dd{margin:0;font-weight:600}
.mono{font:600 1rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em}
@media print{.band,.noprint,.crumb,.secret{display:none!important}body{background:#fff;color:#000;font-size:13px}main{padding:0}.steg-table{font-size:13px}.steg-table th,.steg-table td{padding:6px 8px;border-bottom:1px solid #999}}
.memtable th,.memtable td{padding:8px 7px;font-size:14px}
.memtable td:last-child{white-space:nowrap}
.linkout{word-break:break-all;user-select:all;font-size:.9rem}
.modus{border:1px solid var(--line);border-radius:6px;padding:12px 14px;margin:0 0 16px;max-width:44em}.modus legend{padding:0 6px;font-weight:600}
input.num{width:5.5em;max-width:100%}
.tablewrap input.money{width:7em}
.warnbox{border:1px solid var(--warn);border-radius:6px;padding:10px 14px;margin:0 0 16px;max-width:60em}.warnbox ul{margin:6px 0 0 18px;padding:0}
.right{text-align:right}.sum th,.sum td{font-weight:700;border-top:2px solid var(--ink)}
.tag.ok{color:var(--ok)}.tag.cancel{color:var(--err)}
input.date{width:8.5em;max-width:100%}.sr{position:absolute;left:-9999px}
.payform{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.btn.danger{background:var(--err);color:#fff;border-color:var(--err)}@media (prefers-color-scheme:dark){.btn.danger{color:#1a0805}}
