:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--touch:44px;--touch-lg:48px;--radius:10px;--bg:#eef2f6;--surface:#fff;--ink:#10151c;--ink-soft:#3d4652;--line:#b9c2cc;--line-strong:#374151;--brand:#0f172a;--brand-ink:#fff;--accent:#b45309;--offen:#6b7280;--in-arbeit:#b45309;--erledigt:#15803d;--nicht-erledigt:#b91c1c;--font-base:16px;--dur-fast:.14s;--dur-med:.22s;--dur-slow:.32s;--ease-out:cubic-bezier(.22, 1, .36, 1);--slide-in-from:16px;--slide-out-to:-12px}[dir=rtl]{--slide-in-from:-16px;--slide-out-to:12px}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb, var(--accent) 20%, transparent)}html,body{background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:var(--font-base);letter-spacing:-.011em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0;line-height:1.4}:focus-visible{outline-offset:2px;outline:3px solid #1d4ed8}.skip-link{left:var(--space-3);top:var(--space-3);z-index:200;padding:var(--space-3) var(--space-4);background:var(--brand);color:var(--brand-ink);border-radius:var(--radius);transition:transform var(--dur-fast) var(--ease-out);font-weight:700;text-decoration:none;position:absolute;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.app{flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.topbar{background:var(--brand);color:var(--brand-ink);padding:var(--space-2) var(--space-3);padding-top:max(var(--space-2), env(safe-area-inset-top));align-items:center;gap:var(--space-2);min-height:calc(var(--touch) + var(--space-3));view-transition-name:topbar;display:flex}.topbar__titles{flex:1;min-width:0}.topbar__desktop-nav{flex:auto;justify-content:flex-end;min-width:0;display:none}.topbar__burger{display:inline-flex}@media (width>=768px){.app--has-desktop-nav .topbar__titles{flex:0 11rem;max-width:40%}.app--has-desktop-nav .topbar__desktop-nav{display:flex}.app--has-desktop-nav .topbar__burger{display:none}}.topnav{align-items:center;gap:var(--space-2);width:100%;min-width:0;display:flex;position:relative}.topnav__measure{visibility:hidden;pointer-events:none;align-items:center;gap:var(--space-1);white-space:nowrap;inset-inline-start:0;display:flex;position:absolute;top:0}.topnav__rail{align-items:center;gap:var(--space-1);flex:auto;min-width:0;display:flex;overflow:hidden}.topnav__link{min-height:2.25rem;padding:0 var(--space-2);color:inherit;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.topnav__link--active{background:#ffffff2e}.topnav__link--danger{color:#fecaca}.topnav__more{flex-shrink:0;position:relative}.topnav__more-btn,.topnav__signout{min-height:2.25rem;padding:0 var(--space-2);color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff59;border-radius:6px;flex-shrink:0;align-items:center;font-size:.8125rem;font-weight:650;display:inline-flex}.topnav__dropdown{top:calc(100% + .35rem);min-width:12rem;max-width:min(18rem,80vw);padding:var(--space-1);border-radius:var(--radius);background:var(--surface);color:var(--ink);border:1px solid var(--line);z-index:50;flex-direction:column;gap:2px;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 8px 24px #10151c2e}.topnav__dropdown .topnav__link{color:var(--ink);justify-content:flex-start;width:100%}.topnav__dropdown .topnav__link--active{background:color-mix(in srgb, var(--brand) 12%, var(--surface))}.topnav__dropdown .topnav__link--danger{color:var(--danger,#b91c1c)}.topnav__tools{align-items:center;gap:var(--space-2);min-width:0;display:flex}.topnav__tools .language-switcher{width:auto;min-width:7rem}.topnav__tools .language-switcher__select{min-height:2.25rem;padding:var(--space-1) var(--space-2);color:inherit;background:#ffffff1f;border-color:#ffffff73;font-size:.875rem}.topnav__tools .language-switcher__select option{color:var(--ink);background:var(--surface)}.topbar h1{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.015em;margin:0;font-size:1rem;font-weight:650;line-height:1.25;overflow:hidden}.topbar__sub{opacity:.82;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.75rem;font-weight:400;line-height:1.3;display:block;overflow:hidden}.icon-btn{width:var(--touch);height:var(--touch);min-width:var(--touch);min-height:var(--touch);border-radius:var(--radius);color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-btn--ink{color:var(--ink)}[dir=rtl] .icon-btn__back{transform:scaleX(-1)}.language-switcher{width:100%;display:block}.language-switcher__select{width:100%;min-width:0;min-height:var(--touch);padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:2px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:1rem}[dir=rtl] .topbar{flex-direction:row-reverse}[dir=rtl] .topbar h1,[dir=rtl] .topbar__sub{text-align:right}[dir=rtl] .chips,[dir=rtl] .status-grid{direction:rtl}.content{box-sizing:border-box;min-width:0;padding:var(--space-3);padding-bottom:max(var(--space-5), env(safe-area-inset-bottom));padding-left:max(var(--space-3), env(safe-area-inset-left));padding-right:max(var(--space-3), env(safe-area-inset-right));gap:var(--space-3);view-transition-name:content;flex-direction:column;flex:1;width:100%;max-width:720px;margin:0 auto;display:flex}.app--wide .content{max-width:min(1100px,100%)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 6%, transparent);flex-direction:column;min-width:0;max-width:100%;display:flex}.btn{min-height:var(--touch-lg);min-width:var(--touch-lg);padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:2px solid var(--brand);background:var(--brand);color:var(--brand-ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn--secondary{background:var(--surface);color:var(--brand);border-color:var(--line-strong)}.btn--wide{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.link{color:#1d4ed8;min-height:var(--touch);padding:0 var(--space-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;font-size:1rem;text-decoration:underline;display:inline-flex}label{margin-bottom:var(--space-2);font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]):not([type=file]),textarea,select{width:100%;min-height:var(--touch);padding:var(--space-2) var(--space-3);border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:1rem}input[type=checkbox]{width:1.5rem;min-width:1.5rem;height:1.5rem;min-height:1.5rem;accent-color:var(--brand);cursor:pointer;flex-shrink:0;margin:0;padding:0}.touch-check{min-width:var(--touch);min-height:var(--touch);justify-content:center;align-items:center;display:inline-flex}.input--code{letter-spacing:.06em;text-align:center;min-height:52px;font-size:1.25rem}textarea{resize:vertical;min-height:120px}.hint{color:var(--ink-soft);margin:0;font-size:.9rem}.error{color:#7f1d1d;border-radius:var(--radius);padding:var(--space-3);background:#fee2e2;border:2px solid #b91c1c;font-weight:600}.notice{border:2px solid var(--accent);color:#713f12;border-radius:var(--radius);padding:var(--space-3);gap:var(--space-3);background:#fef3c7;align-items:center;display:flex}.banner-offline{color:#fff;padding:var(--space-3) var(--space-4);text-align:center;background:#7f1d1d;font-weight:700}.syncbar{align-items:center;gap:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3);flex-wrap:wrap;display:flex}.syncbar__text{flex:1;min-width:160px;font-size:.95rem}.list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--offen);border-radius:var(--radius);text-align:left;cursor:pointer;color:inherit;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-size:.9375rem;text-decoration:none;display:flex}.row--offen{border-left-color:var(--offen)}.row--in_arbeit{border-left-color:var(--in-arbeit)}.row--erledigt{border-left-color:var(--erledigt)}.row--nicht_erledigt{border-left-color:var(--nicht-erledigt)}.row__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row__title{font-weight:700}.row .row__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row__meta{color:var(--ink-soft);font-size:.9rem}.chips{gap:var(--space-2);padding-bottom:var(--space-1);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{min-height:var(--touch);padding:var(--space-1) var(--space-3);border:2px solid var(--line-strong);background:var(--surface);color:var(--ink);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);border-radius:999px;flex-shrink:0;font-size:.8125rem}.chip[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:700}.status-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.status-option{border-radius:var(--radius);border:2px solid var(--line-strong);background:var(--surface);min-height:56px;color:var(--ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-size:.9375rem;font-weight:700}.status-option[aria-pressed=true]{color:#fff}.status-option--offen[aria-pressed=true]{background:var(--offen);border-color:var(--offen)}.status-option--in_arbeit[aria-pressed=true]{background:var(--in-arbeit);border-color:var(--in-arbeit)}.status-option--erledigt[aria-pressed=true]{background:var(--erledigt);border-color:var(--erledigt)}.status-option--nicht_erledigt[aria-pressed=true]{background:var(--nicht-erledigt);border-color:var(--nicht-erledigt)}.status-option--kategorie[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.status-grid--kategorie{margin-top:var(--space-3)}.badge{padding:var(--space-1) var(--space-2);border:1px solid;border-radius:6px;font-size:.8rem;font-weight:700;display:inline-block}.badge--fehler{color:#b91c1c}.badge--gespeichert{color:var(--accent)}.badge--wird_synchronisiert{color:#1d4ed8}.badge--synchronisiert{color:var(--erledigt)}.photos{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.photo{border:1px solid var(--line);border-radius:var(--radius);background:#e5e7eb;position:relative;overflow:hidden}.photo img{object-fit:cover;width:100%;height:120px;display:block}.photo__state{color:#fff;padding:2px var(--space-2);background:#0f172ad9;font-size:.75rem;position:absolute;inset:auto 0 0}.file-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.table th,.table td{border-bottom:1px solid var(--line);padding:var(--space-3);text-align:left;vertical-align:middle}.table a{min-height:var(--touch);color:#1d4ed8;align-items:center;font-weight:600;display:inline-flex}.table-actions{align-items:stretch;gap:var(--space-1);flex-direction:column;min-width:0;max-width:100%;display:flex}.table-actions .btn{width:100%;min-height:var(--touch);justify-content:center}.row-actions{min-width:0;max-width:11rem;position:relative}.row-actions>summary{cursor:pointer;min-height:var(--touch);width:100%;padding:0 var(--space-2);border:2px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);justify-content:center;align-items:center;font-size:.875rem;font-weight:650;list-style:none;display:inline-flex}.row-actions>summary::-webkit-details-marker{display:none}.row-actions__panel{gap:var(--space-1);margin-top:var(--space-2);flex-direction:column;min-width:0;display:flex}.row-actions__panel .btn{width:100%}@media (width>=960px){.table-actions{flex-flow:wrap;max-width:14rem}.table-actions .btn{flex:auto;width:auto}}.foldout{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:var(--space-3) var(--space-4);min-width:0;max-width:100%}.foldout>summary{cursor:pointer;min-height:var(--touch);align-items:center;font-weight:700;list-style:none;display:flex}.foldout>summary::-webkit-details-marker{display:none}.foldout>summary:after{content:"▸";color:var(--ink-soft);margin-inline-start:auto}.foldout[open]>summary:after{content:"▾"}.foldout__body{gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--line);flex-direction:column;display:flex}.delete-confirm{gap:var(--space-2);flex-direction:column;min-width:min(100%,16rem);display:flex}.danger-zone{border:2px solid var(--danger,#b91c1c);background:color-mix(in srgb, var(--danger,#b91c1c) 6%, var(--surface))}.danger-zone__title{color:var(--danger,#b91c1c);margin:0;font-size:1.125rem}.danger-zone__list{margin:0;padding-left:1.25rem}.danger-zone__stats{font-weight:600}.danger-zone__ack{align-items:flex-start;gap:var(--space-2);display:flex}.btn--danger{background:var(--danger,#b91c1c);border-color:var(--danger,#b91c1c);color:#fff}.btn--danger:disabled{opacity:.55}.app--menu-open .topbar,.app--menu-open .content{view-transition-name:none}.menu-root{z-index:400;isolation:isolate;position:fixed;inset:0}.menu-backdrop{cursor:pointer;background:#10151c73;border:0;padding:0;position:absolute;inset:0}.menu-drawer{width:min(18.5rem,86vw);height:100%;color:var(--ink);overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom);isolation:isolate;z-index:1;background:#fff;flex-direction:column;display:flex;position:absolute;top:0;right:0;box-shadow:-8px 0 24px #10151c2e}[dir=rtl] .menu-drawer{--menu-in-from:-12%;left:0;right:auto;box-shadow:8px 0 24px #10151c2e}.menu-drawer__head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);padding-top:max(var(--space-2), env(safe-area-inset-top));border-bottom:1px solid var(--line);display:flex}.menu-drawer__title{margin:0;font-size:.9375rem;font-weight:700}.menu-drawer__body{gap:var(--space-2);padding:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}.menu-field{gap:var(--space-2);flex-direction:column;display:flex}.menu-field label{margin:0;font-size:.8125rem}.menu-nav{gap:var(--space-1);flex-direction:column;display:flex}.menu-item{min-height:var(--touch-lg);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;width:100%;font-size:.9375rem;font-weight:600;text-decoration:none;display:flex}.menu-item--active{background:var(--brand);color:var(--brand-ink)}.menu-item--danger{color:var(--danger,#b91c1c)}.menu-item--danger.menu-item--active{background:var(--danger,#b91c1c);color:#fff}.btn.menu-item{margin-top:var(--space-2);justify-content:center}.notice--ok{padding:var(--space-3);border-radius:var(--radius);background:color-mix(in srgb, var(--ok,#15803d) 12%, var(--surface));border:1px solid var(--ok,#15803d)}.center{text-align:center}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.merge-sources{margin:0 0 var(--space-3);border:0;padding:0}.merge-sources__row{align-items:center;gap:var(--space-2);min-height:var(--touch);display:flex}.table td input[type=text],.table td input:not([type]){width:100%;min-width:10rem}@media (hover:hover){.btn:hover:not([disabled]){box-shadow:0 2px 8px color-mix(in srgb, var(--ink) 18%, transparent)}.btn--secondary:hover:not([disabled]){background:color-mix(in srgb, var(--brand) 6%, var(--surface))}.row:hover{background:color-mix(in srgb, var(--brand) 4%, var(--surface))}.chip:hover,.menu-item:hover:not(.menu-item--active):not(.btn){background:color-mix(in srgb, var(--brand) 6%, var(--surface))}}@media (prefers-reduced-motion:no-preference){.btn:active:not([disabled]),.chip:active,.row:active,.status-option:active,.menu-item:active{transform:scale(.98)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(content){animation:lb-slide-out var(--dur-med) var(--ease-out) both}::view-transition-new(content){animation:lb-slide-in var(--dur-slow) var(--ease-out) both}::view-transition-old(topbar){mix-blend-mode:normal;animation:none}::view-transition-new(topbar){mix-blend-mode:normal;animation:none}.menu-drawer{animation:lb-menu-in var(--dur-med) var(--ease-out) both}.menu-backdrop{animation:lb-fade-in var(--dur-fast) var(--ease-out) both}}@keyframes lb-slide-out{to{opacity:0;transform:translateX(var(--slide-out-to))}}@keyframes lb-slide-in{0%{opacity:0;transform:translateX(var(--slide-in-from))}}@keyframes lb-menu-in{0%{opacity:.6;transform:translateX(var(--menu-in-from,12%))}}@keyframes lb-fade-in{0%{opacity:0}}.status-bars{min-width:12rem}.status-bars__track{background:color-mix(in srgb, var(--line) 55%, var(--surface));height:.75rem;margin-bottom:var(--space-2);border-radius:999px;display:flex;overflow:hidden}.status-bars__segment{min-width:2px;height:100%;display:block}.status-bars__segment--offen{background:var(--offen)}.status-bars__segment--in_arbeit{background:var(--in-arbeit)}.status-bars__segment--erledigt{background:var(--erledigt)}.status-bars__segment--nicht_erledigt{background:var(--nicht-erledigt)}.status-bars__legend{color:var(--ink-soft);gap:2px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:grid}.status-bars__item{align-items:center;gap:var(--space-2);display:flex}.status-bars__swatch{border-radius:2px;flex-shrink:0;width:.65rem;height:.65rem}.status-bars__swatch--offen{background:var(--offen)}.status-bars__swatch--in_arbeit{background:var(--in-arbeit)}.status-bars__swatch--erledigt{background:var(--erledigt)}.status-bars__swatch--nicht_erledigt{background:var(--nicht-erledigt)}.status-bars__count{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600}.view-toggle{gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.find-panel{gap:var(--space-3);flex-direction:column;display:flex}.list--dense{gap:var(--space-2)}.list--dense .row{min-height:var(--touch);padding:var(--space-1) var(--space-3);border-radius:6px}.list--dense .row__meta{font-size:.8125rem}.records-map{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--line) 35%, var(--surface));z-index:0;width:100%;height:min(58vh,420px);min-height:240px;overflow:hidden}.records-map .leaflet-tile-pane img{max-width:none!important;max-height:none!important}.records-map--hub{height:min(62vh,520px)}.records-map--detail{height:220px;min-height:180px}.records-map--admin{height:min(70vh,640px)}.lb-map-marker{background:0 0;border:0}.lb-map-marker__pin{border:2px solid #fff;border-radius:50% 50% 50% 0;width:18px;height:18px;display:block;transform:rotate(-45deg);box-shadow:0 1px 3px #0f172a73}.qr-scanner,.qr-scanner__live{gap:var(--space-2);flex-direction:column;display:flex}.qr-scanner__video{object-fit:cover;border-radius:var(--radius);background:#0f172a;width:100%;max-height:240px}.admin-toolbar{gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.admin-toolbar label{gap:var(--space-1);flex-direction:column;flex:1;min-width:min(100%,200px);display:flex}
