.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-box{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-box h1{margin-bottom:1.5rem;text-align:center;color:#333}.error{color:#e74c3c;margin-bottom:1rem;padding:.5rem;background:#fee;border-radius:4px}button{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background .3s}button:hover:not(:disabled){background:#5568d3}button:disabled{opacity:.6;cursor:not-allowed}.tree-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000}.tree-popup{background:#fff;padding:2rem;border-radius:8px;max-width:500px;width:90%;position:relative;box-shadow:0 4px 6px #0000001a}.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#666;line-height:1}.close-btn:hover{color:#000}.tree-popup h2{margin-bottom:1rem;color:#333}.tree-info p{margin-bottom:.5rem;color:#555}.tree-info strong{color:#333}.map-filters{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.875rem;color:#666;font-weight:500}.filter-group select,.filter-group input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#667eea}.reset-btn{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.reset-btn:hover{background:#c0392b}.add-tree-sidebar{position:fixed;top:0;right:0;width:380px;height:100vh;background:#fff;box-shadow:-2px 0 8px #0000001a;transition:transform .3s ease;transform:translate(100%);z-index:1000;overflow-y:auto;display:flex;flex-direction:column}.add-tree-sidebar.open{transform:translate(0)}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#667eea;color:#fff;position:sticky;top:0;z-index:10}.sidebar-header h2{margin:0;font-size:1.25rem}.toggle-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:4px;cursor:pointer;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.toggle-btn:hover{background:#ffffff4d}.sidebar-content{padding:1.5rem;flex:1;overflow-y:auto}.info-box{background:#f0f7ff;border:1px solid #b3d9ff;border-radius:4px;padding:1rem;margin-bottom:1.5rem}.info-box p{margin:0 0 .5rem;color:#06c;font-size:.875rem}.selected-position{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #b3d9ff;font-size:.875rem;color:#333}.selected-position strong{color:#27ae60}.no-position{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #b3d9ff;font-size:.875rem;color:#e74c3c;font-style:italic}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.875rem;transition:border-color .2s}.form-group input.readonly{background:#f5f5f5;cursor:not-allowed}.form-actions{display:flex;gap:.5rem;margin-top:1.5rem}.submit-btn,.reset-btn{flex:1;padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:background .2s}.submit-btn{background:#27ae60;color:#fff}.submit-btn:hover:not(:disabled){background:#229954}.submit-btn:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.reset-btn{background:#95a5a6;color:#fff}.reset-btn:hover{background:#7f8c8d}.map-page{display:flex;flex-direction:column;height:100vh;width:100%;position:relative}.map-header{padding:1rem;background:#fff;box-shadow:0 2px 4px #0000001a;z-index:1000}.map-header h1{margin-bottom:1rem;color:#333}.map-container{flex:1;position:relative}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;padding:1rem 2rem;border-radius:4px;box-shadow:0 2px 8px #0003;z-index:1000}.selected-location-marker{background:transparent;border:none}.selected-marker-pin{width:20px;height:20px;background:#e74c3c;border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #0000004d;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.admin-panel{min-height:100vh;background:#f5f5f5}.users-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.users-table th,.users-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.users-table th{background:#f8f9fa;font-weight:600;color:#333}.users-table tr:hover{background:#f8f9fa}.users-table button{padding:.5rem 1rem;margin-right:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.users-table button:first-of-type{background:#3498db;color:#fff}.users-table button:first-of-type:hover{background:#2980b9}.users-table button:last-of-type{background:#e74c3c;color:#fff}.users-table button:last-of-type:hover{background:#c0392b}.modal{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#667eea}.moderator-panel{min-height:100vh;background:#f5f5f5}.panel-header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.panel-header h1{margin:0;color:#333}.header-actions{display:flex;gap:1rem}.header-actions button{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;background:#667eea;color:#fff}.header-actions button:hover{background:#5568d3}.tabs{background:#fff;padding:0 2rem;border-bottom:1px solid #eee;display:flex;gap:1rem}.tabs button{padding:1rem 2rem;border:none;background:none;cursor:pointer;border-bottom:3px solid transparent;color:#666;font-size:1rem}.tabs button:hover{color:#333}.tabs button.active{color:#667eea;border-bottom-color:#667eea}.panel-content{padding:2rem;max-width:1200px;margin:0 auto}.create-btn{margin-bottom:1rem;padding:.75rem 1.5rem;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.create-btn:hover{background:#229954}.data-table{width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.data-table th,.data-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.data-table th{background:#f8f9fa;font-weight:600;color:#333}.data-table tr:hover{background:#f8f9fa}.data-table button{padding:.5rem 1rem;margin-right:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.data-table button:first-of-type{background:#3498db;color:#fff}.data-table button:first-of-type:hover{background:#2980b9}.data-table button:last-of-type{background:#e74c3c;color:#fff}.data-table button:last-of-type:hover{background:#c0392b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 6px #0000001a}.modal h2{margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem}.modal-actions button{flex:1;padding:.75rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.modal-actions button[type=submit]{background:#667eea;color:#fff}.modal-actions button[type=submit]:hover{background:#5568d3}.modal-actions button[type=button]{background:#95a5a6;color:#fff}.modal-actions button[type=button]:hover{background:#7f8c8d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100vh}
