*{box-sizing:border-box;margin:0;padding:0}:root{--fluent-neutral-foreground-rest:#242424;--fluent-neutral-fill-rest:#fafafa;--fluent-accent-fill-rest:#2d6a4f;--fluent-neutral-stroke-rest:#e0e0e0;--got-greens-dark:#1b4332;--got-greens-medium:#2d6a4f;--got-greens-light:#40916c}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;background:#f3f3f3;height:100vh;margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif;overflow:hidden}.container{background:#fff;flex-direction:column;width:100%;height:100vh;display:flex}header{color:#fff;z-index:1000;background:linear-gradient(135deg,#2d6a4f 0%,#1b4332 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:relative;box-shadow:0 2px 8px #0000001a}.header-content{flex:1}header h1{letter-spacing:-.3px;margin-bottom:2px;font-size:20px;font-weight:600}.subtitle{opacity:.9;font-size:12px;font-weight:400}#admin-toggle{--accent-fill-rest:#ffffff1a;--accent-fill-hover:#fff3;color:#fff;border-radius:50%;width:40px;height:40px;padding:0}.map-container{background:#e5e5e5;flex:1;width:100%;position:relative}#map{width:100%;height:100%}.map-controls{z-index:1000;flex-direction:column;gap:12px;display:flex;position:absolute;bottom:24px;right:16px}.locate-btn{border-radius:28px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 4px 16px #0003}.admin-controls{border-bottom:1px solid var(--fluent-neutral-stroke-rest);background:#fff;padding:16px;animation:.3s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.admin-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.admin-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-status{color:#2d6a4f;font-size:14px;font-weight:600}.admin-switches{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.overlay-control{background:#fff;border-radius:4px;margin-bottom:16px;padding:12px}.overlay-control label{color:#242424;margin-bottom:8px;font-size:12px;font-weight:500;display:block}.overlay-control input[type=range]{width:100%;margin-bottom:4px}.overlay-control #opacity-value{color:#605e5c;font-size:12px}.overlay-hint{color:#605e5c;background:#fff8e1;border-left:3px solid #2d6a4f;border-radius:4px;margin-top:8px;padding:8px 12px;font-size:11px}.farm-overlay{transition:opacity .2s}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-actions fluent-button{flex:1;min-width:140px}.bottom-sheet{z-index:2000;background:#fff;border-radius:16px 16px 0 0;flex-direction:column;max-height:70vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #00000026}.bottom-sheet.active{transform:translateY(0)}.sheet-handle{background:#d1d1d1;border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:12px auto 8px}.sheet-content{padding:0 24px 32px;overflow-y:auto}.sheet-content h2{color:#242424;margin-bottom:12px;font-size:24px;font-weight:600}.sheet-content p{color:#605e5c;margin-bottom:20px;font-size:14px;line-height:1.6}.sheet-content fluent-button{width:100%}.modal{z-index:3000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;width:100%;height:100%;animation:.2s fadeIn;display:none;position:fixed;top:0;left:0}.modal.active{justify-content:center;align-items:center;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:calc(100% - 32px);max-width:500px;max-height:85vh;animation:.3s cubic-bezier(.4,0,.2,1) slideUp;overflow-y:auto;box-shadow:0 8px 32px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{margin:0;font-size:20px;font-weight:600}#modal-close-btn{width:32px;height:32px;padding:0;font-size:24px}form{flex-direction:column;gap:16px;padding:24px;display:flex}.form-buttons{gap:12px;margin-top:8px;display:flex}.form-buttons fluent-button{flex:1}.leaflet-container{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 4px 16px #0003}.leaflet-popup-content{margin:16px;font-size:14px}.leaflet-popup-content h3{color:#242424;margin:0 0 8px;font-size:16px;font-weight:600}.leaflet-popup-content p{color:#605e5c;margin:0 0 12px;line-height:1.5}.leaflet-control-zoom{border:none!important;box-shadow:0 2px 8px #00000026!important}.leaflet-control-zoom a{color:#242424!important;border:none!important;border-radius:4px!important}.leaflet-control-zoom a:first-child{border-radius:4px 4px 0 0!important}.leaflet-control-zoom a:last-child{border-radius:0 0 4px 4px!important}.custom-marker-wrapper{width:24px!important;height:24px!important}.custom-marker{cursor:pointer;background:#2d6a4f;border:3px solid #fff;border-radius:50%;width:24px;height:24px;transition:all .2s;position:absolute;top:0;left:0;box-shadow:0 2px 8px #0000004d}.custom-marker:hover{transform:scale(1.2);box-shadow:0 4px 12px #0006}.marker-label-permanent{color:#242424;white-space:nowrap;pointer-events:none;z-index:-1;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;position:absolute;top:28px;left:12px;transform:translate(-50%);box-shadow:0 2px 8px #0003}.user-location-marker{background:#2d6a4f;border:4px solid #fff;border-radius:50%;width:16px;height:16px;animation:2s ease-in-out infinite locationPulse;box-shadow:0 0 0 4px #2d6a4f33,0 2px 8px #0000004d}@keyframes locationPulse{0%,to{box-shadow:0 0 0 4px #2d6a4f33,0 2px 8px #0000004d}50%{box-shadow:0 0 0 12px #2d6a4f00,0 2px 8px #0000004d}}.content-viewer{flex-direction:column;width:calc(100% - 16px);max-width:100%;height:90vh;max-height:90vh;display:flex;overflow:hidden}.content-frame-container{background:#f5f5f5;flex:1;min-height:0;overflow:hidden}#content-frame{border:none;width:100%;height:100%;display:block}@media (width<=380px){header h1{font-size:18px}.subtitle{font-size:11px}.locate-btn{width:48px;height:48px}}
