:root{--bg:#ececec;--flaeche:#fff;--text:#000;--text2:#333;--linie:#c2c2c2;--akzent:#1f1f1f;--sand:#dedede;--fokus:#0b57d0;--rot:#c0141c;--rot-hell:#fdecec;--rot-rand:#e08a8f;--gruen:#1e7a34;--gruen-hell:#e3f1e6;--gruen-rand:#8cc29a;--blau:#1f5fa8;--blau-hell:#e6eef8;--blau-rand:#9bb8e3}
*{box-sizing:border-box}
html{font-size:100%}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 "Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
a{color:#000;text-underline-offset:2px}a:hover{color:#000}
:focus-visible{outline:3px solid var(--fokus);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem;z-index:10}.skip:focus{left:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kopf{background:var(--sand);border-bottom:1px solid var(--linie)}
.kopf-in{max-width:1180px;margin:auto;padding:.55rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between}
.marke{font-weight:600;font-size:1.05rem;color:var(--text);text-decoration:none}.marke small{font-weight:400;color:var(--text2);margin-left:.4rem}
.marke{display:inline-flex;align-items:center;gap:.6rem}.marke-logo{height:44px;width:auto;display:block}
.logo-gross{display:block;max-width:min(420px,80%);height:auto;margin:.5rem auto 1rem}
nav a{margin-right:1rem;color:var(--text);text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}nav a:hover,nav a[aria-current]{border-bottom-color:#000}
.haupt{max-width:1180px;margin:auto;padding:1rem}
.seitentitel{font-size:1.35rem;font-weight:600;margin:.2rem 0 .8rem;color:#000}
.inv-gross{font-size:.95rem;color:var(--text2);font-weight:400;margin-left:.5rem;font-family:Consolas,monospace}
.infoleiste{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;align-items:center;background:var(--flaeche);border:1px solid var(--linie);padding:.5rem .8rem;margin-bottom:1rem}
.infoleiste p{margin:.1rem 0}
.knopf{display:inline-block;border:1px solid #000;background:var(--akzent);color:#fff;padding:.4rem .9rem;font:inherit;cursor:pointer;text-decoration:none;border-radius:2px}
.knopf:hover{background:#000;color:#fff}.knopf.zweit{background:#fff;color:#000;border-color:var(--linie)}.knopf.zweit:hover{background:#e6e6e6}
.filter{background:var(--flaeche);border:1px solid var(--linie);padding:.6rem .8rem;margin-bottom:.8rem}
.f-zeile{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}.f-zeile.unten{align-items:flex-end;margin-bottom:0}
.feld{display:flex;flex-direction:column;min-width:150px;flex:1 1 150px}.feld.gross{flex:3 1 320px}
label{font-size:.82rem;color:#000;font-weight:600;margin-bottom:.15rem}
input,select,textarea{font:inherit;padding:.38rem .5rem;border:1px solid #8c8c8c;background:#fff;color:var(--text);border-radius:0;min-height:2.1rem}
input:focus,select:focus{border-color:var(--fokus)}
.treffer{margin:.4rem 0 .6rem}
.ansichtwahl{display:flex;gap:.3rem;margin-bottom:.6rem}.ansichtwahl a{border:1px solid var(--linie);background:#fff;padding:.25rem .7rem;text-decoration:none;color:var(--text)}.ansichtwahl a[aria-current]{background:#1f1f1f;color:#fff;border-color:#1f1f1f}
.tabelle-rahmen{overflow-x:auto;background:#fff;border:1px solid var(--linie)}
.tabelle{border-collapse:collapse;width:100%;font-size:.92rem}
.tabelle th{background:#d2d2d2;text-align:left;padding:.35rem .5rem;border-bottom:1px solid #a9a9a9;white-space:nowrap}
.tabelle td{padding:.3rem .5rem;border-bottom:1px solid #e0e0e0;vertical-align:middle}
.tabelle tr:hover td{background:#f4f4f4}.nowrap{white-space:nowrap}.c-bild{width:56px}.c-bild img{display:block;width:48px;height:36px;object-fit:cover;border:1px solid var(--linie)}
.status{display:inline-block;font-size:.8rem;padding:.05rem .45rem;border:1px solid var(--linie);background:#efefef;color:#000;white-space:nowrap}
.status.s-vorlaeufig{background:var(--blau-hell);border-color:var(--blau-rand);color:#0d3a70}.status.s-bestaetigt{background:var(--gruen-hell);border-color:var(--gruen-rand);color:#0d4a1f}.status.s-fehlt,.status.s-problem{background:var(--rot-hell);border-color:var(--rot-rand);color:#7a0a10}
.galerie{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}
.karte-obj{background:#fff;border:1px solid var(--linie);padding:.5rem .5rem .6rem}
.bildlink{display:block;aspect-ratio:4/3;background:#e8e8e8;border:1px solid #d4d4d4}.bildlink img{width:100%;height:100%;object-fit:cover;display:block}
.kein-bild{display:flex;height:100%;align-items:center;justify-content:center;color:var(--text2);font-size:.8rem;background:#e8e8e8}.kein-bild.gross{min-height:200px}
.unter{padding-top:.4rem;font-size:.85rem}.inv{font-family:Consolas,monospace;font-size:.78rem;color:var(--text2)}.bez{font-weight:600;line-height:1.2;margin:.1rem 0}.bez a{color:var(--text);text-decoration:none}.bez a:hover{text-decoration:underline}.klein{font-size:.82rem;color:var(--text2)}
.leer{background:#fff;border:1px dashed #9a9a9a;padding:1.2rem;text-align:center}.leer h2{margin:.2rem 0;font-size:1.05rem}
.seiten{display:flex;gap:1rem;justify-content:center;align-items:center;margin:1rem 0}
.fehler{background:var(--rot-hell);border:1px solid var(--rot-rand);padding:.4rem .7rem;color:#7a0a10}.hinweis{background:var(--blau-hell);border:1px solid var(--blau-rand);padding:.4rem .7rem}
.objekt-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,2fr) 190px;gap:1.2rem;align-items:start}
@media(max-width:900px){.objekt-grid{grid-template-columns:1fr}}
.haupt-bild img{width:100%;border:1px solid var(--linie);background:#fff;display:block}
.mini{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-wrap:wrap;gap:.4rem}.mini img{width:64px;height:64px;object-fit:cover;border:1px solid var(--linie)}
.dl{margin:0;background:#fff;border:1px solid var(--linie)}.dz{display:grid;grid-template-columns:11rem 1fr;border-bottom:1px solid #e0e0e0}.dz:last-child{border-bottom:0}
.dz dt{background:#ededed;padding:.35rem .6rem;color:#000;font-weight:600;font-size:.85rem}.dz dd{margin:0;padding:.35rem .6rem}
@media(max-width:560px){.dz{grid-template-columns:1fr}.dz dt{padding-bottom:0;background:none}}
.text{white-space:pre-wrap}.abschnitt{font-size:.95rem;color:#000;margin:1rem 0 .3rem;border-bottom:1px solid var(--linie);padding-bottom:.15rem;text-transform:uppercase;letter-spacing:.02em}
.schlicht{margin:.2rem 0;padding-left:1.1rem}.zurueck{margin:.2rem 0 .4rem}
.seitlich{background:#fff;border:1px solid var(--linie);padding:.7rem;text-align:center}.qr-svg svg{width:150px;height:150px}.seitlich .knopf{width:100%}
.minikarte{height:220px;border:1px solid var(--linie)}.grosskarte{height:min(70vh,560px);border:1px solid var(--linie);background:#dcdcdc}
.fuss{max-width:1180px;margin:1.5rem auto;padding:.8rem 1rem;color:var(--text2);font-size:.82rem;border-top:1px solid var(--linie)}
.formkasten{max-width:420px;background:#fff;border:1px solid var(--linie);padding:1rem}.formkasten .feld{margin-bottom:.7rem}
.etikett-vorschau{display:flex;gap:1rem;align-items:center;width:90mm;height:40mm;border:1px solid #777;padding:3mm;background:#fff;margin:.5rem 0}.et-qr svg{width:32mm;height:32mm}.et-inv{font-weight:700;font-size:14pt}.et-text{font-size:9pt}
#lightbox{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh}#lightbox::backdrop{background:rgba(0,0,0,.8)}#lightbox img{max-width:94vw;max-height:84vh;display:block;margin:auto;background:#fff}
#lightbox .lb-leiste{display:flex;justify-content:space-between;gap:1rem;color:#fff;padding:.4rem .2rem;align-items:center}#lightbox button{background:#fff;border:0;padding:.35rem .8rem;cursor:pointer;font:inherit}
@media print{.kopf,.fuss,.skip,.knoepfe,.zurueck,.filter,.seitlich .knopf{display:none!important}body{background:#fff}.haupt{max-width:none;padding:0}
 body.druck-etikett *{visibility:hidden}body.druck-etikett .etikett-vorschau,body.druck-etikett .etikett-vorschau *{visibility:visible}body.druck-etikett .etikett-vorschau{position:absolute;left:0;top:0;border:1px dashed #999}}

/* Startseite */
.willkommen{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;background:var(--flaeche);border:1px solid var(--linie);padding:1rem 1.2rem;margin-bottom:1.4rem}
.willkommen .logo-gross{height:auto;max-width:200px}
.willkommen>div{flex:1 1 320px}.einfuehrung{margin:.2rem 0 .8rem;max-width:62ch;color:var(--text2)}
.abschnitt-gross{font-size:1.15rem;font-weight:600;margin:0 0 .7rem;color:#000;border-bottom:1px solid var(--linie);padding-bottom:.3rem}
.galerie.gross{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.kurzbeschr{margin:.4rem 0 0;font-size:.82rem;color:var(--text2);line-height:1.35}
.abmelden{display:inline;margin:0}.linkknopf{background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0;text-decoration:underline}
/* Anmeldung und Zugangsantrag */
.authkasten{max-width:420px;margin:.5rem 0 1rem;background:#fff;border:1px solid var(--linie);padding:1rem 1.1rem}.authkasten.breit{max-width:520px}
.auth-kopf{display:flex;gap:.8rem;align-items:center;border-bottom:1px solid var(--linie);padding-bottom:.7rem;margin-bottom:.8rem}.auth-kopf h1{margin:0;font-size:1.35rem}.auth-kopf p{margin:0}
.auth-logo{width:44px;height:44px;object-fit:contain}
.authkasten .feld{margin-bottom:.75rem;flex:none;min-width:0}.authkasten input,.authkasten textarea{font-size:1rem;min-height:2.6rem;padding:.4rem .5rem;border:1px solid #777;border-radius:2px;width:100%;box-sizing:border-box}
.authkasten input:focus-visible,.authkasten textarea:focus-visible,.authkasten button:focus-visible,.authkasten a:focus-visible{outline:3px solid #1d4f91;outline-offset:2px}
.pw-zeile{display:flex;gap:.4rem}.pw-zeile input{flex:1}.pw-an{white-space:nowrap;min-height:2.6rem}
.authkasten .knopf{min-height:2.6rem}.auth-aktion .knopf{width:100%}
.authkasten small{color:var(--text2);margin-top:.2rem}.feld-fehler{color:#a01018!important;font-weight:600}.hat-fehler input,.hat-fehler textarea{border-color:#a01018;border-width:2px}
.authkasten .fehler ul{margin:.3rem 0 0 1.1rem;padding:0}.auth-links{margin:.6rem 0 .2rem}.klein-titel{font-size:1rem;margin:1rem 0 .3rem}
