:root{--bg:#f7f5ef;--surface:#fff;--text:#1f1b14;--muted:#625a4c;--border:#d8d1c2;--accent:#7a5c1e;--accent-text:#fff;--ok-bg:#e3f2e1;--ok:#1d6b2a;--warn-bg:#fff4cc;--warn:#7a5600;--grey-bg:#ecebe8;--danger:#b00020;--focus:#1a5fb4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#17150f;--surface:#221f18;--text:#eee8dc;--muted:#b3aa98;--border:#3d382c;--accent:#d9b45a;--accent-text:#17150f;--ok-bg:#173a1d;--ok:#8fd99b;--warn-bg:#3f3210;--warn:#f3d27a;--grey-bg:#2c2a26;--danger:#ff7a8a;--focus:#8ab4f8}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{max-width:1200px;margin:0 auto;padding:0 16px 48px}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.brand{color:var(--text);font-size:1.2rem;font-weight:700;text-decoration:none}.net{color:var(--muted);font-size:.85rem}.net.off{color:var(--warn);font-weight:600}nav{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex;overflow-x:auto}nav a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;min-height:44px;padding:10px 12px;text-decoration:none;display:flex}nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}h1{margin:8px 0 12px;font-size:1.5rem}h2{margin:20px 0 8px;font-size:1.15rem}h3{margin:16px 0 6px;font-size:1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.warn{color:var(--warn)}.crumbs{color:var(--muted);margin:0;font-size:.9rem}.banner{background:var(--grey-bg);border-radius:8px;padding:10px 12px}.banner.demo,.banner.warn{background:var(--warn-bg);color:var(--warn)}.badge{vertical-align:middle;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.badge.demo{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:16px 0;padding:12px 16px}.tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px}.tile-label{color:var(--muted);font-size:.85rem}.tile-value{margin:2px 0;font-size:1.5rem;font-weight:700}.tile-note{color:var(--muted);font-size:.8rem}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{padding:4px 0}ul.cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;flex-direction:column;gap:2px;min-height:64px;padding:12px;text-decoration:none;display:flex}label{color:var(--muted);flex-direction:column;gap:4px;margin:8px 0;font-size:.9rem;display:flex}label.check{color:var(--text);flex-direction:row;align-items:center;gap:8px}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;min-height:44px;padding:10px}input[type=checkbox]{width:22px;min-height:22px}input[type=file]{padding:8px}.row{flex-wrap:wrap;gap:10px;display:flex}.row>label,.row>input{flex:140px}button{border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-text);cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:600}button.secondary{color:var(--accent);background:0 0}button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:0;font-weight:400;text-decoration:underline}button:disabled{opacity:.5;cursor:not-allowed}.actions{flex-wrap:wrap;gap:8px;display:flex}.feedback{margin:8px 0 0;font-weight:600}.feedback.ok{color:var(--ok)}.feedback.fehler{color:var(--danger)}details{margin:8px 0}summary{cursor:pointer;min-height:32px;color:var(--accent)}.page-layout{grid-template-columns:minmax(0,3fr) minmax(280px,2fr);align-items:start;gap:16px;display:grid}@media (width<=800px){.page-layout{grid-template-columns:1fr}}.grid{gap:6px;display:grid}.pocket{border:2px solid var(--border);background:var(--surface);min-height:84px;color:var(--text);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:6px 2px;font-weight:400;display:flex;overflow:hidden}.pocket.selected{border-color:var(--focus);box-shadow:0 0 0 2px var(--focus)}.pocket-pos{color:var(--muted);font-size:.7rem}.pocket-main{font-size:1.05rem;font-weight:700}.pocket-sub{font-size:.72rem}.pocket-status{font-size:.7rem}.m-gruen{background:var(--ok-bg);color:var(--ok)}.pocket.m-gruen{border-color:var(--ok)}.m-gelb{background:var(--warn-bg);color:var(--warn)}.pocket.m-gelb{border-color:var(--warn);border-style:dashed}.m-grau{background:var(--grey-bg);color:var(--muted)}.legend span{border-radius:4px;margin:2px 4px 2px 0;padding:2px 6px;font-size:.8rem;display:inline-block}.photos{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}figure{margin:0}figure img{border:1px solid var(--border);border-radius:8px;width:100%;height:auto;display:block}.photo-empty{aspect-ratio:4/3;border:2px dashed var(--border);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;display:flex}figcaption{color:var(--muted);margin-top:4px;font-size:.85rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:var(--surface);width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px}dl.facts{grid-template-columns:max-content 1fr;gap:4px 16px;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.m-rot{color:#9b1c1c;background:#fde2e2}.pocket.m-rot{border-width:3px;border-color:#9b1c1c}.m-blau{color:#1a4f9c;background:#dbe8fb}.pocket.m-blau{border-color:#1a4f9c}@media (prefers-color-scheme:dark){.m-rot{color:#ffb4b4;background:#4a1a1a}.pocket.m-rot{border-color:#ffb4b4}.m-blau{color:#a9c8f5;background:#172c4a}.pocket.m-blau{border-color:#a9c8f5}}.flag-rot{color:#9b1c1c;font-weight:600}.flag-blau{color:#1a4f9c}@media (prefers-color-scheme:dark){.flag-rot{color:#ffb4b4}.flag-blau{color:#a9c8f5}}.photo-view{flex-direction:column;gap:6px;display:flex}.overlay-scroll{border:1px solid var(--border);touch-action:pan-x pan-y;background:#222;border-radius:8px;max-height:75vh;overflow:auto}svg.overlay{height:auto;display:block}svg.overlay .cell polygon{fill:#0000;stroke:#fff;stroke-width:.25%;vector-effect:non-scaling-stroke;cursor:pointer}svg.overlay .cell text{fill:#fff;paint-order:stroke;stroke:#000;stroke-width:3px;vector-effect:non-scaling-stroke;pointer-events:none;font-family:system-ui,sans-serif}svg.overlay .cell.m-gruen polygon{stroke:#3fbf5a;fill:#3fbf5a1f}svg.overlay .cell.m-gelb polygon{stroke:#ffd23f;fill:#ffd23f26;stroke-dasharray:6 4}svg.overlay .cell.m-rot polygon{stroke:#ff4d4d;fill:#ff4d4d33}svg.overlay .cell.m-blau polygon{stroke:#5aa0ff;fill:#5aa0ff26}svg.overlay .cell.m-grau polygon{stroke:#bbb;fill:#00000040}svg.overlay .cell.m-neutral polygon{stroke:#fff}svg.overlay .cell.selected polygon{stroke:#4da3ff;stroke-width:.8%}svg.overlay .cell{color:inherit;background:0 0}svg.overlay .quad-edit{fill:#4da3ff1f;stroke:#4da3ff;stroke-width:.4%;vector-effect:non-scaling-stroke}svg.overlay .handle{fill:#4da3ff;stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke;cursor:grab;touch-action:none}.photo-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.photo-tools button{padding:6px 12px}a.button{border:1px solid var(--accent);border-radius:8px;align-items:center;min-height:44px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.analysis h4{margin:12px 0 4px}.check-notes{margin-bottom:8px}ul.chips{flex-wrap:wrap;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:.85rem}.chip-year{font-weight:700}.chip-text{font-size:.72rem}.chip.m-rot{border-color:#9b1c1c}.chip.m-blau{border-color:#1a4f9c}
