:root{--gruen:#1f4d3a;--gruen-hell:#e3eee7;--gold:#c8a24a;--text:#1b1f1d;--leise:#5f6763;--linie:#d5d9d6;--flaeche:#fff;--grund:#f4f5f2;--rot:#b3261e;--rot-hell:#fbe9e7;--gelb-hell:#fdf4dc;--radius:12px;--tap:48px;color:var(--text);-webkit-text-size-adjust:100%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:17px}*{box-sizing:border-box}html,body{background:var(--grund);margin:0}body{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.25rem}h2{font-size:1.05rem}h3{color:var(--leise);margin:12px 0 6px;font-size:.95rem}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset:disabled{opacity:.85}button,.knopf{font:inherit;min-height:var(--tap);border:1px solid var(--linie);background:var(--flaeche);color:var(--text);cursor:pointer;touch-action:manipulation;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 18px;text-decoration:none;display:inline-flex}button:disabled{opacity:.45;cursor:default}button.primaer,.knopf.primaer{background:var(--gruen);color:#fff;border-color:var(--gruen);font-weight:600}button.gross{min-height:60px;padding:0 28px;font-size:1.1rem}button.klein{min-height:40px;padding:0 12px;font-size:.9rem}button.gefahr{color:var(--rot)}button.link{color:var(--gruen);background:0 0;border:0;padding:0 6px;font-weight:500}button.link.gefahr{color:var(--rot)}input,textarea,select{font:inherit;width:100%;min-height:var(--tap);border:1px solid var(--linie);color:var(--text);background:#fff;border-radius:10px;padding:10px 12px}textarea{resize:vertical;line-height:1.4}input:focus,textarea:focus,select:focus{outline:2px solid var(--gruen);outline-offset:-1px;border-color:var(--gruen)}.leise{color:var(--leise);font-size:.9rem}.platz{flex:1}.seite{flex-direction:column;min-height:100dvh;display:flex}.kopfleiste{z-index:10;padding:calc(10px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 10px calc(16px + env(safe-area-inset-left));background:var(--flaeche);border-bottom:1px solid var(--linie);align-items:center;gap:12px;display:flex;position:sticky;top:0}.kopfleiste h1{flex:none}.kopfleiste>h1{flex:1}.kopfleiste .titel{flex-direction:column;flex:1;min-width:0;display:flex}.kopfleiste .titel .leise{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.zurueck{color:var(--gruen);border:0;padding:0 8px;font-weight:600}.netz{border-radius:99px;padding:4px 10px;font-size:.8rem;font-weight:600}.netz.online{background:var(--gruen-hell);color:var(--gruen)}.netz.offline{background:var(--gelb-hell);color:#7a5a00}.speicherstatus{text-align:right;min-width:90px}.tabs{top:calc(69px + env(safe-area-inset-top));z-index:9;padding:8px calc(16px + env(safe-area-inset-right)) 8px calc(16px + env(safe-area-inset-left));background:var(--grund);border-bottom:1px solid var(--linie);gap:4px;display:flex;position:sticky;overflow-x:auto}.tabs a{min-height:44px;color:var(--text);white-space:nowrap;border-radius:10px;flex:1;justify-content:center;align-items:center;padding:0 14px;font-weight:500;text-decoration:none;display:flex}.tabs a.an{background:var(--gruen);color:#fff}.inhalt{width:100%;max-width:1100px;padding:16px calc(16px + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));flex:1;margin:0 auto}.fuss{text-align:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.banner{left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;background:var(--text);color:#fff;border-radius:14px;align-items:center;gap:14px;padding:10px 10px 10px 18px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #00000040}.hinweis{background:var(--gelb-hell);border-radius:var(--radius);margin:0 0 16px;padding:12px 16px;line-height:1.4}.weiter{justify-content:flex-end;margin-top:8px;display:flex}.karte{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);margin-bottom:16px;padding:16px}.karte>header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.karte>header h2{flex:1;align-items:center;gap:8px;min-width:200px;display:flex}.raster{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:12px;display:grid}.raster.zwei{grid-template-columns:repeat(2,minmax(0,1fr))}.raster .breit{grid-column:span 2}.raster.zwei .breit{grid-column:span 1}.feld{flex-direction:column;gap:6px;min-width:0;margin-bottom:12px;display:flex}.raster .feld{margin-bottom:0}.feld>span{color:var(--leise);font-size:.85rem;font-weight:500}.feld.schmal{max-width:140px}.auswahl{flex-wrap:wrap;gap:6px;display:flex}.auswahl button{flex:0 auto;min-width:64px}.auswahl button.an{background:var(--gruen);color:#fff;border-color:var(--gruen);font-weight:600}.auswahl button.an.warn{background:var(--rot);border-color:var(--rot)}.auswahl.klein button{min-width:64px;min-height:44px;padding:0 12px}.haken{cursor:pointer;align-items:flex-start;gap:12px;padding:10px 0;line-height:1.4;display:flex}.haken input{width:26px;height:26px;min-height:0;accent-color:var(--gruen);flex:0 0 26px;margin:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:99px;min-height:40px}.chip.an{background:var(--gruen-hell);border-color:var(--gruen);color:var(--gruen);font-weight:600}.leer{text-align:center;padding:60px 0}.protokolle{gap:12px;margin:0;padding:0;list-style:none;display:grid}.protokolle li{background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);align-items:center;gap:8px;padding-right:8px;display:flex}.protokoll-karte{color:inherit;flex-direction:column;flex:1;gap:6px;min-width:0;padding:14px 16px;text-decoration:none;display:flex}.protokoll-karte .zeile{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge{background:var(--grund);color:var(--leise);border-radius:99px;padding:3px 9px;font-size:.75rem;font-weight:600}.badge.uebergabe{background:var(--gruen-hell);color:var(--gruen)}.badge.abnahme{color:#234a8a;background:#e6ecf7}.badge.abgeschlossen{background:var(--gruen);color:#fff}.badge.entwurf,.badge.wartet{background:var(--gelb-hell);color:#7a5a00}.badge.fehler{background:var(--rot-hell);color:var(--rot)}.raeume{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:16px;display:grid}.raumliste{top:calc(140px + env(safe-area-inset-top));background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius);max-height:calc(100dvh - 160px);padding:8px;position:sticky;overflow-y:auto}.raumliste ol{margin:0;padding:0;list-style:none}.raumliste li button{text-align:left;background:0 0;border:0;justify-content:flex-start;gap:10px;width:100%;padding:0 10px}.raumliste li button.an{background:var(--gruen-hell)}.raumliste .nr{color:var(--leise);font-variant-numeric:tabular-nums;font-size:.85rem}.raumliste .name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.raumliste .marker{gap:4px;display:flex}.punkt{background:var(--grund);color:var(--leise);border-radius:99px;padding:2px 6px;font-size:.72rem}.punkt.rot{background:var(--rot-hell);color:var(--rot);font-weight:700}.punkt.gruen{background:var(--gruen-hell);color:var(--gruen);font-weight:700}.raum-neu{border-top:1px solid var(--linie);gap:6px;margin-top:6px;padding:8px 2px 2px;display:flex}.raum-neu button{padding:0 14px}.raumname{background:var(--grund);border-color:#0000;max-width:340px;font-size:1.05rem;font-weight:700}.tests{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;display:grid}.test{justify-content:space-between;align-items:center;gap:10px;display:flex}.test>span{font-weight:500}.mangel{border-top:1px solid var(--linie);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:10px;padding:10px 0;display:grid}.mangel:first-of-type{border-top:0;padding-top:0}.zaehler-gruppe{border-top:1px solid var(--linie);padding-top:4px}.zaehler-gruppe:first-of-type{border-top:0}.zaehler-zeile{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:10px;display:flex}.zaehler-zeile .feld{flex:160px;margin:0}.fotos{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.vorschau{background:var(--grund);border-radius:10px;width:110px;height:110px;padding:0;overflow:hidden}.vorschau img{object-fit:cover;width:100%;height:100%;display:block}.fotos.kompakt .vorschau{width:var(--tap);height:var(--tap);border-radius:8px}.foto-neu{width:110px;height:110px;color:var(--gruen);border-style:dashed;flex-direction:column;font-size:.85rem;font-weight:600}.foto-neu span{font-size:1.6rem}.fotos.kompakt .foto-neu{width:auto;height:var(--tap);flex-direction:row;padding:0 12px}.fotos.kompakt .foto-neu span{font-size:1.1rem}.overlay{z-index:100;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox{flex-direction:column;gap:12px;max-width:100%;max-height:100%;display:flex}.lightbox img{object-fit:contain;background:#000;border-radius:8px;max-width:100%;max-height:calc(100dvh - 120px)}.leiste{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lightbox .leiste{justify-content:flex-end}.schluessel{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin-bottom:8px;display:grid}.schluessel-zeile{align-items:center;gap:10px;display:flex}.schluessel-name{flex:1;font-weight:500}.zaehlwerk{align-items:center;display:flex}.zaehlwerk button{width:var(--tap);padding:0;font-size:1.3rem}.zaehlwerk button:first-child{border-radius:10px 0 0 10px}.zaehlwerk button:last-child{border-radius:0 10px 10px 0}.zaehlwerk input{text-align:center;border-left:0;border-right:0;border-radius:0;width:56px;padding:0}.unterschriften{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px;display:grid}.unterschrift{border:1px solid var(--linie);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px;display:flex}.unterschrift .label{color:var(--leise);min-height:2.4em;font-size:.85rem;font-weight:500}.unterschrift-bild{border-bottom:1px solid var(--text);justify-content:center;align-items:flex-end;height:90px;display:flex}.unterschrift-bild img{max-width:100%;max-height:100%}.signatur{background:#fff;border-radius:16px;flex-direction:column;gap:10px;width:min(960px,100%);padding:18px;display:flex}.signatur-flaeche{border:1px solid var(--linie);background:#fcfcfa;border-radius:12px;height:min(45dvh,360px);position:relative}.signatur-flaeche canvas{touch-action:none;border-radius:12px;width:100%;height:100%;position:absolute;inset:0}.signatur-linie{color:#9aa19d;pointer-events:none;border-top:1.5px solid #9aa19d;padding-top:4px;font-size:.8rem;position:absolute;bottom:22%;left:6%;right:6%}.pruefung{color:#7a5a00;margin:0 0 12px;padding-left:20px;line-height:1.5}.pruefung.fehler{color:var(--rot);font-weight:500}.outbox{gap:6px;margin:12px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}.outbox li{align-items:center;gap:8px;display:flex}@media (width<=900px){.unterschriften,.tests{grid-template-columns:1fr}}@media (width<=760px){.raeume{grid-template-columns:1fr}.raumliste{max-height:none;position:static}.raster,.raster.zwei,.schluessel{grid-template-columns:1fr}.raster .breit{grid-column:span 1}.mangel{grid-template-columns:1fr}.speicherstatus{display:none}}.ok-text{color:var(--gruen);margin:8px 0 0;font-size:.9rem}.fehler-text{color:var(--rot);margin:8px 0 0;font-size:.9rem}.feld.onoffice{grid-column:span 2}.treffer{flex-direction:column;align-items:stretch;gap:6px;display:flex}.treffer button{text-align:left;justify-content:flex-start}@media (width<=760px){.feld.onoffice{grid-column:span 1}}
