@font-face{font-family:'Geist';src:url('/fonts/Geist-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --weiss:#FFFFFF;--schwarz:#000000;--ama:#E73257;--ama-hell:#FDECEF;--grau:#575757;--grau-l:#D6D6D6;--grau-ll:#EFEFEF;--grau-f:#F2F2F2;--rahmen:#CFCFCF;
  --ja:#00E169;--ja-hell:#CCF9E1;--np:#FFEB3C;--np-hell:#FFFBD6;--r:4px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--weiss);color:var(--schwarz);font-family:'Geist',system-ui,sans-serif;font-size:16px;line-height:1.4}
a{color:var(--schwarz)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ama);outline-offset:2px}
.app{max-width:560px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.streifen{height:6px;background:var(--ama);position:sticky;top:0;z-index:5}
main{flex:1;padding:0 16px 110px}
header.kopf{display:flex;align-items:center;gap:10px;padding:14px 0 10px}
header.kopf h1{flex:1;min-width:0;font-size:24px;line-height:1.15;margin:0;font-weight:700}
h2{font-size:16px;margin:0;font-weight:700}
.meta{font-size:14px;color:var(--grau)}
.klein{font-size:13px}
.box{background:var(--weiss);border:1px solid var(--grau-l);border-radius:var(--r)}
.stack{display:flex;flex-direction:column;gap:12px}
.zeile{display:flex;align-items:center;gap:10px}
.sp{flex:1;min-width:0}
.titel-leiste{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px}
.ib{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--grau-l);background:var(--weiss);display:inline-flex;align-items:center;justify-content:center;flex:none;text-decoration:none;cursor:pointer;padding:0}
.pille{min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--r);border:1px solid var(--grau-l);background:var(--weiss);font-size:14px;font-weight:700}
.knopf{min-height:52px;border-radius:var(--r);border:0;background:var(--schwarz);color:var(--weiss);font-weight:700;font-size:16px;cursor:pointer;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.knopf.hell{background:var(--weiss);color:var(--schwarz);border:1.5px solid var(--schwarz)}
.knopf:disabled,.knopf[aria-disabled=true]{background:var(--rahmen);color:#333;cursor:not-allowed}
.feld{width:100%;min-height:48px;border-radius:var(--r);border:1.5px solid var(--rahmen);background:var(--weiss);padding:10px 12px;font-size:16px}
textarea.feld{resize:vertical;min-height:88px}
label.lbl,.lbl{font-size:14px;font-weight:700;display:block;margin-bottom:6px}
.fehler{background:var(--ama-hell);border:1.5px solid var(--ama);border-radius:var(--r);padding:10px 12px;font-size:15px}
.ok{background:var(--ja-hell);border:1px solid var(--schwarz);border-radius:var(--r);padding:12px;font-size:15px}
.hinweis{border:1px dashed var(--schwarz);border-radius:var(--r);padding:10px 12px;font-size:14px;display:flex;gap:10px}
.leer{padding:16px;text-align:center;color:var(--grau);font-size:15px}
.liste>*{border-top:1px solid var(--grau-ll)}
.liste>*:first-child{border-top:0}
.eintrag{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;text-decoration:none;color:inherit;min-height:56px}
.marke{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:var(--r);font-size:12px;font-weight:800;border:1px solid var(--schwarz);white-space:nowrap}
.m-Akut{background:var(--ama)}.m-Hoch{background:var(--np)}.m-Normal{background:var(--weiss)}
.m-ok{background:var(--ja)}
.punkt{width:28px;height:28px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;border:2px solid var(--schwarz);background:var(--weiss)}
.s-ja{background:var(--ja);border-width:1.5px}.s-nein{background:var(--ama);border-width:1.5px}.s-np{background:var(--np);border-width:1.5px}
/* Navigation unten */
nav.leiste{position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--weiss);border-top:1px solid var(--grau-l);padding:6px 4px calc(8px + env(safe-area-inset-bottom))}
nav.leiste .in{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}
nav.leiste a{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;line-height:1.1;font-weight:700;color:var(--grau);text-decoration:none;border-radius:var(--r);text-align:center;hyphens:manual;position:relative}
nav.leiste a.an{color:var(--weiss);background:var(--schwarz)}
nav.leiste .zahl{position:absolute;top:4px;right:calc(50% - 22px);min-width:18px;height:18px;border-radius:9px;background:var(--ama);color:var(--schwarz);font-size:11px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1px solid var(--schwarz)}
/* Tätigkeit */
.taet{border:2px solid var(--schwarz);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px}
.taet .zeile .knopf{flex:1}
/* Rundgang */
.plan-box{padding:12px 10px}
.plan-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.plan{width:505px;height:214px;position:relative}
.plan-in{position:absolute;left:0;top:0;width:334px;height:140px;border:2px solid #000;background:#fff;transform:scale(1.5);transform-origin:0 0}
.rm{position:absolute;border:1px solid #000;background:#fff}
.gang{position:absolute;background:#E6E6E6}
.st{position:absolute;background:var(--ja-hell);border:1px solid #000}
.rl{position:absolute;font-size:9px;font-weight:700;color:#333;white-space:nowrap}
.pin{position:absolute;width:20px;height:20px;padding:0;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;text-decoration:none;color:#000;background:#fff;border:1.5px solid #000;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.pin.s-ja{background:var(--ja)}.pin.s-nein{background:var(--ama)}.pin.s-np{background:var(--np)}
.legende{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:600;color:#333;padding:8px 2px 0}
.legende span{display:inline-flex;align-items:center;gap:6px}
.legende i{width:14px;height:14px;border-radius:50%;border:1px solid #000;display:inline-block}
.gruppe{display:flex;align-items:center;gap:8px;margin-top:10px}
.gruppe::before{content:'';width:4px;height:18px;background:var(--ama)}
.karte{padding:12px 14px;display:flex;flex-direction:column;gap:10px;scroll-margin-top:20px}
.karte.k-nein{border:2px solid var(--ama)}.karte.k-np{border:2px solid var(--schwarz)}
.antw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.antw button{min-height:48px;border-radius:var(--r);border:1.5px solid var(--rahmen);background:var(--weiss);font-weight:700;font-size:15px;cursor:pointer;padding:0 4px}
.antw button[aria-pressed=true].a-ja{background:var(--ja);border-color:#000}
.antw button[aria-pressed=true].a-nein{background:var(--ama);border-color:#000}
.antw button[aria-pressed=true].a-np{background:var(--np);border-color:#000}
.antw button:disabled{opacity:.45;cursor:not-allowed}
details.soll{border:1px solid var(--grau-l);border-radius:var(--r);padding:8px 10px}
details.soll summary{font-size:14px;font-weight:700;cursor:pointer;min-height:32px;display:flex;align-items:center}
details.soll img{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:var(--r);margin-top:8px}
.mangel-feld{background:var(--ama-hell);border:1.5px solid var(--ama);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:12px}
.np-feld{background:var(--np-hell);border:1.5px solid #000;border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:6px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{min-height:44px;border-radius:var(--r);border:1.5px solid var(--rahmen);background:var(--weiss);font-size:14px;font-weight:700;padding:0 14px;cursor:pointer}
.chips button[aria-pressed=true]{background:#000;color:#fff;border-color:#000}
.fotos{display:flex;gap:8px;flex-wrap:wrap}
.fotos img,.foto-plus{width:72px;height:72px;border-radius:var(--r);object-fit:cover;border:1px solid var(--grau-l)}
.foto-plus{border:2px dashed #000;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.foto-gross{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.foto-gross img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);border:1px solid var(--grau-l)}
.balken{height:8px;border-radius:2px;background:var(--grau-ll);overflow:hidden}
.balken div{height:8px;background:#000}
.tabs{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid #000;border-radius:var(--r);overflow:hidden}
.tabs a{min-height:44px;display:flex;align-items:center;justify-content:center;font-weight:700;text-decoration:none;font-size:15px}
.tabs a.an{background:#000;color:#fff}
.buch-e{padding:12px 14px;display:flex;gap:12px}
.buch-e .nr{font-size:12px;font-weight:800;min-width:44px}
.hash{font-family:ui-monospace,monospace;font-size:11px;color:var(--grau);word-break:break-all}
.brandfall{background:var(--ama);border:1.5px solid #000;border-radius:var(--r);padding:12px 14px;display:flex;align-items:center;gap:12px;text-decoration:none}
.schritt{display:flex;gap:12px;padding:12px 14px}
.schritt b.n{width:32px;height:32px;border-radius:50%;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.toast{position:fixed;left:16px;right:16px;bottom:92px;max-width:528px;margin:0 auto;background:#000;color:#fff;border-radius:var(--r);padding:12px 14px;font-weight:600;z-index:20}
.laden{padding:40px 0;text-align:center;color:var(--grau)}
@media (prefers-reduced-motion:no-preference){.karte,.box{transition:border-color .15s}}
.pin.edit{touch-action:none;cursor:grab;border:1.5px solid #000}
.pin.edit.gew{outline:2px solid var(--ama);outline-offset:1px;z-index:2}
.legende svg{flex:none}
/* rot-weiße Symbole */
.sym{display:block;flex:none}
.pin.sq{background:none;border:0;box-shadow:none;width:20px;height:20px;border-radius:0;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.45))}
.pin.sq .badge{position:absolute;right:-5px;top:-5px;width:10px;height:10px;font-size:7px}
.badge{display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #000;color:#000;font-weight:900;line-height:1}
.badge.offen{background:#fff}
.karte-sym{position:relative;flex:none}
.karte-sym .badge{position:absolute;right:-6px;top:-6px;width:18px;height:18px;font-size:11px}
.legende .sym{width:18px;height:18px}
/* Ergänzungen am PC */
body.breit .app{max-width:1240px}
.ergaenzen{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:start}
.palette{padding:12px;display:flex;flex-direction:column;gap:8px;position:sticky;top:16px}
.palette h2{font-size:15px}
.palette-el{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 8px;border:1px solid var(--grau-l);border-radius:var(--r);cursor:grab;touch-action:none;user-select:none;font-weight:700;font-size:14px;background:#fff}
.palette-el:hover{border-color:#000}
.geist{position:fixed;z-index:50;pointer-events:none;filter:drop-shadow(0 4px 8px rgba(0,0,0,.35))}
.plan-in.ziel{outline:3px dashed var(--ama);outline-offset:4px}
.pin.edit{touch-action:none;cursor:grab;padding:0}
dialog.fenster{border:0;border-top:6px solid var(--ama);border-radius:var(--r);padding:20px;width:min(560px,94vw);max-height:90vh;overflow:auto;box-shadow:0 20px 50px rgba(0,0,0,.35)}
dialog.fenster::backdrop{background:rgba(0,0,0,.45)}
.felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.fvorschau{width:96px;height:72px;object-fit:cover;border-radius:var(--r);border:1px solid var(--grau-l);display:block}
/* Add-on-Karten */
.kacheln{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.kachel{border:1.5px solid #000;border-radius:var(--r);padding:16px;text-decoration:none;min-height:88px;display:flex;flex-direction:column;justify-content:center}
.mappen{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.mappe{border:1px solid var(--grau-l);border-radius:var(--r);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;background:#fff}
.mappe:hover{border-color:#000}
.mappe img,.mappe .ohnefoto{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--grau-f)}
.mappe .ohnefoto{display:flex;align-items:center;justify-content:center}
.mappe-txt{padding:10px;display:flex;flex-direction:column;gap:4px}
.mappe-txt b{font-size:15px;line-height:1.2}
.fenster-box{padding:14px}
.stamm{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:10px 0 0;font-size:15px}
.stamm dt{color:var(--grau);font-size:14px}
.stamm dd{margin:0;font-weight:600}
.pr-zeile{padding:10px 0;border-top:1px solid var(--grau-ll)}
.pr-zeile:first-child{border-top:0}
.palette-el span{min-width:0;overflow-wrap:anywhere;line-height:1.2}
img.sym{border-radius:1px;user-select:none;-webkit-user-drag:none}
.mappe img.sym,.foto-gross img.sym{width:auto;height:auto;aspect-ratio:auto;object-fit:contain;background:none;border:0}
