#app{font-family:Avenir,Helvetica,Arial,sans-serif;text-align:center;min-height:100vh;min-height:100dvh}body{margin:0;padding:0;background:#fff}#app,body,html{height:100%}:root{--vh:1vh}[data-v-2ae6118e],[data-v-2ae6118e]:after,[data-v-2ae6118e]:before{box-sizing:border-box}.form-card[data-v-2ae6118e]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;width:100%;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.06)}.title[data-v-2ae6118e]{margin:0 0 8px;text-align:center}.form[data-v-2ae6118e]{display:flex;flex-direction:column;gap:14px}.step[data-v-2ae6118e]{display:flex;flex-direction:column;gap:10px}.small-gap[data-v-2ae6118e]{gap:6px}.step-header[data-v-2ae6118e]{display:flex;align-items:center;gap:8px}.step-number[data-v-2ae6118e]{width:22px;height:22px;border-radius:999px;background:#16a34a;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;font-weight:600}.step-title[data-v-2ae6118e]{margin:0;font-size:16px}.optional[data-v-2ae6118e]{color:#6b7280;font-weight:400;font-size:.85em}.muted[data-v-2ae6118e]{color:#6b7280;margin:0;font-size:12px}.search-input[data-v-2ae6118e]{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:16px}.chips-grid[data-v-2ae6118e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;max-height:220px;overflow:auto;padding:2px}.chip[data-v-2ae6118e]{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:8px 10px;font-size:13px;cursor:pointer}.chip.selected[data-v-2ae6118e]{background:#16a34a;color:#fff;border-color:transparent}.selected-row[data-v-2ae6118e]{display:flex;align-items:center;gap:6px}.selected-row.readonly-compact[data-v-2ae6118e]{padding:4px 8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.btn[data-v-2ae6118e]{padding:12px 16px;border-radius:8px;font-size:15px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn-outline[data-v-2ae6118e]{background:transparent;border-color:#e5e7eb;color:#111827}.btn-primary[data-v-2ae6118e]{background:#2196f3;color:#fff}.btn-primary[data-v-2ae6118e]:disabled{background:#cbd5e1}.btn-ghost[data-v-2ae6118e]{background:transparent;color:#2196f3;border:none;padding:4px 6px}.photo-actions[data-v-2ae6118e]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-tile[data-v-2ae6118e]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;aspect-ratio:1/1;border:1px dashed #e5e7eb;border-radius:12px;background:#f9fafb;cursor:pointer;font-size:13px}.photo-tile[data-v-2ae6118e]:hover{background:#f3f4f6}.hidden-input[data-v-2ae6118e]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.preview-row[data-v-2ae6118e]{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.preview-wrapper[data-v-2ae6118e]{position:relative;width:90px}.preview[data-v-2ae6118e]{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb}.remove-img[data-v-2ae6118e]{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-img[data-v-2ae6118e]:hover{background:rgba(0,0,0,.75)}.notes-input[data-v-2ae6118e]{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;resize:vertical;font:inherit}.actions[data-v-2ae6118e]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.close-btn[data-v-2ae6118e]{position:absolute;top:8px;right:8px;width:32px;height:32px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:20px;line-height:1;color:#6b7280}.close-btn[data-v-2ae6118e]:hover{background:#f3f4f6;color:#374151}.visually-hidden[data-v-2ae6118e]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);overflow:hidden}@media (max-width:600px){.form-card[data-v-2ae6118e]{border-radius:0;height:100%;max-height:none}}[data-v-06e1e99c],[data-v-06e1e99c]:after,[data-v-06e1e99c]:before{box-sizing:border-box}.form-card[data-v-06e1e99c]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;width:100%;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.06)}.title[data-v-06e1e99c]{margin:0 0 8px;text-align:center}.snapshot-row[data-v-06e1e99c]{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin-bottom:8px;font-size:13px}.snapshot-label[data-v-06e1e99c]{font-weight:600;color:#374151}.snapshot-value[data-v-06e1e99c]{color:#111827}.form[data-v-06e1e99c]{display:flex;flex-direction:column;gap:14px}.step[data-v-06e1e99c]{display:flex;flex-direction:column;gap:8px}.step-header[data-v-06e1e99c]{display:flex;align-items:center;gap:8px}.compact[data-v-06e1e99c]{gap:6px}.step-number[data-v-06e1e99c]{width:22px;height:22px;border-radius:999px;background:#16a34a;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;font-weight:600}.step-title[data-v-06e1e99c]{margin:0;font-size:16px}.optional[data-v-06e1e99c]{color:#6b7280;font-weight:400;font-size:.85em}.photo-actions[data-v-06e1e99c]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-tile[data-v-06e1e99c]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;aspect-ratio:1/1;border:1px dashed #e5e7eb;border-radius:12px;background:#f9fafb;cursor:pointer;font-size:13px}.photo-tile[data-v-06e1e99c]:hover{background:#f3f4f6}.hidden-input[data-v-06e1e99c]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.preview-row[data-v-06e1e99c]{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.preview-wrapper[data-v-06e1e99c]{position:relative;width:90px}.preview[data-v-06e1e99c]{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:10px;border:1px solid #e5e7eb}.remove-img[data-v-06e1e99c]{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-img[data-v-06e1e99c]:hover{background:rgba(0,0,0,.75)}.notes-input[data-v-06e1e99c]{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;resize:vertical;font:inherit}.actions.single[data-v-06e1e99c]{display:flex;justify-content:flex-end}.btn[data-v-06e1e99c]{padding:12px 16px;border-radius:8px;font-size:15px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn-primary[data-v-06e1e99c]{background:#2196f3;color:#fff}.btn-primary[data-v-06e1e99c]:disabled{background:#cbd5e1}.close-btn[data-v-06e1e99c]{position:absolute;top:8px;right:8px;width:32px;height:32px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:20px;line-height:1;color:#6b7280}.close-btn[data-v-06e1e99c]:hover{background:#f3f4f6;color:#374151}@media (max-width:600px){.form-card[data-v-06e1e99c]{border-radius:0;height:100%;max-height:none}}[data-v-0129ea84],[data-v-0129ea84]:after,[data-v-0129ea84]:before{box-sizing:border-box}.form-card[data-v-0129ea84]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;width:100%;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.06)}.title[data-v-0129ea84]{margin:0 0 8px;text-align:center}.form[data-v-0129ea84]{display:flex;flex-direction:column;gap:14px}.step[data-v-0129ea84]{display:flex;flex-direction:column;gap:10px}.small-gap[data-v-0129ea84]{gap:6px}.step-header[data-v-0129ea84]{display:flex;align-items:center;gap:8px}.step-number[data-v-0129ea84]{width:22px;height:22px;border-radius:999px;background:#16a34a;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;font-weight:600}.step-title[data-v-0129ea84]{margin:0;font-size:16px}.optional[data-v-0129ea84]{color:#6b7280;font-weight:400;font-size:.85em}.muted[data-v-0129ea84]{color:#6b7280;margin:0;font-size:12px}.search-input[data-v-0129ea84]{width:100%;padding:8px 10px;border:1px solid #e5e7eb;border-radius:8px;font-size:16px}.chips-grid[data-v-0129ea84]{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;max-height:220px;overflow:auto;padding:2px}.chip[data-v-0129ea84]{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:8px 10px;font-size:13px;cursor:pointer}.chip.selected[data-v-0129ea84]{background:#16a34a;color:#fff;border-color:transparent}.selected-row[data-v-0129ea84]{display:flex;align-items:center;gap:6px}.selected-row.readonly-compact[data-v-0129ea84]{padding:4px 8px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px}.btn[data-v-0129ea84]{padding:12px 16px;border-radius:8px;font-size:15px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center}.btn-outline[data-v-0129ea84]{background:transparent;border-color:#e5e7eb;color:#111827}.btn-primary[data-v-0129ea84]{background:#2196f3;color:#fff}.btn-primary[data-v-0129ea84]:disabled{background:#cbd5e1}.btn-ghost[data-v-0129ea84]{background:transparent;color:#2196f3;border:none;padding:4px 6px}.actions[data-v-0129ea84]{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px}.actions.with-delete[data-v-0129ea84]{grid-template-columns:1fr}.actions-right[data-v-0129ea84]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.close-btn[data-v-0129ea84]{position:absolute;top:8px;right:8px;width:32px;height:32px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:20px;line-height:1;color:#6b7280}.close-btn[data-v-0129ea84]:hover{background:#f3f4f6;color:#374151}.visually-hidden[data-v-0129ea84]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);overflow:hidden}.btn.link-danger[data-v-0129ea84]{background:none;color:#ef4444;border:none;padding:0;display:inline-flex;align-items:center;gap:6px}.btn.link-danger[data-v-0129ea84]:hover{color:#dc2626}.icon[data-v-0129ea84]{width:18px;height:18px}@media (max-width:600px){.form-card[data-v-0129ea84]{border-radius:0;height:100%;max-height:none}}.obs-panel[data-v-8fe82cf8]{position:absolute;top:0;bottom:0;left:0;width:100%;max-width:420px;background:#fff;z-index:2000;box-shadow:0 4px 24px rgba(0,0,0,.25);overflow:auto;padding:12px 16px 32px;box-sizing:border-box}@media (max-width:600px){.obs-panel[data-v-8fe82cf8]{max-width:100%}}.obs-header[data-v-8fe82cf8]{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:0;background:#fff;padding-bottom:4px}.title[data-v-8fe82cf8]{margin:0;font-size:18px}.close[data-v-8fe82cf8]{border:none;background:#f3f4f6;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:20px;line-height:1}.close[data-v-8fe82cf8]:hover{background:#e5e7eb}.loading[data-v-8fe82cf8]{padding:24px;text-align:center;color:#555}.timeline[data-v-8fe82cf8]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}.entry[data-v-8fe82cf8]{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fafafa}.timestamp[data-v-8fe82cf8]{font-size:12px;color:#6b7280}.meta[data-v-8fe82cf8]{font-weight:600;margin-top:4px}.images[data-v-8fe82cf8]{margin-top:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px}.img-wrapper[data-v-8fe82cf8]{position:relative}.images img[data-v-8fe82cf8]{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:1px solid #ddd;display:block}.img-wrapper .remove[data-v-8fe82cf8]{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.img-wrapper .remove[data-v-8fe82cf8]:hover{background:rgba(0,0,0,.75)}.notes[data-v-8fe82cf8]{margin:8px 0 0;font-size:13px;line-height:1.4}#map-container[data-v-835a1ce4]{position:relative;width:100%;max-width:100%;height:100vh;height:100dvh;height:calc(var(--vh, 1vh)*100)}#layer-toggle[data-v-835a1ce4]{position:absolute;z-index:1000;top:10px;left:10px;display:flex;gap:10px}#layer-toggle-button[data-v-835a1ce4]{top:calc(60px + env(safe-area-inset-top))}#layer-toggle-button[data-v-835a1ce4],#position-display-toggle[data-v-835a1ce4]{position:absolute;z-index:1000;right:calc(10px + env(safe-area-inset-right));padding:10px;background-color:#4caf50;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center}#position-display-toggle[data-v-835a1ce4]{top:calc(160px + env(safe-area-inset-top))}.position-display[data-v-835a1ce4]{position:absolute;z-index:1000;top:calc(10px + env(safe-area-inset-top));left:calc(50px + env(safe-area-inset-left));background-color:hsla(0,0%,100%,.8);padding:4px;border-radius:4px;font-size:12px;color:#333}#add-tree-button[data-v-835a1ce4],#track-location-button[data-v-835a1ce4]{position:absolute;z-index:1000;top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));padding:10px;background-color:#4caf50;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center}#add-tree-button[data-v-835a1ce4]{top:auto;bottom:calc(20px + env(safe-area-inset-bottom))}#add-tree-button[data-v-835a1ce4]:hover,#layer-toggle-button[data-v-835a1ce4]:hover,#track-location-button[data-v-835a1ce4]:hover{background-color:#45a049}#refresh-trees-button[data-v-835a1ce4]{position:absolute;z-index:1000;top:calc(110px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));padding:10px;background-color:#4caf50;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center}#refresh-trees-button[data-v-835a1ce4]:hover{background-color:#45a049}#hex-toggle-button[data-v-835a1ce4]{position:absolute;z-index:1000;top:calc(110px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));padding:10px;background-color:#9ca3af;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center}#hex-toggle-button[data-v-835a1ce4]:hover{background-color:#45a049}.location-buttons[data-v-835a1ce4]{position:absolute;z-index:1000;top:auto;bottom:calc(20px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));display:flex;gap:10px}#cancel-location-button[data-v-835a1ce4],#confirm-location-button[data-v-835a1ce4]{width:40px;height:40px;border:none;border-radius:50%;font-size:24px;cursor:pointer;display:flex;justify-content:center;align-items:center}#confirm-location-button[data-v-835a1ce4]{background-color:#4caf50;color:#fff}#cancel-location-button[data-v-835a1ce4]{background-color:#f44336;color:#fff}#confirm-location-button[data-v-835a1ce4]:hover{background-color:#45a049}#cancel-location-button[data-v-835a1ce4]:hover{background-color:#e53935}.tree-marker[data-v-835a1ce4]{z-index:1000}[data-v-835a1ce4] .tree-div-icon{display:flex;align-items:center;justify-content:center;border-radius:9999px;background:radial-gradient(ellipse at 30% 30%,#34d399 0,#10b981 55%,#059669 100%);border:2px solid #fff;color:#fff;box-shadow:0 8px 16px rgba(0,0,0,.22),0 2px 6px rgba(0,0,0,.12);transition:transform .12s ease,box-shadow .12s ease}[data-v-835a1ce4] .tree-div-icon .tree-emoji{font-size:.9em;filter:drop-shadow(0 1px 0 rgba(0,0,0,.2))}[data-v-835a1ce4] .leaflet-marker-icon.tree-div-icon:hover{transform:translateZ(0) scale(1.08);box-shadow:0 10px 22px rgba(0,0,0,.26),0 4px 10px rgba(0,0,0,.14)}[data-v-835a1ce4] .hex-id-icon{background:hsla(0,0%,100%,.8);border-radius:4px;padding:2px 4px;color:#333;font-size:10px;text-align:center;white-space:nowrap}[data-v-835a1ce4] .confirm-pin-icon .pin{position:relative;width:25px;height:41px;background-image:url(https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-blue.png);background-size:contain;background-repeat:no-repeat}@keyframes pin-spin-835a1ce4{to{transform:rotate(1turn)}}[data-v-835a1ce4] .confirm-pin-icon .pin-spinner{position:absolute;top:5px;left:42%;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid hsla(0,0%,100%,.85);border-top-color:rgba(37,99,235,.95);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);animation:pin-spin-835a1ce4 .8s linear infinite}[data-v-835a1ce4] .leaflet-marker-icon.confirm-pin-icon:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.form-panel[data-v-835a1ce4]{position:absolute;top:calc(60px + env(safe-area-inset-top));bottom:calc(20px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));width:320px;background-color:#fff;border-radius:8px;z-index:1500;box-shadow:0 12px 24px rgba(0,0,0,.18);overflow:auto}@media (max-width:600px){.form-panel[data-v-835a1ce4]{top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);right:env(safe-area-inset-right);width:100%;height:auto;max-height:none;border-radius:0;overflow:auto}}.tree-popup-title[data-v-835a1ce4]{font-weight:700;font-size:14px;color:#111827}.tree-popup-meta[data-v-835a1ce4]{margin-top:2px;font-size:12px;color:#6b7280}.tree-popup-actions[data-v-835a1ce4]{margin-top:10px;display:flex;gap:8px}.tree-popup-image[data-v-835a1ce4]{width:220px;max-width:100%;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:8px;display:block;margin-bottom:8px}.btn-pill[data-v-835a1ce4]{padding:8px 12px;border-radius:999px;border:none;cursor:pointer;font-weight:600;font-size:12px}.btn-pill.info[data-v-835a1ce4]{background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff}.btn-pill.danger[data-v-835a1ce4]{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff}.tree-popup-observations[data-v-835a1ce4]{margin-top:6px}.link-btn[data-v-835a1ce4]{background:none;border:none;padding:0;color:#2563eb;font-size:12px;cursor:pointer;text-decoration:underline}.link-btn[data-v-835a1ce4]:hover{color:#1d4ed8}.edit-pencil-icon[data-v-835a1ce4]{width:16px;height:16px;vertical-align:middle;transition:filter .15s;color:#2563eb;cursor:pointer}.edit-pencil-icon[data-v-835a1ce4]:hover{filter:brightness(.7);color:#1d4ed8}[data-v-835a1ce4] .leaflet-top{top:calc(env(safe-area-inset-top))}[data-v-835a1ce4] .leaflet-right{right:calc(env(safe-area-inset-right))}[data-v-835a1ce4] .leaflet-bottom{bottom:calc(env(safe-area-inset-bottom))}[data-v-835a1ce4] .leaflet-left{left:calc(env(safe-area-inset-left))}