/* Zunftbuch Schützenzunft Baltschieder */
:root{
  --bg:#f3f5f4; --flaeche:#fff; --tief:#e9edeb; --tinte:#1b2226; --grau:#5a666d; --linie:#d3dad7;
  --akzent:#b1182c; --akzent-ink:#fff; --akzent-weich:#f6e3e5;
  --gruen:#2b7a4b; --gruen-w:#e1f0e6; --gelb:#8a5600; --gelb-w:#fbefd9;
  --schrift:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --zahl:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tinte);font:15px/1.45 var(--schrift)}
a{color:var(--akzent)}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
.kopf{background:var(--flaeche);border-bottom:1px solid var(--linie);position:sticky;top:0;z-index:5}
.kopfzeile{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 18px;padding-top:10px;padding-bottom:6px}
.marke{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--tinte);font-weight:700;font-size:1.05rem}
.marke svg{width:22px;height:26px;flex:none}
.logo{width:42px;height:42px;flex:none;border-radius:50%;object-fit:contain}
.marke small{display:block;font-weight:500;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grau)}
.wer{font-size:.85rem;color:var(--grau)}
.nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:thin}
.nav a,.tabs a{padding:9px 11px;color:var(--grau);text-decoration:none;font-weight:500;border-bottom:3px solid transparent;white-space:nowrap}
.nav a[aria-current],.tabs a[aria-current]{color:var(--tinte);border-bottom-color:var(--akzent)}
.tabs{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--linie);margin:10px 0 16px}
main{padding-top:18px;padding-bottom:48px}
h1{font-size:1.45rem;margin:0 0 10px}
h2{font-size:1.1rem;margin:0 0 10px}
h3{font-size:1rem;margin:16px 0 6px}
.unter{margin:0;color:var(--grau)}
.panel{background:var(--flaeche);border:1px solid var(--linie);border-radius:6px;padding:14px;margin:0 0 16px}
.panel.schmal,.anmelden{max-width:440px}
.anmelden{margin:40px auto}
.kopfzeile2{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.kopfzeile2 h1,.kopfzeile2 h2{margin:0}
.raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 14px;margin-bottom:10px}
.feld{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--grau);margin-bottom:8px;min-width:0}
.feld.check,.check{flex-direction:row;align-items:center;gap:6px;color:var(--tinte);font-size:.9rem}
input,select,textarea{font:inherit;color:var(--tinte);background:var(--flaeche);border:1px solid var(--linie);border-radius:4px;padding:6px 8px;max-width:100%;min-width:0}
textarea{width:100%}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--akzent)}
input:disabled,select:disabled,textarea:disabled{background:var(--tief);color:var(--grau)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--akzent);outline-offset:1px}
.btn,.mini,.haken{font:inherit;cursor:pointer;border:1px solid var(--linie);background:var(--flaeche);color:var(--tinte);border-radius:4px;text-decoration:none;display:inline-block}
.btn{padding:7px 12px;font-weight:500}
.btn.pri{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-ink)}
.mini{padding:2px 7px;font-size:.8rem}
.haken{width:26px;height:26px;padding:0;font-weight:700}
.haken.an{background:var(--gruen);border-color:var(--gruen);color:#fff}
.zeile{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.werkzeug{margin:12px 0}
form.inline{display:inline}
.klein{font-size:.82rem;color:var(--grau)}
.leer{color:var(--grau);font-style:italic}
.rot{color:var(--akzent)}
.meldung{padding:10px 12px;border-radius:4px;margin:0 0 12px;background:var(--gruen-w);color:var(--gruen)}
.meldung.fehler{background:var(--akzent-weich);color:var(--akzent)}
.meldung.warn{background:var(--gelb-w);color:var(--gelb)}
.rueckblick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.rueckblick>.panel{min-width:0;overflow-x:auto}
.rueckblick .tab{width:100%}
.rueckblick .tab td,.rueckblick .tab th{overflow-wrap:anywhere}
@media (max-width:1100px){.rueckblick{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.rueckblick{grid-template-columns:1fr}}
.rueckblick h2 a{color:inherit;text-decoration:none}
.rueckblick h3{margin:14px 0 4px;font-size:.95rem}
.appellgruppe{margin:2px 0;font-size:.88rem;line-height:1.4}
tr.ehren td{background:var(--gelb-w)}
body.druck .rueckblick{grid-template-columns:repeat(3,1fr);gap:6mm}
.kaestchen{display:inline-block;width:14px;height:14px;border:1.5px solid var(--tinte);border-radius:2px;vertical-align:middle}
.einkauf td.linie{border-bottom:1px solid var(--tinte);min-width:90px}
td.schussreihe{font-variant-numeric:tabular-nums;color:var(--grau);font-size:.85rem}
.ki-fotos{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.ki-fotos img{max-height:220px;max-width:100%;border:1px solid var(--linie);border-radius:4px}
.ki-schuss{width:2.6em;text-align:center;padding:4px 2px;margin-right:2px;font-variant-numeric:tabular-nums}
.ki-tab tr.unsicher td{background:var(--gelb-w)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.chip{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.78rem;background:var(--tief);color:var(--tinte);white-space:nowrap;text-decoration:none}
.chip.gruen{background:var(--gruen-w);color:var(--gruen)}.chip.rot{background:var(--akzent-weich);color:var(--akzent)}.chip.gelb{background:var(--gelb-w);color:var(--gelb)}
.tabwrap{overflow-x:auto;background:var(--flaeche);border:1px solid var(--linie);border-radius:6px;margin-bottom:12px}
.tab{border-collapse:collapse;width:100%;font-size:.88rem}
.tab th,.tab td{padding:6px 8px;border-bottom:1px solid var(--linie);text-align:left;vertical-align:middle}
.tab th{background:var(--tief);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--grau);white-space:nowrap}
.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.c{text-align:center}.nw{white-space:nowrap}
.grau{color:var(--grau)} tr.grau td{color:var(--grau)}
td.grau{background:var(--tief)}
.tab tr.tot td{font-weight:700;background:var(--tief);border-top:2px solid var(--tinte)}
.tab tr.sub td{background:var(--tief);font-weight:600;font-size:.78rem;text-transform:uppercase}
.tab tr.blume td{background:#fbf4e3}.tab tr.ehren td{background:#fff8d6}
.proto th.v{writing-mode:vertical-rl;transform:rotate(180deg);height:130px;padding:6px 3px;text-align:left;font-size:.68rem}
.proto td input.zahl{width:60px}
input.zahl{width:46px;text-align:right}
.seg{display:inline-flex;border:1px solid var(--linie);border-radius:4px;overflow:hidden}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:block;padding:4px 7px;font-size:.78rem;cursor:pointer;border-right:1px solid var(--linie);white-space:nowrap}
.seg label:last-child span{border-right:0}
.seg input:checked+span{background:var(--tinte);color:#fff}
.seg .s-ent input:checked+span{background:var(--gelb)}
.seg .s-unent input:checked+span{background:var(--akzent)}
.seg .s-ess input:checked+span{background:var(--gruen)}
.seg .s-offen input:checked+span{background:var(--grau)}
.seg input:focus-visible+span{outline:2px solid var(--akzent)}
.kacheln,.summen{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--linie);border:1px solid var(--linie);border-radius:6px;overflow:hidden;margin-bottom:16px}
.kachel,.summen>div{background:var(--flaeche);padding:10px 14px}
.kachel span,.summen span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--grau)}
.kachel b,.summen b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.summen b.txt,.kachel b.klein{font-size:.95rem}
.kachel small{display:block;color:var(--grau)}
.summen .hl b{color:var(--akzent)}
.karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}
.karte{background:var(--flaeche);border:1px solid var(--linie);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px}
.kk{display:flex;justify-content:space-between;gap:8px;align-items:baseline;flex-wrap:wrap}
.schuesse{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.schuesse label{display:flex;flex-direction:column;align-items:stretch;gap:2px}
.schuesse small{font-size:.66rem;color:var(--grau);text-align:center}
.schuesse input{text-align:center;font-family:var(--zahl);font-size:1.05rem;padding:6px 2px;width:100%}
.schuesse input.tief{background:var(--gelb-w)}
.suche{max-width:280px;margin-bottom:10px}
.setzeile{display:grid;grid-template-columns:minmax(0,1.4fr) 220px minmax(0,1fr);gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--linie)}
.setzeile:last-child{border-bottom:0}
.liste{padding-left:18px}
.nachricht{border:1px solid var(--linie);border-radius:6px;padding:10px;margin-bottom:10px}
.nachricht pre.text{white-space:pre-wrap;font:inherit;background:var(--tief);padding:8px;border-radius:4px;margin:8px 0}
.muenzen{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
details summary{cursor:pointer;font-weight:600;margin:6px 0}
.fuss{color:var(--grau);font-size:.78rem;padding-bottom:24px}
@media (max-width:640px){
  .setzeile{grid-template-columns:1fr}
  .karten{grid-template-columns:1fr}
  h1{font-size:1.25rem}
}
/* ---------- Druck ---------- */
body.druck{background:#fff}
body.druck main{max-width:none;padding:0}
.druckkopf h1{font-size:16pt;margin:0}
.druckkopf h2{font-size:13pt;margin:2mm 0}
.druckkopf .meta{display:flex;flex-wrap:wrap;gap:2mm 6mm;font-size:9.5pt;margin-bottom:4mm}
.druckt{font-size:9pt}
.druckt th,.druckt td{border:.4pt solid #000;padding:1.2mm 1.6mm}
.brief{max-width:180mm;font-size:11pt;line-height:1.45}
.briefkopf{font-size:15pt}
.brieflogo{float:right;width:26mm;height:auto;margin:0 0 4mm 6mm}
.absender{font-size:9pt;margin-bottom:12mm}
.empfaenger{margin-left:95mm;margin-bottom:12mm}
.ortdatum{text-align:right}
.posten{border-collapse:collapse;min-width:110mm;margin:4mm 0}
.posten td{padding:1mm 3mm 1mm 0;border-bottom:.4pt solid #999}
.posten tr.tot td{font-weight:700;border-top:1pt solid #000}
.programm td{padding:.6mm 8mm .6mm 0}
.unterschrift{margin-top:8mm}
.unterschrift td{padding-right:18mm;vertical-align:top}
.seitenumbruch{break-after:page;page-break-after:always}
.qrschein{display:flex;width:210mm;height:105mm;border-top:.4pt dashed #000;margin-top:8mm;font-size:8pt;page-break-inside:avoid;break-inside:avoid;background:#fff;color:#000}
.qrschein h3{font-size:11pt;margin:0 0 3mm}
.qrschein h4{font-size:6pt;margin:2mm 0 0;font-weight:700}
.qrschein p{margin:0;font-size:8pt;line-height:1.25}
.empfangsschein{width:62mm;padding:5mm;border-right:.4pt dashed #000;position:relative}
.empfangsschein .annahme{position:absolute;right:5mm;bottom:12mm}
.zahlteil{width:148mm;padding:5mm;display:flex;gap:5mm}
.zahlteil .links{width:51mm}
.zahlteil .rechts{flex:1}
.zahlteil h4,.zahlteil p{font-size:10pt}
.zahlteil h4{font-size:8pt}
.qr{width:46mm;height:46mm;margin:4mm 0}
.qr svg{width:100%;height:100%;display:block}
.betragzeile{display:flex;gap:6mm}
@media print{
  @page{size:A4;margin:10mm}
  .kopf,.fuss,.nav,.tabs,.werkzeug,.btn,.meldung{display:none!important}
  body{background:#fff;font-size:10pt}
  .tabwrap{border:0;overflow:visible}
  .panel{border:0;padding:0}
  .qrschein{position:relative;margin-left:-10mm}
}
.archiv{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.archiv figure{margin:0}
.archiv img{width:100%;height:170px;object-fit:cover;border-radius:4px;background:var(--tief)}
.dateityp{display:flex;align-items:center;justify-content:center;height:170px;background:var(--tief);border-radius:4px;font-weight:700;color:var(--grau);text-decoration:none}

.treffer{display:block;font-size:13px;color:var(--grau,#555);margin-top:4px}
.treffer mark{background:#fff0a8;padding:0 1px}
.videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.video{margin:0}.video video{width:100%;aspect-ratio:16/9;background:#000;border-radius:6px;display:block}
.video figcaption{margin-top:6px}
.handbuch{max-width:900px;line-height:1.55}.handbuch h2{margin-top:28px}.handbuch h3{margin-top:18px}.handbuch li{margin:3px 0}
.dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;padding:16px;margin:4px 0;border:2px dashed var(--linie);border-radius:10px;background:var(--tief);color:var(--tinte);text-align:center;cursor:pointer;font-size:15px;transition:border-color .15s,background .15s}
.dropzone:hover,.dropzone:focus-visible{border-color:var(--grau);outline:none}
.dropzone.ueber{border-color:var(--akzent);background:var(--akzent-weich)}
.dropzone.voll{border-style:solid}
.dropzone u{color:var(--akzent)}
.dropzone .dz-liste{font-size:13px;color:var(--grau);word-break:break-word}
.dropzone .dz-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0)}
.archiv .bearbeiten{font-size:14px}
.archiv .bearbeiten summary{cursor:pointer;color:var(--akzent);font-size:13px}
.archiv .bearbeiten form{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.archiv .bearbeiten .raster{grid-template-columns:1fr 1fr}
.archiv .bearbeiten .entfernen{margin-top:4px}
.stat2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
@media (max-width:800px){.stat2{grid-template-columns:1fr}}
#schuesse .tab td,#jahre .tab td{white-space:nowrap}
.start-rueckblick{margin-top:28px;border-top:2px solid var(--linie);padding-top:8px}
.start-termine{margin-top:24px}
h2.abschnitt{font-size:1.35rem;margin:0 0 10px}
.sammelaktion{border-left:4px solid var(--akzent)}
.sammelaktion .sammlung-form{border:0;padding:0;margin:8px 0;box-shadow:none;background:none}
.versteckt{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.bereiche{display:flex;gap:6px;padding-top:6px;overflow-x:auto}
.bereiche a{padding:6px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.9rem;color:var(--grau);background:var(--tief)}
.bereiche a[aria-current]{background:var(--akzent);color:var(--akzent-ink)}
@media print{.bereiche{display:none!important}}
.stat-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.stat-raster{grid-template-columns:1fr}}
.stat-karte h3{margin:4px 0 8px;font-size:1rem}
.balken{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.balken li{display:grid;grid-template-columns:minmax(0,9.5rem) 1fr 2rem;align-items:center;gap:8px;font-size:.86rem}
.b-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b-spur{background:var(--tief);border-radius:4px;height:14px;overflow:hidden}
.b-wert{display:block;height:100%;border-radius:4px;background:var(--akzent)}
.balken.gruen .b-wert{background:#2f7d4f}.balken.grau .b-wert{background:#7a858b}
.b-zahl{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.video-hilfe{margin:8px 0 12px}.video-hilfe summary{cursor:pointer;color:var(--akzent);font-weight:600}.video-hilfe video{width:100%;max-width:720px;margin-top:8px;border-radius:8px;background:#000}
.varchiv h3{margin:14px 0 4px;font-size:.95rem;color:var(--grau)}
.varchiv .bearbeiten summary{cursor:pointer;color:var(--akzent);font-size:13px}
.varchiv .bearbeiten form{display:flex;flex-direction:column;gap:6px;margin-top:6px;min-width:260px}
.podest{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 14px}
@media (max-width:800px){.podest{grid-template-columns:1fr 1fr}}
.podest-platz{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;background:#fbf4e3;border-left:4px solid #c9a227}
.podest-platz.p1{border-left-color:#c9a227}.podest-platz.p2{border-left-color:#9aa3a8}.podest-platz.p3{border-left-color:#b07a45}
.podest-platz.ehren{background:#fff8d6;border-left-color:#e3c200}
.podest-platz b{font-size:1.02rem}
.suchfeld{min-width:280px;flex:1}
.wa-inhalt{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.wa-inhalt img{border-radius:12px;background:#fff;padding:6px;border:1px solid var(--linie);width:170px;height:auto}
.ki-tab td.abweichung{background:#fff3c4}
.panel > details.bearbeiten{margin-top:10px}.panel > details.bearbeiten summary{cursor:pointer;color:var(--akzent);font-size:13px}.panel > details.bearbeiten form{margin-top:8px}

/* Info-Seite (Impressum) */
.tab.info th{width:30%;text-align:left;vertical-align:top;font-weight:600;color:var(--grau,#555)}
.tab.info td{vertical-align:top}
@media (max-width:640px){.tab.info th,.tab.info td{display:block;width:auto}.tab.info th{padding-bottom:0;border:0}}

/* Ansicht im Zunftarchiv */
img.ansicht,video.ansicht{max-width:100%;max-height:80vh;display:block;margin:0 auto;border-radius:6px;background:#000}
img.ansicht{background:none}
.ansicht-pdf{width:100%;height:80vh;border:1px solid #ddd;border-radius:6px}
.ansicht-text{white-space:normal;max-height:80vh;overflow:auto;line-height:1.5}
.dateityp.video{background:#222;color:#fff}
