/* Mobile dropdown menu */ .mobile-dropdown { position: relative; display: none; } .mobile-dropdown-toggle { background: none; border: none; color: white; font-size: 18px; cursor: pointer; padding: 8px; border-radius: var(--border-radius); transition: var(--transition); display: flex; align-items: center; gap: 5px; } .mobile-dropdown-toggle:hover { background-color: rgba(255,255,255,0.1); } .mobile-dropdown-content { position: absolute; top: 100%; right: 0; background-color: white; color: var(--dark-color); min-width: 250px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); border-radius: var(--border-radius); overflow: hidden; transform: translateY(-10px); opacity: 0; visibility: hidden; transition: var(--transition); z-index: 12150; } .mobile-dropdown.active .mobile-dropdown-content { transform: translateY(0); opacity: 1; visibility: visible; } .mobile-dropdown-item { padding: 12px 15px; border-bottom: 1px solid #eee; font-size: 14px; } .mobile-dropdown-item:last-child { border-bottom: none; border-top: 1px solid #ddd; background-color: #fff5f5; } .mobile-dropdown-item:last-child button { color: var(--danger-color); font-weight: 500; } .mobile-dropdown-item:last-child:hover { background-color: #fee; } .mobile-dropdown-item.location-info { background-color: var(--primary-color); color: white; font-weight: 500; } .mobile-dropdown-item.user-info { background-color: var(--light-color); color: var(--dark-color); } /* Add logout button specific styles */ .mobile-dropdown-item button { background: none; border: none; color: inherit; font-size: inherit; cursor: pointer; width: 100%; text-align: left; padding: 0; font-family: inherit; } .mobile-dropdown-item button:hover { background-color: rgba(0, 0, 0, 0.05); } /* Logout button danger styling */ .mobile-dropdown-item.logout-item { border-top: 1px solid #eee; background-color: #fee; } .mobile-dropdown-item.logout-item button { color: var(--danger-color); font-weight: 500; } .mobile-dropdown-item.logout-item:hover { background-color: #fdd; } /* Floating sidebar for mobile */ .mobile-sidebar { position: fixed; top: 50%; right: 10px; transform: translateY(-50%); background-color: white; border-radius: var(--border-radius); box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 1000; display: none; flex-direction: column; gap: 5px; padding: 8px; } .mobile-sidebar .btn { margin: 0; min-width: 44px; min-height: 44px; padding: 12px; display: flex; align-items: center; justify-content: center; font-size: 16px; } /* Active state for mobile buttons */ .mobile-sidebar .btn.active { background-color: var(--dark-color); color: white; } /* Active state for desktop map control buttons */ .map-controls .btn.active { background-color: var(--dark-color); color: white; border-color: var(--dark-color); } .mobile-sidebar .btn:active { transform: scale(0.95); } /* Mobile overlay modal styles */ .overlay-options { display: flex; flex-direction: column; gap: 12px; margin-bottom: 20px; } .overlay-option { padding: 12px; border: 2px solid #e0e0e0; border-radius: var(--border-radius); transition: var(--transition); } .overlay-option:hover { border-color: var(--primary-color); background-color: rgba(52, 152, 219, 0.05); } .overlay-option label { display: flex; align-items: center; cursor: pointer; font-weight: 500; margin: 0; width: 100%; } .overlay-option input[type="radio"] { margin-right: 12px; transform: scale(1.2); accent-color: var(--primary-color); } .overlay-option.selected { border-color: var(--primary-color); background-color: rgba(52, 152, 219, 0.1); } .overlay-label { flex: 1; } .current-overlay-info { padding: 15px; background-color: var(--light-color); border-radius: var(--border-radius); border-left: 4px solid var(--primary-color); } .current-overlay-info h3 { margin: 0 0 12px 0; color: var(--dark-color); font-size: 16px; } .overlay-info-content { display: flex; align-items: center; gap: 12px; } .overlay-color { width: 24px; height: 24px; border-radius: 4px; border: 2px solid rgba(0,0,0,0.2); flex-shrink: 0; } .overlay-details { flex: 1; } .overlay-name { font-weight: 600; color: var(--dark-color); margin-bottom: 4px; } .overlay-description { font-size: 14px; color: #666; line-height: 1.4; } /* Mobile overlay button active state */ .mobile-sidebar #mobile-overlay-btn.active { background-color: var(--primary-color); color: white; border-color: var(--primary-color); }