.plant-symbol{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;color:var(--plant-color)}
.plant-symbol svg{width:22px;height:22px;fill:currentColor;stroke:#fff;stroke-width:1;stroke-linejoin:round;paint-order:stroke fill;filter:drop-shadow(0 1px 1px #173b3430)}
.plant-symbol .stem{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.plant-symbol .cut{fill:none;stroke:#fff;stroke-width:1.2;stroke-linecap:round}
.botanical-marker{background:transparent;border:0}
.botanical-marker:hover,.botanical-marker:focus{z-index:10000!important}
.botanical-marker:hover .plant-symbol,.botanical-marker:focus .plant-symbol{outline:2px solid #194c3c;transform:scale(1.13)}
.species-legend{position:absolute;left:18px;bottom:28px;z-index:500;background:#fffffff5;border:1px solid #dfe8e1;border-radius:14px;box-shadow:0 3px 18px #173b341a;width:240px;max-width:calc(100% - 36px);color:#244738}
.species-legend[hidden]{display:none}
.legend-preview{display:flex;padding-right:3px}
.legend-preview .plant-symbol{width:18px;height:18px;margin-right:-2px}
.legend-preview svg{width:19px;height:19px}
.legend-total{font-size:10px;background:#e9f0e9;border-radius:6px;padding:2px 6px;font-variant-numeric:tabular-nums}
.legend-list{list-style:none;padding:0 12px;margin:0;max-height:230px;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #e7ede7}
.legend-row{display:flex;align-items:center;gap:9px;padding:4px 0;border-bottom:1px solid #edf1ed;font-size:11px;line-height:1.3}
.legend-row:last-child{border-bottom:0}
.legend-row .plant-symbol svg{filter:none}
.legend-name{flex:1;min-width:0;overflow-wrap:anywhere}
.legend-count{color:#748376;font-size:11px;font-variant-numeric:tabular-nums}
.legend-note{margin:0;padding:9px 13px;font-size:10px;line-height:1.4;color:#758275;border-top:1px solid #e7ede7}
@media(max-width:680px){.species-legend{left:10px;bottom:28px;max-width:calc(100% - 20px)}.legend-list{max-height:170px}}
.plant-cluster{display:flex;align-items:center;justify-content:center;border:5px solid #d5e6d7d9;border-radius:50%;background:#245f48;box-shadow:0 2px 8px #173b342e;color:#fff;font:700 13px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.plant-cluster-count{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px solid #ffffff35;border-radius:50%}
.plant-cluster:hover,.plant-cluster:focus-visible{background:#174a37;outline:2px solid #fff;box-shadow:0 3px 12px #173b3455}
@media(prefers-reduced-motion:reduce){.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:none}}

.legend-statuses{list-style:none;margin:0;padding:7px 12px;border-top:1px solid #e7ede7}
.legend-statuses .legend-row{border:0;padding:3px 0}
.legend-status-dot{width:9px;height:9px;margin:0 6px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #00000010}

.legend-heading{display:flex;align-items:center;gap:8px;padding:10px 13px;font-size:12px;font-weight:650;min-height:42px}

.life-form-filter{border:0;margin:0 0 16px;padding:0;min-width:0}
.life-form-filter legend{font-size:12px;font-weight:600;margin-bottom:7px}
.life-form-choice{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:7px;font-size:12px;cursor:pointer}
.life-form-choice:has(input:checked){background:#e9f0e9}
.filters .life-form-choice input{width:14px;height:14px;margin:0;flex-shrink:0;accent-color:#194c3c}
.life-form-icon{display:inline-flex;width:22px;flex-shrink:0}

.life-form-dropdown{position:relative}
.life-form-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 11px;min-height:42px;font-size:13px}
.life-form-dropdown summary::-webkit-details-marker{display:none}
.life-form-selected{display:flex;align-items:center;gap:8px;min-width:0}
.life-form-arrow{flex-shrink:0}
.life-form-dropdown[open] .life-form-arrow{transform:rotate(180deg)}
.life-form-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1050;max-height:280px;overflow-y:auto;padding:5px;background:white;border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 18px #173b3426}
.life-form-options .life-form-choice{min-height:36px;margin:0;padding:5px 7px}
.life-form-choice:hover{background:#f0f5ef}
.life-form-choice:focus-within{outline:2px solid #8aaa54;outline-offset:-2px}
