:root{--primary: #2d5016;--primary-light: #4a7c2e;--bg: #ffffff;--bg-alt: #f5f5f0;--text: #1a1a1a;--text-muted: #666;--border: #d0d0c8;--danger: #b00020;--success: #2e7d32;--warning: #ed6c02;--safe-top: env(safe-area-inset-top, 0);--safe-bot: env(safe-area-inset-bottom, 0)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;font-family:system-ui,-apple-system,sans-serif;font-size:16px;color:var(--text);background:var(--bg);-webkit-tap-highlight-color:transparent}#app{display:flex;flex-direction:column;height:100dvh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + .6rem) 1rem .6rem;background:var(--primary);color:#fff;font-weight:500}.topbar .progress{font-variant-numeric:tabular-nums;font-size:.9rem;opacity:.9}.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg)}.tabs button{flex:1;padding:.75rem;border:0;background:transparent;color:var(--text-muted);font-size:1rem;font-weight:500}.tabs button.active{color:var(--primary);border-bottom:3px solid var(--primary)}main{flex:1;display:flex;min-height:0}.view{flex:1;position:relative;overflow:hidden;min-height:0}.view.hidden{display:none}#map{width:100%;height:100%}.tasklist{height:100%;overflow-y:auto;padding:.5rem;background:var(--bg-alt)}.task-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.task-card .id{font-weight:500}.task-card .meta{font-size:.85rem;color:var(--text-muted)}.status-badge{font-size:.75rem;padding:.25rem .6rem;border-radius:999px;font-weight:500}.status-offen{background:#fff3cd;color:#856404}.status-erledigt{background:#d4edda;color:var(--success)}.status-nicht{background:#f8d7da;color:var(--danger)}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--bg);border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 20px #00000026;padding:1rem 1rem calc(var(--safe-bot) + 1rem);transform:translateY(100%);transition:transform .25s ease;z-index:100}.bottom-sheet.open{transform:translateY(0)}.bottom-sheet h2{margin:0 0 .5rem;font-size:1.1rem}.bottom-sheet .options{display:flex;flex-direction:column;gap:.5rem;margin:1rem 0}.bottom-sheet .options button{padding:.85rem;border:2px solid var(--border);border-radius:8px;background:var(--bg);font-size:1rem;text-align:left}.bottom-sheet .options button.selected{border-color:var(--primary);background:#e8f0e0}.bottom-sheet textarea{width:100%;min-height:70px;padding:.5rem;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:.95rem;resize:vertical}.bottom-sheet .actions{display:flex;gap:.5rem;margin-top:1rem}.btn{flex:1;padding:.85rem;border:0;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:disabled{background:#999}.btn-secondary{background:var(--bg-alt);color:var(--text)}.finish-bar{padding:.75rem 1rem calc(var(--safe-bot) + .75rem);background:var(--bg);border-top:1px solid var(--border)}.full-overlay{position:fixed;inset:0;background:var(--bg);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.full-overlay h1{margin:0 0 .5rem}.full-overlay p{color:var(--text-muted);margin:.5rem 0}.network-pill{position:fixed;top:calc(var(--safe-top) + 4rem);left:50%;transform:translate(-50%);background:var(--warning);color:#fff;padding:.3rem .8rem;border-radius:999px;font-size:.8rem;z-index:50}.install-prompt{position:fixed;bottom:calc(var(--safe-bot) + 1rem);left:1rem;right:1rem;background:var(--primary);color:#fff;padding:.85rem 1rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 12px #0003;z-index:60}.install-prompt button{background:#fff;color:var(--primary);border:0;padding:.5rem 1rem;border-radius:6px;font-weight:500}.kb-marker{width:28px;height:28px;border-radius:50%;border:3px solid white;box-shadow:0 2px 6px #0000004d;cursor:pointer}.kb-marker.offen{background:#d97706}.kb-marker.erledigt{background:#2e7d32}.kb-marker.nicht{background:#b00020}
