.wide-modal{max-width:600px;max-height:80vh}.modal-header{display:flex;justify-content:space-between;align-items:center}.tabs{display:flex;gap:1rem;border-bottom:1px solid var(--glass-border);padding-bottom:.5rem}.tab-btn{background:none;border:none;color:var(--text-muted);font-family:inherit;font-weight:600;cursor:pointer;padding:.5rem 1rem;border-radius:.5rem}.tab-btn.active{background:#ffffff1a;color:#fff}.scrollable{overflow-y:auto;max-height:50vh}table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.85rem}th{text-align:left;color:var(--text-muted);font-weight:600;padding:.75rem;border-bottom:1px solid var(--glass-border);cursor:pointer;-webkit-user-select:none;user-select:none}th:hover{color:#fff}tr{cursor:pointer;transition:background .2s ease}tr:hover{background:#ffffff0d}td{padding:.75rem;border-bottom:1px solid var(--glass-border)}textarea{background:#0003;border:1px solid var(--glass-border);border-radius:.75rem;padding:.75rem 1rem;color:#fff;font-family:inherit;font-size:1rem;resize:vertical;min-height:80px}.login-modal{text-align:center;gap:1.5rem}.login-logo{width:80px;height:80px;margin:0 auto}.user-info{display:flex;align-items:center;gap:.75rem;background:#ffffff0d;padding:.25rem .75rem .25rem .25rem;border-radius:2rem;border:1px solid var(--glass-border)}.user-info img{width:24px;height:24px;border-radius:50%}.user-info span{font-size:.8rem;font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#logout-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:0;display:flex;align-items:center}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:100%;max-width:400px;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.modal h2{font-size:1.5rem;font-weight:700;text-align:center}.tool-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.tool-option{background:#ffffff0d;border:1px solid var(--glass-border);color:#fff;padding:1rem;border-radius:1rem;text-align:left;display:flex;align-items:center;gap:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tool-option span{font-size:1.5rem}.tool-option:active{background:var(--primary);transform:scale(.98)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8rem;color:var(--text-muted);font-weight:600}input[type=text]{background:#0003;border:1px solid var(--glass-border);border-radius:.75rem;padding:.75rem 1rem;color:#fff;font-family:inherit;font-size:1rem}input[type=range]{width:100%;accent-color:var(--primary)}.range-labels{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted)}.modal-actions{display:flex;gap:1rem}.modal-actions button{flex:1}.text-btn{background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.9rem;padding:.5rem;cursor:pointer}:root{--primary: #10b981;--primary-glow: rgba(16, 185, 129, .4);--secondary: #3b82f6;--danger: #ef4444;--bg-dark: #0f172a;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--text-main: #f8fafc;--text-muted: #94a3b8;--font-family: "Outfit", sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{width:100%;height:100%;overflow:hidden;background-color:var(--bg-dark);font-family:var(--font-family);color:var(--text-main)}#app{width:100%;height:100%;position:relative}#map{width:100%;height:100%;z-index:1}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10;display:flex;flex-direction:column;justify-content:space-between;padding:1rem}.ui-overlay>*{pointer-events:auto}.glass{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:1.5rem;box-shadow:0 8px 32px #0000005e}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-radius:1rem;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo{display:flex;align-items:center;gap:.75rem}.logo-img{width:32px;height:32px;border-radius:8px;box-shadow:0 0 10px #10b9814d}.logo h1{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.status-badge{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;background:#0000004d;padding:.25rem .75rem;border-radius:2rem}.status-badge .dot{width:8px;height:8px;background:var(--danger);border-radius:50%;box-shadow:0 0 8px var(--danger)}.status-badge.active .dot{background:var(--primary);box-shadow:0 0 8px var(--primary);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.stats-panel{position:absolute;top:4.5rem;left:1rem;display:flex;flex-direction:column;padding:1rem;width:auto;min-width:150px;gap:.75rem;z-index:20}.stat{display:flex;flex-direction:column;align-items:flex-start}.stat .label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;letter-spacing:.05em}.stat .value{font-size:1.25rem;font-weight:700;color:var(--primary)}.controls-container{display:flex;justify-content:center;align-items:center;gap:1rem;padding-bottom:env(safe-area-inset-bottom,1rem)}.control-btn{border:none;border-radius:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:1rem}.btn-icon{width:24px;height:24px;stroke-width:2.5}.primary-btn{background:var(--primary);color:#fff;padding:1rem 1.5rem;font-weight:700;gap:.75rem;box-shadow:0 4px 15px var(--primary-glow);flex-grow:1;max-width:240px}.primary-btn.recording{background:var(--danger);box-shadow:0 4px 15px #ef444466}.secondary-btn{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:#fff;width:3.5rem;height:3.5rem}.secondary-btn .btn-text{display:none}.control-btn:active{transform:scale(.95)}.floating-info{position:absolute;top:5rem;left:50%;transform:translate(-50%);width:90%;padding:1rem;text-align:center;font-size:.9rem;z-index:20;display:flex;flex-direction:column;gap:.75rem;align-items:center}.hidden{display:none!important}.mini-btn{background:var(--primary);border:none;padding:.5rem 1.5rem;border-radius:.75rem;color:#fff;font-weight:700;cursor:pointer}.leaflet-container{background:var(--bg-dark)!important}.leaflet-bar{border:none!important;box-shadow:none!important}.leaflet-bar a{background-color:var(--glass-bg)!important;color:#fff!important;border:1px solid var(--glass-border)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.leaflet-control-layers{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-radius:1.25rem!important;color:#fff!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 32px #0000004d!important;padding:.25rem!important;transition:all .3s ease}.leaflet-control-layers-toggle{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 2 7 12 12 22 7 12 2'/%3E%3Cpolyline points='2 17 12 22 22 17'/%3E%3Cpolyline points='2 12 12 17 22 12'/%3E%3C/svg%3E")!important;background-size:22px 22px!important;background-position:center!important;width:44px!important;height:44px!important;border-radius:1.25rem!important}.leaflet-control-layers-expanded{padding:.75rem 1rem!important;border-radius:1.25rem!important;min-width:180px}.leaflet-control-layers-expanded .leaflet-control-layers-list{color:#fff!important}.leaflet-control-layers-selector{margin-right:.5rem!important;accent-color:var(--primary)!important;cursor:pointer}.leaflet-control-layers-base label{display:flex;align-items:center;margin-bottom:.5rem;font-size:.9rem;font-weight:500;cursor:pointer;color:#fff}.leaflet-control-layers-base label:last-child{margin-bottom:0}.leaflet-top{top:9rem!important}.mowed-cell{stroke:none;fill:#10b981;fill-opacity:.5}.marking-polygon{stroke:#3b82f6;stroke-width:2;fill:#3b82f6;fill-opacity:.2}.species-marker{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.marker-container{display:flex;flex-direction:column;align-items:center;gap:4px}.marker-icon-wrapper{background:#fff;border:2px solid var(--primary);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000004d;overflow:hidden}.marker-icon-wrapper img{width:100%;height:100%;object-fit:cover;border-radius:50%}.mark-inner{font-size:1.2rem;font-weight:900;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--primary);background:#fff;box-shadow:0 0 15px #ef444499;animation:marker-pulse 2s infinite}.density-bars{display:flex;gap:2px;justify-content:center;align-items:flex-end;height:8px}.density-bar{width:6px;height:4px;background:#ffffff80;border:1px solid rgba(0,0,0,.3);border-radius:1px}.density-bar.filled{background:var(--danger);height:8px}@keyframes marker-pulse{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}70%{transform:scale(1.1);box-shadow:0 0 0 10px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.live-user-marker{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;pointer-events:none}.live-user-dot{width:14px;height:14px;background-color:var(--secondary);border:2px solid white;border-radius:50%;box-shadow:0 0 10px var(--secondary);animation:pulse 2s infinite;margin-bottom:2px}.live-user-name{background:#0f172acc;color:#fff;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 4px #0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.team-info{display:flex;align-items:center;gap:.5rem;background:#ffffff0d;padding:.25rem .75rem;border-radius:2rem;border:1px solid var(--glass-border)}.team-info span{font-size:.8rem;font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.1rem .5rem;border-radius:1rem;background:#ffffff1a;color:var(--text-muted)}.role-badge.admin{background:#f59e0b33;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.role-badge.manager{background:#3b82f633;color:#3b82f6;border:1px solid rgba(59,130,246,.3)}.role-badge.worker{background:#10b98133;color:#10b981;border:1px solid rgba(16,185,129,.3)}.role-badge.viewer{background:#94a3b833;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.team-info button{background:none;border:none;cursor:pointer;font-size:.9rem;padding:0;display:flex;align-items:center;transition:transform .2s ease}.team-info button:hover{transform:scale(1.1)}.team-selection-modal{max-width:450px!important}.team-option-card{background:#ffffff08;border:1px solid var(--glass-border);border-radius:1rem;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:all .3s ease}.team-option-card:hover{background:#ffffff0d;border-color:#ffffff26}.team-option-card h3{font-size:1.1rem;font-weight:600;color:#fff}.team-separator{display:flex;align-items:center;text-align:center;color:var(--text-muted);font-size:.85rem}.team-separator:before,.team-separator:after{content:"";flex:1;border-bottom:1px solid var(--glass-border)}.team-separator span{padding:0 10px}.invite-code-display{display:flex;align-items:center;justify-content:space-between;background:#0000004d;border:1px solid var(--glass-border);border-radius:.75rem;padding:.75rem 1rem;font-family:monospace;font-size:1.5rem;font-weight:700;letter-spacing:.1em;color:#fff;margin:.5rem 0}.role-info-text{font-size:.75rem;color:var(--text-muted);text-align:center}.team-tab-meta-box{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-radius:1rem;margin-bottom:1.5rem;background:#ffffff05;border:1px solid var(--glass-border);font-size:.95rem}.code-text{font-family:monospace;font-weight:700;background:#0003;padding:.2rem .5rem;border-radius:.25rem;letter-spacing:.05em}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:calc(64px + env(safe-area-inset-bottom));display:none;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom);background:#0f172ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);z-index:99;box-shadow:0 -4px 20px #0006}.bottom-nav .nav-btn{background:none;border:none;color:var(--text-muted);font-size:.75rem;font-weight:600;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;width:33.33%;height:100%;transition:all .2s ease;gap:4px}.bottom-nav .nav-btn .icon{width:20px;height:20px;stroke:var(--text-muted);stroke-width:2.2;transition:all .2s ease}.bottom-nav .nav-btn.active{color:var(--primary)}.bottom-nav .nav-btn.active .icon{stroke:var(--primary);filter:drop-shadow(0 0 4px var(--primary-glow))}.profile-modal{text-align:center}.profile-content{display:flex;flex-direction:column;gap:1.25rem;align-items:center;width:100%}.profile-user-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem;width:100%;gap:.75rem;background:#ffffff05;border:1px solid var(--glass-border);border-radius:1.25rem}.profile-photo-large{width:80px;height:80px;border-radius:50%;border:3px solid var(--primary);box-shadow:0 0 15px #10b9814d;object-fit:cover}.profile-details-list{display:flex;flex-direction:column;gap:.75rem;width:100%}.profile-detail-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;width:100%;background:#ffffff05;border:1px solid var(--glass-border);border-radius:.75rem}.profile-detail-item .detail-label{font-size:.8rem;color:var(--text-muted);font-weight:600}.profile-detail-item .detail-value{font-size:.95rem;font-weight:600;color:#fff}@media (max-width: 600px){.bottom-nav{display:flex!important}.app-header{padding:.5rem .75rem;font-size:.9rem;background:#0f172acc!important}#user-profile,#team-profile{display:none!important}.stats-panel{position:absolute;top:4.8rem;left:1rem;right:1rem;width:calc(100% - 2rem);display:flex;flex-direction:row;justify-content:space-around;padding:.6rem .5rem;border-radius:1rem;z-index:20;gap:.25rem;margin:0}.stat{align-items:center;flex:1;text-align:center}.stat .label{font-size:.6rem;margin-bottom:2px}.stat .value{font-size:1rem}.controls-container{position:absolute;bottom:calc(64px + 1rem + env(safe-area-inset-bottom));left:0;width:100%;height:auto;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:1rem;padding:0 1rem}#data-btn{display:none!important}#center-btn,#mark-btn,#reset-btn{position:fixed;right:1rem;width:3.2rem;height:3.2rem;border-radius:50%;pointer-events:auto;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d;z-index:15;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);color:#fff}#center-btn{bottom:calc(64px + 8.5rem + env(safe-area-inset-bottom))}#mark-btn{bottom:calc(64px + 5rem + env(safe-area-inset-bottom))}#reset-btn{bottom:calc(64px + 1.5rem + env(safe-area-inset-bottom))}#record-btn{position:fixed;bottom:calc(64px + 1rem + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:auto;min-width:180px;height:3.5rem;border-radius:1.75rem;display:flex;align-items:center;justify-content:center;pointer-events:auto;box-shadow:0 4px 15px #10b98166;z-index:15;transition:all .3s ease}#pause-btn{position:fixed;bottom:calc(64px + 1rem + env(safe-area-inset-bottom));left:calc(50% - 110px);width:3.5rem;height:3.5rem;border-radius:50%;pointer-events:auto;z-index:15}#record-btn.recording{left:calc(50% + 30px);transform:translate(-50%);min-width:140px}#data-modal.modal-overlay,#profile-modal.modal-overlay{position:fixed;top:0;left:0;width:100%;height:calc(100% - 64px - env(safe-area-inset-bottom));background:var(--bg-dark);z-index:90;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto}#data-modal .modal,#profile-modal .modal{max-width:100%!important;width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;border:none!important;background:transparent!important;box-shadow:none!important;padding:1.25rem;gap:1.25rem;overflow-y:auto}#data-modal .scrollable{max-height:calc(100vh - 180px)!important}#close-data,#profile-close-btn{display:none!important}}.role-select{background:#0f172acc;border:1px solid var(--glass-border);color:#fff;border-radius:.5rem;padding:.25rem .5rem;font-family:inherit;font-size:.85rem;cursor:pointer;outline:none;transition:border-color .2s ease}.role-select:focus{border-color:var(--primary)}.kick-btn{background:var(--danger);border:none;color:#fff;border-radius:.5rem;padding:.25rem .75rem;font-size:.85rem;cursor:pointer;font-weight:600;transition:background .2s ease,transform .2s ease}.kick-btn:hover{background:#dc2626}.kick-btn:active{transform:scale(.95)}.actions-cell{text-align:right;padding-right:1.5rem}.permission-checkbox{width:1.1rem;height:1.1rem;accent-color:var(--primary);cursor:pointer;opacity:.75;transition:opacity .2s ease,transform .1s ease}.permission-checkbox:hover{opacity:1;transform:scale(1.1)}.permission-checkbox:disabled{opacity:.3;cursor:not-allowed}.plans-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.plan-card{background:#ffffff05;border:1px solid var(--glass-border);border-radius:.75rem;padding:1rem;display:flex;flex-direction:column;gap:.5rem;transition:background .2s ease,border-color .2s ease,transform .2s ease}.plan-card:hover{background:#ffffff0a;border-color:#ffffff26;transform:translateY(-2px)}.plan-card-header{display:flex;justify-content:space-between;align-items:flex-start}.plan-card-title{font-weight:700;font-size:1.05rem;color:#fff}.plan-card-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.8rem;margin-top:.25rem}.plan-card-desc{font-size:.9rem;color:var(--text-muted);line-height:1.4;margin:.25rem 0;white-space:pre-wrap}.plan-card-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;border-top:1px solid rgba(255,255,255,.05);padding-top:.5rem}.plan-btn-claim{background:#10b981;color:#fff;border:none;border-radius:.5rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .1s ease}.plan-btn-claim:hover{opacity:.9}.plan-btn-claim:active{transform:scale(.95)}.plan-btn-start{background:var(--primary);color:#fff;border:none;border-radius:.5rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .1s ease}.plan-btn-start:hover{opacity:.9}.plan-btn-start:active{transform:scale(.95)}.plan-btn-delete{background:none;border:1px solid var(--danger);color:var(--danger);border-radius:.5rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.plan-btn-delete:hover{background:var(--danger);color:#fff}.planned-marker-glow{animation:marker-pulse-glow 1.5s infinite alternate}@keyframes marker-pulse-glow{0%{filter:drop-shadow(0 0 2px rgba(59,130,246,.4));stroke-width:2px}to{filter:drop-shadow(0 0 10px rgba(59,130,246,.9));stroke-width:4px}}
